mirror of
https://github.com/vim/vim
synced 2025-07-21 22:02:30 +00:00
Compare commits
99 Commits
Author | SHA1 | Date | |
---|---|---|---|
1d634542cf | |||
558813314d | |||
f39397e515 | |||
aa9675a61d | |||
36967b32fd | |||
624b6eaf20 | |||
021bda5671 | |||
7b22117c4e | |||
241572794f | |||
c0f8823ee4 | |||
0aae4809fd | |||
f923571ec1 | |||
e5abf7af08 | |||
cc673e746a | |||
56acb0943e | |||
829ac868b7 | |||
ed5918771f | |||
11107bab7e | |||
3d1cde8a2f | |||
e3c37d8ebf | |||
451c2e3536 | |||
53b29e4845 | |||
9a5c553f79 | |||
793dcc540d | |||
1623619119 | |||
d1103587cf | |||
79e8db9a21 | |||
8de2f44ac6 | |||
8d56622944 | |||
41fab3eac8 | |||
7d6997015d | |||
32a23ac615 | |||
4ac97f4761 | |||
32f335f75c | |||
7517ffdbb5 | |||
c4ce36d486 | |||
bc4c505166 | |||
cdd70f09a5 | |||
be7529e889 | |||
c771908681 | |||
16c6232cad | |||
b96a32ef1a | |||
7ac616cb0a | |||
c9edd6b582 | |||
66e0014ba6 | |||
418f1df547 | |||
fd77748df2 | |||
ba60cc45e7 | |||
6d91bcb4d2 | |||
c3d6e8a46a | |||
db199216e8 | |||
17a836cbee | |||
ed677f5587 | |||
7c5ad34878 | |||
a177344dc0 | |||
575f24b3f3 | |||
040f975fc1 | |||
035d6e91bd | |||
097148e849 | |||
4301a729ea | |||
f7c4d83609 | |||
59eccb92e3 | |||
8294d49937 | |||
efb6482949 | |||
3e06a1e2a8 | |||
6f8f7337c1 | |||
bf61fdd008 | |||
94f4ffa770 | |||
6e4cfffe80 | |||
a9a47d157a | |||
7f7a888869 | |||
1e91eafc2e | |||
64d662d5fc | |||
127542bceb | |||
a1b9b0cc01 | |||
a7cc9e697b | |||
b3ca982407 | |||
3896a105eb | |||
94f6c06ac5 | |||
62a232506d | |||
730b248339 | |||
efa94447e8 | |||
daa2f36573 | |||
4a6d1b660f | |||
5a849da57c | |||
98b4f145eb | |||
2dd0a2c39a | |||
b7f4fa5177 | |||
bf8feb5aeb | |||
fa211f3c6d | |||
1c199f9c70 | |||
74d95b5b58 | |||
dd29f1b056 | |||
e7b1ea0276 | |||
95dd9f2571 | |||
994b89d28d | |||
de6804d871 | |||
8ce4b7ed85 | |||
9470a4d88a |
53
.travis.yml
53
.travis.yml
@ -1,23 +1,29 @@
|
||||
language: c
|
||||
|
||||
env:
|
||||
global:
|
||||
- BUILD=yes TEST=test CONFOPT= LEAK_CFLAGS="-DEXITFREE" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
|
||||
_anchors:
|
||||
envs:
|
||||
- &tiny-nogui
|
||||
BUILD=yes TEST=test FEATURES=tiny CONFOPT="--disable-gui" LEAK_CFLAGS="-DEXITFREE" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
FEATURES=tiny TEST=testtiny CONFOPT="--disable-gui"
|
||||
- &tiny
|
||||
BUILD=yes TEST=test FEATURES=tiny CONFOPT= LEAK_CFLAGS="-DEXITFREE" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
FEATURES=tiny TEST=testtiny
|
||||
- &small
|
||||
BUILD=yes TEST=test FEATURES=small CONFOPT= LEAK_CFLAGS="-DEXITFREE" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
FEATURES=small TEST=testtiny
|
||||
- &normal
|
||||
BUILD=yes TEST=test FEATURES=normal CONFOPT= LEAK_CFLAGS="-DEXITFREE" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
FEATURES=normal
|
||||
- &linux-huge
|
||||
BUILD=yes TEST="scripttests test_libvterm" CFLAGS="--coverage -DUSE_GCOV_FLUSH" LDFLAGS=--coverage FEATURES=huge LEAK_CFLAGS="-DEXITFREE" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
FEATURES=huge TEST="scripttests test_libvterm"
|
||||
CONFOPT="--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||
- &osx-huge # macOS build
|
||||
BUILD=yes TEST=test FEATURES=huge LEAK_CFLAGS="-DEXITFREE" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
CONFOPT="--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||
FEATURES=huge
|
||||
CONFOPT="--enable-perlinterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||
- &unittests
|
||||
BUILD=no TEST=unittests CFLAGS="--coverage -DUSE_GCOV_FLUSH" LDFLAGS=--coverage FEATURES=huge LEAK_CFLAGS="-DEXITFREE" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
|
||||
BUILD=no TEST=unittests FEATURES=huge CHECK_AUTOCONF=yes
|
||||
- &coverage
|
||||
CFLAGS="--coverage -DUSE_GCOV_FLUSH" LDFLAGS=--coverage
|
||||
- &asan # ASAN build
|
||||
SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
|
||||
ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
|
||||
@ -87,7 +93,7 @@ _anchors:
|
||||
# Lua is not installed on macOS
|
||||
- export LUA_PREFIX=/usr/local
|
||||
|
||||
coverage: &coverage
|
||||
coverage: &eval-coverage
|
||||
# needed for https support for coveralls building cffi only works with gcc,
|
||||
# not with clang
|
||||
- CC=gcc pip install --user cpp-coveralls pyopenssl ndg-httpsclient pyasn1
|
||||
@ -202,9 +208,16 @@ jobs:
|
||||
env:
|
||||
- *normal
|
||||
- *shadowopt
|
||||
# Temporarily disabled, always fails
|
||||
#- <<: *linux
|
||||
# arch: s390x
|
||||
# name: huge/gcc-s390x
|
||||
# compiler: gcc
|
||||
# env: *linux-huge
|
||||
# services: []
|
||||
- <<: *linux
|
||||
arch: s390x
|
||||
name: huge/gcc-s390x
|
||||
arch: arm64
|
||||
name: huge/gcc-arm64
|
||||
compiler: gcc
|
||||
env: *linux-huge
|
||||
services: []
|
||||
@ -213,14 +226,17 @@ jobs:
|
||||
compiler: clang
|
||||
env:
|
||||
- *linux-huge
|
||||
- *coverage
|
||||
# Clang cannot compile test_libvterm with "--coverage" flag.
|
||||
- TEST=scripttests
|
||||
after_success: *coverage
|
||||
after_success: *eval-coverage
|
||||
- <<: *linux
|
||||
name: huge+coverage/gcc
|
||||
compiler: gcc
|
||||
env: *linux-huge
|
||||
after_success: *coverage
|
||||
env:
|
||||
- *linux-huge
|
||||
- *coverage
|
||||
after_success: *eval-coverage
|
||||
- <<: *linux # ASAN
|
||||
name: huge+asan/gcc
|
||||
compiler: gcc
|
||||
@ -233,13 +249,16 @@ jobs:
|
||||
compiler: gcc
|
||||
env:
|
||||
- *linux-huge
|
||||
- *coverage
|
||||
- TEST="-C src testgui"
|
||||
after_success: *coverage
|
||||
after_success: *eval-coverage
|
||||
- <<: *linux
|
||||
name: unittests+coverage/gcc
|
||||
compiler: gcc
|
||||
env: *unittests
|
||||
after_success: *coverage
|
||||
env:
|
||||
- *unittests
|
||||
- *coverage
|
||||
after_success: *eval-coverage
|
||||
- <<: *linux
|
||||
name: vimtags/gcc
|
||||
compiler: gcc
|
||||
|
9
Filelist
9
Filelist
@ -45,6 +45,7 @@ SRC_ALL = \
|
||||
src/drawline.c \
|
||||
src/drawscreen.c \
|
||||
src/edit.c \
|
||||
src/errors.h \
|
||||
src/eval.c \
|
||||
src/evalbuffer.c \
|
||||
src/evalfunc.c \
|
||||
@ -149,6 +150,7 @@ SRC_ALL = \
|
||||
src/vim9compile.c \
|
||||
src/vim9execute.c \
|
||||
src/vim9script.c \
|
||||
src/vim9type.c \
|
||||
src/viminfo.c \
|
||||
src/winclip.c \
|
||||
src/window.c \
|
||||
@ -172,12 +174,12 @@ SRC_ALL = \
|
||||
src/testdir/setup_gui.vim \
|
||||
src/testdir/shared.vim \
|
||||
src/testdir/vim9.vim \
|
||||
src/testdir/script_util.vim \
|
||||
src/testdir/summarize.vim \
|
||||
src/testdir/term_util.vim \
|
||||
src/testdir/view_util.vim \
|
||||
src/testdir/test[0-9]*.ok \
|
||||
src/testdir/test[0-9]*a.ok \
|
||||
src/testdir/test49.vim \
|
||||
src/testdir/test77a.ok \
|
||||
src/testdir/test83-tags? \
|
||||
src/testdir/test77a.com \
|
||||
src/testdir/test_*.vim \
|
||||
@ -303,6 +305,7 @@ SRC_ALL = \
|
||||
src/proto/vim9compile.pro \
|
||||
src/proto/vim9execute.pro \
|
||||
src/proto/vim9script.pro \
|
||||
src/proto/vim9type.pro \
|
||||
src/proto/viminfo.pro \
|
||||
src/proto/winclip.pro \
|
||||
src/proto/window.pro \
|
||||
@ -638,13 +641,11 @@ SRC_HAIKU = \
|
||||
SRC_MAC = \
|
||||
src/INSTALLmac.txt \
|
||||
src/dehqx.py \
|
||||
src/gui_mac.c \
|
||||
src/os_mac_rsrc/*.icns \
|
||||
src/os_mac.h \
|
||||
src/os_mac.rsr.hqx \
|
||||
src/os_mac_conv.c \
|
||||
src/os_macosx.m \
|
||||
src/proto/gui_mac.pro \
|
||||
src/proto/os_mac_conv.pro \
|
||||
|
||||
# source files for VMS (in the extra archive)
|
||||
|
2
Makefile
2
Makefile
@ -32,7 +32,7 @@ first:
|
||||
|
||||
# Some make programs use the last target for the $@ default; put the other
|
||||
# targets separately to always let $@ expand to "first" by default.
|
||||
all install uninstall tools config configure reconfig proto depend lint tags types test scripttests test_libvterm unittests testclean clean distclean:
|
||||
all install uninstall tools config configure reconfig proto depend lint tags types test scripttests testtiny test_libvterm unittests testclean clean distclean:
|
||||
@if test ! -f src/auto/config.mk; then \
|
||||
cp src/config.mk.dist src/auto/config.mk; \
|
||||
fi
|
||||
|
@ -5,8 +5,8 @@
|
||||
This is an experimental side of [Vim](https://github.com/vim/vim).
|
||||
It explores ways of making Vim script faster and better.
|
||||
|
||||
WARNING: The Vim9 script features are in the early stages of development,
|
||||
anything can break!
|
||||
WARNING: The Vim9 script features are still under development, anything can
|
||||
break!
|
||||
|
||||
# Why Vim9?
|
||||
|
||||
@ -52,7 +52,7 @@ we can gain, and also that Vim script can be faster than builtin
|
||||
interfaces.
|
||||
|
||||
In practice the script would not do something useless as counting but change
|
||||
the text. For example, re-indent all the lines:
|
||||
the text. For example, reindent all the lines:
|
||||
|
||||
``` vim
|
||||
let totallen = 0
|
||||
@ -91,14 +91,14 @@ Instead of using script language support in Vim:
|
||||
with them. The job and channel support already makes this possible.
|
||||
Really any language can be used, also Java and Go, which are not
|
||||
available built-in.
|
||||
* Phase out the built-in language interfaces, make maintenance a bit easier
|
||||
and executables easier to build. They will be kept for backwards
|
||||
compatibility, no new features.
|
||||
* No priority for the built-in language interfaces. They will have to be kept
|
||||
for backwards compatibility, but many users won't need a Vim build with these
|
||||
interfaces.
|
||||
* Improve the Vim script language, it is used to communicate with the external
|
||||
tool and implements the Vim side of the interface. Also, it can be used when
|
||||
an external tool is undesired.
|
||||
|
||||
All together this creates a clear situation: Vim with the +eval feature
|
||||
Altogether this creates a clear situation: Vim with the +eval feature
|
||||
will be sufficient for most plugins, while some plugins require
|
||||
installing a tool that can be written in any language. No confusion
|
||||
about having Vim but the plugin not working because some specific
|
||||
@ -140,6 +140,9 @@ Taking this one step further is also dropping "s:" for script-local variables;
|
||||
everything at the script level is script-local by default. Since this is not
|
||||
backwards compatible it requires a new script style: Vim9 script!
|
||||
|
||||
To avoid having more variations, the syntax inside a compiled function is the
|
||||
same as in Vim9 script. Thus you have legacy syntax and Vim9 syntax.
|
||||
|
||||
It should be possible to convert code from other languages to Vim
|
||||
script. We can add functionality to make this easier. This still needs
|
||||
to be discussed, but we can consider adding type checking and a simple
|
||||
|
@ -16,7 +16,6 @@ src/os_amiga.* Files for the Amiga port.
|
||||
src/os_msdos.*
|
||||
src/os_dos.* Files for the MS-DOS port.
|
||||
|
||||
src/gui_mac.*
|
||||
src/os_mac.* Files for the Mac port.
|
||||
|
||||
src/os_vms* Files for the VMS port.
|
||||
|
2
runtime/autoload/dist/ft.vim
vendored
2
runtime/autoload/dist/ft.vim
vendored
@ -575,7 +575,7 @@ endfunc
|
||||
let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*'
|
||||
func dist#ft#FTRules()
|
||||
let path = expand('<amatch>:p')
|
||||
if path =~ '^/\(etc/udev/\%(rules\.d/\)\=.*\.rules\|lib/udev/\%(rules\.d/\)\=.*\.rules\)$'
|
||||
if path =~ '/\(etc/udev/\%(rules\.d/\)\=.*\.rules\|\%(usr/\)\=lib/udev/\%(rules\.d/\)\=.*\.rules\)$'
|
||||
setf udevrules
|
||||
return
|
||||
endif
|
||||
|
@ -1,7 +1,9 @@
|
||||
" Vim completion script
|
||||
" Language: Java Script
|
||||
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||
" Last Change: 2017 Mar 04
|
||||
" Maintainer: Jay Sitter (jay@jaysitter.com)
|
||||
" URL: https://github.com/jsit/javascriptcomplete.vim/
|
||||
" Previous Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||
" Last Change: 2020 Jul 30
|
||||
|
||||
function! javascriptcomplete#CompleteJS(findstart, base)
|
||||
if a:findstart
|
||||
@ -154,12 +156,30 @@ function! javascriptcomplete#CompleteJS(findstart, base)
|
||||
\ 'text', 'vLink']
|
||||
let bodys = bodyprop
|
||||
" Document - document.
|
||||
let docuprop = ['anchors', 'applets', 'childNodes', 'embeds', 'forms', 'images', 'links', 'stylesheets',
|
||||
\ 'body', 'cookie', 'documentElement', 'domain', 'lastModified', 'referrer', 'title', 'URL']
|
||||
let documeth = ['close', 'createAttribute', 'createElement', 'createTextNode', 'focus', 'getElementById',
|
||||
\ 'getElementsByName', 'getElementsByTagName', 'open', 'write', 'writeln',
|
||||
\ 'onClick', 'onDblClick', 'onFocus', 'onKeyDown', 'onKeyPress', 'onKeyUp',
|
||||
\ 'onMouseDown', 'onMouseMove', 'onMouseOut', 'onMouseOver', 'onMouseUp', 'onResize']
|
||||
let docuprop = ['anchors', 'body', 'characterSet', 'doctype',
|
||||
\ 'documentElement', 'documentURI', 'embeds', 'fonts', 'forms',
|
||||
\ 'head', 'hidden', 'images', 'implementation', 'lastStyleSheetSet',
|
||||
\ 'links', 'plugins', 'preferredStyleSheetSet', 'scripts',
|
||||
\ 'scrollingElement', 'selectedStyleSheetSet', 'styleSheetSets',
|
||||
\ 'timeline', 'visibilityState', 'cookie', 'defaultView',
|
||||
\ 'designMode', 'dir', 'domain', 'lastModified', 'location',
|
||||
\ 'readyState', 'referrer', 'title', 'URL', 'activeElement',
|
||||
\ 'fullscreenElement', 'styleSheets']
|
||||
let documeth = ['adoptNode', 'close', 'createAttribute',
|
||||
\ 'createAttributeNS', 'createCDATASection', 'createComment',
|
||||
\ 'createDocumentFragment', 'createElement', 'createElementNS',
|
||||
\ 'createEvent', 'createExpression', 'createNSResolver',
|
||||
\ 'createNodeIterator', 'createProcessingInstruction', 'createRange',
|
||||
\ 'createTextNode', 'createTouchList', 'createTreeWalker',
|
||||
\ 'enableStyleSheetsForSet', 'evaluate', 'focus', 'getElementById',
|
||||
\ 'getElementById', 'getElementsByClassName', 'getElementsByName',
|
||||
\ 'getElementsByTagName', 'getElementsByTagNameNS',
|
||||
\ 'hasStorageAccess', 'importNode', 'onClick', 'onDblClick',
|
||||
\ 'onFocus', 'onKeyDown', 'onKeyPress', 'onKeyUp', 'onMouseDown',
|
||||
\ 'onMouseMove', 'onMouseOut', 'onMouseOver', 'onMouseUp',
|
||||
\ 'onResize', 'open', 'querySelector', 'querySelectorAll',
|
||||
\ 'requestStorageAccess', 'write', 'writeln']
|
||||
|
||||
call map(documeth, 'v:val."("')
|
||||
let docuxprop = ['attributes', 'childNodes', 'doctype', 'documentElement', 'firstChild',
|
||||
\ 'implementation', 'namespaceURI', 'nextSibling', 'nodeName', 'nodeType',
|
||||
@ -368,9 +388,11 @@ function! javascriptcomplete#CompleteJS(findstart, base)
|
||||
let xdomelemprop = ['attributes', 'childNodes', 'firstChild', 'lastChild',
|
||||
\ 'namespaceURI', 'nextSibling', 'nodeName', 'nodeType', 'nodeValue',
|
||||
\ 'ownerDocument', 'parentNode', 'prefix', 'previousSibling', 'tagName']
|
||||
let xdomelemmeth = ['appendChild', 'cloneNode', 'getAttribute', 'getAttributeNode',
|
||||
\ 'getElementsByTagName', 'hasChildNodes', 'insertBefore', 'normalize',
|
||||
\ 'removeAttribute', 'removeAttributeNode', 'removeChild', 'replaceChild',
|
||||
let xdomelemmeth = ['appendChild', 'addEventListener', 'cloneNode',
|
||||
\ 'dispatchEvent', 'getAttribute', 'getAttributeNode',
|
||||
\ 'getElementsByTagName', 'hasChildNodes', 'insertBefore',
|
||||
\ 'normalize', 'removeAttribute', 'removeAttributeNode',
|
||||
\ 'removeChild', 'removeEventListener', 'replaceChild',
|
||||
\ 'setAttribute', 'setAttributeNode']
|
||||
call map(xdomelemmeth, 'v:val."("')
|
||||
let xdomelems = xdomelemprop + xdomelemmeth
|
||||
|
@ -185,7 +185,7 @@ func! Test_check_colors()
|
||||
|
||||
" 9) Normal should be defined first, not use reverse, fg or bg
|
||||
call cursor(1,1)
|
||||
let pat = 'hi\%[light] \+\%(link\|clear\)\@!\w\+\>'
|
||||
let pat = 'hi\%[ghlight] \+\%(link\|clear\)\@!\w\+\>'
|
||||
call search(pat, 'cW') " Look for the first hi def, skipping `hi link` and `hi clear`
|
||||
if getline('.') !~# '\m\<Normal\>'
|
||||
let err['highlight']['Normal'] = 'Should be defined first'
|
||||
|
@ -1,7 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Checkstyle
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2013 Jun 26
|
||||
" Last Change: 2020 Aug 2
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@ -12,8 +12,18 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=java\ com.puppycrawl.tools.checkstyle.Main\ -f\ plain
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" sample error: WebTable.java:282: '+=' is not preceeded with whitespace.
|
||||
" WebTable.java:201:1: '{' should be on the previous line.
|
||||
CompilerSet errorformat=%f:%l:%v:\ %m,%f:%l:\ %m,%-G%.%#
|
||||
" CompilerSet makeprg=java\ com.puppycrawl.tools.checkstyle.Main\ -f\ plain\ -c\ /sun_checks.xml
|
||||
" CompilerSet makeprg=java\ -jar\ checkstyle-X.XX-all.jar\ -f\ plain\ -c\ /sun_checks.xml
|
||||
|
||||
CompilerSet makeprg=checkstyle\ -f\ plain
|
||||
CompilerSet errorformat=[%tRROR]\ %f:%l:%v:\ %m,
|
||||
\[%tARN]\ %f:%l:%v:\ %m,
|
||||
\[%tRROR]\ %f:%l:\ %m,
|
||||
\[%tARN]\ %f:%l:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
34
runtime/compiler/gawk.vim
Normal file
34
runtime/compiler/gawk.vim
Normal file
@ -0,0 +1,34 @@
|
||||
" Vim compiler file
|
||||
" Compiler: GNU Awk
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2020 Feb 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "gawk"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=gawk
|
||||
CompilerSet errorformat=%Z%.awk:\ %f:%l:\ %p^\ %m,
|
||||
\%Eg%\\=awk:\ %f:%l:\ fatal:\ %m,
|
||||
\%Egawk:\ %f:%l:\ error:\ %m,
|
||||
\%Wgawk:\ %f:%l:\ warning:\ %m,
|
||||
\%Egawk:\ %f:%l:\ %.%#,
|
||||
\gawk:\ %f:%l:\ %tatal:\ %m,
|
||||
\gawk:\ %f:%l:\ %trror:\ %m,
|
||||
\gawk:\ %f:%l:\ %tarning:\ %m,
|
||||
\gawk:\ %tatal:\ %m,
|
||||
\gawk:\ %trror:\ %m,
|
||||
\gawk:\ %tarning:\ %m,
|
||||
\%+C%.%#,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
25
runtime/compiler/gjs.vim
Normal file
25
runtime/compiler/gjs.vim
Normal file
@ -0,0 +1,25 @@
|
||||
" Vim compiler file
|
||||
" Compiler: GJS (Gnome JavaScript Bindings)
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Jul 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "gjs"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=gjs
|
||||
CompilerSet errorformat=%.%#JS\ %tRROR:\ %m\ @\ %f:%c,
|
||||
\%E%.%#JS\ ERROR:\ %m,
|
||||
\%Z@%f:%l:%c,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
30
runtime/compiler/jest.vim
Normal file
30
runtime/compiler/jest.vim
Normal file
@ -0,0 +1,30 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Jest
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2018 May 15
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "jest"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=npx\ jest\ --no-colors
|
||||
|
||||
CompilerSet makeprg=jest\ --no-colors
|
||||
CompilerSet errorformat=%E\ \ ●\ %m,
|
||||
\%Z\ %\\{4}%.%#Error:\ %f:\ %m\ (%l:%c):%\\=,
|
||||
\%Z\ %\\{6}at\ %\\S%#\ (%f:%l:%c),
|
||||
\%+C\ %\\{4}%\\w%.%#,
|
||||
\%+C\ %\\{4}%[-+]%.%#,
|
||||
\%-C%.%#,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
24
runtime/compiler/jjs.vim
Normal file
24
runtime/compiler/jjs.vim
Normal file
@ -0,0 +1,24 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Nashorn Shell
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2018 Jan 9
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "jjs"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=jjs
|
||||
CompilerSet errorformat=%f:%l:%c\ %m,
|
||||
\%f:%l\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
25
runtime/compiler/jshint.vim
Normal file
25
runtime/compiler/jshint.vim
Normal file
@ -0,0 +1,25 @@
|
||||
" Vim compiler file
|
||||
" Compiler: JSHint
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Jul 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "jshint"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=npx\ jshint\ --verbose
|
||||
|
||||
CompilerSet makeprg=jshint\ --verbose
|
||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m\ (%t%n),
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
25
runtime/compiler/jsonlint.vim
Normal file
25
runtime/compiler/jsonlint.vim
Normal file
@ -0,0 +1,25 @@
|
||||
" Vim compiler file
|
||||
" Compiler: JSON Lint
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Jul 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "jsonlint"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=npx\ jsonlint\ --compact\ --quiet
|
||||
|
||||
CompilerSet makeprg=jsonlint\ --compact\ --quiet
|
||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ found:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
23
runtime/compiler/rubocop.vim
Normal file
23
runtime/compiler/rubocop.vim
Normal file
@ -0,0 +1,23 @@
|
||||
" Vim compiler file
|
||||
" Compiler: RuboCop
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Jul 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "rubocop"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=rubocop\ --format\ emacs
|
||||
CompilerSet errorformat=%f:%l:%c:\ %t:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
26
runtime/compiler/stylelint.vim
Normal file
26
runtime/compiler/stylelint.vim
Normal file
@ -0,0 +1,26 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Stylelint
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2020 Jun 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "stylelint"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=npx\ stylelint\ --formatter\ compact
|
||||
|
||||
CompilerSet makeprg=stylelint\ --formatter\ compact
|
||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %trror\ -\ %m,
|
||||
\%f:\ line\ %l\\,\ col\ %c\\,\ %tarning\ -\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
29
runtime/compiler/ts-node.vim
Normal file
29
runtime/compiler/ts-node.vim
Normal file
@ -0,0 +1,29 @@
|
||||
" Vim compiler file
|
||||
" Compiler: TypeScript Runner
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2020 Feb 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "node"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=npx\ ts-node
|
||||
|
||||
CompilerSet makeprg=ts-node
|
||||
CompilerSet errorformat=%f\ %#(%l\\,%c):\ %trror\ TS%n:\ %m,
|
||||
\%E%f:%l,
|
||||
\%+Z%\\w%\\+Error:\ %.%#,
|
||||
\%C%p^%\\+,
|
||||
\%C%.%#,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
26
runtime/compiler/tsc.vim
Normal file
26
runtime/compiler/tsc.vim
Normal file
@ -0,0 +1,26 @@
|
||||
" Vim compiler file
|
||||
" Compiler: TypeScript Compiler
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2020 Feb 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "tsc"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=npx\ tsc
|
||||
|
||||
CompilerSet makeprg=tsc
|
||||
CompilerSet errorformat=%f\ %#(%l\\,%c):\ %trror\ TS%n:\ %m,
|
||||
\%trror\ TS%n:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
28
runtime/compiler/typedoc.vim
Normal file
28
runtime/compiler/typedoc.vim
Normal file
@ -0,0 +1,28 @@
|
||||
" Vim compiler file
|
||||
" Compiler: TypeDoc
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2020 Feb 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "typedoc"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=npx\ typedoc
|
||||
|
||||
CompilerSet makeprg=typedoc
|
||||
CompilerSet errorformat=%EError:\ %f(%l),
|
||||
\%WWarning:\ %f(%l),
|
||||
\%+IDocumentation\ generated\ at\ %f,
|
||||
\%Z\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
26
runtime/compiler/xo.vim
Normal file
26
runtime/compiler/xo.vim
Normal file
@ -0,0 +1,26 @@
|
||||
" Vim compiler file
|
||||
" Compiler: XO
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Jul 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "xo"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=npx\ xo\ --reporter\ compact
|
||||
|
||||
CompilerSet makeprg=xo\ --reporter\ compact
|
||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %trror\ %m,
|
||||
\%f:\ line\ %l\\,\ col\ %c\\,\ %tarning\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 8.2. Last change: 2020 Jun 10
|
||||
*autocmd.txt* For Vim version 8.2. Last change: 2020 Aug 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -1425,8 +1425,8 @@ name!
|
||||
:aug[roup]! {name} Delete the autocmd group {name}. Don't use
|
||||
this if there is still an autocommand using
|
||||
this group! You will get a warning if doing
|
||||
it anyway. when the group is the current group
|
||||
you will get error E936.
|
||||
it anyway. When the group is the current
|
||||
group you will get error E936.
|
||||
|
||||
To enter autocommands for a specific group, use this method:
|
||||
1. Select the group with ":augroup {name}".
|
||||
|
@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 8.2. Last change: 2020 Jul 26
|
||||
*cmdline.txt* For Vim version 8.2. Last change: 2020 Aug 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -1130,7 +1130,8 @@ CTRL-C Continue in Command-line mode. The command-line under the
|
||||
in Normal mode. There is no redraw, thus the window will
|
||||
remain visible.
|
||||
:quit Discard the command line and go back to Normal mode.
|
||||
":close", ":exit", ":xit" and CTRL-\ CTRL-N also work.
|
||||
":close", CTRL-W c, ":exit", ":xit" and CTRL-\ CTRL-N also
|
||||
work.
|
||||
:qall Quit Vim, unless there are changes in some buffer.
|
||||
:qall! Quit Vim, discarding changes to any buffer.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*develop.txt* For Vim version 8.2. Last change: 2020 Apr 13
|
||||
*develop.txt* For Vim version 8.2. Last change: 2020 Jul 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -34,8 +34,8 @@ balance must be found between them.
|
||||
VIM IS... VI COMPATIBLE *design-compatible*
|
||||
|
||||
First of all, it should be possible to use Vim as a drop-in replacement for
|
||||
Vi. When the user wants to, he can use Vim in compatible mode and hardly
|
||||
notice any difference with the original Vi.
|
||||
Vi. When the user wants to, Vim can be used in compatible mode and hardly
|
||||
any differences with the original Vi will be noticed.
|
||||
|
||||
Exceptions:
|
||||
- We don't reproduce obvious Vi bugs in Vim.
|
||||
|
@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 8.2. Last change: 2020 Aug 01
|
||||
*eval.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -1131,19 +1131,25 @@ Evaluation is always from left to right.
|
||||
|
||||
expr8[expr1] item of String or |List| *expr-[]* *E111*
|
||||
*E909* *subscript*
|
||||
In legacy Vim script:
|
||||
If expr8 is a Number or String this results in a String that contains the
|
||||
expr1'th single byte from expr8. expr8 is used as a String, expr1 as a
|
||||
Number. This doesn't recognize multi-byte encodings, see `byteidx()` for
|
||||
an alternative, or use `split()` to turn the string into a list of characters.
|
||||
|
||||
Index zero gives the first byte. This is like it works in C. Careful:
|
||||
text column numbers start with one! Example, to get the byte under the
|
||||
cursor: >
|
||||
expr1'th single byte from expr8. expr8 is used as a String (a number is
|
||||
automatically converted to a String), expr1 as a Number. This doesn't
|
||||
recognize multi-byte encodings, see `byteidx()` for an alternative, or use
|
||||
`split()` to turn the string into a list of characters. Example, to get the
|
||||
byte under the cursor: >
|
||||
:let c = getline(".")[col(".") - 1]
|
||||
|
||||
In Vim9 script:
|
||||
If expr8 is a String this results in a String that contains the expr1'th
|
||||
single character from expr8. To use byte indexes use |strpart()|.
|
||||
|
||||
Index zero gives the first byte or character. Careful: text column numbers
|
||||
start with one!
|
||||
|
||||
If the length of the String is less than the index, the result is an empty
|
||||
String. A negative index always results in an empty string (reason: backward
|
||||
compatibility). Use [-1:] to get the last byte.
|
||||
compatibility). Use [-1:] to get the last byte or character.
|
||||
|
||||
If expr8 is a |List| then it results the item at index expr1. See |list-index|
|
||||
for possible index values. If the index is out of range this results in an
|
||||
@ -1157,10 +1163,16 @@ error.
|
||||
|
||||
expr8[expr1a : expr1b] substring or sublist *expr-[:]*
|
||||
|
||||
If expr8 is a Number or String this results in the substring with the bytes
|
||||
from expr1a to and including expr1b. expr8 is used as a String, expr1a and
|
||||
expr1b are used as a Number. This doesn't recognize multi-byte encodings, see
|
||||
|byteidx()| for computing the indexes.
|
||||
If expr8 is a String this results in the substring with the bytes from expr1a
|
||||
to and including expr1b. expr8 is used as a String, expr1a and expr1b are
|
||||
used as a Number.
|
||||
|
||||
In legacy Vim script the indexes are byte indexes. This doesn't recognize
|
||||
multi-byte encodings, see |byteidx()| for computing the indexes. If expr8 is
|
||||
a Number it is first converted to a String.
|
||||
|
||||
In Vim9 script the indexes are character indexes. To use byte indexes use
|
||||
|strpart()|.
|
||||
|
||||
If expr1a is omitted zero is used. If expr1b is omitted the length of the
|
||||
string minus one is used.
|
||||
@ -4895,31 +4907,32 @@ getbufinfo([{dict}])
|
||||
|
||||
Each returned List item is a dictionary with the following
|
||||
entries:
|
||||
bufnr buffer number.
|
||||
bufnr Buffer number.
|
||||
changed TRUE if the buffer is modified.
|
||||
changedtick number of changes made to the buffer.
|
||||
changedtick Number of changes made to the buffer.
|
||||
hidden TRUE if the buffer is hidden.
|
||||
lastused timestamp in seconds, like
|
||||
lastused Timestamp in seconds, like
|
||||
|localtime()|, when the buffer was
|
||||
last used.
|
||||
{only with the |+viminfo| feature}
|
||||
listed TRUE if the buffer is listed.
|
||||
lnum current line number in buffer.
|
||||
linecount number of lines in the buffer (only
|
||||
lnum Line number used for the buffer when
|
||||
opened in the current window.
|
||||
linecount Number of lines in the buffer (only
|
||||
valid when loaded)
|
||||
loaded TRUE if the buffer is loaded.
|
||||
name full path to the file in the buffer.
|
||||
signs list of signs placed in the buffer.
|
||||
name Full path to the file in the buffer.
|
||||
signs List of signs placed in the buffer.
|
||||
Each list item is a dictionary with
|
||||
the following fields:
|
||||
id sign identifier
|
||||
lnum line number
|
||||
name sign name
|
||||
variables a reference to the dictionary with
|
||||
variables A reference to the dictionary with
|
||||
buffer-local variables.
|
||||
windows list of |window-ID|s that display this
|
||||
windows List of |window-ID|s that display this
|
||||
buffer
|
||||
popups list of popup |window-ID|s that
|
||||
popups List of popup |window-ID|s that
|
||||
display this buffer
|
||||
|
||||
Examples: >
|
||||
@ -5446,7 +5459,7 @@ getloclist({nr} [, {what}]) *getloclist()*
|
||||
:echo getloclist(5, {'filewinid': 0})
|
||||
|
||||
|
||||
getmarklist([{expr}] *getmarklist()*
|
||||
getmarklist([{expr}]) *getmarklist()*
|
||||
Without the {expr} argument returns a |List| with information
|
||||
about all the global marks. |mark|
|
||||
|
||||
@ -8709,7 +8722,8 @@ searchcount([{options}]) *searchcount()*
|
||||
pos |List| `[lnum, col, off]` value
|
||||
when recomputing the result.
|
||||
this changes "current" result
|
||||
value. see |cursor()|, |getpos()
|
||||
value. see |cursor()|,
|
||||
|getpos()|
|
||||
(default: cursor's position)
|
||||
|
||||
|
||||
@ -9111,7 +9125,7 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
|
||||
argument is ignored. See below for the supported items in
|
||||
{what}.
|
||||
*setqflist-what*
|
||||
When {what} is not present, the items in {list} or used. Each
|
||||
When {what} is not present, the items in {list} are used. Each
|
||||
item must be a dictionary. Non-dictionary items in {list} are
|
||||
ignored. Each dictionary item can contain the following
|
||||
entries:
|
||||
@ -9332,7 +9346,7 @@ settagstack({nr}, {dict} [, {action}]) *settagstack()*
|
||||
|
||||
Returns zero for success, -1 for failure.
|
||||
|
||||
Examples (for more examples see |tagstack-examples||):
|
||||
Examples (for more examples see |tagstack-examples|):
|
||||
Empty the tag stack of window 3: >
|
||||
call settagstack(3, {'items' : []})
|
||||
|
||||
@ -10132,7 +10146,7 @@ swapname({expr}) *swapname()*
|
||||
The result is the swap file path of the buffer {expr}.
|
||||
For the use of {expr}, see |bufname()| above.
|
||||
If buffer {expr} is the current buffer, the result is equal to
|
||||
|:swapname| (unless no swap file).
|
||||
|:swapname| (unless there is no swap file).
|
||||
If buffer {expr} has no swap file, returns an empty string.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
@ -10355,8 +10369,13 @@ tabpagebuflist([{arg}]) *tabpagebuflist()*
|
||||
tabpagenr([{arg}]) *tabpagenr()*
|
||||
The result is a Number, which is the number of the current
|
||||
tab page. The first tab page has number 1.
|
||||
When the optional argument is "$", the number of the last tab
|
||||
page is returned (the tab page count).
|
||||
|
||||
The optional argument {arg} supports the following values:
|
||||
$ the number of the last tab page (the tab page
|
||||
count).
|
||||
# the number of the last accessed tab page
|
||||
(where |g<Tab>| goes to). if there is no
|
||||
previous tab page 0 is returned.
|
||||
The number can be used with the |:tab| command.
|
||||
|
||||
|
||||
@ -12243,10 +12262,18 @@ text...
|
||||
:const x = 1
|
||||
< is equivalent to: >
|
||||
:let x = 1
|
||||
:lockvar 1 x
|
||||
:lockvar! x
|
||||
< This is useful if you want to make sure the variable
|
||||
is not modified.
|
||||
*E995*
|
||||
is not modified. If the value is a List or Dictionary
|
||||
literal then the items also cannot be changed: >
|
||||
const ll = [1, 2, 3]
|
||||
let ll[1] = 5 " Error!
|
||||
< Nested references are not locked: >
|
||||
let lvar = ['a']
|
||||
const lconst = [0, lvar]
|
||||
let lconst[0] = 2 " Error!
|
||||
let lconst[1][0] = 'b' " OK
|
||||
< *E995*
|
||||
|:const| does not allow to for changing a variable: >
|
||||
:let x = 1
|
||||
:const x = 2 " Error!
|
||||
|
@ -163,8 +163,8 @@ file. It will be overwritten when installing a new version of Vim.
|
||||
|
||||
A. If you want to overrule all default file type checks.
|
||||
This works by writing one file for each filetype. The disadvantage is that
|
||||
means there can be many files. The advantage is that you can simply drop
|
||||
this file in the right directory to make it work.
|
||||
there can be many files. The advantage is that you can simply drop this
|
||||
file in the right directory to make it work.
|
||||
*ftdetect*
|
||||
1. Create your user runtime directory. You would normally use the first
|
||||
item of the 'runtimepath' option. Then create the directory "ftdetect"
|
||||
|
@ -1096,8 +1096,9 @@ That's all. XLFDs are not used. For Chinese this is reported to work well: >
|
||||
|
||||
For Mac OSX you can use something like this: >
|
||||
:set guifont=Monaco:h10
|
||||
Also see 'macatsui', it can help fix display problems.
|
||||
*E236*
|
||||
|
||||
Mono-spaced fonts *E236*
|
||||
|
||||
Note that the fonts must be mono-spaced (all characters have the same width).
|
||||
An exception is GTK: all fonts are accepted, but mono-spaced fonts look best.
|
||||
|
||||
|
@ -451,7 +451,7 @@ with the Intellimouse driver 2.2 and when "Universal Scrolling" is turned on.
|
||||
|
||||
XPM support *w32-xpm-support*
|
||||
|
||||
GVim can be build on MS-Windows with support for XPM files. |+xpm_w32|
|
||||
GVim can be built on MS-Windows with support for XPM files. |+xpm_w32|
|
||||
See the Make_mvc.mak file for instructions, search for XPM.
|
||||
|
||||
To try out if XPM support works do this: >
|
||||
|
@ -1,4 +1,4 @@
|
||||
*helphelp.txt* For Vim version 8.2. Last change: 2020 Mar 01
|
||||
*helphelp.txt* For Vim version 8.2. Last change: 2020 Jul 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -369,14 +369,16 @@ highlighting. So do these:
|
||||
You can find the details in $VIMRUNTIME/syntax/help.vim
|
||||
|
||||
*inclusion*
|
||||
Some people make a big deal about using "his" when referring to the user,
|
||||
thinking it means we assume the user is male. That is of course not the case,
|
||||
it's just a habit of writing help text, which quite often is many years old.
|
||||
Also, a lot of the text is written by contributors for who English is not
|
||||
their first language. We do not make any assumptions about the gender of the
|
||||
user, no matter how the text is phrased. And we do not want to waste time on
|
||||
this discussion. The goal is that the reader understands how Vim works, the
|
||||
exact wording is secondary.
|
||||
Vim is for everybody, no matter race, gender or anything. Some people make a
|
||||
big deal about using "he" or "his" when referring to the user, thinking it
|
||||
means we assume the user is male. That is not the case, it's just a habit of
|
||||
writing help text, which quite often is many years old. Also, a lot of the
|
||||
text is written by contributors for whom English is not their first language.
|
||||
We do not make any assumptions about the gender of the user, no matter how the
|
||||
text is phrased. Some people have suggested using "they", but that is not
|
||||
regular English. We do not want to spend much time on this discussion. The
|
||||
goal is that the reader understands how Vim works, the exact wording is
|
||||
secondary.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -199,8 +199,8 @@ Vim evaluation and command execution, and others.
|
||||
returns it. Note that the buffer is not set as
|
||||
current.
|
||||
|
||||
vim.call({name} [,{args}])
|
||||
Proxy to call Vim function named {name} with
|
||||
vim.call({name} [, {args}])
|
||||
Proxy to call Vim function named {name} with
|
||||
arguments {args}. Example: >
|
||||
:lua print(vim.call('has', 'timers'))
|
||||
<
|
||||
|
@ -275,7 +275,7 @@ Options:
|
||||
$win delcmd {cmd} *tcl-window-delcmd*
|
||||
Registers the Tcl command {cmd} as a deletion callback for the window.
|
||||
This command is executed (in the global scope) just before the window
|
||||
is closed. Complex commands should be build with "list": >
|
||||
is closed. Complex commands should be built with "list": >
|
||||
$win delcmd [list puts vimerr "window deleted"]
|
||||
< See also |tcl-buffer-delcmd|.
|
||||
|
||||
@ -357,7 +357,7 @@ Options:
|
||||
$buf delcmd {cmd} *tcl-buffer-delcmd*
|
||||
Registers the Tcl command {cmd} as a deletion callback for the buffer.
|
||||
This command is executed (in the global scope) just before the buffer
|
||||
is deleted. Complex commands should be build with "list": >
|
||||
is deleted. Complex commands should be built with "list": >
|
||||
$buf delcmd [list puts vimerr "buffer [$buf number] gone"]
|
||||
< See also |tcl-window-delcmd|.
|
||||
|
||||
|
@ -414,11 +414,11 @@ The examples below assume a 'shiftwidth' of 4.
|
||||
<
|
||||
*cino-(*
|
||||
(N When in unclosed parentheses, indent N characters from the line
|
||||
with the unclosed parentheses. Add a 'shiftwidth' for every
|
||||
with the unclosed parenthesis. Add a 'shiftwidth' for every
|
||||
extra unclosed parentheses. When N is 0 or the unclosed
|
||||
parentheses is the first non-white character in its line, line
|
||||
parenthesis is the first non-white character in its line, line
|
||||
up with the next non-white character after the unclosed
|
||||
parentheses. (default 'shiftwidth' * 2).
|
||||
parenthesis. (default 'shiftwidth' * 2).
|
||||
|
||||
cino= cino=(0 >
|
||||
if (c1 && (c2 || if (c1 && (c2 ||
|
||||
@ -439,7 +439,7 @@ The examples below assume a 'shiftwidth' of 4.
|
||||
<
|
||||
*cino-U*
|
||||
UN When N is non-zero, do not ignore the indenting specified by
|
||||
( or u in case that the unclosed parentheses is the first
|
||||
( or u in case that the unclosed parenthesis is the first
|
||||
non-white character in its line. (default 0).
|
||||
|
||||
cino= or cino=(s cino=(s,U1 >
|
||||
@ -452,8 +452,8 @@ The examples below assume a 'shiftwidth' of 4.
|
||||
*cino-w*
|
||||
wN When in unclosed parentheses and N is non-zero and either
|
||||
using "(0" or "u0", respectively, or using "U0" and the unclosed
|
||||
parentheses is the first non-white character in its line, line
|
||||
up with the character immediately after the unclosed parentheses
|
||||
parenthesis is the first non-white character in its line, line
|
||||
up with the character immediately after the unclosed parenthesis
|
||||
rather than the first non-white character. (default 0).
|
||||
|
||||
cino=(0 cino=(0,w1 >
|
||||
@ -464,11 +464,11 @@ The examples below assume a 'shiftwidth' of 4.
|
||||
<
|
||||
*cino-W*
|
||||
WN When in unclosed parentheses and N is non-zero and either
|
||||
using "(0" or "u0", respectively and the unclosed parentheses is
|
||||
using "(0" or "u0", respectively and the unclosed parenthesis is
|
||||
the last non-white character in its line and it is not the
|
||||
closing parentheses, indent the following line N characters
|
||||
closing parenthesis, indent the following line N characters
|
||||
relative to the outer context (i.e. start of the line or the
|
||||
next unclosed parentheses). (default: 0).
|
||||
next unclosed parenthesis). (default: 0).
|
||||
|
||||
cino=(0 cino=(0,W4 >
|
||||
a_long_line( a_long_line(
|
||||
@ -495,8 +495,8 @@ The examples below assume a 'shiftwidth' of 4.
|
||||
<
|
||||
*cino-m*
|
||||
mN When N is non-zero, line up a line starting with a closing
|
||||
parentheses with the first character of the line with the
|
||||
matching opening parentheses. (default 0).
|
||||
parenthesis with the first character of the line with the
|
||||
matching opening parenthesis. (default 0).
|
||||
|
||||
cino=(s cino=(s,m1 >
|
||||
c = c1 && ( c = c1 && (
|
||||
@ -510,7 +510,7 @@ The examples below assume a 'shiftwidth' of 4.
|
||||
<
|
||||
*cino-M*
|
||||
MN When N is non-zero, line up a line starting with a closing
|
||||
parentheses with the first character of the previous line.
|
||||
parenthesis with the first character of the previous line.
|
||||
(default 0).
|
||||
|
||||
cino= cino=M1 >
|
||||
@ -569,7 +569,7 @@ The examples below assume a 'shiftwidth' of 4.
|
||||
recognize preprocessor lines; right-shifting lines that start
|
||||
with "#" does not work.
|
||||
|
||||
|
||||
*cino-P*
|
||||
PN When N is non-zero recognize C pragmas, and indent them like any
|
||||
other code; does not concern other preprocessor directives.
|
||||
When N is zero (default): don't recognize C pragmas, treating
|
||||
@ -996,7 +996,7 @@ Indent after a nested paren: >
|
||||
Indent for a continuation line: >
|
||||
let g:pyindent_continue = 'shiftwidth() * 2'
|
||||
|
||||
The method uses |searchpair()| to look back for unclosed parenthesis. This
|
||||
The method uses |searchpair()| to look back for unclosed parentheses. This
|
||||
can sometimes be slow, thus it timeouts after 150 msec. If you notice the
|
||||
indenting isn't correct, you can set a larger timeout in msec: >
|
||||
let g:pyindent_searchpair_timeout = 500
|
||||
|
@ -440,6 +440,7 @@ tag char note action in Normal mode ~
|
||||
|<C-LeftMouse>| <C-LeftMouse> ":ta" to the keyword at the mouse click
|
||||
|<C-Right>| <C-Right> 1 same as "w"
|
||||
|<C-RightMouse>| <C-RightMouse> same as "CTRL-T"
|
||||
|<C-Tab>| <C-Tab> same as "g<Tab>"
|
||||
|<Del>| ["x]<Del> 2 same as "x"
|
||||
|N<Del>| {count}<Del> remove the last digit from {count}
|
||||
|<Down>| <Down> 1 same as "j"
|
||||
@ -587,6 +588,8 @@ tag command action in Normal mode ~
|
||||
following the file name.
|
||||
|CTRL-W_gt| CTRL-W g t same as `gt`: go to next tab page
|
||||
|CTRL-W_gT| CTRL-W g T same as `gT`: go to previous tab page
|
||||
|CTRL-W_g<Tab>| CTRL-W g <Tab> same as |g<Tab>|: go to last accessed tab
|
||||
page.
|
||||
|CTRL-W_h| CTRL-W h go to Nth left window (stop at first window)
|
||||
|CTRL-W_i| CTRL-W i split window and jump to declaration of
|
||||
identifier under the cursor
|
||||
@ -805,6 +808,7 @@ tag char note action in Normal mode ~
|
||||
|g<LeftMouse>| g<LeftMouse> same as <C-LeftMouse>
|
||||
g<MiddleMouse> same as <C-MiddleMouse>
|
||||
|g<RightMouse>| g<RightMouse> same as <C-RightMouse>
|
||||
|g<Tab>| g<Tab> go to the last accessed tab page.
|
||||
|g<Up>| g<Up> 1 same as "gk"
|
||||
|
||||
==============================================================================
|
||||
|
@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 8.2. Last change: 2020 Apr 23
|
||||
*map.txt* For Vim version 8.2. Last change: 2020 Aug 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 8.2. Last change: 2020 Jul 18
|
||||
*options.txt* For Vim version 8.2. Last change: 2020 Aug 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -727,8 +727,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'antialias' 'anti' boolean (default: off)
|
||||
global
|
||||
{only available when compiled with GUI enabled
|
||||
on Mac OS X}
|
||||
This option only has an effect in the GUI version of Vim on Mac OS X
|
||||
on macOS}
|
||||
This option only has an effect in the GUI version of Vim on macOS
|
||||
v10.2 or later. When on, Vim will use smooth ("antialiased") fonts,
|
||||
which can be easier to read at certain sizes on certain displays.
|
||||
Setting this option can sometimes cause problems if 'guifont' is set
|
||||
@ -2715,6 +2715,11 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
for Unix: ".,~/tmp,/var/tmp,/tmp")
|
||||
global
|
||||
List of directory names for the swap file, separated with commas.
|
||||
Recommended value: ".,~/vimswap//" - this will put the swap file next
|
||||
to the edited file if possible, and in your personal swap directory
|
||||
otherwise. Make sure "~/vimswap//" is only readable for you.
|
||||
|
||||
Possible items:
|
||||
- The swap file will be created in the first directory where this is
|
||||
possible.
|
||||
- Empty means that no swap file will be used (recovery is
|
||||
@ -2749,9 +2754,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
the same file twice will result in a warning. Using "/tmp" on Unix is
|
||||
discouraged: When the system crashes you lose the swap file.
|
||||
"/var/tmp" is often not cleared when rebooting, thus is a better
|
||||
choice than "/tmp". But it can contain a lot of files, your swap
|
||||
files get lost in the crowd. That is why a "tmp" directory in your
|
||||
home directory is tried first.
|
||||
choice than "/tmp". But others on the computer may be able to see the
|
||||
files, and it can contain a lot of files, your swap files get lost in
|
||||
the crowd. That is why a "tmp" directory in your home directory is
|
||||
tried first.
|
||||
The use of |:set+=| and |:set-=| is preferred when adding or removing
|
||||
directories from the list. This avoids problems when a future version
|
||||
uses another default.
|
||||
@ -4540,7 +4546,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
set and to the Vim default value when 'compatible' is reset.
|
||||
|
||||
*'isprint'* *'isp'*
|
||||
'isprint' 'isp' string (default for Win32 and Macintosh:
|
||||
'isprint' 'isp' string (default for Win32 and macOS:
|
||||
"@,~-255"; otherwise: "@,161-255")
|
||||
global
|
||||
The characters given by this option are displayed directly on the
|
||||
@ -4917,18 +4923,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'macatsui'* *'nomacatsui'*
|
||||
'macatsui' boolean (default on)
|
||||
global
|
||||
{only available in Mac GUI version}
|
||||
This is a workaround for when drawing doesn't work properly. When set
|
||||
and compiled with multi-byte support ATSUI text drawing is used. When
|
||||
not set ATSUI text drawing is not used. Switch this option off when
|
||||
you experience drawing problems. In a future version the problems may
|
||||
be solved and this option becomes obsolete. Therefore use this method
|
||||
to unset it: >
|
||||
if exists('&macatsui')
|
||||
set nomacatsui
|
||||
endif
|
||||
< Another option to check if you have drawing problems is
|
||||
'termencoding'.
|
||||
{not supported}
|
||||
No longer supported, as the Mac OS X GUI code was removed.
|
||||
|
||||
*'magic'* *'nomagic'*
|
||||
'magic' boolean (default on)
|
||||
@ -6234,7 +6230,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
$VIMRUNTIME,
|
||||
$VIM/vimfiles/after,
|
||||
$HOME/vimfiles/after"
|
||||
Macintosh: "$VIM:vimfiles,
|
||||
macOS: "$VIM:vimfiles,
|
||||
$VIMRUNTIME,
|
||||
$VIM:vimfiles:after"
|
||||
Haiku: "$BE_USER_SETTINGS/vim,
|
||||
@ -7738,14 +7734,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
For further details see |arabic.txt|.
|
||||
|
||||
*'termencoding'* *'tenc'*
|
||||
'termencoding' 'tenc' string (default ""; with GTK+ GUI: "utf-8"; with
|
||||
Macintosh GUI: "macroman")
|
||||
'termencoding' 'tenc' string (default ""; with GTK+ GUI: "utf-8")
|
||||
global
|
||||
Encoding used for the terminal. This specifies what character
|
||||
encoding the keyboard produces and the display will understand. For
|
||||
the GUI it only applies to the keyboard ('encoding' is used for the
|
||||
display). Except for the Mac when 'macatsui' is off, then
|
||||
'termencoding' should be "macroman".
|
||||
display).
|
||||
*E617* *E950*
|
||||
Note: This does not apply to the GTK+ GUI. After the GUI has been
|
||||
successfully initialized, 'termencoding' is forcibly set to "utf-8".
|
||||
@ -8368,7 +8362,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
>= 14 Anything pending in a ":finally" clause.
|
||||
>= 15 Every executed Ex command from a script (truncated at 200
|
||||
characters).
|
||||
>= 16 Every executed Ex command
|
||||
>= 16 Every executed Ex command.
|
||||
|
||||
This option can also be set with the "-V" argument. See |-V|.
|
||||
This option is also set by the |:verbose| command.
|
||||
@ -8391,7 +8385,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'viewdir' 'vdir' string (default for Amiga and Win32:
|
||||
"$VIM/vimfiles/view",
|
||||
for Unix: "~/.vim/view",
|
||||
for Macintosh: "$VIM:vimfiles:view"
|
||||
for macOS: "$VIM:vimfiles:view"
|
||||
for VMS: "sys$login:vimfiles/view")
|
||||
global
|
||||
{not available when compiled without the |+mksession|
|
||||
@ -8907,7 +8901,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{only available when compiled with the |terminal|
|
||||
feature on MS-Windows}
|
||||
Specifies the name of the winpty shared library, used for the
|
||||
|:terminal| command. The default depends on whether was build as a
|
||||
|:terminal| command. The default depends on whether Vim was built as a
|
||||
32-bit or 64-bit executable. If not found, "winpty.dll" is tried as
|
||||
a fallback.
|
||||
Environment variables are expanded |:set_env|.
|
||||
|
@ -88,7 +88,7 @@ VAX C compiler is not fully ANSI C compatible in pre-processor directives
|
||||
semantics, therefore you have to use a converter program that will do the lion
|
||||
part of the job. For detailed instructions read file INSTALLvms.txt
|
||||
|
||||
MMS_VIM.EXE is build together with VIM.EXE, but for XXD.EXE you should
|
||||
MMS_VIM.EXE is built together with VIM.EXE, but for XXD.EXE you should
|
||||
change to a subdirectory and build it separately.
|
||||
|
||||
CTAGS is not part of the Vim source distribution anymore, however the OpenVMS
|
||||
|
@ -1,4 +1,4 @@
|
||||
*popup.txt* For Vim version 8.2. Last change: 2020 May 18
|
||||
*popup.txt* For Vim version 8.2. Last change: 2020 Jul 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -74,9 +74,9 @@ wrapping, lines in the buffer. It can be limited with the "maxheight"
|
||||
property. You can use empty lines to increase the height or the "minheight"
|
||||
property.
|
||||
|
||||
The width of the window is normally equal to the longest line in the buffer.
|
||||
It can be limited with the "maxwidth" property. You can use spaces to
|
||||
increase the width or use the "minwidth" property.
|
||||
The width of the window is normally equal to the longest visible line in the
|
||||
buffer. It can be limited with the "maxwidth" property. You can use spaces
|
||||
to increase the width or use the "minwidth" property.
|
||||
|
||||
By default the 'wrap' option is set, so that no text disappears. Otherwise,
|
||||
if there is not enough space then the window is shifted left in order to
|
||||
|
@ -1705,7 +1705,7 @@ special problem here is that it doesn't print information on leaving the
|
||||
directory and that it doesn't print the absolute path.
|
||||
|
||||
To solve the problem with relative paths and missing "leave directory"
|
||||
messages Vim uses following algorithm:
|
||||
messages Vim uses the following algorithm:
|
||||
|
||||
1) Check if the given directory is a subdirectory of the current directory.
|
||||
If this is true, store it as the current directory.
|
||||
@ -1938,7 +1938,7 @@ list window is:
|
||||
The values displayed in each line correspond to the "bufnr", "lnum", "col" and
|
||||
"text" fields returned by the |getqflist()| function.
|
||||
|
||||
For some quickfix/location lists, the displayed text need to be customized.
|
||||
For some quickfix/location lists, the displayed text needs to be customized.
|
||||
For example, if only the filename is present for a quickfix entry, then the
|
||||
two "|" field separator characters after the filename are not needed. Another
|
||||
use case is to customize the path displayed for a filename. By default, the
|
||||
|
@ -1,4 +1,4 @@
|
||||
*recover.txt* For Vim version 8.2. Last change: 2020 May 09
|
||||
*recover.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -64,8 +64,8 @@ Disadvantages:
|
||||
directories (although Vim tries to avoid that by comparing the path name).
|
||||
This will result in bogus ATTENTION warning messages.
|
||||
- When you use your home directory, and somebody else tries to edit the same
|
||||
file, he will not see your swap file and will not get the ATTENTION warning
|
||||
message.
|
||||
file, that user will not see your swap file and will not get the ATTENTION
|
||||
warning message.
|
||||
On the Amiga you can also use a recoverable ram disk, but there is no 100%
|
||||
guarantee that this works. Putting swap files in a normal ram disk (like RAM:
|
||||
on the Amiga) or in a place that is cleared when rebooting (like /tmp on Unix)
|
||||
|
@ -179,7 +179,7 @@ name on the 'VimRegistry' property on the root window.
|
||||
|
||||
A non GUI Vim with access to the X11 display (|xterm-clipboard| enabled), can
|
||||
also act as a command server if a server name is explicitly given with the
|
||||
--servername argument, or when Vim was build with the |+autoservername|
|
||||
--servername argument, or when Vim was built with the |+autoservername|
|
||||
feature.
|
||||
|
||||
An empty --servername argument will cause the command server to be disabled.
|
||||
|
@ -1,4 +1,4 @@
|
||||
*repeat.txt* For Vim version 8.2. Last change: 2020 May 14
|
||||
*repeat.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -643,7 +643,7 @@ This assumes you write one or more plugins that you distribute as a package.
|
||||
|
||||
If you have two unrelated plugins you would use two packages, so that Vim
|
||||
users can choose what they include or not. Or you can decide to use one
|
||||
package with optional plugins, and tell the user to add the ones he wants with
|
||||
package with optional plugins, and tell the user to add the preferred ones with
|
||||
`:packadd`.
|
||||
|
||||
Decide how you want to distribute the package. You can create an archive or
|
||||
@ -679,7 +679,7 @@ You could add this packadd command in one of your plugins, to be executed when
|
||||
the optional plugin is needed.
|
||||
|
||||
Run the `:helptags` command to generate the doc/tags file. Including this
|
||||
generated file in the package means that the user can drop the package in his
|
||||
generated file in the package means that the user can drop the package in the
|
||||
pack directory and the help command works right away. Don't forget to re-run
|
||||
the command after changing the plugin help: >
|
||||
:helptags path/start/foobar/doc
|
||||
|
@ -1,4 +1,4 @@
|
||||
*spell.txt* For Vim version 8.2. Last change: 2020 Jul 10
|
||||
*spell.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -1445,7 +1445,7 @@ are spelling mistakes this may not be quite right.
|
||||
Common words can be specified with the COMMON item. This will give better
|
||||
suggestions when editing a short file. Example:
|
||||
|
||||
COMMON the of to and a in is it you that he was for on are ~
|
||||
COMMON the of to and a in is it you that he she was for on are ~
|
||||
|
||||
The words must be separated by white space, up to 25 per line.
|
||||
When multiple regions are specified in a ":mkspell" command the common words
|
||||
|
@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 8.2. Last change: 2020 Jul 08
|
||||
*syntax.txt* For Vim version 8.2. Last change: 2020 Jul 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -3648,7 +3648,7 @@ DEFINING FOLDLEVEL *:syn-foldlevel*
|
||||
start: Use level of item containing start of line.
|
||||
minimum: Use lowest local-minimum level of items on line.
|
||||
|
||||
The default is 'start'. Use 'minimum' to search a line horizontally
|
||||
The default is "start". Use "minimum" to search a line horizontally
|
||||
for the lowest level contained on the line that is followed by a
|
||||
higher level. This produces more natural folds when syntax items
|
||||
may close and open horizontally within a line.
|
||||
@ -3795,9 +3795,9 @@ DEFINING REGIONS *:syn-region* *:syn-start* *:syn-skip* *:syn-end*
|
||||
[keepend]
|
||||
[extend]
|
||||
[excludenl]
|
||||
start={start_pattern} ..
|
||||
[skip={skip_pattern}]
|
||||
end={end_pattern} ..
|
||||
start={start-pattern} ..
|
||||
[skip={skip-pattern}]
|
||||
end={end-pattern} ..
|
||||
[{options}]
|
||||
|
||||
This defines one region. It may span several lines.
|
||||
@ -3819,12 +3819,12 @@ DEFINING REGIONS *:syn-region* *:syn-start* *:syn-skip* *:syn-end*
|
||||
extend a containing match or item. Only
|
||||
useful for end patterns. Must be given before
|
||||
the patterns it applies to. |:syn-excludenl|
|
||||
start={start_pattern} The search pattern that defines the start of
|
||||
start={start-pattern} The search pattern that defines the start of
|
||||
the region. See |:syn-pattern| below.
|
||||
skip={skip_pattern} The search pattern that defines text inside
|
||||
skip={skip-pattern} The search pattern that defines text inside
|
||||
the region where not to look for the end
|
||||
pattern. See |:syn-pattern| below.
|
||||
end={end_pattern} The search pattern that defines the end of
|
||||
end={end-pattern} The search pattern that defines the end of
|
||||
the region. See |:syn-pattern| below.
|
||||
|
||||
Example: >
|
||||
|
@ -1,4 +1,4 @@
|
||||
*tabpage.txt* For Vim version 8.2. Last change: 2020 Feb 06
|
||||
*tabpage.txt* For Vim version 8.2. Last change: 2020 Aug 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -142,6 +142,7 @@ something else.
|
||||
:tabclose + " close the next tab page
|
||||
:tabclose 3 " close the third tab page
|
||||
:tabclose $ " close the last tab page
|
||||
:tabclose # " close the last accessed tab page
|
||||
<
|
||||
*:tabo* *:tabonly*
|
||||
:tabo[nly][!] Close all other tab pages.
|
||||
@ -170,6 +171,8 @@ something else.
|
||||
" one
|
||||
:tabonly 1 " close all tab pages except the first one
|
||||
:tabonly $ " close all tab pages except the last one
|
||||
:tabonly # " close all tab pages except the last
|
||||
" accessed one
|
||||
|
||||
|
||||
SWITCHING TO ANOTHER TAB PAGE:
|
||||
@ -192,6 +195,7 @@ gt *i_CTRL-<PageDown>* *i_<C-PageDown>*
|
||||
:+2tabnext " go to the two next tab page
|
||||
:1tabnext " go to the first tab page
|
||||
:$tabnext " go to the last tab page
|
||||
:tabnext # " go to the last accessed tab page
|
||||
:tabnext $ " as above
|
||||
:tabnext - " go to the previous tab page
|
||||
:tabnext -1 " as above
|
||||
@ -221,6 +225,8 @@ gT Go to the previous tab page. Wraps around from the first one
|
||||
*:tabl* *:tablast*
|
||||
:tabl[ast] Go to the last tab page.
|
||||
|
||||
*g<Tab>* *CTRL-W_g<Tab>* *<C-Tab>*
|
||||
g<Tab> Go to the last accessed tab page.
|
||||
|
||||
Other commands:
|
||||
*:tabs*
|
||||
@ -253,6 +259,8 @@ REORDERING TAB PAGES:
|
||||
:tabmove " move the tab page to the last
|
||||
:$tabmove " as above
|
||||
:tabmove $ " as above
|
||||
:tabmove # " move the tab page after the last accessed
|
||||
" tab page
|
||||
|
||||
:tabm[ove] +[N]
|
||||
:tabm[ove] -[N]
|
||||
|
@ -3497,6 +3497,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
<C-ScrollWheelLeft> scroll.txt /*<C-ScrollWheelLeft>*
|
||||
<C-ScrollWheelRight> scroll.txt /*<C-ScrollWheelRight>*
|
||||
<C-ScrollWheelUp> scroll.txt /*<C-ScrollWheelUp>*
|
||||
<C-Tab> tabpage.txt /*<C-Tab>*
|
||||
<CR> motion.txt /*<CR>*
|
||||
<CSI> intro.txt /*<CSI>*
|
||||
<Char-> map.txt /*<Char->*
|
||||
@ -3816,6 +3817,7 @@ CTRL-W_bar windows.txt /*CTRL-W_bar*
|
||||
CTRL-W_c windows.txt /*CTRL-W_c*
|
||||
CTRL-W_d tagsrch.txt /*CTRL-W_d*
|
||||
CTRL-W_f windows.txt /*CTRL-W_f*
|
||||
CTRL-W_g<Tab> tabpage.txt /*CTRL-W_g<Tab>*
|
||||
CTRL-W_gF windows.txt /*CTRL-W_gF*
|
||||
CTRL-W_gT windows.txt /*CTRL-W_gT*
|
||||
CTRL-W_g] windows.txt /*CTRL-W_g]*
|
||||
@ -5744,6 +5746,7 @@ cino-J indent.txt /*cino-J*
|
||||
cino-L indent.txt /*cino-L*
|
||||
cino-M indent.txt /*cino-M*
|
||||
cino-N indent.txt /*cino-N*
|
||||
cino-P indent.txt /*cino-P*
|
||||
cino-U indent.txt /*cino-U*
|
||||
cino-W indent.txt /*cino-W*
|
||||
cino-^ indent.txt /*cino-^*
|
||||
@ -6862,6 +6865,7 @@ g<End> motion.txt /*g<End>*
|
||||
g<Home> motion.txt /*g<Home>*
|
||||
g<LeftMouse> tagsrch.txt /*g<LeftMouse>*
|
||||
g<RightMouse> tagsrch.txt /*g<RightMouse>*
|
||||
g<Tab> tabpage.txt /*g<Tab>*
|
||||
g<Up> motion.txt /*g<Up>*
|
||||
g? change.txt /*g?*
|
||||
g?? change.txt /*g??*
|
||||
@ -8299,6 +8303,7 @@ pascal.vim syntax.txt /*pascal.vim*
|
||||
patches-8 version8.txt /*patches-8*
|
||||
patches-8.1 version8.txt /*patches-8.1*
|
||||
patches-8.2 version8.txt /*patches-8.2*
|
||||
patches-after-8.2 version8.txt /*patches-after-8.2*
|
||||
pathshorten() eval.txt /*pathshorten()*
|
||||
pattern pattern.txt /*pattern*
|
||||
pattern-atoms pattern.txt /*pattern-atoms*
|
||||
@ -9637,6 +9642,7 @@ tutor usr_01.txt /*tutor*
|
||||
twice if_cscop.txt /*twice*
|
||||
two-engines pattern.txt /*two-engines*
|
||||
type() eval.txt /*type()*
|
||||
type-casting vim9.txt /*type-casting*
|
||||
type-inference vim9.txt /*type-inference*
|
||||
type-mistakes tips.txt /*type-mistakes*
|
||||
typecorr-settings usr_41.txt /*typecorr-settings*
|
||||
@ -9933,6 +9939,7 @@ valgrind debug.txt /*valgrind*
|
||||
values() eval.txt /*values()*
|
||||
var-functions usr_41.txt /*var-functions*
|
||||
variable-scope eval.txt /*variable-scope*
|
||||
variable-types vim9.txt /*variable-types*
|
||||
variables eval.txt /*variables*
|
||||
various various.txt /*various*
|
||||
various-cmds various.txt /*various-cmds*
|
||||
|
@ -20,18 +20,17 @@ and for testing plugins.
|
||||
Vim can be tested after building it, usually with "make test".
|
||||
The tests are located in the directory "src/testdir".
|
||||
|
||||
There are several types of tests added over time:
|
||||
test33.in oldest, don't add any of these
|
||||
test_something.in old style tests
|
||||
There are two types of tests added over time:
|
||||
test20.in oldest, only for tiny and small builds
|
||||
test_something.vim new style tests
|
||||
|
||||
*new-style-testing*
|
||||
New tests should be added as new style tests. These use functions such as
|
||||
|assert_equal()| to keep the test commands and the expected result in one
|
||||
place.
|
||||
New tests should be added as new style tests. The test scripts are named
|
||||
test_<feature>.vim (replace <feature> with the feature under test). These use
|
||||
functions such as |assert_equal()| to keep the test commands and the expected
|
||||
result in one place.
|
||||
*old-style-testing*
|
||||
In some cases an old style test needs to be used. E.g. when testing Vim
|
||||
without the |+eval| feature.
|
||||
These tests are used only for testing Vim without the |+eval| feature.
|
||||
|
||||
Find more information in the file src/testdir/README.txt.
|
||||
|
||||
@ -292,8 +291,9 @@ assert_exception({error} [, {msg}]) *assert_exception()*
|
||||
catch
|
||||
call assert_exception('E492:')
|
||||
endtry
|
||||
|
||||
assert_fails({cmd} [, {error} [, {msg}]]) *assert_fails()*
|
||||
<
|
||||
*assert_fails()*
|
||||
assert_fails({cmd} [, {error} [, {msg} [, {lnum}]]])
|
||||
Run {cmd} and add an error message to |v:errors| if it does
|
||||
NOT produce an error or when {error} is not found in the
|
||||
error message. Also see |assert-return|.
|
||||
@ -312,13 +312,21 @@ assert_fails({cmd} [, {error} [, {msg}]]) *assert_fails()*
|
||||
string for the first error: >
|
||||
assert_fails('cmd', ['', 'E987:'])
|
||||
<
|
||||
If {msg} is empty then it is not used. Do this to get the
|
||||
default message when passing the {lnum} argument.
|
||||
|
||||
When {lnum} is present and not negative, and the {error}
|
||||
argument is present and matches, then this is compared with
|
||||
the line number at which the error was reported. That can be
|
||||
the line number in a function or in a script.
|
||||
|
||||
Note that beeping is not considered an error, and some failing
|
||||
commands only beep. Use |assert_beeps()| for those.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetCmd()->assert_fails('E99:')
|
||||
|
||||
assert_false({actual} [, {msg}]) *assert_false()*
|
||||
assert_false({actual} [, {msg}]) *assert_false()*
|
||||
When {actual} is not false an error message is added to
|
||||
|v:errors|, like with |assert_equal()|.
|
||||
Also see |assert-return|.
|
||||
|
@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 8.2. Last change: 2020 Jul 26
|
||||
*todo.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -38,25 +38,35 @@ browser use: https://github.com/vim/vim/issues/1234
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
What is the way to get the character under the cursor? With or without
|
||||
composing characters. getline(".") and then use col(".") somehow?
|
||||
Add charidx() perhaps?
|
||||
|
||||
Making everything work:
|
||||
- more items in https://github.com/vim/vim/issues/6507
|
||||
- More "goto failed" with check for trylevel.
|
||||
- memory leak in test_vim9_script
|
||||
- Check that when sourcing a Vim9 script, only the global items can be used.
|
||||
- Slice of list: [1, 2, 3][1:2].
|
||||
- Slice of string: "abc"[1:2]. (#6709)
|
||||
- Run the same tests in :def and Vim9 script, like in Test_expr7_not()
|
||||
- :put with a "=" register argument doesn't work, need to find the expression
|
||||
and compile it. (#6397)
|
||||
- At the script level, keep script variables local to the block they are
|
||||
declared in? Need to remember what variables were declared and delete them
|
||||
when leaving the block.
|
||||
- Implement { } block at the script level.
|
||||
- In autocmd: use legacy syntax, not whatever the current script uses?
|
||||
- need to check type when a declaration specifies a type: #6507
|
||||
let nr: number = 'asdf'
|
||||
- Make sure that in vim9script a function call without namespace only finds
|
||||
the script-local function, not a global one.
|
||||
- Make map() give an error if the resulting type is wrong.
|
||||
Add mapnew() to create a new List/Dict for the result, which can have a
|
||||
different value type.
|
||||
- When defining an :autocmd or :command, how to specify using Vim9 syntax?
|
||||
- always do this when defined in a Vim9 script
|
||||
- add some command modifier.
|
||||
- For an :autocmd and :command argument, if a following line starts with "|"
|
||||
append it. It's like line continuation. (#6702)
|
||||
- Implement "export {one, two three}".
|
||||
- ISN_CHECKTYPE could use check_argtype()
|
||||
- Slice of list: [1, 2, 3][1:2].
|
||||
- give error for variable name:
|
||||
let p = function('NoSuchFunc')
|
||||
- Give runtime error if function argument is wrong.
|
||||
@ -78,6 +88,7 @@ Making everything work:
|
||||
ret[i] = string(i)
|
||||
- Appending to dict item doesn't work:
|
||||
let d[i] ..= value
|
||||
- Using ".." at script level doesn't convert arguments to a string.
|
||||
- Compile replacement of :s command: s/pat/\=expr/
|
||||
- Compile redir to local variable: var_redir_start().
|
||||
- Compile builtin functions that access local variables:
|
||||
@ -102,8 +113,6 @@ Making everything work:
|
||||
New syntax and functionality:
|
||||
Improve error checking:
|
||||
- "echo Func()" is an error if Func() does not return anything.
|
||||
Test:
|
||||
- Using a Vim9 autoload script (functions must be global).
|
||||
Also:
|
||||
- For range: make table of first ASCII character with flag to quickly check if
|
||||
it can be a Vim9 command. E.g. "+" can, but "." can't.
|
||||
@ -116,8 +125,6 @@ Also:
|
||||
- Test each level of expressions properly, with type checking
|
||||
- Test try/catch and throw better, also nested.
|
||||
Test return inside try/finally jumps to finally and then returns.
|
||||
- call autoload function.
|
||||
- Implement more expressions, e.g. [a:b]
|
||||
- can use func as reference:
|
||||
def SomeFunc() ...
|
||||
map(list, SomeFunc)
|
||||
@ -154,6 +161,8 @@ Popup windows:
|
||||
positioned? PopupNew? Could be used to set some options or move it out of
|
||||
the way. (#5737)
|
||||
However, it may also cause trouble, changing the popup of another plugin.
|
||||
- Width is not computed correctly when minwidth and maxwidth are &columns
|
||||
and padding and a scrollbar are used. (#6676)
|
||||
- Add a way to use popup_menu() synchronously: instead of invoking the
|
||||
callback, return the choice. (Ben Jackson, #6534)
|
||||
- Use popup (or popup menu) for command line completion
|
||||
@ -169,7 +178,7 @@ Popup windows:
|
||||
- Figure out the size and position better if wrapping inserts indent
|
||||
|
||||
Text properties:
|
||||
- :goto does not go to the right place when test properties are present.
|
||||
- :goto does not go to the right place when text properties are present.
|
||||
(#5930)
|
||||
- "cc" does not call inserted_bytes(). (Axel Forsman, #5763)
|
||||
- Get E685 with a sequence of commands. (#5674)
|
||||
@ -200,7 +209,7 @@ Terminal debugger:
|
||||
an already running program. (M. Kelly)
|
||||
- When only gdb window exists, on "quit" edit another buffer.
|
||||
- Use a sign group
|
||||
- Termdebug does not work when Vim was build with mzscheme: gdb hangs just
|
||||
- Termdebug does not work when Vim was built with mzscheme: gdb hangs just
|
||||
after "run". Everything else works, including communication channel. Not
|
||||
initializing mzscheme avoid the problem, thus it's not some #ifdef.
|
||||
- Add support for lldb? issue #3565
|
||||
@ -255,10 +264,15 @@ Terminal emulator window:
|
||||
Error numbers available:
|
||||
E610, E611, E653
|
||||
|
||||
Clean up empty entries in testdir/Make_all.mak
|
||||
|
||||
Remove SPACE_IN_FILENAME ? It is only used for completion.
|
||||
|
||||
Patch to use collaction based sorting. (Christian Brabandt, #6229)
|
||||
|
||||
Add 'termguiattr' option, use "gui=" attributes in the terminal? Would work
|
||||
with 'termguicolors'. #1740
|
||||
|
||||
Can we detect true color support? https://gist.github.com/XVilka/8346728
|
||||
Try setting a color then request the current color, like using t_u7.
|
||||
|
||||
@ -333,6 +347,9 @@ character. (#6154)
|
||||
|
||||
undo result wrong: Masato Nishihata, #4798
|
||||
|
||||
After recovering from a swap file the undofile should not be used, it causes
|
||||
corruption. (#6631)
|
||||
|
||||
When 'lazyredraw' is set sometimes the title is not updated.
|
||||
(Jason Franklin, 2020 Feb 3) Looks like a race condition.
|
||||
|
||||
@ -393,6 +410,9 @@ remains equal? Then %argdel to clean it up. Do try this with 'hidden' set.
|
||||
Also #4994: window-local options not always restored, related to using :badd.
|
||||
Also #5326: netrw buffers are not restored.
|
||||
|
||||
Alternate file is not set in the session file. Use setwintabvar("@#") ?
|
||||
(#6714)
|
||||
|
||||
When 'backupdir' has a path ending in double slash (meaning: use full path of
|
||||
the file) combined with 'patchmode' the file name is wrong. (#5791)
|
||||
|
||||
@ -1471,7 +1491,7 @@ Zero-out krypt key information when no longer in use. (Ben Fritz, 2017 May 15)
|
||||
|
||||
Add stronger encryption. Could use libsodium (NaCl).
|
||||
https://github.com/jedisct1/libsodium/
|
||||
Possibly include the needed code so that it can be build everywhere.
|
||||
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.
|
||||
@ -2854,9 +2874,6 @@ Jun 18)
|
||||
|
||||
If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't work.
|
||||
|
||||
Feature request: Command to go to previous tab, like what CTRL-W p does for
|
||||
windows. (Adam George)
|
||||
|
||||
In debug mode, using CTRL-R = to evaluate a function causes stepping through
|
||||
the function. (Hari Krishna Dara, 2006 Jun 28)
|
||||
|
||||
@ -3832,9 +3849,7 @@ Macintosh:
|
||||
two lines at a time. "k" doesn't do this. (Cory T. Echols)
|
||||
8 When write_viminfo() is used while there are many orphaned viminfo
|
||||
tempfiles writing the viminfo file fails. Give a clear error message so
|
||||
that the user knows he has to delete the files.
|
||||
7 It's possible to redefine a script-local function with ":func
|
||||
<SNR>123_Test()". (Krishna) Disallow this.
|
||||
that the user knows the files have to be deleted.
|
||||
|
||||
|
||||
I can't reproduce these (if you can, let me know how!):
|
||||
@ -4005,7 +4020,7 @@ Help:
|
||||
- Support a way to view (and edit) .info files.
|
||||
- Implement a "sticky" help window, some help text lines that are always
|
||||
displayed in a window with fixed height. (Guckes) Use "~/.vimhelp" file,
|
||||
user can edit it to insert his favorite commands, new account can contain a
|
||||
user can edit it to insert favorite commands, new account can contain a
|
||||
default contents.
|
||||
- Make 'winminheight' a local option, so that the user can set a minimal
|
||||
height for the help window (and other windows).
|
||||
@ -5673,7 +5688,7 @@ Buffer list:
|
||||
Also for other windows: ":inwin {winnr} {cmd}". How to make sure that
|
||||
this works properly for all commands, and still be able to return to the
|
||||
current buffer/window? E.g.: ":inbuf xxx only".
|
||||
8 Add File.{recent_files} menu entries: Recently edited files.
|
||||
8 Add File.{recent-files} menu entries: Recently edited files.
|
||||
Ron Aaron has a plugin for this: mru.vim.
|
||||
8 Unix: Check all uses of fnamecmp() and fnamencmp() if they should check
|
||||
inode too.
|
||||
@ -5772,7 +5787,7 @@ Modelines:
|
||||
.cpp files.
|
||||
- Support the "abbreviate" command in modelines (Kearns). Careful for
|
||||
characters after <Esc>, that is a security leak.
|
||||
- Add option setting to ask user if he wants to have the modelines executed
|
||||
- Add an option setting to ask the user if the modelines are to be executed
|
||||
or not. Same for .exrc in local dir.
|
||||
|
||||
|
||||
|
@ -161,7 +161,7 @@ line break.
|
||||
==============================================================================
|
||||
*04.3* Repeating a change
|
||||
|
||||
The "." command is one of the most simple yet powerful commands in Vim. It
|
||||
The "." command is one of the simplest yet powerful commands in Vim. It
|
||||
repeats the last change. For instance, suppose you are editing an HTML file
|
||||
and want to delete all the <B> tags. You position the cursor on the first <
|
||||
and delete the <B> with the command "df>". You then go to the < of the next
|
||||
|
@ -58,8 +58,8 @@ This initializes Vim for new users (as opposed to traditional Vi users). See
|
||||
|defaults.vim| for the details.
|
||||
|
||||
The vimrc file can contain all the commands that you type after a colon. The
|
||||
most simple ones are for setting options. For example, if you want Vim to
|
||||
always start with the 'incsearch' option on, add this line your vimrc file: >
|
||||
simplest ones are for setting options. For example, if you want Vim to always
|
||||
start with the 'incsearch' option on, add this line your vimrc file: >
|
||||
|
||||
set incsearch
|
||||
|
||||
|
@ -327,10 +327,10 @@ for next.
|
||||
==============================================================================
|
||||
*20.5* Command line window
|
||||
|
||||
Typing the text in the command line works different from typing text in Insert
|
||||
mode. It doesn't allow many commands to change the text. For most commands
|
||||
that's OK, but sometimes you have to type a complicated command. That's where
|
||||
the command line window is useful.
|
||||
Typing the text in the command line works differently from typing text in
|
||||
Insert mode. It doesn't allow many commands to change the text. For most
|
||||
commands that's OK, but sometimes you have to type a complicated command.
|
||||
That's where the command line window is useful.
|
||||
|
||||
Open the command line window with this command: >
|
||||
|
||||
|
@ -336,7 +336,7 @@ How to do that is explained here: |indent-expression|.
|
||||
==============================================================================
|
||||
*30.4* Other indenting
|
||||
|
||||
The most simple form of automatic indenting is with the 'autoindent' option.
|
||||
The simplest form of automatic indenting is with the 'autoindent' option.
|
||||
It uses the indent from the previous line. A bit smarter is the 'smartindent'
|
||||
option. This is useful for languages where no indent file is available.
|
||||
'smartindent' is not as smart as 'cindent', but smarter than 'autoindent'.
|
||||
|
@ -1,4 +1,4 @@
|
||||
*usr_31.txt* For Vim version 8.2. Last change: 2007 May 08
|
||||
*usr_31.txt* For Vim version 8.2. Last change: 2020 Jul 28
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@ -198,9 +198,9 @@ is not possible in most terminals.
|
||||
You can start the X-Windows version of gvim with an argument to specify the
|
||||
size and position of the window: >
|
||||
|
||||
gvim -geometry {width}x{height}+{x_offset}+{y_offset}
|
||||
gvim -geometry {width}x{height}+{x-offset}+{y-offset}
|
||||
|
||||
{width} and {height} are in characters, {x_offset} and {y_offset} are in
|
||||
{width} and {height} are in characters, {x-offset} and {y-offset} are in
|
||||
pixels. Example: >
|
||||
|
||||
gvim -geometry 80x25+100+300
|
||||
|
@ -1,4 +1,4 @@
|
||||
*usr_40.txt* For Vim version 8.2. Last change: 2013 Aug 05
|
||||
*usr_40.txt* For Vim version 8.2. Last change: 2020 Jul 28
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@ -453,12 +453,12 @@ matching BufWritePre autocommands and executes them, and then it
|
||||
performs the ":write".
|
||||
The general form of the :autocmd command is as follows: >
|
||||
|
||||
:autocmd [group] {events} {file_pattern} [nested] {command}
|
||||
:autocmd [group] {events} {file-pattern} [nested] {command}
|
||||
|
||||
The [group] name is optional. It is used in managing and calling the commands
|
||||
(more on this later). The {events} parameter is a list of events (comma
|
||||
separated) that trigger the command.
|
||||
{file_pattern} is a filename, usually with wildcards. For example, using
|
||||
{file-pattern} is a filename, usually with wildcards. For example, using
|
||||
"*.txt" makes the autocommand be used for all files whose name end in ".txt".
|
||||
The optional [nested] flag allows for nesting of autocommands (see below), and
|
||||
finally, {command} is the command to be executed.
|
||||
@ -489,7 +489,7 @@ See |autocmd-events| for a complete list of events.
|
||||
|
||||
PATTERNS
|
||||
|
||||
The {file_pattern} argument can actually be a comma-separated list of file
|
||||
The {file-pattern} argument can actually be a comma-separated list of file
|
||||
patterns. For example: "*.c,*.h" matches files ending in ".c" and ".h".
|
||||
The usual file wildcards can be used. Here is a summary of the most often
|
||||
used ones:
|
||||
|
@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 8.2. Last change: 2020 Jun 13
|
||||
*usr_41.txt* For Vim version 8.2. Last change: 2020 Aug 13
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@ -44,7 +44,7 @@ script file. You can think of other uses yourself.
|
||||
If you are familiar with Python, you can find a comparison between
|
||||
Python and Vim script here, with pointers to other documents:
|
||||
https://gist.github.com/yegappan/16d964a37ead0979b05e655aa036cad0
|
||||
And if you are familiar with Javascript:
|
||||
And if you are familiar with JavaScript:
|
||||
https://w0rp.com/blog/post/vim-script-for-the-javascripter/
|
||||
|
||||
Let's start with a simple example: >
|
||||
@ -2044,9 +2044,9 @@ for this mapping, but the user might already use it for something else. To
|
||||
allow the user to define which keys a mapping in a plugin uses, the <Leader>
|
||||
item can be used: >
|
||||
|
||||
22 map <unique> <Leader>a <Plug>TypecorrAdd
|
||||
22 map <unique> <Leader>a <Plug>TypecorrAdd;
|
||||
|
||||
The "<Plug>TypecorrAdd" thing will do the work, more about that further on.
|
||||
The "<Plug>TypecorrAdd;" thing will do the work, more about that further on.
|
||||
|
||||
The user can set the "mapleader" variable to the key sequence that he wants
|
||||
this mapping to start with. Thus if the user has done: >
|
||||
@ -2062,15 +2062,15 @@ already happened to exist. |:map-<unique>|
|
||||
But what if the user wants to define his own key sequence? We can allow that
|
||||
with this mechanism: >
|
||||
|
||||
21 if !hasmapto('<Plug>TypecorrAdd')
|
||||
22 map <unique> <Leader>a <Plug>TypecorrAdd
|
||||
21 if !hasmapto('<Plug>TypecorrAdd;')
|
||||
22 map <unique> <Leader>a <Plug>TypecorrAdd;
|
||||
23 endif
|
||||
|
||||
This checks if a mapping to "<Plug>TypecorrAdd" already exists, and only
|
||||
This checks if a mapping to "<Plug>TypecorrAdd/" already exists, and only
|
||||
defines the mapping from "<Leader>a" if it doesn't. The user then has a
|
||||
chance of putting this in his vimrc file: >
|
||||
|
||||
map ,c <Plug>TypecorrAdd
|
||||
map ,c <Plug>TypecorrAdd;
|
||||
|
||||
Then the mapped key sequence will be ",c" instead of "_a" or "\a".
|
||||
|
||||
@ -2100,15 +2100,15 @@ function (without the "s:"), which is again another function.
|
||||
<SID> can be used with mappings. It generates a script ID, which identifies
|
||||
the current script. In our typing correction plugin we use it like this: >
|
||||
|
||||
24 noremap <unique> <script> <Plug>TypecorrAdd <SID>Add
|
||||
24 noremap <unique> <script> <Plug>TypecorrAdd; <SID>Add
|
||||
..
|
||||
28 noremap <SID>Add :call <SID>Add(expand("<cword>"), 1)<CR>
|
||||
|
||||
Thus when a user types "\a", this sequence is invoked: >
|
||||
|
||||
\a -> <Plug>TypecorrAdd -> <SID>Add -> :call <SID>Add()
|
||||
\a -> <Plug>TypecorrAdd; -> <SID>Add -> :call <SID>Add()
|
||||
|
||||
If another script would also map <SID>Add, it would get another script ID and
|
||||
If another script also maps <SID>Add, it will get another script ID and
|
||||
thus define another mapping.
|
||||
|
||||
Note that instead of s:Add() we use <SID>Add() here. That is because the
|
||||
@ -2149,9 +2149,9 @@ difference between using <SID> and <Plug>:
|
||||
To make it very unlikely that other plugins use the same sequence of
|
||||
characters, use this structure: <Plug> scriptname mapname
|
||||
In our example the scriptname is "Typecorr" and the mapname is "Add".
|
||||
This results in "<Plug>TypecorrAdd". Only the first character of
|
||||
scriptname and mapname is uppercase, so that we can see where mapname
|
||||
starts.
|
||||
We add a semicolon as the terminator. This results in
|
||||
"<Plug>TypecorrAdd;". Only the first character of scriptname and
|
||||
mapname is uppercase, so that we can see where mapname starts.
|
||||
|
||||
<SID> is the script ID, a unique identifier for a script.
|
||||
Internally Vim translates <SID> to "<SNR>123_", where "123" can be any
|
||||
@ -2226,10 +2226,10 @@ Here is the resulting complete example: >
|
||||
18 \ synchronization
|
||||
19 let s:count = 4
|
||||
20
|
||||
21 if !hasmapto('<Plug>TypecorrAdd')
|
||||
22 map <unique> <Leader>a <Plug>TypecorrAdd
|
||||
21 if !hasmapto('<Plug>TypecorrAdd;')
|
||||
22 map <unique> <Leader>a <Plug>TypecorrAdd;
|
||||
23 endif
|
||||
24 noremap <unique> <script> <Plug>TypecorrAdd <SID>Add
|
||||
24 noremap <unique> <script> <Plug>TypecorrAdd; <SID>Add
|
||||
25
|
||||
26 noremenu <script> Plugin.Add\ Correction <SID>Add
|
||||
27
|
||||
@ -2279,7 +2279,7 @@ Here is a simple example for a plugin help file, called "typecorr.txt": >
|
||||
6 There are currently only a few corrections. Add your own if you like.
|
||||
7
|
||||
8 Mappings:
|
||||
9 <Leader>a or <Plug>TypecorrAdd
|
||||
9 <Leader>a or <Plug>TypecorrAdd;
|
||||
10 Add a correction for the word under the cursor.
|
||||
11
|
||||
12 Commands:
|
||||
@ -2417,13 +2417,13 @@ To make sure mappings will only work in the current buffer use the >
|
||||
command. This needs to be combined with the two-step mapping explained above.
|
||||
An example of how to define functionality in a filetype plugin: >
|
||||
|
||||
if !hasmapto('<Plug>JavaImport')
|
||||
map <buffer> <unique> <LocalLeader>i <Plug>JavaImport
|
||||
if !hasmapto('<Plug>JavaImport;')
|
||||
map <buffer> <unique> <LocalLeader>i <Plug>JavaImport;
|
||||
endif
|
||||
noremap <buffer> <unique> <Plug>JavaImport oimport ""<Left><Esc>
|
||||
noremap <buffer> <unique> <Plug>JavaImport; oimport ""<Left><Esc>
|
||||
|
||||
|hasmapto()| is used to check if the user has already defined a map to
|
||||
<Plug>JavaImport. If not, then the filetype plugin defines the default
|
||||
<Plug>JavaImport;. If not, then the filetype plugin defines the default
|
||||
mapping. This starts with |<LocalLeader>|, which allows the user to select
|
||||
the key(s) he wants filetype plugin mappings to start with. The default is a
|
||||
backslash.
|
||||
@ -2440,12 +2440,12 @@ plugin for the mail filetype: >
|
||||
" Add mappings, unless the user didn't want this.
|
||||
if !exists("no_plugin_maps") && !exists("no_mail_maps")
|
||||
" Quote text by inserting "> "
|
||||
if !hasmapto('<Plug>MailQuote')
|
||||
vmap <buffer> <LocalLeader>q <Plug>MailQuote
|
||||
nmap <buffer> <LocalLeader>q <Plug>MailQuote
|
||||
if !hasmapto('<Plug>MailQuote;')
|
||||
vmap <buffer> <LocalLeader>q <Plug>MailQuote;
|
||||
nmap <buffer> <LocalLeader>q <Plug>MailQuote;
|
||||
endif
|
||||
vnoremap <buffer> <Plug>MailQuote :s/^/> /<CR>
|
||||
nnoremap <buffer> <Plug>MailQuote :.,$s/^/> /<CR>
|
||||
vnoremap <buffer> <Plug>MailQuote; :s/^/> /<CR>
|
||||
nnoremap <buffer> <Plug>MailQuote; :.,$s/^/> /<CR>
|
||||
endif
|
||||
|
||||
Two global variables are used:
|
||||
|
@ -210,8 +210,8 @@ argument: >
|
||||
:amenu <silent> Mine.Next\ File :call <SID>NextFile()<CR>
|
||||
|
||||
Don't use "<silent>" too often. It is not needed for short commands. If you
|
||||
make a menu for someone else, being able the see the executed command will
|
||||
give him a hint about what he could have typed, instead of using the mouse.
|
||||
make a menu for someone else, being able to see the executed command will give
|
||||
him a hint about what he could have typed, instead of using the mouse.
|
||||
|
||||
|
||||
LISTING MENUS
|
||||
|
@ -34,7 +34,7 @@ That makes very clear what is defined where.
|
||||
Let's start with an example, a script that exports one function and has one
|
||||
private function: >
|
||||
|
||||
vim9script " This indicates a Vim9 script file,
|
||||
vim9script " This indicates a Vim9 script file.
|
||||
|
||||
export def GetMessage(): string
|
||||
let result = ''
|
||||
|
@ -333,7 +333,7 @@ Make Vim work as you like it.
|
||||
|44.11| Installing a syntax file
|
||||
|44.12| Portable syntax file layout
|
||||
|
||||
|usr_45.txt| Select your language
|
||||
|usr_45.txt| Select your language (locale)
|
||||
|45.1| Language for Messages
|
||||
|45.2| Language for Menus
|
||||
|45.3| Using another encoding
|
||||
|
@ -449,7 +449,7 @@ The help window is opened at the top, like ":topleft" was used, if the current
|
||||
window is fewer than 80 characters wide.
|
||||
|
||||
A few options can be used to set the preferences for vertically split windows.
|
||||
They work similar to their existing horizontal equivalents:
|
||||
They work similarly to their existing horizontal equivalents:
|
||||
horizontal vertical ~
|
||||
'splitbelow' 'splitright'
|
||||
'winheight' 'winwidth'
|
||||
@ -2690,9 +2690,9 @@ Multi-byte:
|
||||
wrong error number. (Muraoka Taro)
|
||||
- Using Alt-x in the GUI while 'encoding' was set to "utf-8" didn't produce
|
||||
the right character.
|
||||
- When using Visual block selection and only the left halve of a double-wide
|
||||
- When using Visual block selection and only the left half of a double-wide
|
||||
character is selected, the highlighting continued to the end of the line.
|
||||
- Visual-block delete didn't work properly when deleting the right halve of a
|
||||
- Visual-block delete didn't work properly when deleting the right half of a
|
||||
double-wide character.
|
||||
- Overstrike mode for the cmdline replaced only the first byte of a multibyte
|
||||
character.
|
||||
@ -2795,7 +2795,7 @@ GTK: Crash when 'shell' doesn't exist and doing":!ls". Use _exit() instead of
|
||||
exit() when the child couldn't execute the shell.
|
||||
|
||||
Multi-byte:
|
||||
- GUI with double-byte encoding: a mouse click in left halve of double-wide
|
||||
- GUI with double-byte encoding: a mouse click in left half of double-wide
|
||||
character put the cursor in previous char.
|
||||
- Using double-byte encoding and 'selection' is "exclusive": "vey" and "^Vey"
|
||||
included the character after the word.
|
||||
@ -3165,7 +3165,7 @@ the terminal it was started in.
|
||||
When using ESC in Insert mode, an autoindent that wraps to the next line
|
||||
caused the cursor to move to the end of the line temporarily. When the
|
||||
character before the cursor was a double-wide multi-byte character the cursor
|
||||
would be on the right halve, which causes problems with some terminals.
|
||||
would be on the right half, which causes problems with some terminals.
|
||||
|
||||
Didn't handle multi-byte characters correctly when expanding a file name.
|
||||
(Yasuhiro Matsumoto)
|
||||
@ -4356,7 +4356,7 @@ Files: src/normal.c
|
||||
|
||||
Patch 6.0.104
|
||||
Problem: Multi-byte: When '$' is in 'cpoptions', typing a double-wide
|
||||
character that overwrites the left halve of an old double-wide
|
||||
character that overwrites the left half of an old double-wide
|
||||
character causes a redraw problem and the cursor stops blinking.
|
||||
Solution: Clear the right half of the old character. (Yasuhiro Matsumoto)
|
||||
Files: src/edit.c, src/screen.c
|
||||
@ -5894,7 +5894,7 @@ Files: src/move.c
|
||||
|
||||
Patch 6.1b.023
|
||||
Problem: On MS-Windows system() may cause checking timestamps, because Vim
|
||||
loses and gains input focus, while this doesn't happen on Unix.
|
||||
looses and gains input focus, while this doesn't happen on Unix.
|
||||
Solution: Don't check timestamps while system() is busy.
|
||||
Files: src/ex_cmds2.c, src/fileio.c, src/globals.h, src/misc1.c
|
||||
|
||||
@ -7069,7 +7069,7 @@ Solution: Don't free the item on the stack. Use NULL instead of "none" for
|
||||
Files: src/gui_x11.c
|
||||
|
||||
Patch 6.1.096
|
||||
Problem: When erasing the right halve of a double-byte character, it may
|
||||
Problem: When erasing the right half of a double-byte character, it may
|
||||
cause further characters to be erased. (Yasuhiro Matsumoto)
|
||||
Solution: Make sure only one character is erased.
|
||||
Files: src/screen.c
|
||||
@ -8982,7 +8982,7 @@ Files: src/buffer.c
|
||||
|
||||
Patch 6.1.386
|
||||
Problem: Get duplicate tags when running ":helptags".
|
||||
Solution: Do the other halve of moving a section to another help file.
|
||||
Solution: Do the other half of moving a section to another help file.
|
||||
Files: runtime/tagsrch.txt
|
||||
|
||||
Patch 6.1.387 (depends on 6.1.373)
|
||||
|
@ -2762,7 +2762,7 @@ number following the file name.
|
||||
Added 'guitabtooltip'. Implemented for Win32 (Yegappan Lakshmanan).
|
||||
|
||||
Added "throw" to 'debug' option: throw an exception for error messages even
|
||||
whey they would otherwise be ignored.
|
||||
when they would otherwise be ignored.
|
||||
|
||||
When 'keymap' is set and a line contains an invalid entry could get a "No
|
||||
mapping found" warning instead of a proper error message.
|
||||
@ -3859,7 +3859,7 @@ Solution: Set ins_need_undo after using 'formatexpr'.
|
||||
Files: src/edit.c
|
||||
|
||||
Patch 7.0.127
|
||||
Problem: Crash when swap files has invalid timestamp.
|
||||
Problem: Crash when swap file has invalid timestamp.
|
||||
Solution: Check return value of ctime() for being NULL.
|
||||
Files: src/memline.c
|
||||
|
||||
@ -6757,9 +6757,9 @@ Solution: Use separate buffer for posix path. (Ben Schmidt)
|
||||
Files: src/os_unix.c
|
||||
|
||||
Patch 7.1.329
|
||||
Problem: When the popup menu is removed a column of cells, the right halve
|
||||
Problem: When the popup menu is removed a column of cells, the right half
|
||||
of double-wide characters, may not be redrawn.
|
||||
Solution: Check if the right halve of a character needs to be redrawn.
|
||||
Solution: Check if the right half of a character needs to be redrawn.
|
||||
(Yukihiro Nakadaira)
|
||||
Files: src/screen.c
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
*vim9.txt* For Vim version 8.2. Last change: 2020 Jul 25
|
||||
*vim9.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -14,7 +14,7 @@ features in Vim9 script.
|
||||
THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
|
||||
|
||||
|
||||
1 What is Vim9 script? |vim9-script|
|
||||
1. What is Vim9 script? |vim9-script|
|
||||
2. Differences |vim9-differences|
|
||||
3. New style functions |fast-functions|
|
||||
4. Types |vim9-types|
|
||||
@ -70,10 +70,10 @@ comments start with #. >
|
||||
let count = 0 # number of occurrences
|
||||
|
||||
The reason is that a double quote can also be the start of a string. In many
|
||||
places, especially halfway an expression with a line break, it's hard to tell
|
||||
what the meaning is, since both a string and a comment can be followed by
|
||||
arbitrary text. To avoid confusion only # comments are recognized. This is
|
||||
the same as in shell scripts and Python programs.
|
||||
places, especially halfway through an expression with a line break, it's hard
|
||||
to tell what the meaning is, since both a string and a comment can be followed
|
||||
by arbitrary text. To avoid confusion only # comments are recognized. This
|
||||
is the same as in shell scripts and Python programs.
|
||||
|
||||
In Vi # is a command to list text with numbers. In Vim9 script you can use
|
||||
`:number` for that. >
|
||||
@ -104,11 +104,11 @@ The argument types and return type need to be specified. The "any" type can
|
||||
be used, type checking will then be done at runtime, like with legacy
|
||||
functions.
|
||||
|
||||
Arguments are accessed by name, without "a:". There is no "a:" dictionary or
|
||||
"a:000" list. Just like any other language.
|
||||
Arguments are accessed by name, without "a:", just like any other language.
|
||||
There is no "a:" dictionary or "a:000" list.
|
||||
|
||||
Variable arguments are defined as the last argument, with a name and have a
|
||||
list type, similar to Typescript. For example, a list of numbers: >
|
||||
list type, similar to TypeScript. For example, a list of numbers: >
|
||||
def MyFunc(...itemlist: list<number>)
|
||||
for item in itemlist
|
||||
...
|
||||
@ -119,11 +119,12 @@ Functions and variables are script-local by default ~
|
||||
When using `:function` or `:def` to specify a new function at the script level
|
||||
in a Vim9 script, the function is local to the script, as if "s:" was
|
||||
prefixed. Using the "s:" prefix is optional. To define or use a global
|
||||
function or variable the "g:" prefix must be used. For functions in an
|
||||
function or variable the "g:" prefix should be used. For functions in an
|
||||
autoload script the "name#" prefix is sufficient. >
|
||||
def ThisFunction() # script-local
|
||||
def s:ThisFunction() # script-local
|
||||
def g:ThatFunction() # global
|
||||
def ThatFunction() # global if no local ThatFunction()
|
||||
def scriptname#function() # autoload
|
||||
|
||||
When using `:function` or `:def` to specify a new function inside a function,
|
||||
@ -132,18 +133,16 @@ script-local function inside a function. It is possible to define a global
|
||||
function, using the "g:" prefix.
|
||||
|
||||
When referring to a function and no "s:" or "g:" prefix is used, Vim will
|
||||
search for the function in this order:
|
||||
- Local to the current scope and outer scopes up to the function scope.
|
||||
- Local to the current script file.
|
||||
- Imported functions, see `:import`.
|
||||
prefer using a local function (in the function scope, script scope or
|
||||
imported) before looking for a global function.
|
||||
In all cases the function must be defined before used. That is when it is
|
||||
first called or when `:defcompile` causes the call to be compiled.
|
||||
|
||||
The result is that functions and variables without a namespace can always be
|
||||
The result is that functions and variables without a namespace can usually be
|
||||
found in the script, either defined there or imported. Global functions and
|
||||
variables could be defined anywhere (good luck finding where!).
|
||||
variables could be defined anywhere (good luck finding out where!).
|
||||
|
||||
Global functions can be still be defined and deleted at nearly any time. In
|
||||
Global functions can still be defined and deleted at nearly any time. In
|
||||
Vim9 script script-local functions are defined once when the script is sourced
|
||||
and cannot be deleted or replaced.
|
||||
|
||||
@ -193,7 +192,8 @@ declaration. Global, window, tab, buffer and Vim variables can only be used
|
||||
without `:let`, because they are not really declared, they can also be deleted
|
||||
with `:unlet`.
|
||||
|
||||
Variables cannot shadow previously defined variables.
|
||||
Variables and functions cannot shadow previously defined or imported variables
|
||||
and functions.
|
||||
Variables may shadow Ex commands, rename the variable if needed.
|
||||
|
||||
Global variables and user defined functions must be prefixed with "g:", also
|
||||
@ -232,16 +232,16 @@ identifier or can't be an Ex command. Examples: >
|
||||
'foobar'->Process()
|
||||
('foobar')->Process()
|
||||
|
||||
In rare case there is ambiguity between a function name and an Ex command, use
|
||||
":" to make clear you want to use the Ex command. For example, there is both
|
||||
the `:substitute` command and the `substitute()` function. When the line
|
||||
starts with `substitute(` this will use the function. Prepend a colon to use
|
||||
the command instead: >
|
||||
In the rare case there is ambiguity between a function name and an Ex command,
|
||||
prepend ":" to make clear you want to use the Ex command. For example, there
|
||||
is both the `:substitute` command and the `substitute()` function. When the
|
||||
line starts with `substitute(` this will use the function. Prepend a colon to
|
||||
use the command instead: >
|
||||
:substitute(pattern (replacement (
|
||||
|
||||
Note that while variables need to be defined before they can be used,
|
||||
functions can be called before being defined. This is required to be able
|
||||
have cyclic dependencies between functions. It is slightly less efficient,
|
||||
functions can be called before being defined. This is required to allow
|
||||
for cyclic dependencies between functions. It is slightly less efficient,
|
||||
since the function has to be looked up by name. And a typo in the function
|
||||
name will only be found when the function is called.
|
||||
|
||||
@ -261,8 +261,8 @@ number of arguments and any return type. The function can be defined later.
|
||||
Automatic line continuation ~
|
||||
|
||||
In many cases it is obvious that an expression continues on the next line. In
|
||||
those cases there is no need to prefix the line with a backslash. For
|
||||
example, when a list spans multiple lines: >
|
||||
those cases there is no need to prefix the line with a backslash
|
||||
|line-continuation|. For example, when a list spans multiple lines: >
|
||||
let mylist = [
|
||||
'one',
|
||||
'two',
|
||||
@ -394,7 +394,7 @@ White space is not allowed:
|
||||
|
||||
Conditions and expressions ~
|
||||
|
||||
Conditions and expression are mostly working like they do in JavaScript. A
|
||||
Conditions and expressions are mostly working like they do in JavaScript. A
|
||||
difference is made where JavaScript does not work like most people expect.
|
||||
Specifically, an empty list is falsey.
|
||||
|
||||
@ -426,13 +426,22 @@ The boolean operators "||" and "&&" do not change the value: >
|
||||
2 && 0 == 0
|
||||
[] && 2 == []
|
||||
|
||||
When using `..` for string concatenation the arguments are always converted to
|
||||
string. >
|
||||
When using `..` for string concatenation arguments of simple types are always
|
||||
converted to string. >
|
||||
'hello ' .. 123 == 'hello 123'
|
||||
'hello ' .. v:true == 'hello true'
|
||||
'hello ' .. v:true == 'hello v:true'
|
||||
|
||||
Simple types are string, float, special and bool. For other types |string()|
|
||||
can be used.
|
||||
|
||||
In Vim9 script one can use "true" for v:true and "false" for v:false.
|
||||
|
||||
Indexing a string with [idx] or [idx, idx] uses character indexes instead of
|
||||
byte indexes. Example: >
|
||||
echo 'bár'[1]
|
||||
In legacy script this results in the character 0xc3 (an illegal byte), in Vim9
|
||||
script this results in the string 'á'.
|
||||
|
||||
|
||||
What to watch out for ~
|
||||
*vim9-gotchas*
|
||||
@ -452,6 +461,11 @@ Ex command ranges need to be prefixed with a colon. >
|
||||
'text'->func() " Vim9: method call
|
||||
:'t " legacy Vim: jump to mark m
|
||||
|
||||
Some Ex commands can be confused with assignments in Vim9 script: >
|
||||
g:name = value # assignment
|
||||
g:pattern:cmd # invalid command - ERROR
|
||||
:g:pattern:cmd # :global command
|
||||
|
||||
Functions defined with `:def` compile the whole function. Legacy functions
|
||||
can bail out, and the following lines are not parsed: >
|
||||
func Maybe()
|
||||
@ -486,7 +500,7 @@ For a workaround, split it in two functions: >
|
||||
THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
|
||||
|
||||
*:def*
|
||||
:def[!] {name}([arguments])[: {return-type}
|
||||
:def[!] {name}([arguments])[: {return-type}]
|
||||
Define a new function by the name {name}. The body of
|
||||
the function follows in the next lines, until the
|
||||
matching `:enddef`.
|
||||
@ -614,6 +628,8 @@ called in the same way the declaration is the same.
|
||||
|
||||
Custom types can be defined with `:type`: >
|
||||
:type MyList list<string>
|
||||
Custom types must start with a capital letter, to avoid name clashes with
|
||||
builtin types added later, similarly to user functions.
|
||||
{not implemented yet}
|
||||
|
||||
And classes and interfaces can be used as types: >
|
||||
@ -633,6 +649,35 @@ And classes and interfaces can be used as types: >
|
||||
{not implemented yet}
|
||||
|
||||
|
||||
Variable types and type casting *variable-types*
|
||||
|
||||
Variables declared in Vim9 script or in a `:def` function have a type, either
|
||||
specified explicitly or inferred from the initialization.
|
||||
|
||||
Global, buffer, window and tab page variables do not have a specific type, the
|
||||
value can be changed at any time, possibly changing the type. Therefore, in
|
||||
compiled code the "any" type is assumed.
|
||||
|
||||
This can be a problem when the "any" type is undesired and the actual type is
|
||||
expected to always be the same. For example, when declaring a list: >
|
||||
let l: list<number> = [1, g:two]
|
||||
This will give an error, because "g:two" has type "any". To avoid this, use a
|
||||
type cast: >
|
||||
let l: list<number> = [1, <number>g:two]
|
||||
< *type-casting*
|
||||
The compiled code will then check that "g:two" is a number at runtime and give
|
||||
an error if it isn't. This is called type casting.
|
||||
|
||||
The syntax of a type cast is: "<" {type} ">". There cannot be white space
|
||||
after the "<" or before the ">" (to avoid them being confused with
|
||||
smaller-than and bigger-than operators).
|
||||
|
||||
The semantics is that, if needed, a runtime type check is performed. The
|
||||
value is not actually changed. If you need to change the type, e.g. to change
|
||||
it to a string, use the |string()| function. Or use |str2nr()| to convert a
|
||||
string to a number.
|
||||
|
||||
|
||||
Type inference *type-inference*
|
||||
|
||||
In general: Whenever the type is clear it can be omitted. For example, when
|
||||
@ -640,6 +685,12 @@ declaring a variable and giving it a value: >
|
||||
let var = 0 " infers number type
|
||||
let var = 'hello' " infers string type
|
||||
|
||||
The type of a list and dictionary comes from the common type of the values.
|
||||
If the values all have the same type, that type is used for the list or
|
||||
dictionary. If there is a mix of types, the "any" type is used. >
|
||||
[1, 2, 3] list<number>
|
||||
['a', 'b', 'c'] list<string>
|
||||
[1, 'x', 3] list<any>
|
||||
|
||||
==============================================================================
|
||||
|
||||
@ -744,7 +795,7 @@ actually needed. A recommended mechanism:
|
||||
|
||||
< This goes in .../plugin/anyname.vim. "anyname.vim" can be freely chosen.
|
||||
|
||||
2. In the autocommand script do the actual work. You can import items from
|
||||
2. In the autoload script do the actual work. You can import items from
|
||||
other files to split up functionality in appropriate pieces. >
|
||||
vim9script
|
||||
import FilterFunc from "../import/someother.vim"
|
||||
@ -763,6 +814,9 @@ actually needed. A recommended mechanism:
|
||||
...
|
||||
< This goes in .../import/someother.vim.
|
||||
|
||||
When compiling a `:def` function and a function in an autoload script is
|
||||
encountered, the script is not loaded until the `:def` function is called.
|
||||
|
||||
|
||||
Import in legacy Vim script ~
|
||||
|
||||
@ -776,7 +830,7 @@ namespace will be used for the imported item, even when "s:" is not specified.
|
||||
|
||||
The :def command ~
|
||||
|
||||
Plugin writers have asked for a much faster Vim script. Investigation have
|
||||
Plugin writers have asked for a much faster Vim script. Investigations have
|
||||
shown that keeping the existing semantics of function calls make this close to
|
||||
impossible, because of the overhead involved with calling a function, setting
|
||||
up the local function scope and executing lines. There are many details that
|
||||
@ -806,7 +860,7 @@ an "add number" instruction can be used, which is faster. The error can be
|
||||
given at compile time, no error handling is needed at runtime.
|
||||
|
||||
The syntax for types is similar to Java, since it is easy to understand and
|
||||
widely used. The type names are what was used in Vim before, with some
|
||||
widely used. The type names are what were used in Vim before, with some
|
||||
additions such as "void" and "bool".
|
||||
|
||||
|
||||
@ -857,7 +911,7 @@ are doing. Some details are unexpected and can be fixed. For example how the
|
||||
...
|
||||
return result || 0 " returns 1
|
||||
|
||||
Vim9 script works like JavaScript/Typescript, keep the value: >
|
||||
Vim9 script works like JavaScript/TypeScript, keep the value: >
|
||||
let result = 44
|
||||
...
|
||||
return result || 0 " returns 44
|
||||
@ -874,7 +928,7 @@ A problem of legacy Vim script is that by default all functions and variables
|
||||
are global. It is possible to make them script-local, but then they are not
|
||||
available in other scripts.
|
||||
|
||||
In Vim9 script a mechanism very similar to the Javascript import and export
|
||||
In Vim9 script a mechanism very similar to the JavaScript import and export
|
||||
mechanism is supported. It is a variant to the existing `:source` command
|
||||
that works like one would expect:
|
||||
- Instead of making everything global by default, everything is script-local,
|
||||
|
@ -125,7 +125,7 @@ gN Like |gn| but searches backward, like with `N`.
|
||||
|
||||
*<LeftMouse>*
|
||||
<LeftMouse> Set the current cursor position. If Visual mode is
|
||||
active it is stopped. Only when 'mouse' option is
|
||||
active it is stopped. Only when 'mouse' option
|
||||
contains 'n' or 'a'. If the position is within 'so'
|
||||
lines from the last line on the screen the text is
|
||||
scrolled up. If the position is within 'so' lines from
|
||||
@ -136,7 +136,7 @@ gN Like |gn| but searches backward, like with `N`.
|
||||
<RightMouse> Start Visual mode if it is not active. The text from
|
||||
the cursor position to the position of the click is
|
||||
highlighted. If Visual mode was already active move
|
||||
the start or end of the highlighted text, which ever
|
||||
the start or end of the highlighted text, whichever
|
||||
is closest, to the position of the click. Only when
|
||||
'mouse' option contains 'n' or 'a'.
|
||||
|
||||
@ -236,7 +236,7 @@ The objects that can be used are:
|
||||
is inner sentence |v_is|
|
||||
ap a paragraph (with white space) |v_ap|
|
||||
ip inner paragraph |v_ip|
|
||||
ab a () block (with parenthesis) |v_ab|
|
||||
ab a () block (with parentheses) |v_ab|
|
||||
ib inner () block |v_ib|
|
||||
aB a {} block (with braces) |v_aB|
|
||||
iB inner {} block |v_iB|
|
||||
@ -347,7 +347,7 @@ Visual-block Shift *v_b_>*
|
||||
The block is shifted by 'shiftwidth'. The RHS of the block is irrelevant. The
|
||||
LHS of the block determines the point from which to apply a right shift, and
|
||||
padding includes TABs optimally according to 'ts' and 'et'. The LHS of the
|
||||
block determines the point upto which to shift left.
|
||||
block determines the point up to which to shift left.
|
||||
See |v_b_>_example|.
|
||||
See |v_b_<_example|.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*windows.txt* For Vim version 8.2. Last change: 2020 May 10
|
||||
*windows.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -1112,7 +1112,9 @@ list of buffers. |unlisted-buffer|
|
||||
<
|
||||
*:bad* *:badd*
|
||||
:bad[d] [+lnum] {fname}
|
||||
Add file name {fname} to the buffer list, without loading it.
|
||||
Add file name {fname} to the buffer list, without loading it,
|
||||
if it wasn't listed yet. If the buffer was previously
|
||||
deleted, not wiped, it will be made listed again.
|
||||
If "lnum" is specified, the cursor will be positioned at that
|
||||
line when the buffer is first entered. Note that other
|
||||
commands after the + will be ignored.
|
||||
|
@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2020 Jun 25
|
||||
" Last Change: 2020 Aug 04
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@ -184,7 +184,7 @@ au BufNewFile,BufRead *.at setf m4
|
||||
au BufNewFile,BufRead *.ave setf ave
|
||||
|
||||
" Awk
|
||||
au BufNewFile,BufRead *.awk setf awk
|
||||
au BufNewFile,BufRead *.awk,*.gawk setf awk
|
||||
|
||||
" B
|
||||
au BufNewFile,BufRead *.mch,*.ref,*.imp setf b
|
||||
@ -1093,6 +1093,9 @@ au BufNewFile,BufRead .netrc setf netrc
|
||||
" Ninja file
|
||||
au BufNewFile,BufRead *.ninja setf ninja
|
||||
|
||||
" NPM RC file
|
||||
au BufNewFile,BufRead npmrc,.npmrc setf dosini
|
||||
|
||||
" Novell netware batch files
|
||||
au BufNewFile,BufRead *.ncf setf ncf
|
||||
|
||||
@ -1199,6 +1202,9 @@ au BufNewFile,BufRead *.pod6 setf pod6
|
||||
" Also .ctp for Cake template file
|
||||
au BufNewFile,BufRead *.php,*.php\d,*.phtml,*.ctp setf php
|
||||
|
||||
" PHP config
|
||||
au BufNewFile,BufRead php.ini,php.ini-* setf dosini
|
||||
|
||||
" Pike and Cmod
|
||||
au BufNewFile,BufRead *.pike,*.pmod setf pike
|
||||
au BufNewFile,BufRead *.cmod setf cmod
|
||||
|
@ -2,7 +2,7 @@
|
||||
" Language: cobol
|
||||
" Maintainer: Ankit Jain <ajatkj@yahoo.co.in>
|
||||
" (formerly Tim Pope <vimNOSPAM@tpope.info>)
|
||||
" Last Update: By Ankit Jain (changed maintainer) on 22.03.2019
|
||||
" Last Update: By Ankit Jain (add gtk support) on 15.08.2020
|
||||
|
||||
" Insert mode mappings: <C-T> <C-D> <Tab>
|
||||
" Normal mode mappings: < > << >> [[ ]] [] ][
|
||||
@ -37,7 +37,8 @@ if exists("loaded_matchit")
|
||||
\ '-\@<!\<\%(delete\|rewrite\|start\|write\|read\)\>\%(.*\(\%$\|\%(\n\%(\%(\s*\|.\{6\}\)[*/].*\n\)*\)\=\s*\%(invalid\s\+key\|at\s\+end\|no\s\+data\|at\s\+end-of-page\)\>\)\)\@=:\%(\<not\s\+\)\@<!\<\%(not\s\+\)\=\%(invalid\s\+key\|at\s\+end\|no\s\+data\|at\s\+end-of-page\)\>:\<end-\%(delete\|rewrite\|start\|write\|read\)\>' .s:ordot
|
||||
endif
|
||||
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
" add gtk support
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter = "COBOL Source Files (*.cbl, *.cob)\t*.cbl;*.cob;*.lib\n".
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
@ -1,7 +1,8 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: CSS
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
" Language: CSS
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
|
39
runtime/ftplugin/typescript.vim
Normal file
39
runtime/ftplugin/typescript.vim
Normal file
@ -0,0 +1,39 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: TypeScript
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Aug 30
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
" Set 'formatoptions' to break comment lines but not other lines,
|
||||
" and insert the comment leader when hitting <CR> or using "o".
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
" Set 'comments' to format dashed lists in comments.
|
||||
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
|
||||
|
||||
setlocal commentstring=//%s
|
||||
|
||||
setlocal suffixesadd+=.ts,.d.ts,.tsx,.js,.jsx,.cjs,.mjs
|
||||
|
||||
" Change the :browse e filter to primarily show TypeScript-related files.
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter="TypeScript Files (*.ts)\t*.ts\n" .
|
||||
\ "TypeScript Declaration Files (*.d.ts)\t*.d.ts\n" .
|
||||
\ "TSX Files (*.tsx)\t*.tsx\n" .
|
||||
\ "JavaScript Files (*.js)\t*.js\n" .
|
||||
\ "JavaScript Modules (*.es, *.cjs, *.mjs)\t*.es;*.cjs;*.mjs\n" .
|
||||
\ "JSON Files (*.json)\t*.json\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setl fo< com< cms< sua< | unlet! b:browsefilter"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
33
runtime/ftplugin/typescriptreact.vim
Normal file
33
runtime/ftplugin/typescriptreact.vim
Normal file
@ -0,0 +1,33 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: TypeScript React
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2020 Aug 09
|
||||
|
||||
let s:match_words = ""
|
||||
let s:undo_ftplugin = ""
|
||||
|
||||
runtime! ftplugin/typescript.vim
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
if exists("b:match_words")
|
||||
let s:match_words = b:match_words
|
||||
endif
|
||||
if exists("b:undo_ftplugin")
|
||||
let s:undo_ftplugin = b:undo_ftplugin
|
||||
endif
|
||||
|
||||
" Matchit configuration
|
||||
if exists("loaded_matchit")
|
||||
let b:match_ignorecase = 0
|
||||
let b:match_words = s:match_words .
|
||||
\ '<:>,' .
|
||||
\ '<\@<=\([^ \t>/]\+\)\%(\s\+[^>]*\%([^/]>\|$\)\|>\|$\):<\@<=/\1>,' .
|
||||
\ '<\@<=\%([^ \t>/]\+\)\%(\s\+[^/>]*\|$\):/>'
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "unlet! b:match_words b:match_ignorecase | " . s:undo_ftplugin
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Vim
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2020 Jul 26
|
||||
" Last Change: 2020 Aug 14
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@ -49,7 +49,8 @@ setlocal isk+=#
|
||||
setlocal keywordprg=:help
|
||||
|
||||
" Set 'comments' to format dashed lists in comments
|
||||
setlocal com=sO:\"\ -,mO:\"\ \ ,sO:#\ -,mO:#\ \ ,eO:##,:\",:#
|
||||
" Avoid that #{} starts a comment.
|
||||
setlocal com=sO:\"\ -,mO:\"\ \ ,sO:#\ -,mO:#\ \ ,eO:##,:\",b:#
|
||||
|
||||
" Format comments to be up to 78 characters long
|
||||
if &tw == 0
|
||||
@ -83,7 +84,7 @@ endif
|
||||
if exists("loaded_matchit")
|
||||
let b:match_ignorecase = 0
|
||||
let b:match_words =
|
||||
\ '\<\%(fu\%[nction]\|def\)\>[^(]:\<retu\%[rn]\>:\<\%(endf\%[unction]\|enddef\)\>,' .
|
||||
\ '\<\%(fu\%[nction]\|def\)\>)\@!:\<retu\%[rn]\>:\<\%(endf\%[unction]\|enddef\)\>,' .
|
||||
\ '\<\(wh\%[ile]\|for\)\>:\<brea\%[k]\>:\<con\%[tinue]\>:\<end\(w\%[hile]\|fo\%[r]\)\>,' .
|
||||
\ '\<if\>:\<el\%[seif]\>:\<en\%[dif]\>,' .
|
||||
\ '{:},' .
|
||||
|
114
runtime/keymap/turkish-f.vim
Normal file
114
runtime/keymap/turkish-f.vim
Normal file
@ -0,0 +1,114 @@
|
||||
" Vim keymap file for Turkish F layout
|
||||
" Maintainer: Emir SARI <bitigchi@me.com>
|
||||
" Last changed: 5 August 2020
|
||||
|
||||
scriptencoding utf-8
|
||||
let b:keymap_name = "tr-f"
|
||||
loadkeymap
|
||||
|
||||
F A LATIN CAPITAL LETTER A
|
||||
< B LATIN CAPITAL LETTER B
|
||||
V C LATIN CAPITAL LETTER C
|
||||
B Ç LATIN CAPITAL LETTER C WITH CEDILLA
|
||||
Y D LATIN CAPITAL LETTER D
|
||||
D E LATIN CAPITAL LETTER E
|
||||
Q F LATIN CAPITAL LETTER F
|
||||
W G LATIN CAPITAL LETTER G
|
||||
E Ğ LATIN CAPITAL LETTER G WITH BREVE
|
||||
O H LATIN CAPITAL LETTER H
|
||||
R I LATIN CAPITAL LETTER I
|
||||
S İ LATIN CAPITAL LETTER I WITH DOT ABOVE
|
||||
Z J LATIN CAPITAL LETTER J
|
||||
J K LATIN CAPITAL LETTER K
|
||||
K M LATIN CAPITAL LETTER M
|
||||
I N LATIN CAPITAL LETTER N
|
||||
T O LATIN CAPITAL LETTER O
|
||||
X Ö LATIN CAPITAL LETTER O WITH DIAERESIS
|
||||
U R LATIN CAPITAL LETTER R
|
||||
M S LATIN CAPITAL LETTER S
|
||||
\" Ş LATIN CAPITAL LETTER S WITH CEDILLA
|
||||
H T LATIN CAPITAL LETTER T
|
||||
A U LATIN CAPITAL LETTER U
|
||||
G Ü LATIN CAPITAL LETTER U WITH DIAERESIS
|
||||
C V LATIN CAPITAL LETTER V
|
||||
: Y LATIN CAPITAL LETTER Y
|
||||
N Z LATIN CAPITAL LETTER Z
|
||||
|
||||
{ Q LATIN CAPITAL LETTER Q
|
||||
} W LATIN CAPITAL LETTER W
|
||||
| X LATIN CAPITAL LETTER X
|
||||
|
||||
± * ASTERISK
|
||||
@ " QUOTATION MARK
|
||||
# ^ CIRCUMFLEX ACCENT
|
||||
^ & AMPERSAND
|
||||
& ' APOSTROPHE
|
||||
* ( LEFT PARENTHESIS
|
||||
( ) RIGHT PARENTHESIS
|
||||
) = EQUALS SIGN
|
||||
_ ? QUESTION MARK
|
||||
+ _ LOW LINE
|
||||
> : COLON
|
||||
? ; SEMICOLON
|
||||
~ > GREATER-THAN SIGN
|
||||
|
||||
Å Û LATIN CAPITAL LETTER U WITH CIRCUMFLEX
|
||||
Í Î LATIN CAPITAL LETTER I WITH CIRCUMFLEX
|
||||
Ï Â LATIN CAPITAL LETTER A WITH CIRCUMFLEX
|
||||
` » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
|
||||
f a LATIN SMALL LETTER A
|
||||
, b LATIN SMALL LETTER B
|
||||
v c LATIN SMALL LETTER C
|
||||
b ç LATIN SMALL LETTER C WITH CEDILLA
|
||||
y d LATIN SMALL LETTER D
|
||||
d e LATIN SMALL LETTER E
|
||||
q f LATIN SMALL LETTER F
|
||||
w g LATIN SMALL LETTER G
|
||||
e ğ LATIN SMALL LETTER G WITH BREVE
|
||||
o h LATIN SMALL LETTER H
|
||||
r ı LATIN SMALL LETTER I
|
||||
s i LATIN SMALL LETTER I WITH DOT ABOVE
|
||||
z j LATIN SMALL LETTER J
|
||||
j k LATIN SMALL LETTER K
|
||||
k m LATIN SMALL LETTER M
|
||||
i n LATIN SMALL LETTER N
|
||||
t o LATIN SMALL LETTER O
|
||||
x ö LATIN SMALL LETTER O WITH DIAERESIS
|
||||
u r LATIN SMALL LETTER R
|
||||
m s LATIN SMALL LETTER S
|
||||
\' ş LATIN SMALL LETTER S WITH CEDILLA
|
||||
h t LATIN SMALL LETTER T
|
||||
a u LATIN SMALL LETTER U
|
||||
g ü LATIN SMALL LETTER U WITH DIAERESIS
|
||||
c v LATIN SMALL LETTER V
|
||||
; y LATIN SMALL LETTER Y
|
||||
n z LATIN SMALL LETTER Z
|
||||
|
||||
[ q LATIN SMALL LETTER Q
|
||||
] w LATIN SMALL LETTER W
|
||||
\\ x LATIN SMALL LETTER X
|
||||
|
||||
§ + PLUS SIGN
|
||||
- / SOLIDUS
|
||||
= - HYPHEN-MINUS
|
||||
/ , COMMA
|
||||
` < LESS-THAN SIGN
|
||||
|
||||
£ # NUMBER SIGN
|
||||
¶ { LEFT CURLY BRACKET
|
||||
• [ LEFT SQUARE BRACKET
|
||||
ª ] RIGHT SQUARE BRACKET
|
||||
º } RIGHT CURLY BRACKET
|
||||
– \ REVERSE SOLIDUS
|
||||
≠ | VERTICAL LINE
|
||||
œ @ COMMERCIAL AT
|
||||
‘ ~ TILDE
|
||||
å û LATIN SMALL LETTER U WITH CIRCUMFLEX
|
||||
ß î LATIN SMALL LETTER I WITH CIRCUMFLEX
|
||||
∂ € EURO SIGN
|
||||
ƒ â LATIN SMALL LETTER A WITH CIRCUMFLEX
|
||||
˙ ₺ TURKISH LIRA SIGN
|
||||
¬ £ POUND SIGN
|
||||
… ¥ YEN SIGN
|
||||
` « LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
|
62
runtime/keymap/turkish-q.vim
Normal file
62
runtime/keymap/turkish-q.vim
Normal file
@ -0,0 +1,62 @@
|
||||
" Vim keymap file for Turkish Q layout
|
||||
" Maintainer: Emir SARI <bitigchi@me.com>
|
||||
" Last changed: 5 August 2020
|
||||
|
||||
scriptencoding utf-8
|
||||
let b:keymap_name = "tr-q"
|
||||
loadkeymap
|
||||
|
||||
\> Ç LATIN CAPITAL LETTER C WITH CEDILLA
|
||||
\{ Ğ LATIN CAPITAL LETTER G WITH BREVE
|
||||
\" İ LATIN CAPITAL LETTER I WITH DOT ABOVE
|
||||
\< Ö LATIN CAPITAL LETTER O WITH DIAERESIS
|
||||
\: Ş LATIN CAPITAL LETTER S WITH CEDILLA
|
||||
\} Ü LATIN CAPITAL LETTER U WITH DIAERESIS
|
||||
|
||||
± é LATIN SMALL LETTER E WITH ACUTE
|
||||
@ ' APOSTROPHE
|
||||
# ^ CIRCUMFLEX ACCENT
|
||||
$ + PLUS SIGN
|
||||
^ & AMPERSAND
|
||||
& / SOLIDUS
|
||||
* ( LEFT PARENTHESIS
|
||||
( ) RIGHT PARENTHESIS
|
||||
) = EQUAL SIGN
|
||||
_ ? QUESTION MARK
|
||||
+ _ LOW LINE
|
||||
~ > GREATER-THAN SIGN
|
||||
| ; SEMICOLON
|
||||
? : COLON
|
||||
|
||||
\. ç LATIN SMALL LETTER C WITH CEDILLA
|
||||
\[ ğ LATIN SMALL LETTER G WITH BREVE
|
||||
\' i LATIN SMALL LETTER I
|
||||
\, ö LATIN SMALL LETTER O WITH DIAERESIS
|
||||
\; ş LATIN SMALL LETTER S WITH CEDILLA
|
||||
\] ü LATIN SMALL LETTER U WITH DIAERESIS
|
||||
i ı LATIN SMALL LETTER DOTLESS I
|
||||
|
||||
§ " QUOTATION MARK
|
||||
- * ASTERISK
|
||||
= - HYPHEN-MINUS
|
||||
\\ , COMMA
|
||||
\/ . FULL STOP
|
||||
` < LESS-THAN SIGN
|
||||
|
||||
™ £ POUND SIGN
|
||||
£ # NUMBER SIGN
|
||||
¢ $ DOLLAR SIGN
|
||||
∞ ½ VULGAR FRACTION ONE HALF
|
||||
¶ { LEFT CURLY BRACKET
|
||||
• [ LEFT SQUARE BRACKET
|
||||
ª ] RIGHT SQUARE BRACKET
|
||||
º } RIGHT CURLY BRACKET
|
||||
– \ REVERSE SOLIDUS
|
||||
≠ | VERTICAL LINE
|
||||
œ @ COMMERCIAL AT
|
||||
´ € EURO SIGN
|
||||
† ₺ TURKISH LIRA SIGN
|
||||
¥ ¥ YEN SIGN
|
||||
‘ ~ TILDE
|
||||
… ´ ACUTE ACCENT
|
||||
« ` GRAVE ACCENT
|
@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types in scripts
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last change: 2020 Jun 07
|
||||
" Last change: 2020 Aug 15
|
||||
|
||||
" This file is called by an autocommand for every file that has just been
|
||||
" loaded into a buffer. It checks if the type of file can be recognized by
|
||||
@ -150,7 +150,7 @@ if s:line1 =~# "^#!"
|
||||
elseif s:name =~# 'ocaml'
|
||||
set ft=ocaml
|
||||
|
||||
" Awk scripts
|
||||
" Awk scripts; also finds "gawk"
|
||||
elseif s:name =~# 'awk\>'
|
||||
set ft=awk
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: C
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2019 Nov 29
|
||||
" Last Change: 2020 Aug 11
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@ -272,7 +272,8 @@ if exists("c_gnu")
|
||||
syn keyword cType __label__ __complex__ __volatile__
|
||||
endif
|
||||
|
||||
syn keyword cStructure struct union enum typedef
|
||||
syn keyword cTypedef typedef
|
||||
syn keyword cStructure struct union enum
|
||||
syn keyword cStorageClass static register auto volatile extern const
|
||||
if exists("c_gnu")
|
||||
syn keyword cStorageClass inline __attribute__
|
||||
@ -311,8 +312,7 @@ if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu")
|
||||
if exists("c_gnu")
|
||||
syn keyword cConstant __GNUC__ __FUNCTION__ __PRETTY_FUNCTION__ __func__
|
||||
endif
|
||||
syn keyword cConstant __LINE__ __FILE__ __DATE__ __TIME__ __STDC__
|
||||
syn keyword cConstant __STDC_VERSION__
|
||||
syn keyword cConstant __LINE__ __FILE__ __DATE__ __TIME__ __STDC__ __STDC_VERSION__ __STDC_HOSTED__
|
||||
syn keyword cConstant CHAR_BIT MB_LEN_MAX MB_CUR_MAX
|
||||
syn keyword cConstant UCHAR_MAX UINT_MAX ULONG_MAX USHRT_MAX
|
||||
syn keyword cConstant CHAR_MIN INT_MIN LONG_MIN SHRT_MIN
|
||||
@ -475,6 +475,7 @@ hi def link cSpecialError cError
|
||||
hi def link cCurlyError cError
|
||||
hi def link cOperator Operator
|
||||
hi def link cStructure Structure
|
||||
hi def link cTypedef Structure
|
||||
hi def link cStorageClass StorageClass
|
||||
hi def link cInclude Include
|
||||
hi def link cPreProc PreProc
|
||||
|
@ -1,11 +1,12 @@
|
||||
" Vim syntax file
|
||||
" Language: Cascading Style Sheets
|
||||
" Previous Contributor List:
|
||||
" Jules Wang <w.jq0722@gmail.com>
|
||||
" Claudio Fleiner <claudio@fleiner.com> (Maintainer)
|
||||
" Yeti (Add full CSS2, HTML4 support)
|
||||
" Nikolai Weibull (Add CSS2 support)
|
||||
" URL: https://github.com/JulesWang/css.vim
|
||||
" Maintainer: Jules Wang <w.jq0722@gmail.com>
|
||||
" URL: https://github.com/jsit/css.vim
|
||||
" Maintainer: Jay Sitter <jay@jaysitter.com>
|
||||
" Last Change: 2019 Jul. 29
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
@ -68,7 +69,7 @@ endtry
|
||||
" digits
|
||||
syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators
|
||||
syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators
|
||||
syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|fr\|vw\|vh\|vmin\|vmax\)\>" contains=cssUnitDecorators
|
||||
syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|fr\|vw\|vh\|vmin\|vmax\|ch\)\>" contains=cssUnitDecorators
|
||||
syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=%" contains=cssUnitDecorators
|
||||
syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)\>" contains=cssUnitDecorators
|
||||
syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators
|
||||
@ -128,12 +129,14 @@ syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgb\|clip
|
||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgba\|hsl\|hsla\|color-stop\|from\|to\)\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma,cssFunction
|
||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(linear-\|radial-\)\=\gradient\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunction,cssGradientAttr,cssFunctionComma
|
||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(matrix\(3d\)\=\|scale\(3d\|X\|Y\|Z\)\=\|translate\(3d\|X\|Y\|Z\)\=\|skew\(X\|Y\)\=\|rotate\(3d\|X\|Y\|Z\)\=\|perspective\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssValueAngle,cssFunctionComma
|
||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(blur\|brightness\|contrast\|drop-shadow\|grayscale\|hue-rotate\|invert\|opacity\|saturate\|sepia\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssValueAngle,cssFunctionComma
|
||||
syn keyword cssGradientAttr contained top bottom left right cover center middle ellipse at
|
||||
syn match cssFunctionComma contained ","
|
||||
|
||||
" Common Prop and Attr
|
||||
syn keyword cssCommonAttr contained auto none inherit all default normal
|
||||
syn keyword cssCommonAttr contained top bottom center stretch hidden visible
|
||||
syn match cssCommonAttr contained "\<\(max-\|min-\|fit-\)content\>"
|
||||
"------------------------------------------------
|
||||
" CSS Animations
|
||||
" http://www.w3.org/TR/css3-animations/
|
||||
|
@ -2,8 +2,8 @@
|
||||
" Language: fstab file
|
||||
" Maintainer: Radu Dineiu <radu.dineiu@gmail.com>
|
||||
" URL: https://raw.github.com/rid9/vim-fstab/master/fstab.vim
|
||||
" Last Change: 2019 Jun 06
|
||||
" Version: 1.3
|
||||
" Last Change: 2020 Aug 06
|
||||
" Version: 1.4
|
||||
"
|
||||
" Credits:
|
||||
" David Necas (Yeti) <yeti@physics.muni.cz>
|
||||
@ -68,7 +68,7 @@ syn match fsOptionsString /[a-zA-Z0-9_-]\+/
|
||||
syn keyword fsOptionsYesNo yes no
|
||||
syn cluster fsOptionsCheckCluster contains=fsOptionsExt2Check,fsOptionsFatCheck
|
||||
syn keyword fsOptionsSize 512 1024 2048
|
||||
syn keyword fsOptionsGeneral async atime auto bind current defaults dev devgid devmode devmtime devuid dirsync exec force fstab kudzu loop mand move noatime noauto noclusterr noclusterw nodev nodevmtime nodiratime noexec nomand norelatime nosuid nosymfollow nouser owner rbind rdonly relatime remount ro rq rw suid suiddir supermount sw sync union update user users wxallowed xx nofail
|
||||
syn keyword fsOptionsGeneral async atime auto bind current defaults dev devgid devmode devmtime devuid dirsync exec force fstab kudzu loop mand move noatime noauto noclusterr noclusterw nodev nodevmtime nodiratime noexec nomand norelatime nosuid nosymfollow nouser owner rbind rdonly relatime remount ro rq rw suid suiddir supermount sw sync union update user users wxallowed xx nofail failok
|
||||
syn match fsOptionsGeneral /_netdev/
|
||||
|
||||
" Options: adfs
|
||||
|
@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: Vim help file
|
||||
" Maintainer: Bram Moolenaar (Bram@vim.org)
|
||||
" Last Change: 2020 Mar 06
|
||||
" Last Change: 2020 Jul 28
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
|
@ -1,7 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: pam(8) configuration file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2011-08-03
|
||||
" Latest Revision: 2020/08/04
|
||||
" Changes By: Haochen Tong
|
||||
|
||||
|
||||
if exists("b:current_syntax")
|
||||
@ -11,23 +12,32 @@ endif
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
syn match pamconfService '^[[:graph:]]\+'
|
||||
\ nextgroup=pamconfType,
|
||||
\ pamconfServiceLineCont skipwhite
|
||||
let s:has_service_field = exists("b:pamconf_has_service_field")
|
||||
\ ? b:pamconf_has_service_field
|
||||
\ : expand('%:t') == 'pam.conf' ? 1 : 0
|
||||
|
||||
syn match pamconfType '-\?[[:alpha:]]\+'
|
||||
\ contains=pamconfTypeKeyword
|
||||
\ nextgroup=pamconfControl,
|
||||
\ pamconfTypeLineCont skipwhite
|
||||
|
||||
syn keyword pamconfTypeKeyword contained account auth password session
|
||||
|
||||
if s:has_service_field
|
||||
syn match pamconfService '^[[:graph:]]\+'
|
||||
\ nextgroup=pamconfType,
|
||||
\ pamconfServiceLineCont skipwhite
|
||||
|
||||
syn match pamconfServiceLineCont contained '\\$'
|
||||
\ nextgroup=pamconfType,
|
||||
\ pamconfServiceLineCont skipwhite skipnl
|
||||
endif
|
||||
|
||||
syn keyword pamconfTodo contained TODO FIXME XXX NOTE
|
||||
|
||||
syn region pamconfComment display oneline start='#' end='$'
|
||||
\ contains=pamconfTodo,@Spell
|
||||
|
||||
syn match pamconfServiceLineCont contained '\\$'
|
||||
\ nextgroup=pamconfType,
|
||||
\ pamconfServiceLineCont skipwhite skipnl
|
||||
|
||||
syn keyword pamconfType account auth password session
|
||||
\ nextgroup=pamconfControl,
|
||||
\ pamconfTypeLineCont skipwhite
|
||||
|
||||
syn match pamconfTypeLineCont contained '\\$'
|
||||
\ nextgroup=pamconfControl,
|
||||
\ pamconfTypeLineCont skipwhite skipnl
|
||||
@ -98,7 +108,8 @@ hi def link pamconfTodo Todo
|
||||
hi def link pamconfComment Comment
|
||||
hi def link pamconfService Statement
|
||||
hi def link pamconfServiceLineCont Special
|
||||
hi def link pamconfType Type
|
||||
hi def link pamconfType Special
|
||||
hi def link pamconfTypeKeyword Type
|
||||
hi def link pamconfTypeLineCont pamconfServiceLineCont
|
||||
hi def link pamconfControl Macro
|
||||
hi def link pamconfControlBegin Delimiter
|
||||
|
@ -16,7 +16,7 @@ Summary
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
1 MacOS X
|
||||
1.1. Carbon interface
|
||||
1.1. Terminal version
|
||||
1.2. X (Athena, GTK, Motif) or plain text.
|
||||
|
||||
MacOS Classic is no longer supported. If you really want it use Vim 6.4.
|
||||
@ -27,9 +27,9 @@ MacOS Classic is no longer supported. If you really want it use Vim 6.4.
|
||||
|
||||
1.0 Considerations
|
||||
|
||||
Only '/' supported as path separator.
|
||||
Only '/' is supported as path separator.
|
||||
|
||||
1.1 Carbon interface (default)
|
||||
1.1 Terminal version (default)
|
||||
|
||||
You can compile vim with the standard Unix routine:
|
||||
cd .../src
|
||||
@ -37,14 +37,7 @@ MacOS Classic is no longer supported. If you really want it use Vim 6.4.
|
||||
make test
|
||||
sudo make install
|
||||
|
||||
"make" will create a working Vim.app application bundle in the src
|
||||
directory. You can move this bundle (the Vim.app directory) anywhere
|
||||
you want. Or use "make install" to move it to /Applications.
|
||||
|
||||
You need at least Xcode 1.5 to compile Vim 7.0.
|
||||
|
||||
Configure will create a universal binary if possible. This requires
|
||||
installing the universal SDK (currently for 10.4).
|
||||
You need at least Xcode 1.5.
|
||||
|
||||
To overrule the architecture do this before running make:
|
||||
|
||||
@ -53,17 +46,16 @@ MacOS Classic is no longer supported. If you really want it use Vim 6.4.
|
||||
./configure --with-mac-arch=ppc
|
||||
|
||||
|
||||
1.2 X-Windows or Plain Text
|
||||
1.2 X-Windows
|
||||
|
||||
If you do not want the Carbon interface, you must explicitly tell
|
||||
configure to use a different GUI.
|
||||
You must explicitly tell configure to use a GUI.
|
||||
|
||||
cd .../src
|
||||
./configure --disable-darwin --enable-gui=gtk2
|
||||
make; make install
|
||||
|
||||
NOTE: The following GUI options are supported:
|
||||
no (for text), motif, athena, nextaw
|
||||
NOTE: The following GUI options are possible (but might not work):
|
||||
no (for terminal only), motif, athena, nextaw
|
||||
gtk, gtk2, gnome, gnome2,
|
||||
|
||||
NOTE: You need to first install XFree86 and XDarwin.
|
||||
|
@ -806,6 +806,7 @@ OBJ = \
|
||||
$(OUTDIR)/vim9compile.o \
|
||||
$(OUTDIR)/vim9execute.o \
|
||||
$(OUTDIR)/vim9script.o \
|
||||
$(OUTDIR)/vim9type.o \
|
||||
$(OUTDIR)/viminfo.o \
|
||||
$(OUTDIR)/winclip.o \
|
||||
$(OUTDIR)/window.o
|
||||
@ -1106,7 +1107,7 @@ cmdidxs: ex_cmds.h
|
||||
vim --clean -X --not-a-term -u create_cmdidxs.vim
|
||||
|
||||
###########################################################################
|
||||
INCL = vim.h alloc.h ascii.h ex_cmds.h feature.h globals.h \
|
||||
INCL = vim.h alloc.h ascii.h ex_cmds.h feature.h errors.h globals.h \
|
||||
keymap.h macros.h option.h os_dos.h os_win32.h proto.h regexp.h \
|
||||
spell.h structs.h term.h beval.h $(NBDEBUG_INCL)
|
||||
GUI_INCL = gui.h
|
||||
@ -1177,6 +1178,8 @@ $(OUTDIR)/vim9execute.o: vim9execute.c $(INCL) version.h
|
||||
|
||||
$(OUTDIR)/vim9script.o: vim9script.c $(INCL) version.h
|
||||
|
||||
$(OUTDIR)/vim9type.o: vim9type.c $(INCL) version.h
|
||||
|
||||
$(OUTDIR)/viminfo.o: viminfo.c $(INCL) version.h
|
||||
|
||||
$(OUTDIR)/gui_dwrite.o: gui_dwrite.cpp gui_dwrite.h
|
||||
|
@ -719,7 +719,7 @@ CFLAGS = $(CFLAGS) $(CFLAGS_DEPR)
|
||||
!include Make_all.mak
|
||||
!include testdir\Make_all.mak
|
||||
|
||||
INCL = vim.h alloc.h ascii.h ex_cmds.h feature.h globals.h \
|
||||
INCL = vim.h alloc.h ascii.h ex_cmds.h feature.h errors.h globals.h \
|
||||
keymap.h macros.h option.h os_dos.h os_win32.h proto.h regexp.h \
|
||||
spell.h structs.h term.h beval.h $(NBDEBUG_INCL)
|
||||
|
||||
@ -825,6 +825,7 @@ OBJ = \
|
||||
$(OUTDIR)\vim9compile.obj \
|
||||
$(OUTDIR)\vim9execute.obj \
|
||||
$(OUTDIR)\vim9script.obj \
|
||||
$(OUTDIR)\vim9type.obj \
|
||||
$(OUTDIR)\viminfo.obj \
|
||||
$(OUTDIR)\winclip.obj \
|
||||
$(OUTDIR)\window.obj \
|
||||
@ -1325,14 +1326,6 @@ MAIN_TARGET = $(VIM).exe
|
||||
# Target to run individual tests.
|
||||
VIMTESTTARGET = $(VIM).exe
|
||||
|
||||
OLD_TEST_OUTFILES = \
|
||||
$(SCRIPTS_FIRST) \
|
||||
$(SCRIPTS_ALL) \
|
||||
$(SCRIPTS_MORE1) \
|
||||
$(SCRIPTS_MORE4) \
|
||||
$(SCRIPTS_WIN32) \
|
||||
$(SCRIPTS_GUI)
|
||||
|
||||
all: $(MAIN_TARGET) \
|
||||
vimrun.exe \
|
||||
install.exe \
|
||||
@ -1471,12 +1464,22 @@ cmdidxs: ex_cmds.h
|
||||
|
||||
test:
|
||||
cd testdir
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak win32
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak
|
||||
cd ..
|
||||
|
||||
testgvim:
|
||||
cd testdir
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\gvim win32
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\gvim
|
||||
cd ..
|
||||
|
||||
testtiny:
|
||||
cd testdir
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak tiny
|
||||
cd ..
|
||||
|
||||
testgvimtiny:
|
||||
cd testdir
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak tiny VIMPROG=..\gvim
|
||||
cd ..
|
||||
|
||||
testclean:
|
||||
@ -1486,7 +1489,7 @@ testclean:
|
||||
|
||||
# Run individual OLD style test.
|
||||
# These do not depend on the executable, compile it when needed.
|
||||
$(OLD_TEST_OUTFILES:.out=):
|
||||
$(SCRIPTS_TINY):
|
||||
cd testdir
|
||||
- if exist $@.out del $@.out
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\$(VIMTESTTARGET) nolog
|
||||
@ -1799,6 +1802,8 @@ $(OUTDIR)/vim9execute.obj: $(OUTDIR) vim9execute.c $(INCL)
|
||||
|
||||
$(OUTDIR)/vim9script.obj: $(OUTDIR) vim9script.c $(INCL)
|
||||
|
||||
$(OUTDIR)/vim9type.obj: $(OUTDIR) vim9type.c $(INCL)
|
||||
|
||||
$(OUTDIR)/viminfo.obj: $(OUTDIR) viminfo.c $(INCL) version.h
|
||||
|
||||
$(OUTDIR)/window.obj: $(OUTDIR) window.c $(INCL)
|
||||
@ -1998,6 +2003,7 @@ proto.h: \
|
||||
proto/vim9compile.pro \
|
||||
proto/vim9execute.pro \
|
||||
proto/vim9script.pro \
|
||||
proto/vim9type.pro \
|
||||
proto/viminfo.pro \
|
||||
proto/window.pro \
|
||||
$(SOUND_PRO) \
|
||||
|
242
src/Make_vms.mms
242
src/Make_vms.mms
@ -2,7 +2,7 @@
|
||||
# Makefile for Vim on OpenVMS
|
||||
#
|
||||
# Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com>
|
||||
# Last change: 2019 Nov 30
|
||||
# Last change: 2020 Aug 13
|
||||
#
|
||||
# This script has been tested on VMS 6.2 to 8.4 on DEC Alpha, VAX and IA64
|
||||
# with MMS and MMK
|
||||
@ -399,6 +399,7 @@ SRC = \
|
||||
vim9compile.c \
|
||||
vim9execute.c \
|
||||
vim9script.c \
|
||||
vim9type.c \
|
||||
viminfo.c \
|
||||
window.c \
|
||||
$(GUI_SRC) \
|
||||
@ -515,6 +516,7 @@ OBJ = \
|
||||
vim9compile.obj \
|
||||
vim9execute.obj \
|
||||
vim9script.obj \
|
||||
vim9type.obj \
|
||||
viminfo.obj \
|
||||
window.obj \
|
||||
$(GUI_OBJ) \
|
||||
@ -701,405 +703,409 @@ blob.obj : blob.c vim.h [.auto]config.h feature.h os_unix.h
|
||||
buffer.obj : buffer.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h version.h
|
||||
errors.h globals.h version.h
|
||||
bufwrite.obj : bufwrite.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
change.obj : change.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
charset.obj : charset.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
cindent.obj : cindent.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
clientserver.obj : clientserver.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
clipboard.obj : clipboard.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
cmdexpand.obj : cmdexpand.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
cmdhist.obj : cmdhist.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
crypt.obj : crypt.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
crypt_zip.obj : crypt_zip.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
debugger.obj : debugger.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
dict.obj : dict.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
diff.obj : diff.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
digraph.obj : digraph.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
drawline.obj : drawline.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
drawscreen.obj : drawscreen.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
edit.obj : edit.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
eval.obj : eval.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
evalbuffer.obj : evalbuffer.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
evalfunc.obj : evalfunc.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h version.h
|
||||
proto.h errors.h globals.h version.h
|
||||
evalvars.obj : evalvars.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h version.h
|
||||
proto.h errors.h globals.h version.h
|
||||
evalwindow.obj : evalwindow.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
ex_cmds.obj : ex_cmds.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h version.h
|
||||
errors.h globals.h version.h
|
||||
ex_cmds2.obj : ex_cmds2.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h version.h
|
||||
errors.h globals.h version.h
|
||||
ex_docmd.obj : ex_docmd.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h ex_cmdidxs.h
|
||||
errors.h globals.h ex_cmdidxs.h
|
||||
ex_eval.obj : ex_eval.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
ex_getln.obj : ex_getln.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
fileio.obj : fileio.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
filepath.obj : filepath.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
findfile.obj : findfile.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
fold.obj : fold.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
getchar.obj : getchar.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
gui_xim.obj : gui_xim.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
hardcopy.obj : hardcopy.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h version.h
|
||||
errors.h globals.h version.h
|
||||
hashtab.obj : hashtab.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
help.obj : help.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
highlight.obj : highlight.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
if_cscope.obj : if_cscope.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h if_cscope.h
|
||||
errors.h globals.h if_cscope.h
|
||||
if_xcmdsrv.obj : if_xcmdsrv.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h version.h
|
||||
errors.h globals.h version.h
|
||||
if_mzsch.obj : if_mzsch.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro ex_cmds.h proto.h \
|
||||
globals.h if_mzsch.h
|
||||
errors.h globals.h if_mzsch.h
|
||||
indent.obj : indent.c vim.h [.auto]config.h feature.h os_unix.h
|
||||
insexpand.obj : insexpand.c vim.h [.auto]config.h feature.h os_unix.h
|
||||
json.obj : json.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
list.obj : list.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
locale.obj : locale.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
main.obj : main.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h \
|
||||
arabic.c
|
||||
map.obj : map.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
mark.obj : mark.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
match.obj : match.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
memfile.obj : memfile.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
memline.obj : memline.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
menu.obj : menu.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
message.obj : message.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
misc1.obj : misc1.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h \
|
||||
version.h
|
||||
misc2.obj : misc2.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
mouse.obj : mouse.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
move.obj : move.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
mbyte.obj : mbyte.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
normal.obj : normal.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
ops.obj : ops.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
option.obj : option.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h optiondefs.h
|
||||
errors.h globals.h optiondefs.h
|
||||
optionstr.obj : optionstr.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
os_unix.obj : os_unix.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h os_unixx.h
|
||||
errors.h globals.h os_unixx.h
|
||||
os_vms.obj : os_vms.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h os_unixx.h
|
||||
errors.h globals.h os_unixx.h
|
||||
pathdef.obj : pathdef.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
popupmenu.obj : popupmenu.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
popupwin.obj : popupwin.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
profiler.obj : profiler.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
quickfix.obj : quickfix.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
regexp.obj : regexp.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
register.obj : register.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
scriptfile.obj : scriptfile.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
screen.obj : screen.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
search.obj : search.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
session.obj : session.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
sha256.obj : sha256.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
sign.obj : sign.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
spell.obj : spell.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
spellfile.obj : spellfile.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
spellsuggest.obj : spellsuggest.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
syntax.obj : syntax.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
tag.obj : tag.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
term.obj : term.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
termlib.obj : termlib.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
testing.obj : testing.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
textformat.obj : textformat.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
textobject.obj : textobject.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
textprop.obj : textprop.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
time.obj : time.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
typval.obj : typval.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
ui.obj : ui.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
undo.obj : undo.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
usercmd.obj : usercmd.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
userfunc.obj : userfunc.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
version.obj : version.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h version.h
|
||||
errors.h globals.h version.h
|
||||
viminfo.obj : viminfo.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h version.h
|
||||
errors.h globals.h version.h
|
||||
vim9compile.obj : vim9compile.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h version.h
|
||||
errors.h globals.h version.h
|
||||
vim9execute.obj : vim9execute.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h version.h
|
||||
errors.h globals.h version.h
|
||||
vim9script.obj : vim9script.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h version.h
|
||||
errors.h globals.h version.h
|
||||
vim9type.obj : vim9type.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
errors.h globals.h version.h
|
||||
window.obj : window.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
gui.obj : gui.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
gui_gtk.obj : gui_gtk.c gui_gtk_f.h vim.h [.auto]config.h feature.h \
|
||||
os_unix.h ascii.h keymap.h term.h macros.h structs.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h \
|
||||
proto.h globals.h [-.pixmaps]stock_icons.h
|
||||
proto.h errors.h globals.h [-.pixmaps]stock_icons.h
|
||||
gui_gtk_f.obj : gui_gtk_f.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h gui_gtk_f.h
|
||||
errors.h globals.h gui_gtk_f.h
|
||||
gui_motif.obj : gui_motif.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h [-.pixmaps]alert.xpm [-.pixmaps]error.xpm \
|
||||
errors.h globals.h [-.pixmaps]alert.xpm [-.pixmaps]error.xpm \
|
||||
[-.pixmaps]generic.xpm [-.pixmaps]info.xpm [-.pixmaps]quest.xpm
|
||||
gui_athena.obj : gui_athena.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h gui_at_sb.h
|
||||
errors.h globals.h gui_at_sb.h
|
||||
gui_gtk_x11.obj : gui_gtk_x11.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h gui_gtk_f.h [-.runtime]vim32x32.xpm \
|
||||
errors.h globals.h gui_gtk_f.h [-.runtime]vim32x32.xpm \
|
||||
[-.runtime]vim16x16.xpm [-.runtime]vim48x48.xpm version.h
|
||||
gui_x11.obj : gui_x11.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h [-.runtime]vim32x32.xpm \
|
||||
errors.h globals.h [-.runtime]vim32x32.xpm \
|
||||
[-.runtime]vim16x16.xpm [-.runtime]vim48x48.xpm [-.pixmaps]tb_new.xpm \
|
||||
[-.pixmaps]tb_open.xpm [-.pixmaps]tb_close.xpm [-.pixmaps]tb_save.xpm \
|
||||
[-.pixmaps]tb_print.xpm [-.pixmaps]tb_cut.xpm [-.pixmaps]tb_copy.xpm \
|
||||
@ -1119,46 +1125,46 @@ gui_x11.obj : gui_x11.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
gui_at_sb.obj : gui_at_sb.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h gui_at_sb.h
|
||||
errors.h globals.h gui_at_sb.h
|
||||
gui_at_fs.obj : gui_at_fs.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h gui_at_sb.h
|
||||
errors.h globals.h gui_at_sb.h
|
||||
pty.obj : pty.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h errors.h globals.h
|
||||
if_perl.obj : [.auto]if_perl.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
if_perlsfio.obj : if_perlsfio.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
if_python.obj : if_python.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
if_tcl.obj : if_tcl.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
if_ruby.obj : if_ruby.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h version.h
|
||||
errors.h globals.h version.h
|
||||
beval.obj : beval.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
gui_beval.obj : gui_beval.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
errors.h globals.h
|
||||
netbeans.obj : netbeans.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h version.h
|
||||
errors.h globals.h version.h
|
||||
gui_xmdlg.obj : gui_xmdlg.c [.auto]config.h vim.h feature.h os_unix.h
|
||||
gui_xmebw.obj : gui_xmebw.c [.auto]config.h vim.h feature.h os_unix.h
|
||||
xdiffi.obj : [.xdiff]xdiffi.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h
|
||||
|
326
src/Makefile
326
src/Makefile
@ -375,9 +375,6 @@ CClink = $(CC)
|
||||
#CONF_OPT_GUI = --enable-gui=athena
|
||||
#CONF_OPT_GUI = --enable-gui=nextaw
|
||||
|
||||
# Carbon GUI for Mac OS X
|
||||
#CONF_OPT_GUI = --enable-gui=carbon
|
||||
|
||||
# Uncomment this line to run an individual test with gvim.
|
||||
#GUI_TESTARG = GUI_FLAG=-g
|
||||
|
||||
@ -1373,24 +1370,6 @@ PHOTONGUI_MAN_TARGETS = yes
|
||||
PHOTONGUI_TESTTARGET = gui
|
||||
PHOTONGUI_BUNDLE =
|
||||
|
||||
# CARBON GUI
|
||||
CARBONGUI_SRC = gui.c gui_mac.c
|
||||
CARBONGUI_OBJ = objects/gui.o objects/gui_mac.o
|
||||
CARBONGUI_DEFS = -DFEAT_GUI_MAC -fno-common -fpascal-strings \
|
||||
-Wall -Wno-unknown-pragmas \
|
||||
-mdynamic-no-pic -pipe
|
||||
CARBONGUI_IPATH = -I. -Iproto
|
||||
CARBONGUI_LIBS_DIR =
|
||||
CARBONGUI_LIBS1 = -framework Carbon
|
||||
CARBONGUI_LIBS2 =
|
||||
CARBONGUI_INSTALL = install_macosx
|
||||
CARBONGUI_TARGETS =
|
||||
CARBONGUI_MAN_TARGETS =
|
||||
CARBONGUI_TESTTARGET = gui
|
||||
CARBONGUI_BUNDLE = gui_bundle
|
||||
APPDIR = $(VIMNAME).app
|
||||
CARBONGUI_TESTARG = VIMPROG=../$(APPDIR)/Contents/MacOS/$(VIMTARGET)
|
||||
|
||||
### Haiku GUI
|
||||
HAIKUGUI_SRC = gui.c gui_haiku.cc
|
||||
HAIKUGUI_OBJ = objects/gui.o objects/gui_haiku.o
|
||||
@ -1702,6 +1681,7 @@ BASIC_SRC = \
|
||||
vim9compile.c \
|
||||
vim9execute.c \
|
||||
vim9script.c \
|
||||
vim9type.c \
|
||||
viminfo.c \
|
||||
window.c \
|
||||
bufwrite.c \
|
||||
@ -1851,6 +1831,7 @@ OBJ_COMMON = \
|
||||
objects/vim9compile.o \
|
||||
objects/vim9execute.o \
|
||||
objects/vim9script.o \
|
||||
objects/vim9type.o \
|
||||
objects/viminfo.o \
|
||||
objects/window.o \
|
||||
objects/bufwrite.o \
|
||||
@ -2032,6 +2013,7 @@ PRO_AUTO = \
|
||||
vim9compile.pro \
|
||||
vim9execute.pro \
|
||||
vim9script.pro \
|
||||
vim9type.pro \
|
||||
viminfo.pro \
|
||||
window.pro \
|
||||
$(ALL_GUI_PRO) \
|
||||
@ -2256,8 +2238,6 @@ test check: unittests $(TERM_TEST) scripttests
|
||||
#
|
||||
# This will produce a lot of garbage on your screen, including a few error
|
||||
# messages. Don't worry about that.
|
||||
# If there is a real error, there will be a difference between "testXX.out" and
|
||||
# a "testXX.ok" file.
|
||||
# If everything is alright, the final message will be "ALL DONE". If not you
|
||||
# get "TEST FAILURE".
|
||||
#
|
||||
@ -2275,6 +2255,9 @@ scripttests:
|
||||
testgui:
|
||||
cd testdir; $(MAKE) -f Makefile $(GUI_TESTTARGET) VIMPROG=../$(VIMTARGET) GUI_FLAG=-g $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
|
||||
testtiny:
|
||||
cd testdir; $(MAKE) -f Makefile tiny VIMPROG=../$(VIMTARGET) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
|
||||
benchmark:
|
||||
cd testdir; $(MAKE) -f Makefile benchmark VIMPROG=../$(VIMTARGET) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
|
||||
@ -2310,7 +2293,7 @@ test_libvterm:
|
||||
|
||||
# Run individual OLD style test.
|
||||
# These do not depend on the executable, compile it when needed.
|
||||
test1 test49:
|
||||
$(SCRIPTS_TINY):
|
||||
cd testdir; rm -f $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTESTTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
|
||||
# Run individual NEW style test.
|
||||
@ -3320,9 +3303,6 @@ objects/gui_xim.o: gui_xim.c
|
||||
objects/gui_photon.o: gui_photon.c
|
||||
$(CCC) -o $@ gui_photon.c
|
||||
|
||||
objects/gui_mac.o: gui_mac.c
|
||||
$(CCC) -o $@ gui_mac.c
|
||||
|
||||
objects/highlight.o: highlight.c
|
||||
$(CCC) -o $@ highlight.c
|
||||
|
||||
@ -3563,6 +3543,9 @@ objects/vim9execute.o: vim9execute.c
|
||||
objects/vim9script.o: vim9script.c
|
||||
$(CCC) -o $@ vim9script.c
|
||||
|
||||
objects/vim9type.o: vim9type.c
|
||||
$(CCC) -o $@ vim9type.c
|
||||
|
||||
objects/viminfo.o: viminfo.c
|
||||
$(CCC) -o $@ viminfo.c
|
||||
|
||||
@ -3703,13 +3686,6 @@ bundle-rsrc: os_mac.rsr.hqx
|
||||
rm -f gui_mac.rsrc
|
||||
mv gui_mac.rsrc.rsrcfork $(RESDIR)/$(VIMNAME).rsrc
|
||||
|
||||
# po/Make_osx.pl says something about generating a Mac message file
|
||||
# for Ukrainian. Would somebody using Mac OS X in Ukrainian
|
||||
# *really* be upset that Carbon Vim was not localised in
|
||||
# Ukrainian?
|
||||
#
|
||||
#bundle-language: bundle-dir po/Make_osx.pl
|
||||
# cd po && perl Make_osx.pl --outdir ../$(RESDIR) $(MULTILANG)
|
||||
bundle-language: bundle-dir
|
||||
|
||||
$(APPDIR)/Contents:
|
||||
@ -3781,445 +3757,449 @@ installglinks_haiku: $(HAIKU_GLINKS) install_haiku_extra
|
||||
objects/arabic.o: arabic.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/arglist.o: arglist.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/autocmd.o: autocmd.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/beval.o: beval.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/blob.o: blob.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/blowfish.o: blowfish.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/buffer.o: buffer.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h version.h
|
||||
proto.h errors.h globals.h version.h
|
||||
objects/change.o: change.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/charset.o: charset.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/cindent.o: cindent.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/clientserver.o: clientserver.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/clipboard.o: clipboard.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/cmdexpand.o: cmdexpand.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/cmdhist.o: cmdhist.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/crypt.o: crypt.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/crypt_zip.o: crypt_zip.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/debugger.o: debugger.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/dict.o: dict.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/diff.o: diff.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h xdiff/xdiff.h xdiff/../vim.h
|
||||
proto.h errors.h globals.h xdiff/xdiff.h xdiff/../vim.h
|
||||
objects/digraph.o: digraph.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/drawline.o: drawline.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/drawscreen.o: drawscreen.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/edit.o: edit.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/eval.o: eval.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/evalbuffer.o: evalbuffer.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/evalfunc.o: evalfunc.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h version.h
|
||||
proto.h errors.h globals.h version.h
|
||||
objects/evalvars.o: evalvars.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h version.h
|
||||
proto.h errors.h globals.h version.h
|
||||
objects/evalwindow.o: evalwindow.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/ex_cmds.o: ex_cmds.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h version.h
|
||||
proto.h errors.h globals.h version.h
|
||||
objects/ex_cmds2.o: ex_cmds2.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h version.h
|
||||
proto.h errors.h globals.h version.h
|
||||
objects/ex_docmd.o: ex_docmd.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h ex_cmdidxs.h
|
||||
proto.h errors.h globals.h ex_cmdidxs.h
|
||||
objects/ex_eval.o: ex_eval.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/ex_getln.o: ex_getln.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/fileio.o: fileio.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/filepath.o: filepath.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/findfile.o: findfile.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/fold.o: fold.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/getchar.o: getchar.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/hardcopy.o: hardcopy.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h version.h
|
||||
proto.h errors.h globals.h version.h
|
||||
objects/hashtab.o: hashtab.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/help.o: help.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/highlight.o: highlight.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/if_cscope.o: if_cscope.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h if_cscope.h
|
||||
proto.h errors.h globals.h if_cscope.h
|
||||
objects/if_xcmdsrv.o: if_xcmdsrv.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h version.h
|
||||
proto.h errors.h globals.h version.h
|
||||
objects/indent.o: indent.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/insexpand.o: insexpand.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/json.o: json.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/list.o: list.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/locale.o: locale.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/main.o: main.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/map.o: map.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/mark.o: mark.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/match.o: match.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/mbyte.o: mbyte.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/memfile.o: memfile.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/memline.o: memline.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/menu.o: menu.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/message.o: message.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/misc1.o: misc1.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h version.h
|
||||
proto.h errors.h globals.h version.h
|
||||
objects/misc2.o: misc2.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/mouse.o: mouse.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/move.o: move.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/normal.o: normal.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/ops.o: ops.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/option.o: option.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h optiondefs.h
|
||||
proto.h errors.h globals.h optiondefs.h
|
||||
objects/optionstr.o: optionstr.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/os_unix.o: os_unix.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h os_unixx.h
|
||||
proto.h errors.h globals.h os_unixx.h
|
||||
objects/pathdef.o: auto/pathdef.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/popupmenu.o: popupmenu.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/popupwin.o: popupwin.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/profiler.o: profiler.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/pty.o: pty.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/quickfix.o: quickfix.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/regexp.o: regexp.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h regexp_bt.c regexp_nfa.c
|
||||
proto.h errors.h globals.h regexp_bt.c regexp_nfa.c
|
||||
objects/register.o: register.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/screen.o: screen.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/scriptfile.o: scriptfile.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/search.o: search.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/session.o: session.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/sha256.o: sha256.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/sign.o: sign.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/sound.o: sound.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/spell.o: spell.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/spellfile.o: spellfile.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/spellsuggest.o: spellsuggest.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/syntax.o: syntax.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/tag.o: tag.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/term.o: term.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h libvterm/include/vterm.h \
|
||||
proto.h errors.h globals.h libvterm/include/vterm.h \
|
||||
libvterm/include/vterm_keycodes.h
|
||||
objects/terminal.o: terminal.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h libvterm/include/vterm.h \
|
||||
proto.h errors.h globals.h libvterm/include/vterm.h \
|
||||
libvterm/include/vterm_keycodes.h
|
||||
objects/testing.o: testing.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/textformat.o: textformat.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/textobject.o: textobject.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/textprop.o: textprop.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/time.o: time.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/typval.o: typval.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/ui.o: ui.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/undo.o: undo.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/usercmd.o: usercmd.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/userfunc.o: userfunc.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/version.o: version.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h version.h
|
||||
proto.h errors.h globals.h version.h
|
||||
objects/vim9compile.o: vim9compile.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h vim9.h
|
||||
proto.h errors.h globals.h vim9.h
|
||||
objects/vim9execute.o: vim9execute.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h vim9.h
|
||||
proto.h errors.h globals.h vim9.h
|
||||
objects/vim9script.o: vim9script.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h vim9.h
|
||||
proto.h errors.h globals.h vim9.h
|
||||
objects/vim9type.o: vim9type.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h errors.h globals.h vim9.h
|
||||
objects/viminfo.o: viminfo.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h version.h
|
||||
proto.h errors.h globals.h version.h
|
||||
objects/window.o: window.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/bufwrite.o: bufwrite.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/gui.o: gui.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/gui_gtk.o: gui_gtk.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h gui_gtk_f.h
|
||||
proto.h errors.h globals.h gui_gtk_f.h
|
||||
objects/gui_gtk_f.o: gui_gtk_f.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h gui_gtk_f.h
|
||||
proto.h errors.h globals.h gui_gtk_f.h
|
||||
objects/gui_motif.o: gui_motif.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h gui_xmebw.h ../pixmaps/alert.xpm ../pixmaps/error.xpm \
|
||||
proto.h errors.h globals.h gui_xmebw.h ../pixmaps/alert.xpm ../pixmaps/error.xpm \
|
||||
../pixmaps/generic.xpm ../pixmaps/info.xpm ../pixmaps/quest.xpm \
|
||||
gui_x11_pm.h ../pixmaps/tb_new.xpm ../pixmaps/tb_open.xpm \
|
||||
../pixmaps/tb_close.xpm ../pixmaps/tb_save.xpm ../pixmaps/tb_print.xpm \
|
||||
@ -4239,15 +4219,15 @@ objects/gui_motif.o: gui_motif.c vim.h protodef.h auto/config.h feature.h \
|
||||
objects/gui_xmdlg.o: gui_xmdlg.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/gui_xmebw.o: gui_xmebw.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h gui_xmebwp.h gui_xmebw.h
|
||||
proto.h errors.h globals.h gui_xmebwp.h gui_xmebw.h
|
||||
objects/gui_athena.o: gui_athena.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h gui_at_sb.h gui_x11_pm.h ../pixmaps/tb_new.xpm \
|
||||
proto.h errors.h globals.h gui_at_sb.h gui_x11_pm.h ../pixmaps/tb_new.xpm \
|
||||
../pixmaps/tb_open.xpm ../pixmaps/tb_close.xpm ../pixmaps/tb_save.xpm \
|
||||
../pixmaps/tb_print.xpm ../pixmaps/tb_cut.xpm ../pixmaps/tb_copy.xpm \
|
||||
../pixmaps/tb_paste.xpm ../pixmaps/tb_find.xpm \
|
||||
@ -4266,86 +4246,86 @@ objects/gui_athena.o: gui_athena.c vim.h protodef.h auto/config.h feature.h \
|
||||
objects/gui_gtk_x11.o: gui_gtk_x11.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h auto/gui_gtk_gresources.h gui_gtk_f.h \
|
||||
proto.h errors.h globals.h auto/gui_gtk_gresources.h gui_gtk_f.h \
|
||||
../runtime/vim32x32.xpm ../runtime/vim16x16.xpm ../runtime/vim48x48.xpm
|
||||
objects/gui_x11.o: gui_x11.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h ../runtime/vim32x32.xpm ../runtime/vim16x16.xpm \
|
||||
proto.h errors.h globals.h ../runtime/vim32x32.xpm ../runtime/vim16x16.xpm \
|
||||
../runtime/vim48x48.xpm
|
||||
objects/gui_xim.o: gui_xim.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h ../runtime/vim32x32.xpm ../runtime/vim16x16.xpm \
|
||||
proto.h errors.h globals.h ../runtime/vim32x32.xpm ../runtime/vim16x16.xpm \
|
||||
../runtime/vim48x48.xpm
|
||||
objects/gui_at_sb.o: gui_at_sb.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h gui_at_sb.h
|
||||
proto.h errors.h globals.h gui_at_sb.h
|
||||
objects/gui_at_fs.o: gui_at_fs.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h gui_at_sb.h
|
||||
proto.h errors.h globals.h gui_at_sb.h
|
||||
objects/json_test.o: json_test.c main.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h json.c
|
||||
proto.h errors.h globals.h json.c
|
||||
objects/kword_test.o: kword_test.c main.c vim.h protodef.h auto/config.h \
|
||||
feature.h os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h \
|
||||
option.h beval.h proto/gui_beval.pro structs.h regexp.h gui.h alloc.h \
|
||||
ex_cmds.h spell.h proto.h globals.h charset.c
|
||||
ex_cmds.h spell.h proto.h errors.h globals.h charset.c
|
||||
objects/memfile_test.o: memfile_test.c main.c vim.h protodef.h auto/config.h \
|
||||
feature.h os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h \
|
||||
option.h beval.h proto/gui_beval.pro structs.h regexp.h gui.h alloc.h \
|
||||
ex_cmds.h spell.h proto.h globals.h memfile.c
|
||||
ex_cmds.h spell.h proto.h errors.h globals.h memfile.c
|
||||
objects/message_test.o: message_test.c main.c vim.h protodef.h auto/config.h \
|
||||
feature.h os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h \
|
||||
option.h beval.h proto/gui_beval.pro structs.h regexp.h gui.h alloc.h \
|
||||
ex_cmds.h spell.h proto.h globals.h message.c
|
||||
ex_cmds.h spell.h proto.h errors.h globals.h message.c
|
||||
objects/if_lua.o: if_lua.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/if_mzsch.o: if_mzsch.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h if_mzsch.h
|
||||
proto.h errors.h globals.h if_mzsch.h
|
||||
objects/if_perl.o: auto/if_perl.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/if_perlsfio.o: if_perlsfio.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/if_python.o: if_python.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h if_py_both.h
|
||||
proto.h errors.h globals.h if_py_both.h
|
||||
objects/if_python3.o: if_python3.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h if_py_both.h
|
||||
proto.h errors.h globals.h if_py_both.h
|
||||
objects/if_tcl.o: if_tcl.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/if_ruby.o: if_ruby.c protodef.h auto/config.h vim.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h version.h
|
||||
proto.h errors.h globals.h version.h
|
||||
objects/gui_beval.o: gui_beval.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/netbeans.o: netbeans.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h version.h
|
||||
proto.h errors.h globals.h version.h
|
||||
objects/channel.o: channel.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
proto.h errors.h globals.h
|
||||
objects/gui_gtk_gresources.o: auto/gui_gtk_gresources.c
|
||||
objects/vterm_encoding.o: libvterm/src/encoding.c libvterm/src/vterm_internal.h \
|
||||
libvterm/include/vterm.h libvterm/include/vterm_keycodes.h \
|
||||
@ -4376,7 +4356,7 @@ objects/xdiffi.o: xdiff/xdiffi.c xdiff/xinclude.h auto/config.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h \
|
||||
macros.h option.h beval.h proto/gui_beval.pro \
|
||||
structs.h regexp.h gui.h alloc.h \
|
||||
ex_cmds.h spell.h proto.h globals.h \
|
||||
ex_cmds.h spell.h proto.h errors.h globals.h \
|
||||
xdiff/xtypes.h xdiff/xutils.h xdiff/xprepare.h xdiff/xdiffi.h \
|
||||
xdiff/xemit.h
|
||||
objects/xemit.o: xdiff/xemit.c xdiff/xinclude.h auto/config.h \
|
||||
@ -4385,7 +4365,7 @@ objects/xemit.o: xdiff/xemit.c xdiff/xinclude.h auto/config.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h \
|
||||
macros.h option.h beval.h proto/gui_beval.pro \
|
||||
structs.h regexp.h gui.h alloc.h \
|
||||
ex_cmds.h spell.h proto.h globals.h \
|
||||
ex_cmds.h spell.h proto.h errors.h globals.h \
|
||||
xdiff/xtypes.h xdiff/xutils.h xdiff/xprepare.h xdiff/xdiffi.h \
|
||||
xdiff/xemit.h
|
||||
objects/xprepare.o: xdiff/xprepare.c xdiff/xinclude.h auto/config.h \
|
||||
@ -4394,7 +4374,7 @@ objects/xprepare.o: xdiff/xprepare.c xdiff/xinclude.h auto/config.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h \
|
||||
macros.h option.h beval.h proto/gui_beval.pro \
|
||||
structs.h regexp.h gui.h alloc.h \
|
||||
ex_cmds.h spell.h proto.h globals.h \
|
||||
ex_cmds.h spell.h proto.h errors.h globals.h \
|
||||
xdiff/xtypes.h xdiff/xutils.h xdiff/xprepare.h xdiff/xdiffi.h \
|
||||
xdiff/xemit.h
|
||||
objects/xutils.o: xdiff/xutils.c xdiff/xinclude.h auto/config.h \
|
||||
@ -4403,7 +4383,7 @@ objects/xutils.o: xdiff/xutils.c xdiff/xinclude.h auto/config.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h \
|
||||
macros.h option.h beval.h proto/gui_beval.pro \
|
||||
structs.h regexp.h gui.h alloc.h \
|
||||
ex_cmds.h spell.h proto.h globals.h \
|
||||
ex_cmds.h spell.h proto.h errors.h globals.h \
|
||||
xdiff/xtypes.h xdiff/xutils.h xdiff/xprepare.h xdiff/xdiffi.h \
|
||||
xdiff/xemit.h
|
||||
objects/xhistogram.o: xdiff/xhistogram.c xdiff/xinclude.h auto/config.h \
|
||||
@ -4412,7 +4392,7 @@ objects/xhistogram.o: xdiff/xhistogram.c xdiff/xinclude.h auto/config.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h \
|
||||
macros.h option.h beval.h proto/gui_beval.pro \
|
||||
structs.h regexp.h gui.h alloc.h \
|
||||
ex_cmds.h spell.h proto.h globals.h \
|
||||
ex_cmds.h spell.h proto.h errors.h globals.h \
|
||||
xdiff/xtypes.h xdiff/xutils.h xdiff/xprepare.h xdiff/xdiffi.h \
|
||||
xdiff/xemit.h
|
||||
objects/xpatience.o: xdiff/xpatience.c xdiff/xinclude.h auto/config.h \
|
||||
@ -4421,6 +4401,6 @@ objects/xpatience.o: xdiff/xpatience.c xdiff/xinclude.h auto/config.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h \
|
||||
macros.h option.h beval.h proto/gui_beval.pro \
|
||||
structs.h regexp.h gui.h alloc.h \
|
||||
ex_cmds.h spell.h proto.h globals.h \
|
||||
ex_cmds.h spell.h proto.h errors.h globals.h \
|
||||
xdiff/xtypes.h xdiff/xutils.h xdiff/xprepare.h xdiff/xdiffi.h \
|
||||
xdiff/xemit.h
|
||||
|
@ -776,10 +776,20 @@ ex_argdelete(exarg_T *eap)
|
||||
int i;
|
||||
int n;
|
||||
|
||||
if (eap->addr_count > 0)
|
||||
if (eap->addr_count > 0 || *eap->arg == NUL)
|
||||
{
|
||||
// ":1,4argdel": Delete all arguments in the range.
|
||||
if (eap->line2 > ARGCOUNT)
|
||||
// ":argdel" works like ":argdel"
|
||||
if (eap->addr_count == 0)
|
||||
{
|
||||
if (curwin->w_arg_idx >= ARGCOUNT)
|
||||
{
|
||||
emsg(_("E610: No argument to delete"));
|
||||
return;
|
||||
}
|
||||
eap->line1 = eap->line2 = curwin->w_arg_idx + 1;
|
||||
}
|
||||
else if (eap->line2 > ARGCOUNT)
|
||||
// ":1,4argdel": Delete all arguments in the range.
|
||||
eap->line2 = ARGCOUNT;
|
||||
n = eap->line2 - eap->line1 + 1;
|
||||
if (*eap->arg != NUL)
|
||||
@ -808,8 +818,6 @@ ex_argdelete(exarg_T *eap)
|
||||
curwin->w_arg_idx = ARGCOUNT - 1;
|
||||
}
|
||||
}
|
||||
else if (*eap->arg == NUL)
|
||||
emsg(_(e_argreq));
|
||||
else
|
||||
do_arglist(eap->arg, AL_DEL, 0, FALSE);
|
||||
#ifdef FEAT_TITLE
|
||||
|
118
src/auto/configure
vendored
118
src/auto/configure
vendored
@ -829,7 +829,6 @@ enable_gtk3_check
|
||||
enable_motif_check
|
||||
enable_athena_check
|
||||
enable_nextaw_check
|
||||
enable_carbon_check
|
||||
enable_gtktest
|
||||
with_gnome_includes
|
||||
with_gnome_libs
|
||||
@ -1509,7 +1508,6 @@ Optional Features:
|
||||
--enable-motif-check If auto-select GUI, check for Motif default=yes
|
||||
--enable-athena-check If auto-select GUI, check for Athena default=yes
|
||||
--enable-nextaw-check If auto-select GUI, check for neXtaw default=yes
|
||||
--enable-carbon-check If auto-select GUI, check for Carbon default=yes
|
||||
--disable-gtktest Do not try to compile and run a test GTK program
|
||||
--disable-icon-cache-update update disabled
|
||||
--disable-desktop-database-update update disabled
|
||||
@ -4747,7 +4745,21 @@ rm -f core conftest.err conftest.$ac_objext \
|
||||
OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
|
||||
CPPFLAGS="$CPPFLAGS -DMACOS_X_DARWIN"
|
||||
|
||||
# On IRIX 5.3, sys/types and inttypes.h are conflicting.
|
||||
if test -z "$with_x" -a "X$enable_gui" != Xmotif -a "X$enable_gui" != Xathena -a "X$enable_gui" != Xgtk2 -a "X$enable_gui" != Xgtk3; then
|
||||
with_x=no
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$MACARCH" = "intel" -o "$MACARCH" = "both"; then
|
||||
CFLAGS=`echo "$CFLAGS" | sed 's/-O[23456789]/-Oz/'`
|
||||
fi
|
||||
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
# On IRIX 5.3, sys/types and inttypes.h are conflicting.
|
||||
for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
|
||||
inttypes.h stdint.h unistd.h
|
||||
do :
|
||||
@ -4764,28 +4776,6 @@ fi
|
||||
done
|
||||
|
||||
|
||||
ac_fn_c_check_header_mongrel "$LINENO" "Carbon/Carbon.h" "ac_cv_header_Carbon_Carbon_h" "$ac_includes_default"
|
||||
if test "x$ac_cv_header_Carbon_Carbon_h" = xyes; then :
|
||||
CARBON=yes
|
||||
fi
|
||||
|
||||
|
||||
if test "x$CARBON" = "xyes"; then
|
||||
if test -z "$with_x" -a "X$enable_gui" != Xmotif -a "X$enable_gui" != Xathena -a "X$enable_gui" != Xgtk2 -a "X$enable_gui" != Xgtk3; then
|
||||
with_x=no
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$MACARCH" = "intel" -o "$MACARCH" = "both"; then
|
||||
CFLAGS=`echo "$CFLAGS" | sed 's/-O[23456789]/-Oz/'`
|
||||
fi
|
||||
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
for ac_header in AvailabilityMacros.h
|
||||
do :
|
||||
ac_fn_c_check_header_mongrel "$LINENO" "AvailabilityMacros.h" "ac_cv_header_AvailabilityMacros_h" "$ac_includes_default"
|
||||
@ -9212,7 +9202,6 @@ SKIP_ATHENA=YES
|
||||
SKIP_NEXTAW=YES
|
||||
SKIP_PHOTON=YES
|
||||
SKIP_HAIKU=YES
|
||||
SKIP_CARBON=YES
|
||||
GUITYPE=NONE
|
||||
|
||||
if test "x$HAIKU" = "xyes"; then
|
||||
@ -9248,24 +9237,17 @@ $as_echo "Sorry, $enable_gui GUI is not supported" >&6; }
|
||||
esac
|
||||
|
||||
elif test "x$MACOS_X" = "xyes" -a "x$with_x" = "xno" ; then
|
||||
SKIP_CARBON=
|
||||
case "$enable_gui_canon" in
|
||||
no) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no GUI support" >&5
|
||||
$as_echo "no GUI support" >&6; }
|
||||
SKIP_CARBON=YES ;;
|
||||
$as_echo "no GUI support" >&6; } ;;
|
||||
yes|"") { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes - automatic GUI support" >&5
|
||||
$as_echo "yes - automatic GUI support" >&6; }
|
||||
gui_auto=yes ;;
|
||||
auto) { $as_echo "$as_me:${as_lineno-$LINENO}: result: auto - Carbon GUI is outdated - disable GUI support" >&5
|
||||
$as_echo "auto - Carbon GUI is outdated - disable GUI support" >&6; }
|
||||
SKIP_CARBON=YES ;;
|
||||
carbon) { $as_echo "$as_me:${as_lineno-$LINENO}: result: Carbon GUI support" >&5
|
||||
$as_echo "Carbon GUI support" >&6; } ;;
|
||||
auto) { $as_echo "$as_me:${as_lineno-$LINENO}: result: auto - disable GUI support for Mac OS" >&5
|
||||
$as_echo "auto - disable GUI support for Mac OS" >&6; } ;;
|
||||
*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: Sorry, $enable_gui GUI is not supported" >&5
|
||||
$as_echo "Sorry, $enable_gui GUI is not supported" >&6; }
|
||||
SKIP_CARBON=YES ;;
|
||||
$as_echo "Sorry, $enable_gui GUI is not supported" >&6; } ;;
|
||||
esac
|
||||
|
||||
else
|
||||
|
||||
case "$enable_gui_canon" in
|
||||
@ -9278,8 +9260,7 @@ $as_echo "yes/auto - automatic GUI support" >&6; }
|
||||
SKIP_GNOME=
|
||||
SKIP_MOTIF=
|
||||
SKIP_ATHENA=
|
||||
SKIP_NEXTAW=
|
||||
SKIP_CARBON=;;
|
||||
SKIP_NEXTAW=;;
|
||||
gtk2) { $as_echo "$as_me:${as_lineno-$LINENO}: result: GTK+ 2.x GUI support" >&5
|
||||
$as_echo "GTK+ 2.x GUI support" >&6; }
|
||||
SKIP_GTK2=;;
|
||||
@ -9409,56 +9390,6 @@ $as_echo "$enable_nextaw_check" >&6; };
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$SKIP_CARBON" != "xYES" -a "$enable_gui_canon" != "carbon"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether or not to look for Carbon" >&5
|
||||
$as_echo_n "checking whether or not to look for Carbon... " >&6; }
|
||||
# Check whether --enable-carbon-check was given.
|
||||
if test "${enable_carbon_check+set}" = set; then :
|
||||
enableval=$enable_carbon_check;
|
||||
else
|
||||
enable_carbon_check="yes"
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_carbon_check" >&5
|
||||
$as_echo "$enable_carbon_check" >&6; };
|
||||
if test "x$enable_carbon_check" = "xno"; then
|
||||
SKIP_CARBON=YES
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if test "x$MACOS_X" = "xyes" -a -z "$SKIP_CARBON" -a "x$CARBON" = "xyes"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Carbon GUI" >&5
|
||||
$as_echo_n "checking for Carbon GUI... " >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; };
|
||||
GUITYPE=CARBONGUI
|
||||
if test "$VIMNAME" = "vim"; then
|
||||
VIMNAME=Vim
|
||||
fi
|
||||
|
||||
if test "x$MACARCH" = "xboth"; then
|
||||
CPPFLAGS="$CPPFLAGS -I$DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon"
|
||||
else
|
||||
CPPFLAGS="$CPPFLAGS -I$DEVELOPER_DIR/Headers/FlatCarbon"
|
||||
fi
|
||||
|
||||
if test x$prefix = xNONE; then
|
||||
prefix=/Applications
|
||||
fi
|
||||
|
||||
datadir='${prefix}/Vim.app/Contents/Resources'
|
||||
|
||||
SKIP_GTK2=YES;
|
||||
SKIP_GNOME=YES;
|
||||
SKIP_MOTIF=YES;
|
||||
SKIP_ATHENA=YES;
|
||||
SKIP_NEXTAW=YES;
|
||||
SKIP_PHOTON=YES;
|
||||
SKIP_HAIKU=YES;
|
||||
SKIP_CARBON=YES
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
@ -14860,11 +14791,7 @@ fi
|
||||
if test "$MACOS_X" = "yes"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need macOS frameworks" >&5
|
||||
$as_echo_n "checking whether we need macOS frameworks... " >&6; }
|
||||
if test "$GUITYPE" = "CARBONGUI"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, we need Carbon" >&5
|
||||
$as_echo "yes, we need Carbon" >&6; }
|
||||
LIBS="$LIBS -framework Carbon"
|
||||
elif test "$MACOS_X_DARWIN" = "yes"; then
|
||||
if test "$MACOS_X_DARWIN" = "yes"; then
|
||||
if test "$features" = "tiny"; then
|
||||
OS_EXTRA_SRC=`echo "$OS_EXTRA_SRC" | sed -e 's+os_macosx.m++'`
|
||||
OS_EXTRA_OBJ=`echo "$OS_EXTRA_OBJ" | sed -e 's+objects/os_macosx.o++'`
|
||||
@ -14881,9 +14808,6 @@ $as_echo "yes, we need AppKit" >&6; }
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
fi
|
||||
if test "x$MACARCH" = "xboth" && test "x$GUITYPE" = "xCARBONGUI"; then
|
||||
LDFLAGS="$LDFLAGS -isysroot $DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
|
||||
fi
|
||||
|
||||
DEPEND_CFLAGS_FILTER=
|
||||
if test "$GCC" = yes; then
|
||||
|
@ -4922,7 +4922,7 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
{
|
||||
if (!(supported & JO_MODE))
|
||||
break;
|
||||
opt->jo_noblock = tv_get_number(item);
|
||||
opt->jo_noblock = tv_get_bool(item);
|
||||
}
|
||||
else if (STRCMP(hi->hi_key, "in_io") == 0
|
||||
|| STRCMP(hi->hi_key, "out_io") == 0
|
||||
@ -4949,7 +4949,7 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
{
|
||||
if (!(supported & JO_MODE))
|
||||
break;
|
||||
opt->jo_pty = tv_get_number(item);
|
||||
opt->jo_pty = tv_get_bool(item);
|
||||
}
|
||||
else if (STRCMP(hi->hi_key, "in_buf") == 0
|
||||
|| STRCMP(hi->hi_key, "out_buf") == 0
|
||||
@ -4980,7 +4980,7 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
if (!(supported & JO_OUT_IO))
|
||||
break;
|
||||
opt->jo_set |= JO_OUT_MODIFIABLE << (part - PART_OUT);
|
||||
opt->jo_modifiable[part] = tv_get_number(item);
|
||||
opt->jo_modifiable[part] = tv_get_bool(item);
|
||||
}
|
||||
else if (STRCMP(hi->hi_key, "out_msg") == 0
|
||||
|| STRCMP(hi->hi_key, "err_msg") == 0)
|
||||
@ -4990,7 +4990,7 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
if (!(supported & JO_OUT_IO))
|
||||
break;
|
||||
opt->jo_set2 |= JO2_OUT_MSG << (part - PART_OUT);
|
||||
opt->jo_message[part] = tv_get_number(item);
|
||||
opt->jo_message[part] = tv_get_bool(item);
|
||||
}
|
||||
else if (STRCMP(hi->hi_key, "in_top") == 0
|
||||
|| STRCMP(hi->hi_key, "in_bot") == 0)
|
||||
@ -5184,7 +5184,7 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
if (!(supported2 & JO2_VERTICAL))
|
||||
break;
|
||||
opt->jo_set2 |= JO2_VERTICAL;
|
||||
opt->jo_vertical = tv_get_number(item);
|
||||
opt->jo_vertical = tv_get_bool(item);
|
||||
}
|
||||
else if (STRCMP(hi->hi_key, "curwin") == 0)
|
||||
{
|
||||
@ -5224,14 +5224,14 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
if (!(supported2 & JO2_HIDDEN))
|
||||
break;
|
||||
opt->jo_set2 |= JO2_HIDDEN;
|
||||
opt->jo_hidden = tv_get_number(item);
|
||||
opt->jo_hidden = tv_get_bool(item);
|
||||
}
|
||||
else if (STRCMP(hi->hi_key, "norestore") == 0)
|
||||
{
|
||||
if (!(supported2 & JO2_NORESTORE))
|
||||
break;
|
||||
opt->jo_set2 |= JO2_NORESTORE;
|
||||
opt->jo_term_norestore = tv_get_number(item);
|
||||
opt->jo_term_norestore = tv_get_bool(item);
|
||||
}
|
||||
else if (STRCMP(hi->hi_key, "term_kill") == 0)
|
||||
{
|
||||
|
@ -596,7 +596,8 @@ build_drop_cmd(
|
||||
ga_concat(&ga, cdp);
|
||||
|
||||
// Call inputsave() so that a prompt for an encryption key works.
|
||||
ga_concat(&ga, (char_u *)"<CR>:if exists('*inputsave')|call inputsave()|endif|");
|
||||
ga_concat(&ga, (char_u *)
|
||||
"<CR>:if exists('*inputsave')|call inputsave()|endif|");
|
||||
if (tabs)
|
||||
ga_concat(&ga, (char_u *)"tab ");
|
||||
ga_concat(&ga, (char_u *)"drop");
|
||||
@ -621,7 +622,8 @@ build_drop_cmd(
|
||||
ga_concat(&ga, p);
|
||||
vim_free(p);
|
||||
}
|
||||
ga_concat(&ga, (char_u *)"|if exists('*inputrestore')|call inputrestore()|endif<CR>");
|
||||
ga_concat(&ga, (char_u *)
|
||||
"|if exists('*inputrestore')|call inputrestore()|endif<CR>");
|
||||
|
||||
// The :drop commands goes to Insert mode when 'insertmode' is set, use
|
||||
// CTRL-\ CTRL-N again.
|
||||
|
@ -263,15 +263,11 @@ if test "`(uname) 2>/dev/null`" = Darwin; then
|
||||
dnl Removed -no-cpp-precomp, only for very old compilers.
|
||||
CPPFLAGS="$CPPFLAGS -DMACOS_X_DARWIN"
|
||||
|
||||
dnl If Carbon is found, assume we don't want X11
|
||||
dnl unless it was specifically asked for (--with-x)
|
||||
dnl or Motif, Athena or GTK GUI is used.
|
||||
AC_CHECK_HEADER(Carbon/Carbon.h, CARBON=yes)
|
||||
if test "x$CARBON" = "xyes"; then
|
||||
if test -z "$with_x" -a "X$enable_gui" != Xmotif -a "X$enable_gui" != Xathena -a "X$enable_gui" != Xgtk2 -a "X$enable_gui" != Xgtk3; then
|
||||
with_x=no
|
||||
fi
|
||||
fi
|
||||
dnl Assume we don't want X11 unless it was specifically asked for
|
||||
dnl (--with-x) or Motif, Athena or GTK GUI is used.
|
||||
if test -z "$with_x" -a "X$enable_gui" != Xmotif -a "X$enable_gui" != Xathena -a "X$enable_gui" != Xgtk2 -a "X$enable_gui" != Xgtk3; then
|
||||
with_x=no
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl Avoid a bug with -O2 with gcc 4.0.1. Symptom: malloc() reports double
|
||||
@ -2406,7 +2402,6 @@ SKIP_ATHENA=YES
|
||||
SKIP_NEXTAW=YES
|
||||
SKIP_PHOTON=YES
|
||||
SKIP_HAIKU=YES
|
||||
SKIP_CARBON=YES
|
||||
GUITYPE=NONE
|
||||
|
||||
if test "x$HAIKU" = "xyes"; then
|
||||
@ -2433,19 +2428,13 @@ elif test "x$QNX" = "xyes" -a "x$with_x" = "xno" ; then
|
||||
esac
|
||||
|
||||
elif test "x$MACOS_X" = "xyes" -a "x$with_x" = "xno" ; then
|
||||
SKIP_CARBON=
|
||||
case "$enable_gui_canon" in
|
||||
no) AC_MSG_RESULT(no GUI support)
|
||||
SKIP_CARBON=YES ;;
|
||||
no) AC_MSG_RESULT(no GUI support) ;;
|
||||
yes|"") AC_MSG_RESULT(yes - automatic GUI support)
|
||||
gui_auto=yes ;;
|
||||
auto) AC_MSG_RESULT(auto - Carbon GUI is outdated - disable GUI support)
|
||||
SKIP_CARBON=YES ;;
|
||||
carbon) AC_MSG_RESULT(Carbon GUI support) ;;
|
||||
*) AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported])
|
||||
SKIP_CARBON=YES ;;
|
||||
auto) AC_MSG_RESULT(auto - disable GUI support for Mac OS) ;;
|
||||
*) AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported]) ;;
|
||||
esac
|
||||
|
||||
else
|
||||
|
||||
case "$enable_gui_canon" in
|
||||
@ -2456,8 +2445,7 @@ else
|
||||
SKIP_GNOME=
|
||||
SKIP_MOTIF=
|
||||
SKIP_ATHENA=
|
||||
SKIP_NEXTAW=
|
||||
SKIP_CARBON=;;
|
||||
SKIP_NEXTAW=;;
|
||||
gtk2) AC_MSG_RESULT(GTK+ 2.x GUI support)
|
||||
SKIP_GTK2=;;
|
||||
gnome2) AC_MSG_RESULT(GNOME 2.x GUI support)
|
||||
@ -2544,52 +2532,6 @@ if test "x$SKIP_NEXTAW" != "xYES" -a "$enable_gui_canon" != "nextaw"; then
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$SKIP_CARBON" != "xYES" -a "$enable_gui_canon" != "carbon"; then
|
||||
AC_MSG_CHECKING(whether or not to look for Carbon)
|
||||
AC_ARG_ENABLE(carbon-check,
|
||||
[ --enable-carbon-check If auto-select GUI, check for Carbon [default=yes]],
|
||||
, enable_carbon_check="yes")
|
||||
AC_MSG_RESULT($enable_carbon_check);
|
||||
if test "x$enable_carbon_check" = "xno"; then
|
||||
SKIP_CARBON=YES
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if test "x$MACOS_X" = "xyes" -a -z "$SKIP_CARBON" -a "x$CARBON" = "xyes"; then
|
||||
AC_MSG_CHECKING(for Carbon GUI)
|
||||
dnl already did the check, just give the message
|
||||
AC_MSG_RESULT(yes);
|
||||
GUITYPE=CARBONGUI
|
||||
if test "$VIMNAME" = "vim"; then
|
||||
VIMNAME=Vim
|
||||
fi
|
||||
|
||||
if test "x$MACARCH" = "xboth"; then
|
||||
CPPFLAGS="$CPPFLAGS -I$DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon"
|
||||
else
|
||||
CPPFLAGS="$CPPFLAGS -I$DEVELOPER_DIR/Headers/FlatCarbon"
|
||||
fi
|
||||
|
||||
dnl Default install directory is not /usr/local
|
||||
if test x$prefix = xNONE; then
|
||||
prefix=/Applications
|
||||
fi
|
||||
|
||||
dnl Sorry for the hard coded default
|
||||
datadir='${prefix}/Vim.app/Contents/Resources'
|
||||
|
||||
dnl skip everything else
|
||||
SKIP_GTK2=YES;
|
||||
SKIP_GNOME=YES;
|
||||
SKIP_MOTIF=YES;
|
||||
SKIP_ATHENA=YES;
|
||||
SKIP_NEXTAW=YES;
|
||||
SKIP_PHOTON=YES;
|
||||
SKIP_HAIKU=YES;
|
||||
SKIP_CARBON=YES
|
||||
fi
|
||||
|
||||
dnl define an autoconf function to check for a specified version of GTK, and
|
||||
dnl try to compile/link a GTK program.
|
||||
dnl
|
||||
@ -4454,10 +4396,7 @@ fi
|
||||
|
||||
if test "$MACOS_X" = "yes"; then
|
||||
AC_MSG_CHECKING([whether we need macOS frameworks])
|
||||
if test "$GUITYPE" = "CARBONGUI"; then
|
||||
AC_MSG_RESULT([yes, we need Carbon])
|
||||
LIBS="$LIBS -framework Carbon"
|
||||
elif test "$MACOS_X_DARWIN" = "yes"; then
|
||||
if test "$MACOS_X_DARWIN" = "yes"; then
|
||||
if test "$features" = "tiny"; then
|
||||
dnl Since no FEAT_CLIPBOARD, no longer need for os_macosx.m.
|
||||
OS_EXTRA_SRC=`echo "$OS_EXTRA_SRC" | sed -e 's+os_macosx.m++'`
|
||||
@ -4472,9 +4411,6 @@ if test "$MACOS_X" = "yes"; then
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
fi
|
||||
if test "x$MACARCH" = "xboth" && test "x$GUITYPE" = "xCARBONGUI"; then
|
||||
LDFLAGS="$LDFLAGS -isysroot $DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
|
||||
fi
|
||||
|
||||
dnl gcc 3.1 changed the meaning of -MM. The only solution appears to be to
|
||||
dnl use "-isystem" instead of "-I" for all non-Vim include dirs.
|
||||
|
37
src/dict.c
37
src/dict.c
@ -702,6 +702,21 @@ dict_get_number_check(dict_T *d, char_u *key)
|
||||
return tv_get_number(&di->di_tv);
|
||||
}
|
||||
|
||||
/*
|
||||
* Get a bool item (number or true/false) from a dictionary.
|
||||
* Returns "def" if the entry doesn't exist.
|
||||
*/
|
||||
varnumber_T
|
||||
dict_get_bool(dict_T *d, char_u *key, int def)
|
||||
{
|
||||
dictitem_T *di;
|
||||
|
||||
di = dict_find(d, key, -1);
|
||||
if (di == NULL)
|
||||
return def;
|
||||
return tv_get_bool(&di->di_tv);
|
||||
}
|
||||
|
||||
/*
|
||||
* Return an allocated string with the string representation of a Dictionary.
|
||||
* May return NULL.
|
||||
@ -781,7 +796,7 @@ get_literal_key(char_u **arg, typval_T *tv)
|
||||
tv->v_type = VAR_STRING;
|
||||
tv->vval.v_string = vim_strnsave(*arg, p - *arg);
|
||||
|
||||
*arg = skipwhite(p);
|
||||
*arg = p;
|
||||
return OK;
|
||||
}
|
||||
|
||||
@ -845,7 +860,12 @@ eval_dict(char_u **arg, typval_T *rettv, evalarg_T *evalarg, int literal)
|
||||
if (**arg != ':')
|
||||
{
|
||||
if (evaluate)
|
||||
semsg(_(e_missing_dict_colon), *arg);
|
||||
{
|
||||
if (*skipwhite(*arg) == ':')
|
||||
semsg(_(e_no_white_space_allowed_before), ":");
|
||||
else
|
||||
semsg(_(e_missing_dict_colon), *arg);
|
||||
}
|
||||
clear_tv(&tvkey);
|
||||
goto failret;
|
||||
}
|
||||
@ -861,7 +881,7 @@ eval_dict(char_u **arg, typval_T *rettv, evalarg_T *evalarg, int literal)
|
||||
}
|
||||
if (vim9script && (*arg)[1] != NUL && !VIM_ISWHITE((*arg)[1]))
|
||||
{
|
||||
semsg(_(e_white_after), ":");
|
||||
semsg(_(e_white_space_required_after), ":");
|
||||
clear_tv(&tvkey);
|
||||
goto failret;
|
||||
}
|
||||
@ -904,7 +924,7 @@ eval_dict(char_u **arg, typval_T *rettv, evalarg_T *evalarg, int literal)
|
||||
{
|
||||
if (vim9script && (*arg)[1] != NUL && !VIM_ISWHITE((*arg)[1]))
|
||||
{
|
||||
semsg(_(e_white_after), ",");
|
||||
semsg(_(e_white_space_required_after), ",");
|
||||
goto failret;
|
||||
}
|
||||
*arg = skipwhite(*arg + 1);
|
||||
@ -917,7 +937,12 @@ eval_dict(char_u **arg, typval_T *rettv, evalarg_T *evalarg, int literal)
|
||||
if (!had_comma)
|
||||
{
|
||||
if (evaluate)
|
||||
semsg(_(e_missing_dict_comma), *arg);
|
||||
{
|
||||
if (**arg == ',')
|
||||
semsg(_(e_no_white_space_allowed_before), ",");
|
||||
else
|
||||
semsg(_(e_missing_dict_comma), *arg);
|
||||
}
|
||||
goto failret;
|
||||
}
|
||||
}
|
||||
@ -966,7 +991,7 @@ dict_extend(dict_T *d1, dict_T *d2, char_u *action)
|
||||
// Check the key to be valid when adding to any scope.
|
||||
if (d1->dv_scope == VAR_DEF_SCOPE
|
||||
&& HI2DI(hi2)->di_tv.v_type == VAR_FUNC
|
||||
&& var_check_func_name(hi2->hi_key, di1 == NULL))
|
||||
&& var_wrong_func_name(hi2->hi_key, di1 == NULL))
|
||||
break;
|
||||
if (!valid_varname(hi2->hi_key))
|
||||
break;
|
||||
|
240
src/errors.h
Normal file
240
src/errors.h
Normal file
@ -0,0 +1,240 @@
|
||||
/* vi:set ts=8 sts=4 sw=4 noet:
|
||||
*
|
||||
* VIM - Vi IMproved by Bram Moolenaar
|
||||
*
|
||||
* Do ":help uganda" in Vim to read copying and usage conditions.
|
||||
* Do ":help credits" in Vim to see a list of people who contributed.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Definition of error messages, sorted on error number.
|
||||
*/
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
EXTERN char e_undefined_variable_str[]
|
||||
INIT(= N_("E121: Undefined variable: %s"));
|
||||
EXTERN char e_undefined_variable_char_str[]
|
||||
INIT(= N_("E121: Undefined variable: %c:%s"));
|
||||
#endif
|
||||
EXTERN char e_invalid_command[]
|
||||
INIT(= N_("E476: Invalid command"));
|
||||
#ifdef FEAT_EVAL
|
||||
EXTERN char e_invalid_command_str[]
|
||||
INIT(= N_("E476: Invalid command: %s"));
|
||||
EXTERN char e_cannot_slice_dictionary[]
|
||||
INIT(= N_("E719: cannot slice a Dictionary"));
|
||||
EXTERN char e_cannot_index_special_variable[]
|
||||
INIT(= N_("E909: Cannot index a special variable"));
|
||||
EXTERN char e_missing_let_str[]
|
||||
INIT(= N_("E1100: Missing :let: %s"));
|
||||
EXTERN char e_variable_not_found_str[]
|
||||
INIT(= N_("E1001: variable not found: %s"));
|
||||
EXTERN char e_syntax_error_at_str[]
|
||||
INIT(= N_("E1002: Syntax error at %s"));
|
||||
EXTERN char e_missing_return_value[]
|
||||
INIT(= N_("E1003: Missing return value"));
|
||||
EXTERN char e_white_space_required_before_and_after[]
|
||||
INIT(= N_("E1004: white space required before and after '%s'"));
|
||||
EXTERN char e_too_many_argument_types[]
|
||||
INIT(= N_("E1005: Too many argument types"));
|
||||
EXTERN char e_str_is_used_as_argument[]
|
||||
INIT(= N_("E1006: %s is used as an argument"));
|
||||
EXTERN char e_mandatory_argument_after_optional_argument[]
|
||||
INIT(= N_("E1007: mandatory argument after optional argument"));
|
||||
EXTERN char e_missing_type[]
|
||||
INIT(= N_("E1008: Missing <type>"));
|
||||
EXTERN char e_missing_gt_after_type[]
|
||||
INIT(= N_("E1009: Missing > after type"));
|
||||
EXTERN char e_type_not_recognized_str[]
|
||||
INIT(= N_("E1010: Type not recognized: %s"));
|
||||
EXTERN char e_name_too_long_str[]
|
||||
INIT(= N_("E1011: name too long: %s"));
|
||||
EXTERN char e_type_mismatch_expected_str_but_got_str[]
|
||||
INIT(= N_("E1012: type mismatch, expected %s but got %s"));
|
||||
EXTERN char e_argument_nr_type_mismatch_expected_str_but_got_str[]
|
||||
INIT(= N_("E1013: argument %d: type mismatch, expected %s but got %s"));
|
||||
EXTERN char e_invalid_key_str[]
|
||||
INIT(= N_("E1014: Invalid key: %s"));
|
||||
EXTERN char e_name_expected[]
|
||||
INIT(= N_("E1015: Name expected: %s"));
|
||||
EXTERN char e_cannot_declare_a_scope_variable[]
|
||||
INIT(= N_("E1016: Cannot declare a %s variable: %s"));
|
||||
EXTERN char e_cannot_declare_an_environment_variable[]
|
||||
INIT(= N_("E1016: Cannot declare an environment variable: %s"));
|
||||
EXTERN char e_variable_already_declared[]
|
||||
INIT(= N_("E1017: Variable already declared: %s"));
|
||||
EXTERN char e_cannot_assign_to_constant[]
|
||||
INIT(= N_("E1018: Cannot assign to a constant: %s"));
|
||||
EXTERN char e_can_only_concatenate_to_string[]
|
||||
INIT(= N_("E1019: Can only concatenate to string"));
|
||||
EXTERN char e_cannot_use_operator_on_new_variable[]
|
||||
INIT(= N_("E1020: cannot use an operator on a new variable: %s"));
|
||||
EXTERN char e_const_requires_a_value[]
|
||||
INIT(= N_("E1021: const requires a value"));
|
||||
EXTERN char e_type_or_initialization_required[]
|
||||
INIT(= N_("E1022: type or initialization required"));
|
||||
// E1023 unused
|
||||
EXTERN char e_using_number_as_string[]
|
||||
INIT(= N_("E1024: Using a Number as a String"));
|
||||
EXTERN char e_using_rcurly_outside_if_block_scope[]
|
||||
INIT(= N_("E1025: using } outside of a block scope"));
|
||||
EXTERN char e_missing_rcurly[]
|
||||
INIT(= N_("E1026: Missing }"));
|
||||
EXTERN char e_missing_return_statement[]
|
||||
INIT(= N_("E1027: Missing return statement"));
|
||||
EXTERN char e_compile_def_function_failed[]
|
||||
INIT(= N_("E1028: compile_def_function failed"));
|
||||
EXTERN char e_expected_str_but_got_str[]
|
||||
INIT(= N_("E1029: Expected %s but got %s"));
|
||||
EXTERN char e_using_string_as_number[]
|
||||
INIT(= N_("E1030: Using a String as a Number"));
|
||||
EXTERN char e_cannot_use_void_value[]
|
||||
INIT(= N_("E1031: Cannot use void value"));
|
||||
EXTERN char e_missing_catch_or_finally[]
|
||||
INIT(= N_("E1032: missing :catch or :finally"));
|
||||
EXTERN char e_catch_unreachable_after_catch_all[]
|
||||
INIT(= N_("E1033: catch unreachable after catch-all"));
|
||||
EXTERN char e_cannot_use_reserved_name[]
|
||||
INIT(= N_("E1034: Cannot use reserved name %s"));
|
||||
EXTERN char e_percent_requires_number_arguments[]
|
||||
INIT(= N_("E1035: % requires number arguments"));
|
||||
EXTERN char e_char_requires_number_or_float_arguments[]
|
||||
INIT(= N_("E1036: %c requires number or float arguments"));
|
||||
EXTERN char e_cannot_use_str_with_str[]
|
||||
INIT(= N_("E1037: Cannot use \"%s\" with %s"));
|
||||
EXTERN char e_vim9script_can_only_be_used_in_script[]
|
||||
INIT(= N_("E1038: vim9script can only be used in a script"));
|
||||
EXTERN char e_vim9script_must_be_first_command_in_script[]
|
||||
INIT(= N_("E1039: vim9script must be the first command in a script"));
|
||||
EXTERN char e_cannot_use_scriptversion_after_vim9script[]
|
||||
INIT(= N_("E1040: Cannot use :scriptversion after :vim9script"));
|
||||
EXTERN char e_redefining_script_item_str[]
|
||||
INIT(= N_("E1041: Redefining script item %s"));
|
||||
EXTERN char e_export_can_only_be_used_in_vim9script[]
|
||||
INIT(= N_("E1042: export can only be used in vim9script"));
|
||||
EXTERN char e_invalid_command_after_export[]
|
||||
INIT(= N_("E1043: Invalid command after :export"));
|
||||
EXTERN char e_export_with_invalid_argument[]
|
||||
INIT(= N_("E1044: export with invalid argument"));
|
||||
EXTERN char e_missing_as_after_star[]
|
||||
INIT(= N_("E1045: Missing \"as\" after *"));
|
||||
EXTERN char e_missing_comma_in_import[]
|
||||
INIT(= N_("E1046: Missing comma in import"));
|
||||
EXTERN char e_syntax_error_in_import[]
|
||||
INIT(= N_("E1047: syntax error in import"));
|
||||
EXTERN char e_item_not_found_in_script_str[]
|
||||
INIT(= N_("E1048: Item not found in script: %s"));
|
||||
EXTERN char e_item_not_exported_in_script_str[]
|
||||
INIT(= N_("E1049: Item not exported in script: %s"));
|
||||
EXTERN char e_colon_required_before_a_range[]
|
||||
INIT(= N_("E1050: Colon required before a range"));
|
||||
EXTERN char e_wrong_argument_type_for_plus[]
|
||||
INIT(= N_("E1051: wrong argument type for +"));
|
||||
EXTERN char e_cannot_declare_an_option[]
|
||||
INIT(= N_("E1052: Cannot declare an option: %s"));
|
||||
EXTERN char e_could_not_import_str[]
|
||||
INIT(= N_("E1053: Could not import \"%s\""));
|
||||
EXTERN char e_variable_already_declared_in_script[]
|
||||
INIT(= N_("E1054: Variable already declared in the script: %s"));
|
||||
EXTERN char e_missing_name_after_dots[]
|
||||
INIT(= N_("E1055: Missing name after ..."));
|
||||
EXTERN char e_expected_type_str[]
|
||||
INIT(= N_("E1056: expected a type: %s"));
|
||||
EXTERN char e_missing_enddef[]
|
||||
INIT(= N_("E1057: Missing :enddef"));
|
||||
EXTERN char e_function_nesting_too_deep[]
|
||||
INIT(= N_("E1058: function nesting too deep"));
|
||||
EXTERN char e_no_white_space_allowed_before_colon_str[]
|
||||
INIT(= N_("E1059: No white space allowed before colon: %s"));
|
||||
EXTERN char e_expected_dot_after_name_str[]
|
||||
INIT(= N_("E1060: expected dot after name: %s"));
|
||||
EXTERN char e_cannot_find_function_str[]
|
||||
INIT(= N_("E1061: Cannot find function %s"));
|
||||
EXTERN char e_cannot_index_number[]
|
||||
INIT(= N_("E1062: Cannot index a Number"));
|
||||
EXTERN char e_type_mismatch_for_v_variable[]
|
||||
INIT(= N_("E1063: type mismatch for v: variable"));
|
||||
// E1064 unused
|
||||
// E1065 unused
|
||||
EXTERN char e_cannot_declare_a_register[]
|
||||
INIT(= N_("E1066: Cannot declare a register: %s"));
|
||||
EXTERN char e_separator_mismatch[]
|
||||
INIT(= N_("E1067: Separator mismatch: %s"));
|
||||
EXTERN char e_no_white_space_allowed_before[]
|
||||
INIT(= N_("E1068: No white space allowed before '%s'"));
|
||||
EXTERN char e_white_space_required_after[]
|
||||
INIT(= N_("E1069: white space required after '%s'"));
|
||||
EXTERN char e_missing_from[]
|
||||
INIT(= N_("E1070: Missing \"from\""));
|
||||
EXTERN char e_invalid_string_after_from[]
|
||||
INIT(= N_("E1071: Invalid string after \"from\""));
|
||||
EXTERN char e_cannot_compare_str_with_str[]
|
||||
INIT(= N_("E1072: Cannot compare %s with %s"));
|
||||
EXTERN char e_name_already_defined[]
|
||||
INIT(= N_("E1073: name already defined: %s"));
|
||||
EXTERN char e_no_white_space_allowed_after_dot[]
|
||||
INIT(= N_("E1074: no white space allowed after dot"));
|
||||
EXTERN char e_namespace_not_supported_str[]
|
||||
INIT(= N_("E1075: Namespace not supported: %s"));
|
||||
EXTERN char e_this_vim_is_not_compiled_with_float_support[]
|
||||
INIT(= N_("E1076: This Vim is not compiled with float support"));
|
||||
EXTERN char e_missing_argument_type_for_str[]
|
||||
INIT(= N_("E1077: Missing argument type for %s"));
|
||||
// E1078 unused
|
||||
// E1079 unused
|
||||
// E1080 unused
|
||||
EXTERN char e_cannot_unlet_str[]
|
||||
INIT(= N_("E1081: Cannot unlet %s"));
|
||||
EXTERN char e_cannot_use_namespaced_variable[]
|
||||
INIT(= N_("E1082: Cannot use a namespaced variable: %s"));
|
||||
EXTERN char e_missing_backtick[]
|
||||
INIT(= N_("E1083: missing backtick"));
|
||||
EXTERN char e_cannot_delete_vim9_script_function_str[]
|
||||
INIT(= N_("E1084: Cannot delete Vim9 script function %s"));
|
||||
EXTERN char e_not_callable_type_str[]
|
||||
INIT(= N_("E1085: Not a callable type: %s"));
|
||||
EXTERN char e_cannot_use_function_inside_def[]
|
||||
INIT(= N_("E1086: Cannot use :function inside :def"));
|
||||
EXTERN char e_cannot_use_index_when_declaring_variable[]
|
||||
INIT(= N_("E1087: cannot use an index when declaring a variable"));
|
||||
// E1088 unused
|
||||
EXTERN char e_unknown_variable_str[]
|
||||
INIT(= N_("E1089: unknown variable: %s"));
|
||||
EXTERN char e_cannot_assign_to_argument[]
|
||||
INIT(= N_("E1090: Cannot assign to argument %s"));
|
||||
EXTERN char e_function_is_not_compiled_str[]
|
||||
INIT(= N_("E1091: Function is not compiled: %s"));
|
||||
EXTERN char e_cannot_use_list_for_declaration[]
|
||||
INIT(= N_("E1092: Cannot use a list for a declaration"));
|
||||
EXTERN char e_expected_nr_items_but_got_nr[]
|
||||
INIT(= N_("E1093: Expected %d items but got %d"));
|
||||
EXTERN char e_import_can_only_be_used_in_script[]
|
||||
INIT(= N_("E1094: import can only be used in a script"));
|
||||
EXTERN char e_unreachable_code_after_return[]
|
||||
INIT(= N_("E1095: Unreachable code after :return"));
|
||||
EXTERN char e_returning_value_in_function_without_return_type[]
|
||||
INIT(= N_("E1096: Returning a value in a function without a return type"));
|
||||
EXTERN char e_line_incomplete[]
|
||||
INIT(= N_("E1097: line incomplete"));
|
||||
// E1098 unused
|
||||
EXTERN char e_unknown_error_while_executing_str[]
|
||||
INIT(= N_("E1099: Unknown error while executing %s"));
|
||||
EXTERN char e_cannot_declare_script_variable_in_function[]
|
||||
INIT(= N_("E1101: Cannot declare a script variable in a function: %s"));
|
||||
EXTERN char e_lambda_function_not_found_str[]
|
||||
INIT(= N_("E1102: lambda function not found: %s"));
|
||||
EXTERN char e_dictionary_not_set[]
|
||||
INIT(= N_("E1103: Dictionary not set"));
|
||||
EXTERN char e_missing_gt[]
|
||||
INIT(= N_("E1104: Missing >"));
|
||||
EXTERN char e_cannot_convert_str_to_string[]
|
||||
INIT(= N_("E1105: Cannot convert %s to string"));
|
||||
EXTERN char e_one_argument_too_many[]
|
||||
INIT(= N_("E1106: one argument too many"));
|
||||
EXTERN char e_nr_arguments_too_many[]
|
||||
INIT(= N_("E1106: %d arguments too many"));
|
||||
EXTERN char e_string_list_dict_or_blob_required[]
|
||||
INIT(= N_("E1107: String, List, Dict or Blob required"));
|
||||
EXTERN char e_item_not_found_str[]
|
||||
INIT(= N_("E1108: Item not found: %s"));
|
||||
#endif
|
580
src/eval.c
580
src/eval.c
@ -20,8 +20,6 @@
|
||||
# include <float.h>
|
||||
#endif
|
||||
|
||||
static char *e_dictrange = N_("E719: Cannot use [:] with a Dictionary");
|
||||
|
||||
#define NAMESPACE_CHAR (char_u *)"abglstvw"
|
||||
|
||||
/*
|
||||
@ -192,7 +190,10 @@ eval_to_bool(
|
||||
*error = FALSE;
|
||||
if (!skip)
|
||||
{
|
||||
retval = (tv_get_number_chk(&tv, error) != 0);
|
||||
if (in_vim9script())
|
||||
retval = tv2bool(&tv);
|
||||
else
|
||||
retval = (tv_get_number_chk(&tv, error) != 0);
|
||||
clear_tv(&tv);
|
||||
}
|
||||
}
|
||||
@ -517,6 +518,7 @@ eval_to_string(
|
||||
/*
|
||||
* Call eval_to_string() without using current local variables and using
|
||||
* textwinlock. When "use_sandbox" is TRUE use the sandbox.
|
||||
* Use legacy Vim script syntax.
|
||||
*/
|
||||
char_u *
|
||||
eval_to_string_safe(
|
||||
@ -525,7 +527,9 @@ eval_to_string_safe(
|
||||
{
|
||||
char_u *retval;
|
||||
funccal_entry_T funccal_entry;
|
||||
int save_sc_version = current_sctx.sc_version;
|
||||
|
||||
current_sctx.sc_version = 1;
|
||||
save_funccal(&funccal_entry);
|
||||
if (use_sandbox)
|
||||
++sandbox;
|
||||
@ -535,6 +539,7 @@ eval_to_string_safe(
|
||||
--sandbox;
|
||||
--textwinlock;
|
||||
restore_funccal();
|
||||
current_sctx.sc_version = save_sc_version;
|
||||
return retval;
|
||||
}
|
||||
|
||||
@ -820,14 +825,23 @@ get_lval(
|
||||
{
|
||||
lp->ll_name = name;
|
||||
|
||||
if (in_vim9script() && *p == ':')
|
||||
if (in_vim9script())
|
||||
{
|
||||
scriptitem_T *si = SCRIPT_ITEM(current_sctx.sc_sid);
|
||||
char_u *tp = skipwhite(p + 1);
|
||||
// "a: type" is declaring variable "a" with a type, not "a:".
|
||||
if (p == name + 2 && p[-1] == ':')
|
||||
{
|
||||
--p;
|
||||
lp->ll_name_end = p;
|
||||
}
|
||||
if (*p == ':')
|
||||
{
|
||||
scriptitem_T *si = SCRIPT_ITEM(current_sctx.sc_sid);
|
||||
char_u *tp = skipwhite(p + 1);
|
||||
|
||||
// parse the type after the name
|
||||
lp->ll_type = parse_type(&tp, &si->sn_type_list);
|
||||
lp->ll_name_end = tp;
|
||||
// parse the type after the name
|
||||
lp->ll_type = parse_type(&tp, &si->sn_type_list);
|
||||
lp->ll_name_end = tp;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -842,7 +856,7 @@ get_lval(
|
||||
v = find_var(lp->ll_name, (flags & GLV_READ_ONLY) ? NULL : &ht,
|
||||
flags & GLV_NO_AUTOLOAD);
|
||||
if (v == NULL && !quiet)
|
||||
semsg(_(e_undefvar), lp->ll_name);
|
||||
semsg(_(e_undefined_variable_str), lp->ll_name);
|
||||
*p = cc;
|
||||
if (v == NULL)
|
||||
return NULL;
|
||||
@ -912,7 +926,7 @@ get_lval(
|
||||
if (lp->ll_tv->v_type == VAR_DICT)
|
||||
{
|
||||
if (!quiet)
|
||||
emsg(_(e_dictrange));
|
||||
emsg(_(e_cannot_slice_dictionary));
|
||||
clear_tv(&var1);
|
||||
return NULL;
|
||||
}
|
||||
@ -998,7 +1012,7 @@ get_lval(
|
||||
prevval = 0; // avoid compiler warning
|
||||
wrong = (lp->ll_dict->dv_scope == VAR_DEF_SCOPE
|
||||
&& rettv->v_type == VAR_FUNC
|
||||
&& var_check_func_name(key, lp->ll_di == NULL))
|
||||
&& var_wrong_func_name(key, lp->ll_di == NULL))
|
||||
|| !valid_varname(key);
|
||||
if (len != -1)
|
||||
key[len] = prevval;
|
||||
@ -1204,6 +1218,8 @@ set_var_lval(
|
||||
semsg(_(e_letwrong), op);
|
||||
return;
|
||||
}
|
||||
if (var_check_lock(lp->ll_blob->bv_lock, lp->ll_name, FALSE))
|
||||
return;
|
||||
|
||||
if (lp->ll_range && rettv->v_type == VAR_BLOB)
|
||||
{
|
||||
@ -2126,7 +2142,9 @@ eval1(char_u **arg, typval_T *rettv, evalarg_T *evalarg)
|
||||
{
|
||||
int error = FALSE;
|
||||
|
||||
if (tv_get_number_chk(rettv, &error) != 0)
|
||||
if (in_vim9script())
|
||||
result = tv2bool(rettv);
|
||||
else if (tv_get_number_chk(rettv, &error) != 0)
|
||||
result = TRUE;
|
||||
clear_tv(rettv);
|
||||
if (error)
|
||||
@ -2700,7 +2718,7 @@ eval5(char_u **arg, typval_T *rettv, evalarg_T *evalarg)
|
||||
return FAIL;
|
||||
}
|
||||
*arg = skipwhite_and_linebreak(*arg + oplen, evalarg);
|
||||
if (eval6(arg, &var2, evalarg, op == '.') == FAIL)
|
||||
if (eval6(arg, &var2, evalarg, !in_vim9script() && op == '.') == FAIL)
|
||||
{
|
||||
clear_tv(rettv);
|
||||
return FAIL;
|
||||
@ -2715,8 +2733,22 @@ eval5(char_u **arg, typval_T *rettv, evalarg_T *evalarg)
|
||||
{
|
||||
char_u buf1[NUMBUFLEN], buf2[NUMBUFLEN];
|
||||
char_u *s1 = tv_get_string_buf(rettv, buf1);
|
||||
char_u *s2 = tv_get_string_buf_chk(&var2, buf2);
|
||||
char_u *s2 = NULL;
|
||||
|
||||
if (in_vim9script() && (var2.v_type == VAR_VOID
|
||||
|| var2.v_type == VAR_CHANNEL
|
||||
|| var2.v_type == VAR_JOB))
|
||||
emsg(_(e_inval_string));
|
||||
#ifdef FEAT_FLOAT
|
||||
else if (var2.v_type == VAR_FLOAT)
|
||||
{
|
||||
vim_snprintf((char *)buf2, NUMBUFLEN, "%g",
|
||||
var2.vval.v_float);
|
||||
s2 = buf2;
|
||||
}
|
||||
#endif
|
||||
else
|
||||
s2 = tv_get_string_buf_chk(&var2, buf2);
|
||||
if (s2 == NULL) // type error ?
|
||||
{
|
||||
clear_tv(rettv);
|
||||
@ -3089,7 +3121,8 @@ eval7(
|
||||
|
||||
// Apply prefixed "-" and "+" now. Matters especially when
|
||||
// "->" follows.
|
||||
if (ret == OK && evaluate && end_leader > start_leader)
|
||||
if (ret == OK && evaluate && end_leader > start_leader
|
||||
&& rettv->v_type != VAR_BLOB)
|
||||
ret = eval7_leader(rettv, TRUE, start_leader, &end_leader);
|
||||
break;
|
||||
|
||||
@ -3213,12 +3246,14 @@ eval7(
|
||||
{
|
||||
rettv->v_type = VAR_BOOL;
|
||||
rettv->vval.v_number = VVAL_TRUE;
|
||||
ret = OK;
|
||||
}
|
||||
else if (len == 5 && in_vim9script()
|
||||
&& STRNCMP(s, "false", 4) == 0)
|
||||
{
|
||||
rettv->v_type = VAR_BOOL;
|
||||
rettv->vval.v_number = VVAL_FALSE;
|
||||
ret = OK;
|
||||
}
|
||||
else
|
||||
ret = eval_variable(s, len, rettv, NULL, TRUE, FALSE);
|
||||
@ -3262,6 +3297,7 @@ eval7_leader(
|
||||
int ret = OK;
|
||||
int error = FALSE;
|
||||
varnumber_T val = 0;
|
||||
vartype_T type = rettv->v_type;
|
||||
#ifdef FEAT_FLOAT
|
||||
float_T f = 0.0;
|
||||
|
||||
@ -3269,7 +3305,10 @@ eval7_leader(
|
||||
f = rettv->vval.v_float;
|
||||
else
|
||||
#endif
|
||||
val = tv_get_number_chk(rettv, &error);
|
||||
if (in_vim9script() && end_leader[-1] == '!')
|
||||
val = tv2bool(rettv);
|
||||
else
|
||||
val = tv_get_number_chk(rettv, &error);
|
||||
if (error)
|
||||
{
|
||||
clear_tv(rettv);
|
||||
@ -3292,7 +3331,10 @@ eval7_leader(
|
||||
f = !f;
|
||||
else
|
||||
#endif
|
||||
{
|
||||
val = !val;
|
||||
type = VAR_BOOL;
|
||||
}
|
||||
}
|
||||
else if (*end_leader == '-')
|
||||
{
|
||||
@ -3301,7 +3343,10 @@ eval7_leader(
|
||||
f = -f;
|
||||
else
|
||||
#endif
|
||||
{
|
||||
val = -val;
|
||||
type = VAR_NUMBER;
|
||||
}
|
||||
}
|
||||
}
|
||||
#ifdef FEAT_FLOAT
|
||||
@ -3314,7 +3359,10 @@ eval7_leader(
|
||||
#endif
|
||||
{
|
||||
clear_tv(rettv);
|
||||
rettv->v_type = VAR_NUMBER;
|
||||
if (in_vim9script())
|
||||
rettv->v_type = type;
|
||||
else
|
||||
rettv->v_type = VAR_NUMBER;
|
||||
rettv->vval.v_number = val;
|
||||
}
|
||||
}
|
||||
@ -3501,47 +3549,12 @@ eval_index(
|
||||
&& (evalarg->eval_flags & EVAL_EVALUATE);
|
||||
int empty1 = FALSE, empty2 = FALSE;
|
||||
typval_T var1, var2;
|
||||
long i;
|
||||
long n1, n2 = 0;
|
||||
long len = -1;
|
||||
int range = FALSE;
|
||||
char_u *s;
|
||||
char_u *key = NULL;
|
||||
int keylen = -1;
|
||||
|
||||
switch (rettv->v_type)
|
||||
{
|
||||
case VAR_FUNC:
|
||||
case VAR_PARTIAL:
|
||||
if (verbose)
|
||||
emsg(_("E695: Cannot index a Funcref"));
|
||||
return FAIL;
|
||||
case VAR_FLOAT:
|
||||
#ifdef FEAT_FLOAT
|
||||
if (verbose)
|
||||
emsg(_(e_float_as_string));
|
||||
return FAIL;
|
||||
#endif
|
||||
case VAR_BOOL:
|
||||
case VAR_SPECIAL:
|
||||
case VAR_JOB:
|
||||
case VAR_CHANNEL:
|
||||
if (verbose)
|
||||
emsg(_("E909: Cannot index a special variable"));
|
||||
return FAIL;
|
||||
case VAR_UNKNOWN:
|
||||
case VAR_ANY:
|
||||
case VAR_VOID:
|
||||
if (evaluate)
|
||||
return FAIL;
|
||||
// FALLTHROUGH
|
||||
|
||||
case VAR_STRING:
|
||||
case VAR_NUMBER:
|
||||
case VAR_LIST:
|
||||
case VAR_DICT:
|
||||
case VAR_BLOB:
|
||||
break;
|
||||
}
|
||||
if (check_can_index(rettv, evaluate, verbose) == FAIL)
|
||||
return FAIL;
|
||||
|
||||
init_tv(&var1);
|
||||
init_tv(&var2);
|
||||
@ -3551,11 +3564,11 @@ eval_index(
|
||||
* dict.name
|
||||
*/
|
||||
key = *arg + 1;
|
||||
for (len = 0; eval_isdictc(key[len]); ++len)
|
||||
for (keylen = 0; eval_isdictc(key[keylen]); ++keylen)
|
||||
;
|
||||
if (len == 0)
|
||||
if (keylen == 0)
|
||||
return FAIL;
|
||||
*arg = skipwhite(key + len);
|
||||
*arg = skipwhite(key + keylen);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -3613,47 +3626,137 @@ eval_index(
|
||||
clear_tv(&var2);
|
||||
return FAIL;
|
||||
}
|
||||
*arg = skipwhite(*arg + 1); // skip the ']'
|
||||
*arg = *arg + 1; // skip over the ']'
|
||||
}
|
||||
|
||||
if (evaluate)
|
||||
{
|
||||
n1 = 0;
|
||||
if (!empty1 && rettv->v_type != VAR_DICT)
|
||||
{
|
||||
n1 = tv_get_number(&var1);
|
||||
int res = eval_index_inner(rettv, range,
|
||||
empty1 ? NULL : &var1, empty2 ? NULL : &var2,
|
||||
key, keylen, verbose);
|
||||
if (!empty1)
|
||||
clear_tv(&var1);
|
||||
}
|
||||
if (range)
|
||||
{
|
||||
if (empty2)
|
||||
n2 = -1;
|
||||
else
|
||||
clear_tv(&var2);
|
||||
return res;
|
||||
}
|
||||
return OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* Check if "rettv" can have an [index] or [sli:ce]
|
||||
*/
|
||||
int
|
||||
check_can_index(typval_T *rettv, int evaluate, int verbose)
|
||||
{
|
||||
switch (rettv->v_type)
|
||||
{
|
||||
case VAR_FUNC:
|
||||
case VAR_PARTIAL:
|
||||
if (verbose)
|
||||
emsg(_("E695: Cannot index a Funcref"));
|
||||
return FAIL;
|
||||
case VAR_FLOAT:
|
||||
#ifdef FEAT_FLOAT
|
||||
if (verbose)
|
||||
emsg(_(e_float_as_string));
|
||||
return FAIL;
|
||||
#endif
|
||||
case VAR_BOOL:
|
||||
case VAR_SPECIAL:
|
||||
case VAR_JOB:
|
||||
case VAR_CHANNEL:
|
||||
if (verbose)
|
||||
emsg(_(e_cannot_index_special_variable));
|
||||
return FAIL;
|
||||
case VAR_UNKNOWN:
|
||||
case VAR_ANY:
|
||||
case VAR_VOID:
|
||||
if (evaluate)
|
||||
{
|
||||
n2 = tv_get_number(&var2);
|
||||
clear_tv(&var2);
|
||||
emsg(_(e_cannot_index_special_variable));
|
||||
return FAIL;
|
||||
}
|
||||
}
|
||||
// FALLTHROUGH
|
||||
|
||||
switch (rettv->v_type)
|
||||
case VAR_STRING:
|
||||
case VAR_LIST:
|
||||
case VAR_DICT:
|
||||
case VAR_BLOB:
|
||||
break;
|
||||
case VAR_NUMBER:
|
||||
if (in_vim9script())
|
||||
emsg(_(e_cannot_index_number));
|
||||
break;
|
||||
}
|
||||
return OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* Apply index or range to "rettv".
|
||||
* "var1" is the first index, NULL for [:expr].
|
||||
* "var2" is the second index, NULL for [expr] and [expr: ]
|
||||
* Alternatively, "key" is not NULL, then key[keylen] is the dict index.
|
||||
*/
|
||||
int
|
||||
eval_index_inner(
|
||||
typval_T *rettv,
|
||||
int is_range,
|
||||
typval_T *var1,
|
||||
typval_T *var2,
|
||||
char_u *key,
|
||||
int keylen,
|
||||
int verbose)
|
||||
{
|
||||
long n1, n2 = 0;
|
||||
long len;
|
||||
|
||||
n1 = 0;
|
||||
if (var1 != NULL && rettv->v_type != VAR_DICT)
|
||||
n1 = tv_get_number(var1);
|
||||
|
||||
if (is_range)
|
||||
{
|
||||
if (rettv->v_type == VAR_DICT)
|
||||
{
|
||||
case VAR_UNKNOWN:
|
||||
case VAR_ANY:
|
||||
case VAR_VOID:
|
||||
case VAR_FUNC:
|
||||
case VAR_PARTIAL:
|
||||
case VAR_FLOAT:
|
||||
case VAR_BOOL:
|
||||
case VAR_SPECIAL:
|
||||
case VAR_JOB:
|
||||
case VAR_CHANNEL:
|
||||
break; // not evaluating, skipping over subscript
|
||||
if (verbose)
|
||||
emsg(_(e_cannot_slice_dictionary));
|
||||
return FAIL;
|
||||
}
|
||||
if (var2 == NULL)
|
||||
n2 = -1;
|
||||
else
|
||||
n2 = tv_get_number(var2);
|
||||
}
|
||||
|
||||
switch (rettv->v_type)
|
||||
{
|
||||
case VAR_UNKNOWN:
|
||||
case VAR_ANY:
|
||||
case VAR_VOID:
|
||||
case VAR_FUNC:
|
||||
case VAR_PARTIAL:
|
||||
case VAR_FLOAT:
|
||||
case VAR_BOOL:
|
||||
case VAR_SPECIAL:
|
||||
case VAR_JOB:
|
||||
case VAR_CHANNEL:
|
||||
break; // not evaluating, skipping over subscript
|
||||
|
||||
case VAR_NUMBER:
|
||||
case VAR_STRING:
|
||||
{
|
||||
char_u *s = tv_get_string(rettv);
|
||||
|
||||
case VAR_NUMBER:
|
||||
case VAR_STRING:
|
||||
s = tv_get_string(rettv);
|
||||
len = (long)STRLEN(s);
|
||||
if (range)
|
||||
if (in_vim9script())
|
||||
{
|
||||
if (is_range)
|
||||
s = string_slice(s, n1, n2);
|
||||
else
|
||||
s = char_from_string(s, n1);
|
||||
}
|
||||
else if (is_range)
|
||||
{
|
||||
// The resulting variable is a substring. If the indexes
|
||||
// are out of range the result is empty.
|
||||
@ -3685,149 +3788,107 @@ eval_index(
|
||||
clear_tv(rettv);
|
||||
rettv->v_type = VAR_STRING;
|
||||
rettv->vval.v_string = s;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case VAR_BLOB:
|
||||
len = blob_len(rettv->vval.v_blob);
|
||||
if (range)
|
||||
{
|
||||
// The resulting variable is a sub-blob. If the indexes
|
||||
// are out of range the result is empty.
|
||||
if (n1 < 0)
|
||||
{
|
||||
n1 = len + n1;
|
||||
if (n1 < 0)
|
||||
n1 = 0;
|
||||
}
|
||||
if (n2 < 0)
|
||||
n2 = len + n2;
|
||||
else if (n2 >= len)
|
||||
n2 = len - 1;
|
||||
if (n1 >= len || n2 < 0 || n1 > n2)
|
||||
{
|
||||
clear_tv(rettv);
|
||||
rettv->v_type = VAR_BLOB;
|
||||
rettv->vval.v_blob = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
blob_T *blob = blob_alloc();
|
||||
|
||||
if (blob != NULL)
|
||||
{
|
||||
if (ga_grow(&blob->bv_ga, n2 - n1 + 1) == FAIL)
|
||||
{
|
||||
blob_free(blob);
|
||||
return FAIL;
|
||||
}
|
||||
blob->bv_ga.ga_len = n2 - n1 + 1;
|
||||
for (i = n1; i <= n2; i++)
|
||||
blob_set(blob, i - n1,
|
||||
blob_get(rettv->vval.v_blob, i));
|
||||
|
||||
clear_tv(rettv);
|
||||
rettv_blob_set(rettv, blob);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// The resulting variable is a byte value.
|
||||
// If the index is too big or negative that is an error.
|
||||
if (n1 < 0)
|
||||
n1 = len + n1;
|
||||
if (n1 < len && n1 >= 0)
|
||||
{
|
||||
int v = blob_get(rettv->vval.v_blob, n1);
|
||||
|
||||
clear_tv(rettv);
|
||||
rettv->v_type = VAR_NUMBER;
|
||||
rettv->vval.v_number = v;
|
||||
}
|
||||
else
|
||||
semsg(_(e_blobidx), n1);
|
||||
}
|
||||
break;
|
||||
|
||||
case VAR_LIST:
|
||||
len = list_len(rettv->vval.v_list);
|
||||
case VAR_BLOB:
|
||||
len = blob_len(rettv->vval.v_blob);
|
||||
if (is_range)
|
||||
{
|
||||
// The resulting variable is a sub-blob. If the indexes
|
||||
// are out of range the result is empty.
|
||||
if (n1 < 0)
|
||||
{
|
||||
n1 = len + n1;
|
||||
if (!empty1 && (n1 < 0 || n1 >= len))
|
||||
{
|
||||
// For a range we allow invalid values and return an empty
|
||||
// list. A list index out of range is an error.
|
||||
if (!range)
|
||||
{
|
||||
if (verbose)
|
||||
semsg(_(e_listidx), n1);
|
||||
return FAIL;
|
||||
}
|
||||
n1 = len;
|
||||
if (n1 < 0)
|
||||
n1 = 0;
|
||||
}
|
||||
if (range)
|
||||
if (n2 < 0)
|
||||
n2 = len + n2;
|
||||
else if (n2 >= len)
|
||||
n2 = len - 1;
|
||||
if (n1 >= len || n2 < 0 || n1 > n2)
|
||||
{
|
||||
list_T *l;
|
||||
|
||||
if (n2 < 0)
|
||||
n2 = len + n2;
|
||||
else if (n2 >= len)
|
||||
n2 = len - 1;
|
||||
if (!empty2 && (n2 < 0 || n2 + 1 < n1))
|
||||
n2 = -1;
|
||||
l = list_slice(rettv->vval.v_list, n1, n2);
|
||||
if (l == NULL)
|
||||
return FAIL;
|
||||
clear_tv(rettv);
|
||||
rettv_list_set(rettv, l);
|
||||
rettv->v_type = VAR_BLOB;
|
||||
rettv->vval.v_blob = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
copy_tv(&list_find(rettv->vval.v_list, n1)->li_tv, &var1);
|
||||
clear_tv(rettv);
|
||||
*rettv = var1;
|
||||
}
|
||||
break;
|
||||
blob_T *blob = blob_alloc();
|
||||
long i;
|
||||
|
||||
case VAR_DICT:
|
||||
if (range)
|
||||
{
|
||||
if (verbose)
|
||||
emsg(_(e_dictrange));
|
||||
if (len == -1)
|
||||
clear_tv(&var1);
|
||||
return FAIL;
|
||||
}
|
||||
{
|
||||
dictitem_T *item;
|
||||
|
||||
if (len == -1)
|
||||
if (blob != NULL)
|
||||
{
|
||||
key = tv_get_string_chk(&var1);
|
||||
if (key == NULL)
|
||||
if (ga_grow(&blob->bv_ga, n2 - n1 + 1) == FAIL)
|
||||
{
|
||||
clear_tv(&var1);
|
||||
blob_free(blob);
|
||||
return FAIL;
|
||||
}
|
||||
blob->bv_ga.ga_len = n2 - n1 + 1;
|
||||
for (i = n1; i <= n2; i++)
|
||||
blob_set(blob, i - n1,
|
||||
blob_get(rettv->vval.v_blob, i));
|
||||
|
||||
clear_tv(rettv);
|
||||
rettv_blob_set(rettv, blob);
|
||||
}
|
||||
|
||||
item = dict_find(rettv->vval.v_dict, key, (int)len);
|
||||
|
||||
if (item == NULL && verbose)
|
||||
semsg(_(e_dictkey), key);
|
||||
if (len == -1)
|
||||
clear_tv(&var1);
|
||||
if (item == NULL)
|
||||
return FAIL;
|
||||
|
||||
copy_tv(&item->di_tv, &var1);
|
||||
clear_tv(rettv);
|
||||
*rettv = var1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// The resulting variable is a byte value.
|
||||
// If the index is too big or negative that is an error.
|
||||
if (n1 < 0)
|
||||
n1 = len + n1;
|
||||
if (n1 < len && n1 >= 0)
|
||||
{
|
||||
int v = blob_get(rettv->vval.v_blob, n1);
|
||||
|
||||
clear_tv(rettv);
|
||||
rettv->v_type = VAR_NUMBER;
|
||||
rettv->vval.v_number = v;
|
||||
}
|
||||
else
|
||||
semsg(_(e_blobidx), n1);
|
||||
}
|
||||
break;
|
||||
|
||||
case VAR_LIST:
|
||||
if (var1 == NULL)
|
||||
n1 = 0;
|
||||
if (var2 == NULL)
|
||||
n2 = -1;
|
||||
if (list_slice_or_index(rettv->vval.v_list,
|
||||
is_range, n1, n2, rettv, verbose) == FAIL)
|
||||
return FAIL;
|
||||
break;
|
||||
|
||||
case VAR_DICT:
|
||||
{
|
||||
dictitem_T *item;
|
||||
typval_T tmp;
|
||||
|
||||
if (key == NULL)
|
||||
{
|
||||
key = tv_get_string_chk(var1);
|
||||
if (key == NULL)
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
item = dict_find(rettv->vval.v_dict, key, (int)keylen);
|
||||
|
||||
if (item == NULL && verbose)
|
||||
semsg(_(e_dictkey), key);
|
||||
if (item == NULL)
|
||||
return FAIL;
|
||||
|
||||
copy_tv(&item->di_tv, &tmp);
|
||||
clear_tv(rettv);
|
||||
*rettv = tmp;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return OK;
|
||||
}
|
||||
|
||||
@ -5238,6 +5299,97 @@ eval_isdictc(int c)
|
||||
return ASCII_ISALNUM(c) || c == '_';
|
||||
}
|
||||
|
||||
/*
|
||||
* Return the character "str[index]" where "index" is the character index. If
|
||||
* "index" is out of range NULL is returned.
|
||||
*/
|
||||
char_u *
|
||||
char_from_string(char_u *str, varnumber_T index)
|
||||
{
|
||||
size_t nbyte = 0;
|
||||
varnumber_T nchar = index;
|
||||
size_t slen;
|
||||
|
||||
if (str == NULL || index < 0)
|
||||
return NULL;
|
||||
slen = STRLEN(str);
|
||||
while (nchar > 0 && nbyte < slen)
|
||||
{
|
||||
nbyte += MB_CPTR2LEN(str + nbyte);
|
||||
--nchar;
|
||||
}
|
||||
if (nbyte >= slen)
|
||||
return NULL;
|
||||
return vim_strnsave(str + nbyte, MB_CPTR2LEN(str + nbyte));
|
||||
}
|
||||
|
||||
/*
|
||||
* Get the byte index for character index "idx" in string "str" with length
|
||||
* "str_len".
|
||||
* If going over the end return "str_len".
|
||||
* If "idx" is negative count from the end, -1 is the last character.
|
||||
* When going over the start return -1.
|
||||
*/
|
||||
static long
|
||||
char_idx2byte(char_u *str, size_t str_len, varnumber_T idx)
|
||||
{
|
||||
varnumber_T nchar = idx;
|
||||
size_t nbyte = 0;
|
||||
|
||||
if (nchar >= 0)
|
||||
{
|
||||
while (nchar > 0 && nbyte < str_len)
|
||||
{
|
||||
nbyte += MB_CPTR2LEN(str + nbyte);
|
||||
--nchar;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
nbyte = str_len;
|
||||
while (nchar < 0 && nbyte > 0)
|
||||
{
|
||||
--nbyte;
|
||||
nbyte -= mb_head_off(str, str + nbyte);
|
||||
++nchar;
|
||||
}
|
||||
if (nchar < 0)
|
||||
return -1;
|
||||
}
|
||||
return (long)nbyte;
|
||||
}
|
||||
|
||||
/*
|
||||
* Return the slice "str[first:last]" using character indexes.
|
||||
* Return NULL when the result is empty.
|
||||
*/
|
||||
char_u *
|
||||
string_slice(char_u *str, varnumber_T first, varnumber_T last)
|
||||
{
|
||||
long start_byte, end_byte;
|
||||
size_t slen;
|
||||
|
||||
if (str == NULL)
|
||||
return NULL;
|
||||
slen = STRLEN(str);
|
||||
start_byte = char_idx2byte(str, slen, first);
|
||||
if (start_byte < 0)
|
||||
start_byte = 0; // first index very negative: use zero
|
||||
if (last == -1)
|
||||
end_byte = slen;
|
||||
else
|
||||
{
|
||||
end_byte = char_idx2byte(str, slen, last);
|
||||
if (end_byte >= 0 && end_byte < (long)slen)
|
||||
// end index is inclusive
|
||||
end_byte += MB_CPTR2LEN(str + end_byte);
|
||||
}
|
||||
|
||||
if (start_byte >= (long)slen || end_byte <= start_byte)
|
||||
return NULL;
|
||||
return vim_strnsave(str + start_byte, end_byte - start_byte);
|
||||
}
|
||||
|
||||
/*
|
||||
* Handle:
|
||||
* - expr[expr], expr[expr:expr] subscript
|
||||
|
@ -390,7 +390,8 @@ f_bufnr(typval_T *argvars, typval_T *rettv)
|
||||
buf = curbuf;
|
||||
else
|
||||
{
|
||||
(void)tv_get_number(&argvars[0]); // issue errmsg if type error
|
||||
if (argvars[0].v_type != VAR_STRING)
|
||||
(void)tv_get_number(&argvars[0]); // issue errmsg if type error
|
||||
++emsg_off;
|
||||
buf = tv_get_buf(&argvars[0], FALSE);
|
||||
--emsg_off;
|
||||
|
@ -402,6 +402,15 @@ ret_getreg(int argcount, type_T **argtypes UNUSED)
|
||||
return &t_string;
|
||||
}
|
||||
|
||||
static type_T *
|
||||
ret_maparg(int argcount, type_T **argtypes UNUSED)
|
||||
{
|
||||
// Assume that if the fourth argument is passed it's non-zero
|
||||
if (argcount == 4)
|
||||
return &t_dict_any;
|
||||
return &t_string;
|
||||
}
|
||||
|
||||
static type_T *ret_f_function(int argcount, type_T **argtypes);
|
||||
|
||||
/*
|
||||
@ -485,7 +494,7 @@ static funcentry_T global_functions[] =
|
||||
{"assert_equal", 2, 3, FEARG_2, ret_number, f_assert_equal},
|
||||
{"assert_equalfile", 2, 3, FEARG_1, ret_number, f_assert_equalfile},
|
||||
{"assert_exception", 1, 2, 0, ret_number, f_assert_exception},
|
||||
{"assert_fails", 1, 3, FEARG_1, ret_number, f_assert_fails},
|
||||
{"assert_fails", 1, 4, FEARG_1, ret_number, f_assert_fails},
|
||||
{"assert_false", 1, 2, FEARG_1, ret_number, f_assert_false},
|
||||
{"assert_inrange", 3, 4, FEARG_3, ret_number, f_assert_inrange},
|
||||
{"assert_match", 2, 3, FEARG_2, ret_number, f_assert_match},
|
||||
@ -706,7 +715,7 @@ static funcentry_T global_functions[] =
|
||||
{"js_encode", 1, 1, FEARG_1, ret_string, f_js_encode},
|
||||
{"json_decode", 1, 1, FEARG_1, ret_any, f_json_decode},
|
||||
{"json_encode", 1, 1, FEARG_1, ret_string, f_json_encode},
|
||||
{"keys", 1, 1, FEARG_1, ret_list_any, f_keys},
|
||||
{"keys", 1, 1, FEARG_1, ret_list_string, f_keys},
|
||||
{"last_buffer_nr", 0, 0, 0, ret_number, f_last_buffer_nr}, // obsolete
|
||||
{"len", 1, 1, FEARG_1, ret_number, f_len},
|
||||
{"libcall", 3, 3, FEARG_3, ret_string, f_libcall},
|
||||
@ -729,7 +738,7 @@ static funcentry_T global_functions[] =
|
||||
#endif
|
||||
},
|
||||
{"map", 2, 2, FEARG_1, ret_any, f_map},
|
||||
{"maparg", 1, 4, FEARG_1, ret_string, f_maparg},
|
||||
{"maparg", 1, 4, FEARG_1, ret_maparg, f_maparg},
|
||||
{"mapcheck", 1, 3, FEARG_1, ret_string, f_mapcheck},
|
||||
{"mapset", 3, 3, FEARG_1, ret_void, f_mapset},
|
||||
{"match", 2, 4, FEARG_1, ret_any, f_match},
|
||||
@ -1037,7 +1046,7 @@ static funcentry_T global_functions[] =
|
||||
{"test_settime", 1, 1, FEARG_1, ret_void, f_test_settime},
|
||||
{"test_srand_seed", 0, 1, FEARG_1, ret_void, f_test_srand_seed},
|
||||
{"test_unknown", 0, 0, 0, ret_any, f_test_unknown},
|
||||
{"test_void", 0, 0, 0, ret_any, f_test_void},
|
||||
{"test_void", 0, 0, 0, ret_void, f_test_void},
|
||||
{"timer_info", 0, 1, FEARG_1, ret_list_dict_any, TIMER_FUNC(f_timer_info)},
|
||||
{"timer_pause", 2, 2, FEARG_1, ret_void, TIMER_FUNC(f_timer_pause)},
|
||||
{"timer_start", 2, 3, FEARG_1, ret_number, TIMER_FUNC(f_timer_start)},
|
||||
@ -3911,13 +3920,7 @@ f_has(typval_T *argvars, typval_T *rettv)
|
||||
0
|
||||
#endif
|
||||
},
|
||||
{"gui_mac",
|
||||
#ifdef FEAT_GUI_MAC
|
||||
1
|
||||
#else
|
||||
0
|
||||
#endif
|
||||
},
|
||||
{"gui_mac", 0},
|
||||
{"gui_motif",
|
||||
#ifdef FEAT_GUI_MOTIF
|
||||
1
|
||||
|
@ -173,7 +173,7 @@ static char_u *list_arg_vars(exarg_T *eap, char_u *arg, int *first);
|
||||
static char_u *ex_let_one(char_u *arg, typval_T *tv, int copy, int flags, char_u *endchars, char_u *op);
|
||||
static int do_unlet_var(lval_T *lp, char_u *name_end, exarg_T *eap, int deep, void *cookie);
|
||||
static int do_lock_var(lval_T *lp, char_u *name_end, exarg_T *eap, int deep, void *cookie);
|
||||
static void item_lock(typval_T *tv, int deep, int lock);
|
||||
static void item_lock(typval_T *tv, int deep, int lock, int check_refcount);
|
||||
static void delete_var(hashtab_T *ht, hashitem_T *hi);
|
||||
static void list_one_var(dictitem_T *v, char *prefix, int *first);
|
||||
static void list_one_var_a(char *prefix, char_u *name, int type, char_u *string, int *first);
|
||||
@ -805,7 +805,7 @@ ex_let(exarg_T *eap)
|
||||
|| !IS_WHITE_OR_NUL(*expr)))
|
||||
{
|
||||
vim_strncpy(op, expr - len, len);
|
||||
semsg(_(e_white_both), op);
|
||||
semsg(_(e_white_space_required_before_and_after), op);
|
||||
i = FAIL;
|
||||
}
|
||||
|
||||
@ -1294,28 +1294,36 @@ ex_let_one(
|
||||
emsg(_(e_letunexp));
|
||||
else
|
||||
{
|
||||
long n;
|
||||
long n = 0;
|
||||
int opt_type;
|
||||
long numval;
|
||||
char_u *stringval = NULL;
|
||||
char_u *s = NULL;
|
||||
int failed = FALSE;
|
||||
|
||||
c1 = *p;
|
||||
*p = NUL;
|
||||
|
||||
n = (long)tv_get_number(tv);
|
||||
// avoid setting a string option to the text "v:false" or similar.
|
||||
if (tv->v_type != VAR_BOOL && tv->v_type != VAR_SPECIAL)
|
||||
s = tv_get_string_chk(tv); // != NULL if number or string
|
||||
if (s != NULL && op != NULL && *op != '=')
|
||||
opt_type = get_option_value(arg, &numval, &stringval, opt_flags);
|
||||
if ((opt_type == 1 || opt_type == -1)
|
||||
&& (tv->v_type != VAR_STRING || !in_vim9script()))
|
||||
// number, possibly hidden
|
||||
n = (long)tv_get_number(tv);
|
||||
|
||||
// Avoid setting a string option to the text "v:false" or similar.
|
||||
// In Vim9 script also don't convert a number to string.
|
||||
if (tv->v_type != VAR_BOOL && tv->v_type != VAR_SPECIAL
|
||||
&& (!in_vim9script() || tv->v_type != VAR_NUMBER))
|
||||
s = tv_get_string_chk(tv);
|
||||
|
||||
if (op != NULL && *op != '=')
|
||||
{
|
||||
opt_type = get_option_value(arg, &numval,
|
||||
&stringval, opt_flags);
|
||||
if ((opt_type == 1 && *op == '.')
|
||||
|| (opt_type == 0 && *op != '.'))
|
||||
{
|
||||
semsg(_(e_letwrong), op);
|
||||
s = NULL; // don't set the value
|
||||
failed = TRUE; // don't set the value
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1330,19 +1338,25 @@ ex_let_one(
|
||||
case '%': n = (long)num_modulus(numval, n); break;
|
||||
}
|
||||
}
|
||||
else if (opt_type == 0 && stringval != NULL) // string
|
||||
else if (opt_type == 0 && stringval != NULL && s != NULL)
|
||||
{
|
||||
// string
|
||||
s = concat_str(stringval, s);
|
||||
vim_free(stringval);
|
||||
stringval = s;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (s != NULL || tv->v_type == VAR_BOOL
|
||||
|| tv->v_type == VAR_SPECIAL)
|
||||
|
||||
if (!failed)
|
||||
{
|
||||
set_option_value(arg, n, s, opt_flags);
|
||||
arg_end = p;
|
||||
if (opt_type != 0 || s != NULL)
|
||||
{
|
||||
set_option_value(arg, n, s, opt_flags);
|
||||
arg_end = p;
|
||||
}
|
||||
else
|
||||
emsg(_(e_stringreq));
|
||||
}
|
||||
*p = c1;
|
||||
vim_free(stringval);
|
||||
@ -1689,7 +1703,7 @@ do_lock_var(
|
||||
di->di_flags |= DI_FLAGS_LOCK;
|
||||
else
|
||||
di->di_flags &= ~DI_FLAGS_LOCK;
|
||||
item_lock(&di->di_tv, deep, lock);
|
||||
item_lock(&di->di_tv, deep, lock, FALSE);
|
||||
}
|
||||
}
|
||||
*name_end = cc;
|
||||
@ -1701,26 +1715,28 @@ do_lock_var(
|
||||
// (un)lock a range of List items.
|
||||
while (li != NULL && (lp->ll_empty2 || lp->ll_n2 >= lp->ll_n1))
|
||||
{
|
||||
item_lock(&li->li_tv, deep, lock);
|
||||
item_lock(&li->li_tv, deep, lock, FALSE);
|
||||
li = li->li_next;
|
||||
++lp->ll_n1;
|
||||
}
|
||||
}
|
||||
else if (lp->ll_list != NULL)
|
||||
// (un)lock a List item.
|
||||
item_lock(&lp->ll_li->li_tv, deep, lock);
|
||||
item_lock(&lp->ll_li->li_tv, deep, lock, FALSE);
|
||||
else
|
||||
// (un)lock a Dictionary item.
|
||||
item_lock(&lp->ll_di->di_tv, deep, lock);
|
||||
item_lock(&lp->ll_di->di_tv, deep, lock, FALSE);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* Lock or unlock an item. "deep" is nr of levels to go.
|
||||
* When "check_refcount" is TRUE do not lock a list or dict with a reference
|
||||
* count larger than 1.
|
||||
*/
|
||||
static void
|
||||
item_lock(typval_T *tv, int deep, int lock)
|
||||
item_lock(typval_T *tv, int deep, int lock, int check_refcount)
|
||||
{
|
||||
static int recurse = 0;
|
||||
list_T *l;
|
||||
@ -1762,7 +1778,8 @@ item_lock(typval_T *tv, int deep, int lock)
|
||||
break;
|
||||
|
||||
case VAR_BLOB:
|
||||
if ((b = tv->vval.v_blob) != NULL)
|
||||
if ((b = tv->vval.v_blob) != NULL
|
||||
&& !(check_refcount && b->bv_refcount > 1))
|
||||
{
|
||||
if (lock)
|
||||
b->bv_lock |= VAR_LOCKED;
|
||||
@ -1771,7 +1788,8 @@ item_lock(typval_T *tv, int deep, int lock)
|
||||
}
|
||||
break;
|
||||
case VAR_LIST:
|
||||
if ((l = tv->vval.v_list) != NULL)
|
||||
if ((l = tv->vval.v_list) != NULL
|
||||
&& !(check_refcount && l->lv_refcount > 1))
|
||||
{
|
||||
if (lock)
|
||||
l->lv_lock |= VAR_LOCKED;
|
||||
@ -1780,11 +1798,12 @@ item_lock(typval_T *tv, int deep, int lock)
|
||||
if ((deep < 0 || deep > 1) && l->lv_first != &range_list_item)
|
||||
// recursive: lock/unlock the items the List contains
|
||||
FOR_ALL_LIST_ITEMS(l, li)
|
||||
item_lock(&li->li_tv, deep - 1, lock);
|
||||
item_lock(&li->li_tv, deep - 1, lock, check_refcount);
|
||||
}
|
||||
break;
|
||||
case VAR_DICT:
|
||||
if ((d = tv->vval.v_dict) != NULL)
|
||||
if ((d = tv->vval.v_dict) != NULL
|
||||
&& !(check_refcount && d->dv_refcount > 1))
|
||||
{
|
||||
if (lock)
|
||||
d->dv_lock |= VAR_LOCKED;
|
||||
@ -1799,7 +1818,8 @@ item_lock(typval_T *tv, int deep, int lock)
|
||||
if (!HASHITEM_EMPTY(hi))
|
||||
{
|
||||
--todo;
|
||||
item_lock(&HI2DI(hi)->di_tv, deep - 1, lock);
|
||||
item_lock(&HI2DI(hi)->di_tv, deep - 1, lock,
|
||||
check_refcount);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2054,7 +2074,7 @@ set_vim_var_tv(int idx, typval_T *tv)
|
||||
{
|
||||
if (vimvars[idx].vv_type != tv->v_type)
|
||||
{
|
||||
emsg(_("E1063: type mismatch for v: variable"));
|
||||
emsg(_(e_type_mismatch_for_v_variable));
|
||||
clear_tv(tv);
|
||||
return FAIL;
|
||||
}
|
||||
@ -2442,7 +2462,7 @@ eval_variable(
|
||||
if (tv == NULL)
|
||||
{
|
||||
if (rettv != NULL && verbose)
|
||||
semsg(_(e_undefvar), name);
|
||||
semsg(_(e_undefined_variable_str), name);
|
||||
ret = FAIL;
|
||||
}
|
||||
else if (rettv != NULL)
|
||||
@ -2928,7 +2948,7 @@ set_var_const(
|
||||
di = find_var_in_scoped_ht(name, TRUE);
|
||||
|
||||
if ((tv->v_type == VAR_FUNC || tv->v_type == VAR_PARTIAL)
|
||||
&& var_check_func_name(name, di == NULL))
|
||||
&& var_wrong_func_name(name, di == NULL))
|
||||
return;
|
||||
|
||||
if (di != NULL)
|
||||
@ -2945,7 +2965,7 @@ set_var_const(
|
||||
{
|
||||
if ((flags & LET_NO_COMMAND) == 0)
|
||||
{
|
||||
semsg(_("E1041: Redefining script item %s"), name);
|
||||
semsg(_(e_redefining_script_item_str), name);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -3049,7 +3069,10 @@ set_var_const(
|
||||
+ si->sn_var_vals.ga_len;
|
||||
sv->sv_name = di->di_key;
|
||||
sv->sv_tv = &di->di_tv;
|
||||
sv->sv_type = type == NULL ? &t_any : type;
|
||||
if (type == NULL)
|
||||
sv->sv_type = typval2type(tv, &si->sn_type_list);
|
||||
else
|
||||
sv->sv_type = type;
|
||||
sv->sv_const = (flags & LET_IS_CONST);
|
||||
sv->sv_export = is_export;
|
||||
++si->sn_var_vals.ga_len;
|
||||
@ -3070,7 +3093,10 @@ set_var_const(
|
||||
}
|
||||
|
||||
if (flags & LET_IS_CONST)
|
||||
di->di_tv.v_lock |= VAR_LOCKED;
|
||||
// Like :lockvar! name: lock the value and what it contains, but only
|
||||
// if the reference count is up to one. That locks only literal
|
||||
// values.
|
||||
item_lock(&di->di_tv, DICT_MAXNEST, TRUE, TRUE);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -3114,7 +3140,7 @@ var_check_fixed(int flags, char_u *name, int use_gettext)
|
||||
* Return TRUE and give an error if not.
|
||||
*/
|
||||
int
|
||||
var_check_func_name(
|
||||
var_wrong_func_name(
|
||||
char_u *name, // points to start of variable name
|
||||
int new_var) // TRUE when creating the variable
|
||||
{
|
||||
|
@ -616,6 +616,9 @@ f_tabpagenr(typval_T *argvars UNUSED, typval_T *rettv)
|
||||
{
|
||||
if (STRCMP(arg, "$") == 0)
|
||||
nr = tabpage_index(NULL) - 1;
|
||||
else if (STRCMP(arg, "#") == 0)
|
||||
nr = valid_tabpage(lastused_tabpage) ?
|
||||
tabpage_index(lastused_tabpage) : 0;
|
||||
else
|
||||
semsg(_(e_invexpr2), arg);
|
||||
}
|
||||
|
@ -3553,7 +3553,7 @@ typedef struct {
|
||||
* The usual escapes are supported as described in the regexp docs.
|
||||
*/
|
||||
void
|
||||
do_sub(exarg_T *eap)
|
||||
ex_substitute(exarg_T *eap)
|
||||
{
|
||||
linenr_T lnum;
|
||||
long i = 0;
|
||||
@ -3842,7 +3842,7 @@ do_sub(exarg_T *eap)
|
||||
if (search_regcomp(pat, RE_SUBST, which_pat, SEARCH_HIS, ®match) == FAIL)
|
||||
{
|
||||
if (subflags.do_error)
|
||||
emsg(_(e_invcmd));
|
||||
emsg(_(e_invalid_command));
|
||||
return;
|
||||
}
|
||||
|
||||
@ -4816,7 +4816,7 @@ ex_global(exarg_T *eap)
|
||||
|
||||
if (search_regcomp(pat, RE_BOTH, which_pat, SEARCH_HIS, ®match) == FAIL)
|
||||
{
|
||||
emsg(_(e_invcmd));
|
||||
emsg(_(e_invalid_command));
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -572,7 +572,7 @@ EXCMD(CMD_exit, "exit", ex_exit,
|
||||
EX_RANGE|EX_WHOLEFOLD|EX_BANG|EX_FILE1|EX_ARGOPT|EX_DFLALL|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
|
||||
ADDR_LINES),
|
||||
EXCMD(CMD_export, "export", ex_export,
|
||||
EX_EXTRA|EX_NOTRLCOM|EX_LOCK_OK,
|
||||
EX_EXTRA|EX_NOTRLCOM|EX_CMDWIN|EX_LOCK_OK,
|
||||
ADDR_NONE),
|
||||
EXCMD(CMD_exusage, "exusage", ex_exusage,
|
||||
EX_TRLBAR,
|
||||
@ -698,7 +698,7 @@ EXCMD(CMD_imenu, "imenu", ex_menu,
|
||||
EX_RANGE|EX_ZEROR|EX_EXTRA|EX_TRLBAR|EX_NOTRLCOM|EX_CTRLV|EX_CMDWIN|EX_LOCK_OK,
|
||||
ADDR_OTHER),
|
||||
EXCMD(CMD_import, "import", ex_import,
|
||||
EX_EXTRA|EX_NOTRLCOM|EX_LOCK_OK,
|
||||
EX_EXTRA|EX_NOTRLCOM|EX_CMDWIN|EX_LOCK_OK,
|
||||
ADDR_NONE),
|
||||
EXCMD(CMD_inoremap, "inoremap", ex_map,
|
||||
EX_EXTRA|EX_TRLBAR|EX_NOTRLCOM|EX_CTRLV|EX_CMDWIN|EX_LOCK_OK,
|
||||
@ -1270,7 +1270,7 @@ EXCMD(CMD_rundo, "rundo", ex_rundo,
|
||||
EXCMD(CMD_rviminfo, "rviminfo", ex_viminfo,
|
||||
EX_BANG|EX_FILE1|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
|
||||
ADDR_NONE),
|
||||
EXCMD(CMD_substitute, "substitute", do_sub,
|
||||
EXCMD(CMD_substitute, "substitute", ex_substitute,
|
||||
EX_RANGE|EX_WHOLEFOLD|EX_EXTRA|EX_CMDWIN|EX_LOCK_OK,
|
||||
ADDR_LINES),
|
||||
EXCMD(CMD_sNext, "sNext", ex_previous,
|
||||
@ -1670,7 +1670,7 @@ EXCMD(CMD_vimgrepadd, "vimgrepadd", ex_vimgrep,
|
||||
EX_RANGE|EX_BANG|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_TRLBAR|EX_XFILE,
|
||||
ADDR_OTHER),
|
||||
EXCMD(CMD_vim9script, "vim9script", ex_vim9script,
|
||||
EX_LOCK_OK,
|
||||
EX_CMDWIN|EX_LOCK_OK,
|
||||
ADDR_NONE),
|
||||
EXCMD(CMD_viusage, "viusage", ex_viusage,
|
||||
EX_TRLBAR,
|
||||
@ -1788,7 +1788,7 @@ EXCMD(CMD_bang, "!", ex_bang,
|
||||
EXCMD(CMD_pound, "#", ex_print,
|
||||
EX_RANGE|EX_WHOLEFOLD|EX_COUNT|EX_FLAGS|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
|
||||
ADDR_LINES),
|
||||
EXCMD(CMD_and, "&", do_sub,
|
||||
EXCMD(CMD_and, "&", ex_substitute,
|
||||
EX_RANGE|EX_WHOLEFOLD|EX_EXTRA|EX_CMDWIN|EX_LOCK_OK|EX_MODIFY,
|
||||
ADDR_LINES),
|
||||
EXCMD(CMD_star, "*", ex_at,
|
||||
@ -1806,7 +1806,7 @@ EXCMD(CMD_rshift, ">", ex_operators,
|
||||
EXCMD(CMD_at, "@", ex_at,
|
||||
EX_RANGE|EX_WHOLEFOLD|EX_EXTRA|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
|
||||
ADDR_LINES),
|
||||
EXCMD(CMD_tilde, "~", do_sub,
|
||||
EXCMD(CMD_tilde, "~", ex_substitute,
|
||||
EX_RANGE|EX_WHOLEFOLD|EX_EXTRA|EX_CMDWIN|EX_LOCK_OK|EX_MODIFY,
|
||||
ADDR_LINES),
|
||||
|
||||
|
@ -1789,7 +1789,7 @@ do_one_cmd(
|
||||
--ea.cmd;
|
||||
else if (ea.cmd > cmd)
|
||||
{
|
||||
emsg(_(e_colon_required));
|
||||
emsg(_(e_colon_required_before_a_range));
|
||||
goto doend;
|
||||
}
|
||||
p = find_ex_command(&ea, NULL, lookup_scriptvar, NULL);
|
||||
@ -5022,7 +5022,7 @@ check_more(
|
||||
int n = ARGCOUNT - curwin->w_arg_idx - 1;
|
||||
|
||||
if (!forceit && only_one_window()
|
||||
&& ARGCOUNT > 1 && !arg_had_last && n >= 0 && quitmore == 0)
|
||||
&& ARGCOUNT > 1 && !arg_had_last && n > 0 && quitmore == 0)
|
||||
{
|
||||
if (message)
|
||||
{
|
||||
@ -5412,6 +5412,15 @@ get_tabpage_arg(exarg_T *eap)
|
||||
{
|
||||
if (STRCMP(p, "$") == 0)
|
||||
tab_number = LAST_TAB_NR;
|
||||
else if (STRCMP(p, "#") == 0)
|
||||
if (valid_tabpage(lastused_tabpage))
|
||||
tab_number = tabpage_index(lastused_tabpage);
|
||||
else
|
||||
{
|
||||
eap->errmsg = ex_errmsg(e_invargval, eap->arg);
|
||||
tab_number = 0;
|
||||
goto theend;
|
||||
}
|
||||
else if (p == p_save || *p_save == '-' || *p != NUL
|
||||
|| tab_number > LAST_TAB_NR)
|
||||
{
|
||||
@ -5969,7 +5978,7 @@ ex_recover(exarg_T *eap)
|
||||
static void
|
||||
ex_wrongmodifier(exarg_T *eap)
|
||||
{
|
||||
eap->errmsg = _(e_invcmd);
|
||||
eap->errmsg = _(e_invalid_command);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -7334,7 +7343,7 @@ ex_submagic(exarg_T *eap)
|
||||
int magic_save = p_magic;
|
||||
|
||||
p_magic = (eap->cmdidx == CMD_smagic);
|
||||
do_sub(eap);
|
||||
ex_substitute(eap);
|
||||
p_magic = magic_save;
|
||||
}
|
||||
|
||||
|
@ -632,7 +632,6 @@
|
||||
#if defined(FEAT_NORMAL) \
|
||||
&& (defined(FEAT_GUI_GTK) \
|
||||
|| (defined(FEAT_GUI_MOTIF) && defined(HAVE_XM_NOTEBOOK_H)) \
|
||||
|| defined(FEAT_GUI_MAC) \
|
||||
|| defined(FEAT_GUI_HAIKU) \
|
||||
|| (defined(FEAT_GUI_MSWIN) \
|
||||
&& (!defined(_MSC_VER) || _MSC_VER > 1020)))
|
||||
@ -646,8 +645,7 @@
|
||||
#if defined(FEAT_NORMAL)
|
||||
# define FEAT_BROWSE_CMD
|
||||
# if defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) \
|
||||
|| defined(FEAT_GUI_GTK) || defined(FEAT_GUI_HAIKU) || defined(FEAT_GUI_PHOTON) \
|
||||
|| defined(FEAT_GUI_MAC)
|
||||
|| defined(FEAT_GUI_GTK) || defined(FEAT_GUI_HAIKU) || defined(FEAT_GUI_PHOTON)
|
||||
# define FEAT_BROWSE
|
||||
# endif
|
||||
#endif
|
||||
@ -657,8 +655,7 @@
|
||||
* there is no terminal version, and on Windows we can't figure out how to
|
||||
* fork one off with :gui.
|
||||
*/
|
||||
#if (defined(FEAT_GUI_MSWIN) && !defined(VIMDLL)) \
|
||||
|| (defined(FEAT_GUI_MAC) && !defined(MACOS_X_DARWIN))
|
||||
#if defined(FEAT_GUI_MSWIN) && !defined(VIMDLL)
|
||||
# define ALWAYS_USE_GUI
|
||||
#endif
|
||||
|
||||
@ -673,8 +670,7 @@
|
||||
|| defined(FEAT_GUI_GTK) \
|
||||
|| defined(FEAT_GUI_PHOTON) \
|
||||
|| defined(FEAT_GUI_HAIKU) \
|
||||
|| defined(FEAT_GUI_MSWIN) \
|
||||
|| defined(FEAT_GUI_MAC)
|
||||
|| defined(FEAT_GUI_MSWIN)
|
||||
# define FEAT_CON_DIALOG
|
||||
# define FEAT_GUI_DIALOG
|
||||
# else
|
||||
@ -690,7 +686,7 @@
|
||||
#if defined(FEAT_GUI_DIALOG) && \
|
||||
(defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) \
|
||||
|| defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN) \
|
||||
|| defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC) \
|
||||
|| defined(FEAT_GUI_PHOTON) \
|
||||
|| defined(FEAT_GUI_HAIKU))
|
||||
# define FEAT_GUI_TEXTDIALOG
|
||||
# ifndef ALWAYS_USE_GUI
|
||||
@ -705,11 +701,6 @@
|
||||
# define FEAT_TERMGUICOLORS
|
||||
#endif
|
||||
|
||||
// Mac specific thing: Codewarrior interface.
|
||||
#ifdef FEAT_GUI_MAC
|
||||
# define FEAT_CW_EDITOR
|
||||
#endif
|
||||
|
||||
/*
|
||||
* +vartabs 'vartabstop' and 'varsofttabstop' options.
|
||||
*/
|
||||
@ -1091,8 +1082,7 @@
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_MZSCHEME) && (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_GTK) \
|
||||
|| defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) \
|
||||
|| defined(FEAT_GUI_MAC))
|
||||
|| defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA))
|
||||
# define MZSCHEME_GUI_THREADS
|
||||
#endif
|
||||
|
||||
|
@ -403,11 +403,6 @@ readfile(
|
||||
*/
|
||||
swap_mode = (st.st_mode & 0644) | 0600;
|
||||
#endif
|
||||
#ifdef FEAT_CW_EDITOR
|
||||
// Get the FSSpec on MacOS
|
||||
// TODO: Update it properly when the buffer name changes
|
||||
(void)GetFSSpecFromPath(curbuf->b_ffname, &curbuf->b_FSSpec);
|
||||
#endif
|
||||
#ifdef VMS
|
||||
curbuf->b_fab_rfm = st.st_fab_rfm;
|
||||
curbuf->b_fab_rat = st.st_fab_rat;
|
||||
@ -3389,7 +3384,6 @@ shorten_fnames(int force)
|
||||
|
||||
#if (defined(FEAT_DND) && defined(FEAT_GUI_GTK)) \
|
||||
|| defined(FEAT_GUI_MSWIN) \
|
||||
|| defined(FEAT_GUI_MAC) \
|
||||
|| defined(FEAT_GUI_HAIKU) \
|
||||
|| defined(PROTO)
|
||||
/*
|
||||
|
@ -223,6 +223,7 @@ EXTERN int emsg_severe INIT(= FALSE); // use message of next of several
|
||||
// used by assert_fails()
|
||||
EXTERN int emsg_assert_fails_used INIT(= FALSE);
|
||||
EXTERN char_u *emsg_assert_fails_msg INIT(= NULL);
|
||||
EXTERN long emsg_assert_fails_lnum INIT(= 0);
|
||||
|
||||
EXTERN int did_endif INIT(= FALSE); // just had ":endif"
|
||||
#endif
|
||||
@ -725,10 +726,12 @@ EXTERN frame_T *topframe; // top of the window frame tree
|
||||
|
||||
/*
|
||||
* Tab pages are alternative topframes. "first_tabpage" points to the first
|
||||
* one in the list, "curtab" is the current one.
|
||||
* one in the list, "curtab" is the current one. "lastused_tabpage" is the
|
||||
* last used one.
|
||||
*/
|
||||
EXTERN tabpage_T *first_tabpage;
|
||||
EXTERN tabpage_T *curtab;
|
||||
EXTERN tabpage_T *lastused_tabpage;
|
||||
EXTERN int redraw_tabline INIT(= FALSE); // need to redraw tabline
|
||||
|
||||
/*
|
||||
@ -1567,7 +1570,7 @@ EXTERN char e_failed[] INIT(= N_("E472: Command failed"));
|
||||
#if defined(FEAT_GUI) && defined(FEAT_XFONTSET)
|
||||
EXTERN char e_fontset[] INIT(= N_("E234: Unknown fontset: %s"));
|
||||
#endif
|
||||
#if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MAC) \
|
||||
#if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) \
|
||||
|| defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_HAIKU)
|
||||
EXTERN char e_font[] INIT(= N_("E235: Unknown font: %s"));
|
||||
#endif
|
||||
@ -1586,7 +1589,6 @@ EXTERN char e_invargNval[] INIT(= N_("E475: Invalid value for argument %s: %s"))
|
||||
EXTERN char e_invexpr2[] INIT(= N_("E15: Invalid expression: %s"));
|
||||
#endif
|
||||
EXTERN char e_invrange[] INIT(= N_("E16: Invalid range"));
|
||||
EXTERN char e_invcmd[] INIT(= N_("E476: Invalid command"));
|
||||
#if defined(UNIX) || defined(FEAT_SYN_HL) || defined(FEAT_SPELL)
|
||||
EXTERN char e_isadir2[] INIT(= N_("E17: \"%s\" is a directory"));
|
||||
#endif
|
||||
@ -1675,7 +1677,6 @@ EXTERN char e_re_damg[] INIT(= N_("E43: Damaged match string"));
|
||||
EXTERN char e_re_corr[] INIT(= N_("E44: Corrupted regexp program"));
|
||||
EXTERN char e_readonly[] INIT(= N_("E45: 'readonly' option is set (add ! to override)"));
|
||||
#ifdef FEAT_EVAL
|
||||
EXTERN char e_undefvar[] INIT(= N_("E121: Undefined variable: %s"));
|
||||
EXTERN char e_letwrong[] INIT(= N_("E734: Wrong variable type for %s="));
|
||||
EXTERN char e_illvar[] INIT(= N_("E461: Illegal variable name: %s"));
|
||||
EXTERN char e_cannot_mod[] INIT(= N_("E995: Cannot modify existing variable"));
|
||||
@ -1684,7 +1685,6 @@ EXTERN char e_readonlysbx[] INIT(= N_("E794: Cannot set variable in the sandbox:
|
||||
EXTERN char e_stringreq[] INIT(= N_("E928: String required"));
|
||||
EXTERN char e_emptykey[] INIT(= N_("E713: Cannot use empty key for Dictionary"));
|
||||
EXTERN char e_dictreq[] INIT(= N_("E715: Dictionary required"));
|
||||
EXTERN char e_dictnull[] INIT(= N_("E1103: Dictionary not set"));
|
||||
EXTERN char e_listidx[] INIT(= N_("E684: list index out of range: %ld"));
|
||||
EXTERN char e_blobidx[] INIT(= N_("E979: Blob index out of range: %ld"));
|
||||
EXTERN char e_invalblob[] INIT(= N_("E978: Invalid operation for Blob"));
|
||||
@ -1693,7 +1693,6 @@ EXTERN char e_toofewarg[] INIT(= N_("E119: Not enough arguments for function: %s
|
||||
EXTERN char e_func_deleted[] INIT(= N_("E933: Function was deleted: %s"));
|
||||
EXTERN char e_dictkey[] INIT(= N_("E716: Key not present in Dictionary: %s"));
|
||||
EXTERN char e_listreq[] INIT(= N_("E714: List required"));
|
||||
EXTERN char e_listdictblobreq[] INIT(= N_("E1090: List, Dict or Blob required"));
|
||||
EXTERN char e_listblobreq[] INIT(= N_("E897: List or Blob required"));
|
||||
EXTERN char e_list_end[] INIT(= N_("E697: Missing end of List ']': %s"));
|
||||
EXTERN char e_listdictarg[] INIT(= N_("E712: Argument of %s must be a List or Dictionary"));
|
||||
@ -1746,7 +1745,6 @@ EXTERN char e_missing_dict_colon[] INIT(= N_("E720: Missing colon in Dictionary:
|
||||
EXTERN char e_duplicate_key[] INIT(= N_("E721: Duplicate key in Dictionary: \"%s\""));
|
||||
EXTERN char e_missing_dict_comma[] INIT(= N_("E722: Missing comma in Dictionary: %s"));
|
||||
EXTERN char e_missing_dict_end[] INIT(= N_("E723: Missing end of Dictionary '}': %s"));
|
||||
EXTERN char e_already_defined[] INIT(= N_("E1073: name already defined: %s"));
|
||||
#endif
|
||||
#ifdef FEAT_CLIENTSERVER
|
||||
EXTERN char e_invexprmsg[] INIT(= N_("E449: Invalid expression received"));
|
||||
@ -1789,25 +1787,13 @@ EXTERN char e_endif_without_if[] INIT(= N_("E580: :endif without :if"));
|
||||
EXTERN char e_continue[] INIT(= N_("E586: :continue without :while or :for"));
|
||||
EXTERN char e_break[] INIT(= N_("E587: :break without :while or :for"));
|
||||
EXTERN char e_nowhitespace[] INIT(= N_("E274: No white space allowed before parenthesis"));
|
||||
EXTERN char e_white_both[] INIT(= N_("E1004: white space required before and after '%s'"));
|
||||
EXTERN char e_white_after[] INIT(= N_("E1069: white space required after '%s'"));
|
||||
EXTERN char e_no_white_before[] INIT(= N_("E1068: No white space allowed before '%s'"));
|
||||
|
||||
EXTERN char e_lock_unlock[] INIT(= N_("E940: Cannot lock or unlock variable %s"));
|
||||
EXTERN char e_const_req_value[] INIT(= N_("E1021: const requires a value"));
|
||||
EXTERN char e_type_req[] INIT(= N_("E1022: type or initialization required"));
|
||||
EXTERN char e_declare_var[] INIT(= N_("E1016: Cannot declare a %s variable: %s"));
|
||||
EXTERN char e_declare_env_var[] INIT(= N_("E1016: Cannot declare an environment variable: %s"));
|
||||
EXTERN char e_colon_required[] INIT(= N_("E1050: Colon required before a range"));
|
||||
#endif
|
||||
#if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
|
||||
EXTERN char e_alloc_color[] INIT(= N_("E254: Cannot allocate color %s"));
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_GUI_MAC
|
||||
EXTERN short disallow_gui INIT(= FALSE);
|
||||
#endif
|
||||
|
||||
EXTERN char top_bot_msg[] INIT(= N_("search hit TOP, continuing at BOTTOM"));
|
||||
EXTERN char bot_top_msg[] INIT(= N_("search hit BOTTOM, continuing at TOP"));
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user