mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-05-28 00:21:57 +02:00
Compare commits
134 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4bf1de8cb5 | |||
| 11c2b16230 | |||
| 87831bf122 | |||
| 7e750e3538 | |||
| 32cd986c61 | |||
| e855c2e8d5 | |||
| 23c1b2b018 | |||
| 415a6939a4 | |||
| 5fe6bdf858 | |||
| 3767c6e9ee | |||
| ac112f01a6 | |||
| feeb4d0901 | |||
| 1eca6f13d6 | |||
| 92467d3351 | |||
| ce6179c799 | |||
| 461fe50fea | |||
| eba9637eb8 | |||
| 1ad022a9b8 | |||
| 24820691e6 | |||
| 22044dc317 | |||
| af903e5d49 | |||
| a7c54cfcf8 | |||
| 97ce419201 | |||
| 76bb7196f5 | |||
| 2f0584910c | |||
| d558443e8d | |||
| 594349b5e7 | |||
| 5689b8f5a4 | |||
| 28c6e2f1f7 | |||
| 46359e198f | |||
| 4ded3ab92b | |||
| 8b9e20afb0 | |||
| 1a2ab991a6 | |||
| c5aa55db7e | |||
| a45ff6caba | |||
| 3660a10c73 | |||
| 1ed2276fd5 | |||
| f38c86eb6b | |||
| bdb8139098 | |||
| 1355aad2b9 | |||
| 7683f13865 | |||
| cc8a9dcdb0 | |||
| 17471e84a7 | |||
| c8c75796a6 | |||
| e0aa23f7e3 | |||
| a3571ebef5 | |||
| c41838aa01 | |||
| 2877d334ad | |||
| d7ccc4d81d | |||
| fb1db0e355 | |||
| be5d998d0e | |||
| 281c93e714 | |||
| 83799a7b74 | |||
| 819edbe078 | |||
| 50d43153a7 | |||
| 6315a9ae92 | |||
| 291a9d15ed | |||
| 3167c3e701 | |||
| 2c997d7603 | |||
| 93a32e2ec4 | |||
| 3679c17917 | |||
| 5ebd0d1c70 | |||
| ea7ba2602d | |||
| a2a80162de | |||
| 52dbb5ea7f | |||
| 5505860152 | |||
| ff5467965e | |||
| 91ffda9852 | |||
| 6e77df2d85 | |||
| 5df95ea9ef | |||
| bb160a188a | |||
| 73675fbc48 | |||
| c8a233bc28 | |||
| 5bbef31949 | |||
| 40e280d949 | |||
| 7221fce8b3 | |||
| 669a828cdc | |||
| 246fe03d15 | |||
| e518226713 | |||
| 6023f132f9 | |||
| 44c2bffde7 | |||
| e86ee877c1 | |||
| 4ab9d9e9a4 | |||
| d1c28346e1 | |||
| c3719bd87b | |||
| c7d16dce2f | |||
| 0f1e643138 | |||
| 51b0f3701e | |||
| 234d16286a | |||
| ae1e108caa | |||
| 9e27217c48 | |||
| 21c825c36c | |||
| 7567d0b115 | |||
| d048009717 | |||
| 9c6ce0e622 | |||
| 209d3874c1 | |||
| 7cb769a69f | |||
| cd142e3369 | |||
| a42ad57e48 | |||
| dc9772e901 | |||
| 58a8f1706f | |||
| 96b5eaa1b8 | |||
| 2392143236 | |||
| 1dcada1933 | |||
| e42a6d2509 | |||
| 2f27aab8e6 | |||
| 60e73f2acc | |||
| d327b0c68f | |||
| f8c53d3d26 | |||
| 80eaddd3a0 | |||
| 7f2e9d7c9c | |||
| 13e904199c | |||
| ae147ab2d7 | |||
| aeeb6888ca | |||
| 5fd8b78214 | |||
| d09a206ee9 | |||
| 43fb579ddd | |||
| 462455ee8b | |||
| 4f0f018e0f | |||
| 502a0f2ae4 | |||
| 75c538530a | |||
| 26de87631d | |||
| 9ed7d34af3 | |||
| cef7322d8a | |||
| 851ee6c3da | |||
| de323093e1 | |||
| 040c1feb21 | |||
| 8ac441576f | |||
| 26d205dcd8 | |||
| a3f7e58bf8 | |||
| c9e9c71409 | |||
| 9b7d8cd225 | |||
| 0c4dc88a63 | |||
| 4148be468f |
+1
-1
@@ -4,7 +4,7 @@ dist: trusty
|
||||
os:
|
||||
- osx
|
||||
|
||||
osx_image: xcode9.1
|
||||
osx_image: xcode9.2
|
||||
|
||||
compiler:
|
||||
- clang
|
||||
|
||||
@@ -12,6 +12,8 @@ SRC_ALL = \
|
||||
src/arabic.c \
|
||||
src/arabic.h \
|
||||
src/ascii.h \
|
||||
src/beval.c \
|
||||
src/beval.h \
|
||||
src/blowfish.c \
|
||||
src/buffer.c \
|
||||
src/channel.c \
|
||||
@@ -41,7 +43,6 @@ SRC_ALL = \
|
||||
src/gui.c \
|
||||
src/gui.h \
|
||||
src/gui_beval.c \
|
||||
src/gui_beval.h \
|
||||
src/hardcopy.c \
|
||||
src/hashtab.c \
|
||||
src/json.c \
|
||||
@@ -118,7 +119,6 @@ SRC_ALL = \
|
||||
src/testdir/test[0-9]*a.ok \
|
||||
src/testdir/test_[a-z]*.ok \
|
||||
src/testdir/test49.vim \
|
||||
src/testdir/test60.vim \
|
||||
src/testdir/test83-tags? \
|
||||
src/testdir/test77a.com \
|
||||
src/testdir/test_*.vim \
|
||||
@@ -135,10 +135,12 @@ SRC_ALL = \
|
||||
src/testdir/bench*.in \
|
||||
src/testdir/bench*.vim \
|
||||
src/testdir/samples/*.txt \
|
||||
src/testdir/samples/test000 \
|
||||
src/testdir/if_ver*.vim \
|
||||
src/testdir/xterm_ramp.vim \
|
||||
src/testdir/color_ramp.vim \
|
||||
src/proto.h \
|
||||
src/proto/arabic.pro \
|
||||
src/proto/beval.pro \
|
||||
src/proto/blowfish.pro \
|
||||
src/proto/buffer.pro \
|
||||
src/proto/channel.pro \
|
||||
@@ -582,6 +584,7 @@ RT_ALL = \
|
||||
runtime/doc/*.txt \
|
||||
runtime/doc/Makefile \
|
||||
runtime/doc/doctags.c \
|
||||
runtime/doc/test_urls.vim \
|
||||
runtime/doc/vim.1 \
|
||||
runtime/doc/evim.1 \
|
||||
runtime/doc/vimdiff.1 \
|
||||
@@ -659,6 +662,7 @@ RT_SCRIPTS = \
|
||||
runtime/makemenu.vim \
|
||||
runtime/autoload/*.vim \
|
||||
runtime/autoload/README.txt \
|
||||
runtime/autoload/dist/*.vim \
|
||||
runtime/autoload/xml/*.vim \
|
||||
runtime/colors/*.vim \
|
||||
runtime/colors/README.txt \
|
||||
|
||||
@@ -16,6 +16,7 @@ matrix:
|
||||
|
||||
before_build:
|
||||
- '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release'
|
||||
- 'set INCLUDE=%INCLUDE%C:\Program Files (x86)\Windows Kits\8.1\Include\um'
|
||||
|
||||
build_script:
|
||||
- src/appveyor.bat
|
||||
|
||||
@@ -268,6 +268,9 @@ Section "Vim executables and runtime files"
|
||||
SetOutPath $0\autoload
|
||||
File ${VIMRT}\autoload\*.*
|
||||
|
||||
SetOutPath $0\autoload\dist
|
||||
File ${VIMRT}\autoload\dist\*.*
|
||||
|
||||
SetOutPath $0\autoload\xml
|
||||
File ${VIMRT}\autoload\xml\*.*
|
||||
|
||||
|
||||
Vendored
+741
@@ -0,0 +1,741 @@
|
||||
" Vim functions for file type detection
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2017 Nov 11
|
||||
|
||||
" These functions are moved here from runtime/filetype.vim to make startup
|
||||
" faster.
|
||||
|
||||
" Line continuation is used here, remove 'C' from 'cpoptions'
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
func dist#ft#Check_inp()
|
||||
if getline(1) =~ '^\*'
|
||||
setf abaqus
|
||||
else
|
||||
let n = 1
|
||||
if line("$") > 500
|
||||
let nmax = 500
|
||||
else
|
||||
let nmax = line("$")
|
||||
endif
|
||||
while n <= nmax
|
||||
if getline(n) =~? "^header surface data"
|
||||
setf trasys
|
||||
break
|
||||
endif
|
||||
let n = n + 1
|
||||
endwhile
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" This function checks for the kind of assembly that is wanted by the user, or
|
||||
" can be detected from the first five lines of the file.
|
||||
func dist#ft#FTasm()
|
||||
" make sure b:asmsyntax exists
|
||||
if !exists("b:asmsyntax")
|
||||
let b:asmsyntax = ""
|
||||
endif
|
||||
|
||||
if b:asmsyntax == ""
|
||||
call dist#ft#FTasmsyntax()
|
||||
endif
|
||||
|
||||
" if b:asmsyntax still isn't set, default to asmsyntax or GNU
|
||||
if b:asmsyntax == ""
|
||||
if exists("g:asmsyntax")
|
||||
let b:asmsyntax = g:asmsyntax
|
||||
else
|
||||
let b:asmsyntax = "asm"
|
||||
endif
|
||||
endif
|
||||
|
||||
exe "setf " . fnameescape(b:asmsyntax)
|
||||
endfunc
|
||||
|
||||
func dist#ft#FTasmsyntax()
|
||||
" see if file contains any asmsyntax=foo overrides. If so, change
|
||||
" b:asmsyntax appropriately
|
||||
let head = " ".getline(1)." ".getline(2)." ".getline(3)." ".getline(4).
|
||||
\" ".getline(5)." "
|
||||
let match = matchstr(head, '\sasmsyntax=\zs[a-zA-Z0-9]\+\ze\s')
|
||||
if match != ''
|
||||
let b:asmsyntax = match
|
||||
elseif ((head =~? '\.title') || (head =~? '\.ident') || (head =~? '\.macro') || (head =~? '\.subtitle') || (head =~? '\.library'))
|
||||
let b:asmsyntax = "vmasm"
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" Check if one of the first five lines contains "VB_Name". In that case it is
|
||||
" probably a Visual Basic file. Otherwise it's assumed to be "alt" filetype.
|
||||
func dist#ft#FTVB(alt)
|
||||
if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'VB_Name\|Begin VB\.\(Form\|MDIForm\|UserControl\)'
|
||||
setf vb
|
||||
else
|
||||
exe "setf " . a:alt
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func dist#ft#FTbtm()
|
||||
if exists("g:dosbatch_syntax_for_btm") && g:dosbatch_syntax_for_btm
|
||||
setf dosbatch
|
||||
else
|
||||
setf btm
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func dist#ft#BindzoneCheck(default)
|
||||
if getline(1).getline(2).getline(3).getline(4) =~ '^; <<>> DiG [0-9.]\+.* <<>>\|$ORIGIN\|$TTL\|IN\s\+SOA'
|
||||
setf bindzone
|
||||
elseif a:default != ''
|
||||
exe 'setf ' . a:default
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func dist#ft#FTlpc()
|
||||
if exists("g:lpc_syntax_for_c")
|
||||
let lnum = 1
|
||||
while lnum <= 12
|
||||
if getline(lnum) =~# '^\(//\|inherit\|private\|protected\|nosave\|string\|object\|mapping\|mixed\)'
|
||||
setf lpc
|
||||
return
|
||||
endif
|
||||
let lnum = lnum + 1
|
||||
endwhile
|
||||
endif
|
||||
setf c
|
||||
endfunc
|
||||
|
||||
func dist#ft#FTheader()
|
||||
if match(getline(1, min([line("$"), 200])), '^@\(interface\|end\|class\)') > -1
|
||||
if exists("g:c_syntax_for_h")
|
||||
setf objc
|
||||
else
|
||||
setf objcpp
|
||||
endif
|
||||
elseif exists("g:c_syntax_for_h")
|
||||
setf c
|
||||
elseif exists("g:ch_syntax_for_h")
|
||||
setf ch
|
||||
else
|
||||
setf cpp
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" This function checks if one of the first ten lines start with a '@'. In
|
||||
" that case it is probably a change file.
|
||||
" If the first line starts with # or ! it's probably a ch file.
|
||||
" If a line has "main", "include", "//" ir "/*" it's probably ch.
|
||||
" Otherwise CHILL is assumed.
|
||||
func dist#ft#FTchange()
|
||||
let lnum = 1
|
||||
while lnum <= 10
|
||||
if getline(lnum)[0] == '@'
|
||||
setf change
|
||||
return
|
||||
endif
|
||||
if lnum == 1 && (getline(1)[0] == '#' || getline(1)[0] == '!')
|
||||
setf ch
|
||||
return
|
||||
endif
|
||||
if getline(lnum) =~ "MODULE"
|
||||
setf chill
|
||||
return
|
||||
endif
|
||||
if getline(lnum) =~ 'main\s*(\|#\s*include\|//'
|
||||
setf ch
|
||||
return
|
||||
endif
|
||||
let lnum = lnum + 1
|
||||
endwhile
|
||||
setf chill
|
||||
endfunc
|
||||
|
||||
func dist#ft#FTent()
|
||||
" This function checks for valid cl syntax in the first five lines.
|
||||
" Look for either an opening comment, '#', or a block start, '{".
|
||||
" If not found, assume SGML.
|
||||
let lnum = 1
|
||||
while lnum < 6
|
||||
let line = getline(lnum)
|
||||
if line =~ '^\s*[#{]'
|
||||
setf cl
|
||||
return
|
||||
elseif line !~ '^\s*$'
|
||||
" Not a blank line, not a comment, and not a block start,
|
||||
" so doesn't look like valid cl code.
|
||||
break
|
||||
endif
|
||||
let lnum = lnum + 1
|
||||
endw
|
||||
setf dtd
|
||||
endfunc
|
||||
|
||||
func dist#ft#EuphoriaCheck()
|
||||
if exists('g:filetype_euphoria')
|
||||
exe 'setf ' . g:filetype_euphoria
|
||||
else
|
||||
setf euphoria3
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func dist#ft#DtraceCheck()
|
||||
let lines = getline(1, min([line("$"), 100]))
|
||||
if match(lines, '^module\>\|^import\>') > -1
|
||||
" D files often start with a module and/or import statement.
|
||||
setf d
|
||||
elseif match(lines, '^#!\S\+dtrace\|#pragma\s\+D\s\+option\|:\S\{-}:\S\{-}:') > -1
|
||||
setf dtrace
|
||||
else
|
||||
setf d
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func dist#ft#FTe()
|
||||
if exists('g:filetype_euphoria')
|
||||
exe 'setf ' . g:filetype_euphoria
|
||||
else
|
||||
let n = 1
|
||||
while n < 100 && n < line("$")
|
||||
if getline(n) =~ "^\\s*\\(<'\\|'>\\)\\s*$"
|
||||
setf specman
|
||||
return
|
||||
endif
|
||||
let n = n + 1
|
||||
endwhile
|
||||
setf eiffel
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" Distinguish between HTML, XHTML and Django
|
||||
func dist#ft#FThtml()
|
||||
let n = 1
|
||||
while n < 10 && n < line("$")
|
||||
if getline(n) =~ '\<DTD\s\+XHTML\s'
|
||||
setf xhtml
|
||||
return
|
||||
endif
|
||||
if getline(n) =~ '{%\s*\(extends\|block\|load\)\>\|{#\s\+'
|
||||
setf htmldjango
|
||||
return
|
||||
endif
|
||||
let n = n + 1
|
||||
endwhile
|
||||
setf html
|
||||
endfunc
|
||||
|
||||
" Distinguish between standard IDL and MS-IDL
|
||||
func dist#ft#FTidl()
|
||||
let n = 1
|
||||
while n < 50 && n < line("$")
|
||||
if getline(n) =~ '^\s*import\s\+"\(unknwn\|objidl\)\.idl"'
|
||||
setf msidl
|
||||
return
|
||||
endif
|
||||
let n = n + 1
|
||||
endwhile
|
||||
setf idl
|
||||
endfunc
|
||||
|
||||
" Distinguish between "default" and Cproto prototype file. */
|
||||
func dist#ft#ProtoCheck(default)
|
||||
" Cproto files have a comment in the first line and a function prototype in
|
||||
" the second line, it always ends in ";". Indent files may also have
|
||||
" comments, thus we can't match comments to see the difference.
|
||||
" IDL files can have a single ';' in the second line, require at least one
|
||||
" chacter before the ';'.
|
||||
if getline(2) =~ '.;$'
|
||||
setf cpp
|
||||
else
|
||||
exe 'setf ' . a:default
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func dist#ft#FTm()
|
||||
let n = 1
|
||||
let saw_comment = 0 " Whether we've seen a multiline comment leader.
|
||||
while n < 100
|
||||
let line = getline(n)
|
||||
if line =~ '^\s*/\*'
|
||||
" /* ... */ is a comment in Objective C and Murphi, so we can't conclude
|
||||
" it's either of them yet, but track this as a hint in case we don't see
|
||||
" anything more definitive.
|
||||
let saw_comment = 1
|
||||
endif
|
||||
if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|//\)'
|
||||
setf objc
|
||||
return
|
||||
endif
|
||||
if line =~ '^\s*%'
|
||||
setf matlab
|
||||
return
|
||||
endif
|
||||
if line =~ '^\s*(\*'
|
||||
setf mma
|
||||
return
|
||||
endif
|
||||
if line =~ '^\c\s*\(\(type\|var\)\>\|--\)'
|
||||
setf murphi
|
||||
return
|
||||
endif
|
||||
let n = n + 1
|
||||
endwhile
|
||||
|
||||
if saw_comment
|
||||
" We didn't see anything definitive, but this looks like either Objective C
|
||||
" or Murphi based on the comment leader. Assume the former as it is more
|
||||
" common.
|
||||
setf objc
|
||||
elseif exists("g:filetype_m")
|
||||
" Use user specified default filetype for .m
|
||||
exe "setf " . g:filetype_m
|
||||
else
|
||||
" Default is matlab
|
||||
setf matlab
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func dist#ft#FTmms()
|
||||
let n = 1
|
||||
while n < 10
|
||||
let line = getline(n)
|
||||
if line =~ '^\s*\(%\|//\)' || line =~ '^\*'
|
||||
setf mmix
|
||||
return
|
||||
endif
|
||||
if line =~ '^\s*#'
|
||||
setf make
|
||||
return
|
||||
endif
|
||||
let n = n + 1
|
||||
endwhile
|
||||
setf mmix
|
||||
endfunc
|
||||
|
||||
" This function checks if one of the first five lines start with a dot. In
|
||||
" that case it is probably an nroff file: 'filetype' is set and 1 is returned.
|
||||
func dist#ft#FTnroff()
|
||||
if getline(1)[0] . getline(2)[0] . getline(3)[0] . getline(4)[0] . getline(5)[0] =~ '\.'
|
||||
setf nroff
|
||||
return 1
|
||||
endif
|
||||
return 0
|
||||
endfunc
|
||||
|
||||
func dist#ft#FTmm()
|
||||
let n = 1
|
||||
while n < 10
|
||||
let line = getline(n)
|
||||
if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|/\*\)'
|
||||
setf objcpp
|
||||
return
|
||||
endif
|
||||
let n = n + 1
|
||||
endwhile
|
||||
setf nroff
|
||||
endfunc
|
||||
|
||||
func dist#ft#FTpl()
|
||||
if exists("g:filetype_pl")
|
||||
exe "setf " . g:filetype_pl
|
||||
else
|
||||
" recognize Prolog by specific text in the first non-empty line
|
||||
" require a blank after the '%' because Perl uses "%list" and "%translate"
|
||||
let l = getline(nextnonblank(1))
|
||||
if l =~ '\<prolog\>' || l =~ '^\s*\(%\+\(\s\|$\)\|/\*\)' || l =~ ':-'
|
||||
setf prolog
|
||||
else
|
||||
setf perl
|
||||
endif
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func dist#ft#FTinc()
|
||||
if exists("g:filetype_inc")
|
||||
exe "setf " . g:filetype_inc
|
||||
else
|
||||
let lines = getline(1).getline(2).getline(3)
|
||||
if lines =~? "perlscript"
|
||||
setf aspperl
|
||||
elseif lines =~ "<%"
|
||||
setf aspvbs
|
||||
elseif lines =~ "<?"
|
||||
setf php
|
||||
else
|
||||
call dist#ft#FTasmsyntax()
|
||||
if exists("b:asmsyntax")
|
||||
exe "setf " . fnameescape(b:asmsyntax)
|
||||
else
|
||||
setf pov
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func dist#ft#FTprogress_cweb()
|
||||
if exists("g:filetype_w")
|
||||
exe "setf " . g:filetype_w
|
||||
return
|
||||
endif
|
||||
if getline(1) =~ '&ANALYZE' || getline(3) =~ '&GLOBAL-DEFINE'
|
||||
setf progress
|
||||
else
|
||||
setf cweb
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func dist#ft#FTprogress_asm()
|
||||
if exists("g:filetype_i")
|
||||
exe "setf " . g:filetype_i
|
||||
return
|
||||
endif
|
||||
" This function checks for an assembly comment the first ten lines.
|
||||
" If not found, assume Progress.
|
||||
let lnum = 1
|
||||
while lnum <= 10 && lnum < line('$')
|
||||
let line = getline(lnum)
|
||||
if line =~ '^\s*;' || line =~ '^\*'
|
||||
call dist#ft#FTasm()
|
||||
return
|
||||
elseif line !~ '^\s*$' || line =~ '^/\*'
|
||||
" Not an empty line: Doesn't look like valid assembly code.
|
||||
" Or it looks like a Progress /* comment
|
||||
break
|
||||
endif
|
||||
let lnum = lnum + 1
|
||||
endw
|
||||
setf progress
|
||||
endfunc
|
||||
|
||||
func dist#ft#FTprogress_pascal()
|
||||
if exists("g:filetype_p")
|
||||
exe "setf " . g:filetype_p
|
||||
return
|
||||
endif
|
||||
" This function checks for valid Pascal syntax in the first ten lines.
|
||||
" Look for either an opening comment or a program start.
|
||||
" If not found, assume Progress.
|
||||
let lnum = 1
|
||||
while lnum <= 10 && lnum < line('$')
|
||||
let line = getline(lnum)
|
||||
if line =~ '^\s*\(program\|unit\|procedure\|function\|const\|type\|var\)\>'
|
||||
\ || line =~ '^\s*{' || line =~ '^\s*(\*'
|
||||
setf pascal
|
||||
return
|
||||
elseif line !~ '^\s*$' || line =~ '^/\*'
|
||||
" Not an empty line: Doesn't look like valid Pascal code.
|
||||
" Or it looks like a Progress /* comment
|
||||
break
|
||||
endif
|
||||
let lnum = lnum + 1
|
||||
endw
|
||||
setf progress
|
||||
endfunc
|
||||
|
||||
func dist#ft#FTr()
|
||||
let max = line("$") > 50 ? 50 : line("$")
|
||||
|
||||
for n in range(1, max)
|
||||
" Rebol is easy to recognize, check for that first
|
||||
if getline(n) =~? '\<REBOL\>'
|
||||
setf rebol
|
||||
return
|
||||
endif
|
||||
endfor
|
||||
|
||||
for n in range(1, max)
|
||||
" R has # comments
|
||||
if getline(n) =~ '^\s*#'
|
||||
setf r
|
||||
return
|
||||
endif
|
||||
" Rexx has /* comments */
|
||||
if getline(n) =~ '^\s*/\*'
|
||||
setf rexx
|
||||
return
|
||||
endif
|
||||
endfor
|
||||
|
||||
" Nothing recognized, use user default or assume Rexx
|
||||
if exists("g:filetype_r")
|
||||
exe "setf " . g:filetype_r
|
||||
else
|
||||
" Rexx used to be the default, but R appears to be much more popular.
|
||||
setf r
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func dist#ft#McSetf()
|
||||
" Rely on the file to start with a comment.
|
||||
" MS message text files use ';', Sendmail files use '#' or 'dnl'
|
||||
for lnum in range(1, min([line("$"), 20]))
|
||||
let line = getline(lnum)
|
||||
if line =~ '^\s*\(#\|dnl\)'
|
||||
setf m4 " Sendmail .mc file
|
||||
return
|
||||
elseif line =~ '^\s*;'
|
||||
setf msmessages " MS Message text file
|
||||
return
|
||||
endif
|
||||
endfor
|
||||
setf m4 " Default: Sendmail .mc file
|
||||
endfunc
|
||||
|
||||
" Called from filetype.vim and scripts.vim.
|
||||
func dist#ft#SetFileTypeSH(name)
|
||||
if expand("<amatch>") =~ g:ft_ignore_pat
|
||||
return
|
||||
endif
|
||||
if a:name =~ '\<csh\>'
|
||||
" Some .sh scripts contain #!/bin/csh.
|
||||
call dist#ft#SetFileTypeShell("csh")
|
||||
return
|
||||
elseif a:name =~ '\<tcsh\>'
|
||||
" Some .sh scripts contain #!/bin/tcsh.
|
||||
call dist#ft#SetFileTypeShell("tcsh")
|
||||
return
|
||||
elseif a:name =~ '\<zsh\>'
|
||||
" Some .sh scripts contain #!/bin/zsh.
|
||||
call dist#ft#SetFileTypeShell("zsh")
|
||||
return
|
||||
elseif a:name =~ '\<ksh\>'
|
||||
let b:is_kornshell = 1
|
||||
if exists("b:is_bash")
|
||||
unlet b:is_bash
|
||||
endif
|
||||
if exists("b:is_sh")
|
||||
unlet b:is_sh
|
||||
endif
|
||||
elseif exists("g:bash_is_sh") || a:name =~ '\<bash\>' || a:name =~ '\<bash2\>'
|
||||
let b:is_bash = 1
|
||||
if exists("b:is_kornshell")
|
||||
unlet b:is_kornshell
|
||||
endif
|
||||
if exists("b:is_sh")
|
||||
unlet b:is_sh
|
||||
endif
|
||||
elseif a:name =~ '\<sh\>'
|
||||
let b:is_sh = 1
|
||||
if exists("b:is_kornshell")
|
||||
unlet b:is_kornshell
|
||||
endif
|
||||
if exists("b:is_bash")
|
||||
unlet b:is_bash
|
||||
endif
|
||||
endif
|
||||
call dist#ft#SetFileTypeShell("sh")
|
||||
endfunc
|
||||
|
||||
" For shell-like file types, check for an "exec" command hidden in a comment,
|
||||
" as used for Tcl.
|
||||
" Also called from scripts.vim, thus can't be local to this script.
|
||||
func dist#ft#SetFileTypeShell(name)
|
||||
if expand("<amatch>") =~ g:ft_ignore_pat
|
||||
return
|
||||
endif
|
||||
let l = 2
|
||||
while l < 20 && l < line("$") && getline(l) =~ '^\s*\(#\|$\)'
|
||||
" Skip empty and comment lines.
|
||||
let l = l + 1
|
||||
endwhile
|
||||
if l < line("$") && getline(l) =~ '\s*exec\s' && getline(l - 1) =~ '^\s*#.*\\$'
|
||||
" Found an "exec" line after a comment with continuation
|
||||
let n = substitute(getline(l),'\s*exec\s\+\([^ ]*/\)\=', '', '')
|
||||
if n =~ '\<tclsh\|\<wish'
|
||||
setf tcl
|
||||
return
|
||||
endif
|
||||
endif
|
||||
exe "setf " . a:name
|
||||
endfunc
|
||||
|
||||
func dist#ft#CSH()
|
||||
if exists("g:filetype_csh")
|
||||
call dist#ft#SetFileTypeShell(g:filetype_csh)
|
||||
elseif &shell =~ "tcsh"
|
||||
call dist#ft#SetFileTypeShell("tcsh")
|
||||
else
|
||||
call dist#ft#SetFileTypeShell("csh")
|
||||
endif
|
||||
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\)$'
|
||||
setf udevrules
|
||||
return
|
||||
endif
|
||||
if path =~ '^/etc/ufw/'
|
||||
setf conf " Better than hog
|
||||
return
|
||||
endif
|
||||
if path =~ '^/\(etc\|usr/share\)/polkit-1/rules\.d'
|
||||
setf javascript
|
||||
return
|
||||
endif
|
||||
try
|
||||
let config_lines = readfile('/etc/udev/udev.conf')
|
||||
catch /^Vim\%((\a\+)\)\=:E484/
|
||||
setf hog
|
||||
return
|
||||
endtry
|
||||
let dir = expand('<amatch>:p:h')
|
||||
for line in config_lines
|
||||
if line =~ s:ft_rules_udev_rules_pattern
|
||||
let udev_rules = substitute(line, s:ft_rules_udev_rules_pattern, '\1', "")
|
||||
if dir == udev_rules
|
||||
setf udevrules
|
||||
endif
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
setf hog
|
||||
endfunc
|
||||
|
||||
func dist#ft#SQL()
|
||||
if exists("g:filetype_sql")
|
||||
exe "setf " . g:filetype_sql
|
||||
else
|
||||
setf sql
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" If the file has an extension of 't' and is in a directory 't' or 'xt' then
|
||||
" it is almost certainly a Perl test file.
|
||||
" If the first line starts with '#' and contains 'perl' it's probably a Perl
|
||||
" file.
|
||||
" (Slow test) If a file contains a 'use' statement then it is almost certainly
|
||||
" a Perl file.
|
||||
func dist#ft#FTperl()
|
||||
let dirname = expand("%:p:h:t")
|
||||
if expand("%:e") == 't' && (dirname == 't' || dirname == 'xt')
|
||||
setf perl
|
||||
return 1
|
||||
endif
|
||||
if getline(1)[0] == '#' && getline(1) =~ 'perl'
|
||||
setf perl
|
||||
return 1
|
||||
endif
|
||||
if search('^use\s\s*\k', 'nc', 30)
|
||||
setf perl
|
||||
return 1
|
||||
endif
|
||||
return 0
|
||||
endfunc
|
||||
|
||||
" Choose context, plaintex, or tex (LaTeX) based on these rules:
|
||||
" 1. Check the first line of the file for "%&<format>".
|
||||
" 2. Check the first 1000 non-comment lines for LaTeX or ConTeXt keywords.
|
||||
" 3. Default to "latex" or to g:tex_flavor, can be set in user's vimrc.
|
||||
func dist#ft#FTtex()
|
||||
let firstline = getline(1)
|
||||
if firstline =~ '^%&\s*\a\+'
|
||||
let format = tolower(matchstr(firstline, '\a\+'))
|
||||
let format = substitute(format, 'pdf', '', '')
|
||||
if format == 'tex'
|
||||
let format = 'latex'
|
||||
elseif format == 'plaintex'
|
||||
let format = 'plain'
|
||||
endif
|
||||
elseif expand('%') =~ 'tex/context/.*/.*.tex'
|
||||
let format = 'context'
|
||||
else
|
||||
" Default value, may be changed later:
|
||||
let format = exists("g:tex_flavor") ? g:tex_flavor : 'plain'
|
||||
" Save position, go to the top of the file, find first non-comment line.
|
||||
let save_cursor = getpos('.')
|
||||
call cursor(1,1)
|
||||
let firstNC = search('^\s*[^[:space:]%]', 'c', 1000)
|
||||
if firstNC " Check the next thousand lines for a LaTeX or ConTeXt keyword.
|
||||
let lpat = 'documentclass\>\|usepackage\>\|begin{\|newcommand\>\|renewcommand\>'
|
||||
let cpat = 'start\a\+\|setup\a\+\|usemodule\|enablemode\|enableregime\|setvariables\|useencoding\|usesymbols\|stelle\a\+\|verwende\a\+\|stel\a\+\|gebruik\a\+\|usa\a\+\|imposta\a\+\|regle\a\+\|utilisemodule\>'
|
||||
let kwline = search('^\s*\\\%(' . lpat . '\)\|^\s*\\\(' . cpat . '\)',
|
||||
\ 'cnp', firstNC + 1000)
|
||||
if kwline == 1 " lpat matched
|
||||
let format = 'latex'
|
||||
elseif kwline == 2 " cpat matched
|
||||
let format = 'context'
|
||||
endif " If neither matched, keep default set above.
|
||||
" let lline = search('^\s*\\\%(' . lpat . '\)', 'cn', firstNC + 1000)
|
||||
" let cline = search('^\s*\\\%(' . cpat . '\)', 'cn', firstNC + 1000)
|
||||
" if cline > 0
|
||||
" let format = 'context'
|
||||
" endif
|
||||
" if lline > 0 && (cline == 0 || cline > lline)
|
||||
" let format = 'tex'
|
||||
" endif
|
||||
endif " firstNC
|
||||
call setpos('.', save_cursor)
|
||||
endif " firstline =~ '^%&\s*\a\+'
|
||||
|
||||
" Translation from formats to file types. TODO: add AMSTeX, RevTex, others?
|
||||
if format == 'plain'
|
||||
setf plaintex
|
||||
elseif format == 'context'
|
||||
setf context
|
||||
else " probably LaTeX
|
||||
setf tex
|
||||
endif
|
||||
return
|
||||
endfunc
|
||||
|
||||
func dist#ft#FTxml()
|
||||
let n = 1
|
||||
while n < 100 && n < line("$")
|
||||
let line = getline(n)
|
||||
" DocBook 4 or DocBook 5.
|
||||
let is_docbook4 = line =~ '<!DOCTYPE.*DocBook'
|
||||
let is_docbook5 = line =~ ' xmlns="http://docbook.org/ns/docbook"'
|
||||
if is_docbook4 || is_docbook5
|
||||
let b:docbk_type = "xml"
|
||||
if is_docbook5
|
||||
let b:docbk_ver = 5
|
||||
else
|
||||
let b:docbk_ver = 4
|
||||
endif
|
||||
setf docbk
|
||||
return
|
||||
endif
|
||||
if line =~ 'xmlns:xbl="http://www.mozilla.org/xbl"'
|
||||
setf xbl
|
||||
return
|
||||
endif
|
||||
let n += 1
|
||||
endwhile
|
||||
setf xml
|
||||
endfunc
|
||||
|
||||
func dist#ft#FTy()
|
||||
let n = 1
|
||||
while n < 100 && n < line("$")
|
||||
let line = getline(n)
|
||||
if line =~ '^\s*%'
|
||||
setf yacc
|
||||
return
|
||||
endif
|
||||
if getline(n) =~ '^\s*\(#\|class\>\)' && getline(n) !~ '^\s*#\s*include'
|
||||
setf racc
|
||||
return
|
||||
endif
|
||||
let n = n + 1
|
||||
endwhile
|
||||
setf yacc
|
||||
endfunc
|
||||
|
||||
func dist#ft#Redif()
|
||||
let lnum = 1
|
||||
while lnum <= 5 && lnum < line('$')
|
||||
if getline(lnum) =~ "^\ctemplate-type:"
|
||||
setf redif
|
||||
return
|
||||
endif
|
||||
let lnum = lnum + 1
|
||||
endwhile
|
||||
endfunc
|
||||
|
||||
|
||||
" Restore 'cpoptions'
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -344,7 +344,7 @@ xxd.man: xxd.1
|
||||
nroff -man xxd.1 | sed -e s/.//g > xxd.man
|
||||
|
||||
uganda.nsis.txt: uganda.txt
|
||||
sed -e 's/[ ]*\*[-a-zA-Z0-9.]*\*//g' -e 's/vim:tw=78://' \
|
||||
sed -e 's/[ ]*\*[-a-zA-Z0-9.]*\*//g' -e 's/vim:tw=78:.*//' \
|
||||
uganda.txt | uniq >uganda.nsis.txt
|
||||
|
||||
# Awk version of .txt to .html conversion.
|
||||
@@ -376,6 +376,10 @@ tags.ref tags.html: tags
|
||||
perlhtml: tags $(DOCS)
|
||||
./vim2html.pl tags $(DOCS)
|
||||
|
||||
# Check URLs in the help with "curl".
|
||||
test_urls:
|
||||
vim -S test_urls.vim
|
||||
|
||||
clean:
|
||||
-rm doctags *.html tags.ref
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*debugger.txt* For Vim version 8.0. Last change: 2005 Mar 29
|
||||
*debugger.txt* For Vim version 8.0. Last change: 2017 Nov 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur
|
||||
@@ -95,10 +95,12 @@ list and colors can be set via X resources (XmNballoonEvalFontList,
|
||||
XmNballoonEvalBackground, and XmNballoonEvalForeground).
|
||||
The 'balloondelay' option sets the delay before an attempt is made to show a
|
||||
balloon.
|
||||
The 'ballooneval' option needs to be set to switch it on.
|
||||
The 'ballooneval' and/or the 'balloonevalterm' option needs to be set to
|
||||
switch it on.
|
||||
|
||||
Balloon evaluation is only available when compiled with the |+balloon_eval|
|
||||
feature.
|
||||
Balloon evaluation is only available in the GUI when compiled with the
|
||||
|+balloon_eval| feature. For the terminal the |+balloon_eval_term| feature
|
||||
matters.
|
||||
|
||||
The Balloon evaluation functions are also used to show a tooltip for the
|
||||
toolbar. The 'ballooneval' option does not need to be set for this. But the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 8.0. Last change: 2017 Aug 21
|
||||
*editing.txt* For Vim version 8.0. Last change: 2017 Nov 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -900,7 +900,7 @@ Note: When the 'write' option is off, you are not able to write any file.
|
||||
|
||||
*:w* *:write*
|
||||
*E502* *E503* *E504* *E505*
|
||||
*E512* *E514* *E667* *E796*
|
||||
*E512* *E514* *E667* *E796* *E949*
|
||||
:w[rite] [++opt] Write the whole buffer to the current file. This is
|
||||
the normal way to save changes to a file. It fails
|
||||
when the 'readonly' option is set or when there is
|
||||
@@ -956,6 +956,9 @@ used, for example, when the write fails and you want to try again later with
|
||||
":w #". This can be switched off by removing the 'A' flag from the
|
||||
'cpoptions' option.
|
||||
|
||||
Note that the 'fsync' option matters here. If it's set it may make writes
|
||||
slower (but safer).
|
||||
|
||||
*:sav* *:saveas*
|
||||
:sav[eas][!] [++opt] {file}
|
||||
Save the current buffer under the name {file} and set
|
||||
|
||||
+45
-9
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 8.0. Last change: 2017 Oct 28
|
||||
*eval.txt* For Vim version 8.0. Last change: 2017 Nov 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -2032,6 +2032,7 @@ asin({expr}) Float arc sine of {expr}
|
||||
atan({expr}) Float arc tangent of {expr}
|
||||
atan2({expr1}, {expr2}) Float arc tangent of {expr1} / {expr2}
|
||||
balloon_show({msg}) none show {msg} inside the balloon
|
||||
balloon_split({msg}) List split {msg} as used for a balloon
|
||||
browse({save}, {title}, {initdir}, {default})
|
||||
String put up a file requester
|
||||
browsedir({title}, {initdir}) String put up a directory requester
|
||||
@@ -2451,6 +2452,7 @@ win_getid([{win} [, {tab}]]) Number get window ID for {win} in {tab}
|
||||
win_gotoid({expr}) Number go to window with ID {expr}
|
||||
win_id2tabwin({expr}) List get tab and window nr from window ID
|
||||
win_id2win({expr}) Number get window nr from window ID
|
||||
win_screenpos({nr}) List get screen position of window {nr}
|
||||
winbufnr({nr}) Number buffer number of window {nr}
|
||||
wincol() Number window column of the cursor
|
||||
winheight({nr}) Number height of window {nr}
|
||||
@@ -2682,8 +2684,12 @@ atan2({expr1}, {expr2}) *atan2()*
|
||||
< 2.356194
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
balloon_show({msg}) *balloon_show()*
|
||||
Show {msg} inside the balloon.
|
||||
balloon_show({expr}) *balloon_show()*
|
||||
Show {expr} inside the balloon. For the GUI {expr} is used as
|
||||
a string. For a terminal {expr} can be a list, which contains
|
||||
the lines of the balloon. If {expr} is not a list it will be
|
||||
split with |balloon_split()|.
|
||||
|
||||
Example: >
|
||||
func GetBalloonContent()
|
||||
" initiate getting the content
|
||||
@@ -2703,7 +2709,16 @@ balloon_show({msg}) *balloon_show()*
|
||||
|
||||
When showing a balloon is not possible nothing happens, no
|
||||
error message.
|
||||
{only available when compiled with the +balloon_eval feature}
|
||||
{only available when compiled with the +balloon_eval or
|
||||
+balloon_eval_term feature}
|
||||
|
||||
balloon_split({msg}) *balloon_split()*
|
||||
Split {msg} into lines to be displayed in a balloon. The
|
||||
splits are made for the current window size and optimize to
|
||||
show debugger output.
|
||||
Returns a |List| with the split lines.
|
||||
{only available when compiled with the +balloon_eval_term
|
||||
feature}
|
||||
|
||||
*browse()*
|
||||
browse({save}, {title}, {initdir}, {default})
|
||||
@@ -2734,6 +2749,8 @@ bufexists({expr}) *bufexists()*
|
||||
The result is a Number, which is |TRUE| if a buffer called
|
||||
{expr} exists.
|
||||
If the {expr} argument is a number, buffer numbers are used.
|
||||
Number zero is the alternate buffer for the current window.
|
||||
|
||||
If the {expr} argument is a string it must match a buffer name
|
||||
exactly. The name can be:
|
||||
- Relative to the current directory.
|
||||
@@ -4646,11 +4663,11 @@ getqflist([{what}]) *getqflist()*
|
||||
following string items are supported in {what}:
|
||||
context get the context stored with |setqflist()|
|
||||
efm errorformat to use when parsing "lines". If
|
||||
not present, then the 'erroformat' option
|
||||
not present, then the 'errorformat' option
|
||||
value is used.
|
||||
id get information for the quickfix list with
|
||||
|quickfix-ID|; zero means the id for the
|
||||
current list or the list specifed by "nr"
|
||||
current list or the list specified by "nr"
|
||||
idx index of the current entry in the list
|
||||
items quickfix list entries
|
||||
lines use 'errorformat' to extract items from a list
|
||||
@@ -7679,8 +7696,9 @@ submatch({nr} [, {list}]) *submatch()* *E935*
|
||||
When substitute() is used recursively only the submatches in
|
||||
the current (deepest) call can be obtained.
|
||||
|
||||
Example: >
|
||||
Examples: >
|
||||
:s/\d\+/\=submatch(0) + 1/
|
||||
:echo substitute(text, '\d\+', '\=submatch(0) + 1', '')
|
||||
< This finds the first number in the line and adds one to it.
|
||||
A line break is included as a newline character.
|
||||
|
||||
@@ -8616,6 +8634,14 @@ win_id2win({expr}) *win_id2win()*
|
||||
Return the window number of window with ID {expr}.
|
||||
Return 0 if the window cannot be found in the current tabpage.
|
||||
|
||||
win_screenpos({nr}) *win_screenpos()*
|
||||
Return the screen position of window {nr} as a list with two
|
||||
numbers: [row, col]. The first window always has position
|
||||
[1, 1].
|
||||
{nr} can be the window number or the |window-ID|.
|
||||
Return [0, 0] if the window cannot be found in the current
|
||||
tabpage.
|
||||
|
||||
*winbufnr()*
|
||||
winbufnr({nr}) The result is a Number, which is the number of the buffer
|
||||
associated with window {nr}. {nr} can be the window number or
|
||||
@@ -8721,7 +8747,7 @@ winwidth({nr}) *winwidth()*
|
||||
Examples: >
|
||||
:echo "The current window has " . winwidth(0) . " columns."
|
||||
:if winwidth(0) <= 50
|
||||
: exe "normal 50\<C-W>|"
|
||||
: 50 wincmd |
|
||||
:endif
|
||||
< For getting the terminal or screen size, see the 'columns'
|
||||
option.
|
||||
@@ -8762,8 +8788,17 @@ writefile({list}, {fname} [, {flags}])
|
||||
appended to the file: >
|
||||
:call writefile(["foo"], "event.log", "a")
|
||||
:call writefile(["bar"], "event.log", "a")
|
||||
<
|
||||
When {flags} contains "s" then fsync() is called after writing
|
||||
the file. This flushes the file to disk, if possible. This
|
||||
takes more time but avoids losing the file if the system
|
||||
crashes.
|
||||
When {flags} does not contain "S" or "s" then fsync is called
|
||||
if the 'fsync' option is set.
|
||||
When {flags} contains "S" then fsync() is not called, even
|
||||
when 'fsync' is set.
|
||||
|
||||
< All NL characters are replaced with a NUL character.
|
||||
All NL characters are replaced with a NUL character.
|
||||
Inserting CR characters needs to be done before passing {list}
|
||||
to writefile().
|
||||
An existing file is overwritten, if possible.
|
||||
@@ -8820,6 +8855,7 @@ amiga Amiga version of Vim.
|
||||
arabic Compiled with Arabic support |Arabic|.
|
||||
arp Compiled with ARP support (Amiga).
|
||||
autocmd Compiled with autocommand support. |autocommand|
|
||||
autoservername Automatically enable |clientserver|
|
||||
balloon_eval Compiled with |balloon-eval| support.
|
||||
balloon_multiline GUI supports multiline balloons.
|
||||
beos BeOS version of Vim.
|
||||
|
||||
+22
-11
@@ -602,7 +602,7 @@ MANPAGER *manpager.vim*
|
||||
The :Man command allows you to turn Vim into a manpager (that syntax highlights
|
||||
manpages and follows linked manpages on hitting CTRL-]).
|
||||
|
||||
Works on:
|
||||
Tested on:
|
||||
|
||||
- Linux
|
||||
- Mac OS
|
||||
@@ -617,25 +617,36 @@ Untested:
|
||||
- BeOS
|
||||
- OS/2
|
||||
|
||||
For bash,zsh,ksh or dash by adding to the config file (.bashrc,.zshrc, ...)
|
||||
If man sets the $MAN_PN environment variable, like man-db, the most common
|
||||
implementation on Linux, then the "env MAN_PN=1 " part below should NOT be
|
||||
set, that is, the "env MAN_PN=1" should be omitted! Otherwise, the Vim
|
||||
manpager does not correctly recognize manpages whose title contains a capital
|
||||
letter. See the discussion on
|
||||
|
||||
https://groups.google.com/forum/#!topic/vim_dev/pWZmt_7GkxI
|
||||
|
||||
For bash,zsh,ksh or dash, add to the config file (.bashrc,.zshrc, ...)
|
||||
|
||||
export MANPAGER="env MAN_PN=1 vim -M +MANPAGER -"
|
||||
|
||||
For (t)csh, add to the config file
|
||||
|
||||
setenv MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
|
||||
|
||||
For fish, add to the config file
|
||||
|
||||
set -x MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
|
||||
|
||||
On OpenBSD:
|
||||
|
||||
export MANPAGER="env MAN_PN=1 vim -M +MANPAGER"
|
||||
|
||||
For (t)csh by adding to the config file
|
||||
If you experience still issues on manpages whose titles do not contain capital
|
||||
letters, then try adding MANPATH=${MANPATH} after MAN_PN=1. If your manpages do
|
||||
not show up localized, then try adding, LANGUAGE=${LANG} after MAN_PN=1. See
|
||||
|
||||
setenv MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
|
||||
https://github.com/vim/vim/issues/1002
|
||||
|
||||
For fish by adding to the config file
|
||||
|
||||
set -x MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
|
||||
|
||||
If man sets the $MAN_PN environment variable, like man-db, the most common
|
||||
implementation on Linux and Mac OS, then the "env MAN_PN=1 " part above is
|
||||
superfluous.
|
||||
|
||||
PDF *ft-pdf-plugin*
|
||||
|
||||
|
||||
+12
-1
@@ -1,4 +1,4 @@
|
||||
*gui.txt* For Vim version 8.0. Last change: 2017 Sep 23
|
||||
*gui.txt* For Vim version 8.0. Last change: 2017 Nov 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -499,6 +499,17 @@ in the menu (which can take a bit of time to load). If you want to have all
|
||||
filetypes already present at startup, add: >
|
||||
:let do_syntax_sel_menu = 1
|
||||
|
||||
The following menuitems show all available color schemes, keymaps and compiler
|
||||
settings:
|
||||
Edit > Color Scheme ~
|
||||
Edit > Keymap ~
|
||||
Tools > Set Compiler ~
|
||||
However, they can also take a bit of time to load, because they search all
|
||||
related files from the directories in 'runtimepath'. Therefore they are
|
||||
loaded lazily (by the |CursorHold| event), or you can also load them manually.
|
||||
If you want to have all these items already present at startup, add: >
|
||||
:let do_no_lazyload_menus = 1
|
||||
|
||||
Note that the menu.vim is sourced when `:syntax on` or `:filetype on` is
|
||||
executed or after your .vimrc file is sourced. This means that the 'encoding'
|
||||
option and the language of messages (`:language messages`) must be set before
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_cscop.txt* For Vim version 8.0. Last change: 2017 Jun 14
|
||||
*if_cscop.txt* For Vim version 8.0. Last change: 2017 Nov 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Andy Kahn
|
||||
@@ -468,36 +468,18 @@ license or OS distribution), then you can download it for free from:
|
||||
http://cscope.sourceforge.net/
|
||||
This is released by SCO under the BSD license.
|
||||
|
||||
If you want a newer version of cscope, you will probably have to buy it.
|
||||
According to the (old) nvi documentation:
|
||||
|
||||
You can buy version 13.3 source with an unrestricted license
|
||||
for $400 from AT&T Software Solutions by calling +1-800-462-8146.
|
||||
|
||||
Also you can download cscope 13.x and mlcscope 14.x (multi-lingual cscope
|
||||
which supports C, C++, Java, lex, yacc, breakpoint listing, Ingres, and SDL)
|
||||
from World-Wide Exptools Open Source packages page:
|
||||
http://www.bell-labs.com/project/wwexptools/packages.html
|
||||
|
||||
In Solaris 2.x, if you have the C compiler license, you will also have
|
||||
cscope. Both are usually located under /opt/SUNWspro/bin
|
||||
|
||||
SGI developers can also get it. Search for Cscope on this page:
|
||||
http://freeware.sgi.com/index-by-alpha.html
|
||||
https://toolbox.sgi.com/toolbox/utilities/cscope/
|
||||
The second one is for those who have a password for the SGI toolbox.
|
||||
|
||||
There is source to an older version of a cscope clone (called "cs") available
|
||||
on the net. Due to various reasons, this is not supported with Vim.
|
||||
|
||||
The cscope interface/support for Vim was originally written by
|
||||
Andy Kahn <ackahn@netapp.com>. The original structure (as well as a tiny
|
||||
bit of code) was adapted from the cscope interface in nvi. Please report
|
||||
any problems, suggestions, patches, et al., you have for the usage of
|
||||
cscope within Vim to him.
|
||||
bit of code) was adapted from the cscope interface in nvi.
|
||||
*cscope-win32*
|
||||
For a cscope version for Win32 see:
|
||||
http://code.google.com/p/cscope-win32/
|
||||
For a cscope version for Win32 see (seems abandonded):
|
||||
https://code.google.com/archive/p/cscope-win32/
|
||||
|
||||
Win32 support was added by Sergey Khorev <sergey.khorev@gmail.com>. Contact
|
||||
him if you have Win32-specific issues.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_perl.txt* For Vim version 8.0. Last change: 2015 Oct 16
|
||||
*if_perl.txt* For Vim version 8.0. Last change: 2017 Nov 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Sven Verdoolaege
|
||||
@@ -112,7 +112,7 @@ possible.
|
||||
Here is an overview of the functions that are available to Perl: >
|
||||
|
||||
:perl VIM::Msg("Text") # displays a message
|
||||
:perl VIM::Msg("Error", "ErrorMsg") # displays an error message
|
||||
:perl VIM::Msg("Wrong!", "ErrorMsg") # displays an error message
|
||||
:perl VIM::Msg("remark", "Comment") # displays a highlighted message
|
||||
:perl VIM::SetOption("ai") # sets a vim option
|
||||
:perl $nbuf = VIM::Buffers() # returns the number of buffers
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_pyth.txt* For Vim version 8.0. Last change: 2017 Mar 09
|
||||
*if_pyth.txt* For Vim version 8.0. Last change: 2017 Nov 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Moore
|
||||
@@ -715,6 +715,8 @@ To facilitate bi-directional interface, you can use |pyeval()| and |py3eval()|
|
||||
functions to evaluate Python expressions and pass their values to Vim script.
|
||||
|pyxeval()| is also available.
|
||||
|
||||
The Python value "None" is converted to v:none.
|
||||
|
||||
==============================================================================
|
||||
9. Dynamic loading *python-dynamic*
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 8.0. Last change: 2017 May 30
|
||||
*insert.txt* For Vim version 8.0. Last change: 2017 Nov 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1296,7 +1296,8 @@ it here: http://ctags.sourceforge.net/ Version 5.6 or later is recommended.
|
||||
For version 5.5.4 you should add a patch that adds the "typename:" field:
|
||||
ftp://ftp.vim.org/pub/vim/unstable/patches/ctags-5.5.4.patch
|
||||
A compiled .exe for MS-Windows can be found at:
|
||||
http://georgevreilly.com/vim/ctags.html
|
||||
http://ctags.sourceforge.net/
|
||||
https://github.com/universal-ctags/ctags-win32
|
||||
|
||||
If you want to complete system functions you can do something like this. Use
|
||||
ctags to generate a tags file for all the system header files: >
|
||||
|
||||
+34
-5
@@ -1,4 +1,4 @@
|
||||
*mbyte.txt* For Vim version 8.0. Last change: 2016 Jul 21
|
||||
*mbyte.txt* For Vim version 8.0. Last change: 2017 Nov 30
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||
@@ -26,8 +26,9 @@ For changing the language of messages and menus see |mlang.txt|.
|
||||
7. Input on X11 |mbyte-XIM|
|
||||
8. Input on MS-Windows |mbyte-IME|
|
||||
9. Input with a keymap |mbyte-keymap|
|
||||
10. Using UTF-8 |mbyte-utf8|
|
||||
11. Overview of options |mbyte-options|
|
||||
10. Input with imactivatefunc() |mbyte-func|
|
||||
11. Using UTF-8 |mbyte-utf8|
|
||||
12. Overview of options |mbyte-options|
|
||||
|
||||
NOTE: This file contains UTF-8 characters. These may show up as strange
|
||||
characters or boxes when using another encoding.
|
||||
@@ -1254,7 +1255,35 @@ Combining forms:
|
||||
ﭏ 0xfb4f Xal alef-lamed
|
||||
|
||||
==============================================================================
|
||||
10. Using UTF-8 *mbyte-utf8* *UTF-8* *utf-8* *utf8*
|
||||
10. Input with imactivatefunc() *mbyte-func*
|
||||
|
||||
Vim has the 'imactivatefunc' and 'imstatusfunc' options. These are useful to
|
||||
activate/deativate the input method from Vim in any way, also with an external
|
||||
command. For example, fcitx provide fcitx-remote command: >
|
||||
|
||||
set iminsert=2
|
||||
set imsearch=2
|
||||
set imcmdline
|
||||
|
||||
set imactivatefunc=ImActivate
|
||||
function! ImActivate(active)
|
||||
if a:active
|
||||
call system('fcitx-remote -o')
|
||||
else
|
||||
call system('fcitx-remote -c')
|
||||
endif
|
||||
endfunction
|
||||
|
||||
set imstatusfunc=ImStatus
|
||||
function! ImStatus()
|
||||
return system('fcitx-remote')[0] is# '2'
|
||||
endfunction
|
||||
|
||||
Using this script, you can activate/deactivate XIM via Vim even when it is not
|
||||
compiled with |+xim|.
|
||||
|
||||
==============================================================================
|
||||
11. Using UTF-8 *mbyte-utf8* *UTF-8* *utf-8* *utf8*
|
||||
*Unicode* *unicode*
|
||||
The Unicode character set was designed to include all characters from other
|
||||
character sets. Therefore it is possible to write text in any language using
|
||||
@@ -1402,7 +1431,7 @@ not everybody is able to type a composing character.
|
||||
|
||||
|
||||
==============================================================================
|
||||
11. Overview of options *mbyte-options*
|
||||
12. Overview of options *mbyte-options*
|
||||
|
||||
These options are relevant for editing multi-byte files. Check the help in
|
||||
options.txt for detailed information.
|
||||
|
||||
+89
-28
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 8.0. Last change: 2017 Nov 02
|
||||
*options.txt* For Vim version 8.0. Last change: 2017 Nov 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1132,7 +1132,16 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+balloon_eval|
|
||||
feature}
|
||||
Switch on the |balloon-eval| functionality.
|
||||
Switch on the |balloon-eval| functionality for the GUI.
|
||||
|
||||
*'balloonevalterm'* *'bevalterm'* *'noballoonevalterm'*
|
||||
*'nobevalterm'*
|
||||
'balloonevalterm' 'bevalterm' boolean (default off)
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the
|
||||
|+balloon_eval_term| feature}
|
||||
Switch on the |balloon-eval| functionality for the terminal.
|
||||
|
||||
*'balloonexpr'* *'bexpr'*
|
||||
'balloonexpr' 'bexpr' string (default "")
|
||||
@@ -2648,6 +2657,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
vertical Start diff mode with vertical splits (unless
|
||||
explicitly specified otherwise).
|
||||
|
||||
hiddenoff Do not use diff mode for a buffer when it
|
||||
becomes hidden.
|
||||
|
||||
foldcolumn:{n} Set the 'foldcolumn' option to {n} when
|
||||
starting diff mode. Without this 2 is used.
|
||||
|
||||
@@ -3544,6 +3556,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
systems without an fsync() implementation, this variable is always
|
||||
off.
|
||||
Also see 'swapsync' for controlling fsync() on swap files.
|
||||
'fsync' also applies to |writefile()|, unless a flag is used to
|
||||
overrule it.
|
||||
|
||||
*'fullscreen'* *'fu'* *'nofullscreen'* *'nofu'*
|
||||
'fullscreen' 'fu' boolean (default off)
|
||||
@@ -4062,7 +4076,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
removing it after the GUI has started has no effect.
|
||||
*'go-F'*
|
||||
'F' Add a footer. Only for Motif. See |gui-footer|.
|
||||
|
||||
*'go-k'*
|
||||
'k' Keep the GUI window size when adding/removing a scrollbar, or
|
||||
toolbar, tabline, etc. Instead, the behavior is similar to
|
||||
when the window is maximized and will adjust 'lines' and
|
||||
'columns' to fit to the window. Without the 'k' flag Vim will
|
||||
try to keep 'lines' and 'columns' the same when adding and
|
||||
removing GUI components.
|
||||
|
||||
*'guipty'* *'noguipty'*
|
||||
'guipty' boolean (default on)
|
||||
@@ -4362,10 +4382,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'imactivatefunc' 'imaf' string (default "")
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with |+xim| and
|
||||
|+GUI_GTK|}
|
||||
{only available when compiled with |+mbyte|}
|
||||
This option specifies a function that will be called to
|
||||
activate/inactivate Input Method.
|
||||
activate or deactivate the Input Method.
|
||||
It is not used in the GUI.
|
||||
|
||||
Example: >
|
||||
function ImActivateFunc(active)
|
||||
@@ -4414,8 +4434,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'imcmdline' 'imc' boolean (default off)
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+xim|,
|
||||
|+multi_byte_ime| or |global-ime| features}
|
||||
{only available when compiled with |+mbyte|}
|
||||
When set the Input Method is always on when starting to edit a command
|
||||
line, unless entering a search pattern (see 'imsearch' for that).
|
||||
Setting this option is useful when your input method allows entering
|
||||
@@ -4426,9 +4445,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'imdisable' 'imd' boolean (default off, on for some systems (SGI))
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+xim|,
|
||||
|+multi_byte_ime| or |global-ime| features, always
|
||||
available in MacVim}
|
||||
{only available when compiled with |+mbyte|}
|
||||
When set the Input Method is never used. This is useful to disable
|
||||
the IM when it doesn't work properly.
|
||||
Currently this option is on by default for SGI/IRIX. This may change
|
||||
@@ -4443,8 +4460,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
0 :lmap is off and IM is off
|
||||
1 :lmap is ON and IM is off
|
||||
2 :lmap is off and IM is ON
|
||||
2 is available only when compiled with the |+multi_byte_ime|, |+xim|
|
||||
or |global-ime|.
|
||||
To always reset the option to zero when leaving Insert mode with <Esc>
|
||||
this can be used: >
|
||||
:inoremap <ESC> <ESC>:set iminsert=0<CR>
|
||||
@@ -4457,6 +4472,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
The value 0 may not work correctly with Athena and Motif with some XIM
|
||||
methods. Use 'imdisable' to disable XIM then.
|
||||
|
||||
You can set 'imactivatefunc' and 'imstatusfunc' to handle IME/XIM
|
||||
via external command if vim is not compiled with the |+xim|,
|
||||
|+multi_byte_ime| or |global-ime|.
|
||||
|
||||
*'imsearch'* *'ims'*
|
||||
'imsearch' 'ims' number (default -1)
|
||||
local to buffer
|
||||
@@ -4479,10 +4498,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'imstatusfunc' 'imsf' string (default "")
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with |+xim| and
|
||||
|+GUI_GTK|}
|
||||
{only available when compiled with |+mbyte|}
|
||||
This option specifies a function that is called to obtain the status
|
||||
of Input Method. It must return a positive number when IME is active.
|
||||
It is not used in the GUI.
|
||||
|
||||
Example: >
|
||||
function ImStatusFunc()
|
||||
@@ -4571,8 +4590,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
match may not be found. This is to avoid that Vim hangs while you
|
||||
are typing the pattern.
|
||||
The highlighting can be set with the 'i' flag in 'highlight'.
|
||||
When 'hlsearch' is on, all matched strings are highlighted too while typing
|
||||
a search command. See also: 'hlsearch'.
|
||||
When 'hlsearch' is on, all matched strings are highlighted too while
|
||||
typing a search command. See also: 'hlsearch'.
|
||||
If you don't want turn 'hlsearch' on, but want to highlight all matches
|
||||
while searching, you can turn on and off 'hlsearch' with autocmd.
|
||||
Example: >
|
||||
@@ -5492,7 +5511,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
sysmouse and Linux console with gpm). For using the mouse in the
|
||||
GUI, see |gui-mouse|.
|
||||
The mouse can be enabled for different modes:
|
||||
n Normal mode
|
||||
n Normal mode and Terminal modes
|
||||
v Visual mode
|
||||
i Insert mode
|
||||
c Command-line mode
|
||||
@@ -6295,9 +6314,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
geom pixelGeometry int 0 - 2 (see below)
|
||||
renmode renderingMode int 0 - 6 (see below)
|
||||
taamode textAntialiasMode int 0 - 3 (see below)
|
||||
scrlines Scroll Lines int >= 0 (see below)
|
||||
|
||||
See this URL for detail:
|
||||
http://msdn.microsoft.com/en-us/library/dd368190.aspx
|
||||
See this URL for detail (except for scrlines):
|
||||
https://msdn.microsoft.com/en-us/library/dd368190.aspx
|
||||
|
||||
For geom: structure of a device pixel.
|
||||
0 - DWRITE_PIXEL_GEOMETRY_FLAT
|
||||
@@ -6305,7 +6325,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
2 - DWRITE_PIXEL_GEOMETRY_BGR
|
||||
|
||||
See this URL for detail:
|
||||
http://msdn.microsoft.com/en-us/library/dd368114.aspx
|
||||
https://msdn.microsoft.com/en-us/library/dd368114.aspx
|
||||
|
||||
For renmode: method of rendering glyphs.
|
||||
0 - DWRITE_RENDERING_MODE_DEFAULT
|
||||
@@ -6317,7 +6337,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
6 - DWRITE_RENDERING_MODE_OUTLINE
|
||||
|
||||
See this URL for detail:
|
||||
http://msdn.microsoft.com/en-us/library/dd368118.aspx
|
||||
https://msdn.microsoft.com/en-us/library/dd368118.aspx
|
||||
|
||||
For taamode: antialiasing mode used for drawing text.
|
||||
0 - D2D1_TEXT_ANTIALIAS_MODE_DEFAULT
|
||||
@@ -6326,15 +6346,55 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
3 - D2D1_TEXT_ANTIALIAS_MODE_ALIASED
|
||||
|
||||
See this URL for detail:
|
||||
http://msdn.microsoft.com/en-us/library/dd368170.aspx
|
||||
https://msdn.microsoft.com/en-us/library/dd368170.aspx
|
||||
|
||||
For scrlines: threshold for lines to be scrolled.
|
||||
0 - Always use scrolling. (default)
|
||||
1 - Use full page redrawing.
|
||||
> 1 - If the lines to be scrolled is grater or equal to the
|
||||
specified value, use redrawing. Otherwise use
|
||||
scrolling.
|
||||
|
||||
If you feel scrolling a page (CTRL-F) is too slow with DirectX
|
||||
renderer, try this "scrlines" option.
|
||||
When set it "1", Vim uses full page redrawing instead of
|
||||
scrolling. Redrawing a page is faster than scrolling a
|
||||
page in some environments.
|
||||
After that, when you feel scrolling lines (CTRL-Y) becomes
|
||||
slow, please try "2" or greater value for this option.
|
||||
It works threshold line number to switch scrolling to
|
||||
redrawing. Scrolling a few lines might be faster than
|
||||
redrawing a page in some environments.
|
||||
|
||||
Example: >
|
||||
set encoding=utf-8
|
||||
set gfn=Ricty_Diminished:h12:cSHIFTJIS
|
||||
set gfn=Ricty_Diminished:h12
|
||||
set rop=type:directx
|
||||
<
|
||||
If select a raster font (Courier, Terminal or FixedSys) to
|
||||
'guifont', it fallbacks to be drawn by GDI automatically.
|
||||
If select a raster font (Courier, Terminal or FixedSys which
|
||||
have ".fon" extension in file name) to 'guifont', it will be
|
||||
drawn by GDI as a fallback.
|
||||
|
||||
NOTE: It is known that some fonts and options combination
|
||||
causes trouble on drawing glyphs.
|
||||
|
||||
- 'renmode:5' and 'renmode:6' will not work with some
|
||||
special made fonts (True-Type fonts which includes only
|
||||
bitmap glyphs).
|
||||
- 'taamode:3' will not work with some vector fonts.
|
||||
|
||||
NOTE: With this option, you can display colored emoji
|
||||
(emoticon) in Windows 8.1 or later. To display colored emoji,
|
||||
there are some conditions which you should notice.
|
||||
|
||||
- If your font includes non-colored emoji already, it will
|
||||
be used.
|
||||
- If your font doesn't have emoji, the system chooses an
|
||||
alternative symbol font. On Windows 10, "Segoe UI Emoji"
|
||||
will be used.
|
||||
- When this alternative font didn't have fixed width glyph,
|
||||
emoji might be rendered beyond the bounding box of drawing
|
||||
cell.
|
||||
|
||||
Other render types are currently not supported.
|
||||
|
||||
@@ -8422,7 +8482,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
number, more intelligent detection process runs.
|
||||
The "xterm2" value will be set if the xterm version is reported to be
|
||||
from 95 to 276. The "sgr" value will be set if the xterm version is
|
||||
277 or highter.
|
||||
277 or higher and when Vim detects Mac Terminal.app or iTerm2.
|
||||
If you do not want 'ttymouse' to be set to "xterm2" or "sgr"
|
||||
automatically, set t_RV to an empty string: >
|
||||
:set t_RV=
|
||||
@@ -8588,7 +8648,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
security reasons.
|
||||
|
||||
*'viewoptions'* *'vop'*
|
||||
'viewoptions' 'vop' string (default: "folds,options,cursor")
|
||||
'viewoptions' 'vop' string (default: "folds,options,cursor,curdir")
|
||||
global
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+mksession|
|
||||
@@ -8606,6 +8666,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
slashes
|
||||
unix with Unix end-of-line format (single <NL>), even when
|
||||
on Windows or DOS
|
||||
curdir the window-local directory, if set with `:lcd`
|
||||
|
||||
"slash" and "unix" are useful on Windows when sharing view files
|
||||
with Unix. The Unix version of Vim cannot source dos format scripts,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 8.0. Last change: 2017 Oct 19
|
||||
*quickref.txt* For Vim version 8.0. Last change: 2017 Nov 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -618,7 +618,8 @@ Short explanation of each option: *option-list*
|
||||
'backupext' 'bex' extension used for the backup file
|
||||
'backupskip' 'bsk' no backup for files that match these patterns
|
||||
'balloondelay' 'bdlay' delay in mS before a balloon may pop up
|
||||
'ballooneval' 'beval' switch on balloon evaluation
|
||||
'ballooneval' 'beval' switch on balloon evaluation in the GUI
|
||||
'balloonevalterm' 'bevalterm' switch on balloon evaluation in the terminal
|
||||
'balloonexpr' 'bexpr' expression to show in balloon
|
||||
'belloff' 'bo' do not ring the bell for these reasons
|
||||
'binary' 'bin' read/write/edit file in binary mode
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*remote.txt* For Vim version 8.0. Last change: 2017 Aug 01
|
||||
*remote.txt* For Vim version 8.0. Last change: 2017 Nov 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -182,7 +182,8 @@ 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.
|
||||
--servername argument, or when Vim was build with the |+autoservername|
|
||||
feature.
|
||||
|
||||
An empty --servername argument will cause the command server to be disabled.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*starting.txt* For Vim version 8.0. Last change: 2017 Oct 24
|
||||
*starting.txt* For Vim version 8.0. Last change: 2017 Nov 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -58,9 +58,9 @@ filename One or more file names. The first one will be the current
|
||||
that is read from stdin. The commands that would normally be
|
||||
read from stdin will now be read from stderr. Example: >
|
||||
find . -name "*.c" -print | vim -
|
||||
< The buffer will be marked modified, because it contains text
|
||||
that needs to be saved. Except when in readonly mode, then
|
||||
the buffer is not marked modified. Example: >
|
||||
< The buffer will not be marked as modified, so that it's easy
|
||||
to exit. Be careful to mark it as modified if you don't want
|
||||
to accidentally lose it. Example: >
|
||||
ls | view -
|
||||
<
|
||||
Starting in Ex mode: >
|
||||
@@ -421,7 +421,9 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
||||
*--not-a-term*
|
||||
--not-a-term Tells Vim that the user knows that the input and/or output is
|
||||
not connected to a terminal. This will avoid the warning and
|
||||
the two second delay that would happen. {not in Vi}
|
||||
the two second delay that would happen.
|
||||
Also avoids the "Reading from stdin..." message.
|
||||
{not in Vi}
|
||||
|
||||
*--ttyfail*
|
||||
--ttyfail When the stdin or stdout is not a terminal (tty) then exit
|
||||
@@ -1419,7 +1421,7 @@ The output of ":mkview" contains these items:
|
||||
5. The scroll position and the cursor position in the file. Doesn't work very
|
||||
well when there are closed folds.
|
||||
6. The local current directory, if it is different from the global current
|
||||
directory.
|
||||
directory and 'viewoptions' contains "curdir".
|
||||
|
||||
Note that Views and Sessions are not perfect:
|
||||
- They don't restore everything. For example, defined functions, autocommands
|
||||
@@ -1531,7 +1533,7 @@ Notes for Unix:
|
||||
you have worked with.
|
||||
- If you want to share the viminfo file with other users (e.g. when you "su"
|
||||
to another user), you can make the file writable for the group or everybody.
|
||||
Vim will preserve this when writing new viminfo files. Be careful, don't
|
||||
Vim will preserve this when replacing the viminfo file. Be careful, don't
|
||||
allow just anybody to read and write your viminfo file!
|
||||
- Vim will not overwrite a viminfo file that is not writable by the current
|
||||
"real" user. This helps for when you did "su" to become root, but your
|
||||
|
||||
@@ -74,12 +74,14 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
'backupskip' options.txt /*'backupskip'*
|
||||
'balloondelay' options.txt /*'balloondelay'*
|
||||
'ballooneval' options.txt /*'ballooneval'*
|
||||
'balloonevalterm' options.txt /*'balloonevalterm'*
|
||||
'balloonexpr' options.txt /*'balloonexpr'*
|
||||
'bdir' options.txt /*'bdir'*
|
||||
'bdlay' options.txt /*'bdlay'*
|
||||
'beautify' vi_diff.txt /*'beautify'*
|
||||
'belloff' options.txt /*'belloff'*
|
||||
'beval' options.txt /*'beval'*
|
||||
'bevalterm' options.txt /*'bevalterm'*
|
||||
'bex' options.txt /*'bex'*
|
||||
'bexpr' options.txt /*'bexpr'*
|
||||
'bf' vi_diff.txt /*'bf'*
|
||||
@@ -315,6 +317,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
'go-g' options.txt /*'go-g'*
|
||||
'go-h' options.txt /*'go-h'*
|
||||
'go-i' options.txt /*'go-i'*
|
||||
'go-k' options.txt /*'go-k'*
|
||||
'go-l' options.txt /*'go-l'*
|
||||
'go-m' options.txt /*'go-m'*
|
||||
'go-p' options.txt /*'go-p'*
|
||||
@@ -516,7 +519,9 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
'noawa' options.txt /*'noawa'*
|
||||
'nobackup' options.txt /*'nobackup'*
|
||||
'noballooneval' options.txt /*'noballooneval'*
|
||||
'noballoonevalterm' options.txt /*'noballoonevalterm'*
|
||||
'nobeval' options.txt /*'nobeval'*
|
||||
'nobevalterm' options.txt /*'nobevalterm'*
|
||||
'nobin' options.txt /*'nobin'*
|
||||
'nobinary' options.txt /*'nobinary'*
|
||||
'nobiosk' options.txt /*'nobiosk'*
|
||||
@@ -1244,7 +1249,9 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
+acl various.txt /*+acl*
|
||||
+arabic various.txt /*+arabic*
|
||||
+autocmd various.txt /*+autocmd*
|
||||
+autoservername various.txt /*+autoservername*
|
||||
+balloon_eval various.txt /*+balloon_eval*
|
||||
+balloon_eval_term various.txt /*+balloon_eval_term*
|
||||
+browse various.txt /*+browse*
|
||||
+builtin_terms various.txt /*+builtin_terms*
|
||||
+byte_offset various.txt /*+byte_offset*
|
||||
@@ -4623,6 +4630,7 @@ E945 pattern.txt /*E945*
|
||||
E946 terminal.txt /*E946*
|
||||
E947 terminal.txt /*E947*
|
||||
E948 terminal.txt /*E948*
|
||||
E949 editing.txt /*E949*
|
||||
E95 message.txt /*E95*
|
||||
E96 diff.txt /*E96*
|
||||
E97 diff.txt /*E97*
|
||||
@@ -5202,6 +5210,7 @@ backup-extension version4.txt /*backup-extension*
|
||||
backup-table editing.txt /*backup-table*
|
||||
balloon-eval debugger.txt /*balloon-eval*
|
||||
balloon_show() eval.txt /*balloon_show()*
|
||||
balloon_split() eval.txt /*balloon_split()*
|
||||
bar motion.txt /*bar*
|
||||
bars help.txt /*bars*
|
||||
base_font_name_list mbyte.txt /*base_font_name_list*
|
||||
@@ -7434,6 +7443,7 @@ mbyte-encoding mbyte.txt /*mbyte-encoding*
|
||||
mbyte-first mbyte.txt /*mbyte-first*
|
||||
mbyte-fonts-MSwin mbyte.txt /*mbyte-fonts-MSwin*
|
||||
mbyte-fonts-X11 mbyte.txt /*mbyte-fonts-X11*
|
||||
mbyte-func mbyte.txt /*mbyte-func*
|
||||
mbyte-keymap mbyte.txt /*mbyte-keymap*
|
||||
mbyte-locale mbyte.txt /*mbyte-locale*
|
||||
mbyte-options mbyte.txt /*mbyte-options*
|
||||
@@ -8990,16 +9000,29 @@ termcap-cursor-color term.txt /*termcap-cursor-color*
|
||||
termcap-cursor-shape term.txt /*termcap-cursor-shape*
|
||||
termcap-options term.txt /*termcap-options*
|
||||
termcap-title term.txt /*termcap-title*
|
||||
termdebug-commands terminal.txt /*termdebug-commands*
|
||||
termdebug-communication terminal.txt /*termdebug-communication*
|
||||
termdebug-customizing terminal.txt /*termdebug-customizing*
|
||||
termdebug-example terminal.txt /*termdebug-example*
|
||||
termdebug-starting terminal.txt /*termdebug-starting*
|
||||
termdebug-stepping terminal.txt /*termdebug-stepping*
|
||||
termdebug-variables terminal.txt /*termdebug-variables*
|
||||
terminal terminal.txt /*terminal*
|
||||
terminal-colors os_unix.txt /*terminal-colors*
|
||||
terminal-cursor-style terminal.txt /*terminal-cursor-style*
|
||||
terminal-debug terminal.txt /*terminal-debug*
|
||||
terminal-functions usr_41.txt /*terminal-functions*
|
||||
terminal-info term.txt /*terminal-info*
|
||||
terminal-key-codes term.txt /*terminal-key-codes*
|
||||
terminal-ms-windows terminal.txt /*terminal-ms-windows*
|
||||
terminal-options term.txt /*terminal-options*
|
||||
terminal-output-codes term.txt /*terminal-output-codes*
|
||||
terminal-resizing terminal.txt /*terminal-resizing*
|
||||
terminal-size-color terminal.txt /*terminal-size-color*
|
||||
terminal-special-keys terminal.txt /*terminal-special-keys*
|
||||
terminal-testing terminal.txt /*terminal-testing*
|
||||
terminal-typing terminal.txt /*terminal-typing*
|
||||
terminal-unix terminal.txt /*terminal-unix*
|
||||
terminal-use terminal.txt /*terminal-use*
|
||||
terminal.txt terminal.txt /*terminal.txt*
|
||||
terminfo term.txt /*terminfo*
|
||||
|
||||
+80
-38
@@ -1,4 +1,4 @@
|
||||
*terminal.txt* For Vim version 8.0. Last change: 2017 Oct 29
|
||||
*terminal.txt* For Vim version 8.0. Last change: 2017 Nov 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -14,9 +14,25 @@ The terminal feature is optional, use this to check if your Vim has it: >
|
||||
If the result is "1" you have it.
|
||||
|
||||
|
||||
1. Basic use |terminal-use|
|
||||
2. Remote testing |terminal-testing|
|
||||
3. Debugging |terminal-debug|
|
||||
1. Basic use |terminal-use|
|
||||
Typing |terminal-typing|
|
||||
Size and color |terminal-size-color|
|
||||
Syntax |:terminal|
|
||||
Resizing |terminal-resizing|
|
||||
Terminal Modes |Terminal-mode|
|
||||
Cursor style |terminal-cursor-style|
|
||||
Special keys |terminal-special-keys|
|
||||
Unix |terminal-unix|
|
||||
MS-Windows |terminal-ms-windows|
|
||||
2. Remote testing |terminal-testing|
|
||||
3. Debugging |terminal-debug|
|
||||
Starting |termdebug-starting|
|
||||
Example session |termdebug-example|
|
||||
Stepping through code |termdebug-stepping|
|
||||
Inspecting variables |termdebug-variables|
|
||||
Other commands |termdebug-commands|
|
||||
Communication |termdebug-communication|
|
||||
Customizing |termdebug-customizing|
|
||||
|
||||
{Vi does not have any of these commands}
|
||||
{only available when compiled with the |+terminal| feature}
|
||||
@@ -44,7 +60,7 @@ the job. This uses a pty when possible. You can click outside of the
|
||||
terminal window to move keyboard focus elsewhere.
|
||||
|
||||
CTRL-W can be used to navigate between windows and other CTRL-W commands, e.g.:
|
||||
CTRL-W CTRL-W move focus to the next window
|
||||
CTRL-W CTRL-W move focus to the next window
|
||||
CTRL-W : enter an Ex command
|
||||
See |CTRL-W| for more commands.
|
||||
|
||||
@@ -64,7 +80,7 @@ the job. For example:
|
||||
'termkey' : enter an Ex command
|
||||
'termkey' 'termkey' send 'termkey' to the job in the terminal
|
||||
'termkey' . send a CTRL-W to the job in the terminal
|
||||
'termkey' N go to terminal Normal mode, see below
|
||||
'termkey' N go to terminal Normal mode, see below
|
||||
'termkey' CTRL-N same as CTRL-W N
|
||||
'termkey' CTRL-C same as |t_CTRL-W_CTRL-C|
|
||||
*t_CTRL-\_CTRL-N*
|
||||
@@ -90,9 +106,13 @@ BufWinEnter autocommand event is triggered. This makes it possible to set
|
||||
options specifically for the window and buffer. Example: >
|
||||
au BufWinEnter * if &buftype == 'terminal' | setlocal bufhidden=hide | endif
|
||||
|
||||
Mouse events (click and drag) are passed to the terminal. Mouse move events
|
||||
are only passed when Vim itself is receiving them. For a terminal that is
|
||||
when 'balloonevalterm' is enabled.
|
||||
|
||||
|
||||
Size and color ~
|
||||
|
||||
*terminal-size-color*
|
||||
See option 'termsize' for controlling the size of the terminal window.
|
||||
(TODO: scrolling when the terminal is larger than the window)
|
||||
|
||||
@@ -201,7 +221,7 @@ the buffer name will still be set to the command.
|
||||
|
||||
|
||||
Resizing ~
|
||||
|
||||
*terminal-resizing*
|
||||
The size of the terminal can be in one of three modes:
|
||||
|
||||
1. The 'termsize' option is empty: The terminal size follows the window size.
|
||||
@@ -251,7 +271,7 @@ It is not possible to enter Insert mode from Terminal-Job mode.
|
||||
|
||||
|
||||
Cursor style ~
|
||||
|
||||
*terminal-cursor-style*
|
||||
By default the cursor in the terminal window uses a not blinking block. The
|
||||
normal xterm escape sequences can be used to change the blinking state and the
|
||||
shape. Once focus leaves the terminal window Vim will restore the original
|
||||
@@ -263,8 +283,21 @@ is inverted. Since Vim cannot detect this, the terminal window cursor
|
||||
blinking will also be inverted.
|
||||
|
||||
|
||||
Unix ~
|
||||
Special keys ~
|
||||
*terminal-special-keys*
|
||||
Since the terminal emulator simulates an xterm, only escape sequences that
|
||||
both Vim and xterm recognize will be available in the terminal window. If you
|
||||
want to pass on other escape sequences to the job running in the terminal you
|
||||
need to set up forwarding. Example: >
|
||||
tmap <expr> <Esc>]b SendToTerm("\<Esc>]b")
|
||||
func SendToTerm(what)
|
||||
call term_sendkeys('', a:what)
|
||||
return ''
|
||||
endfunc
|
||||
|
||||
|
||||
Unix ~
|
||||
*terminal-unix*
|
||||
On Unix a pty is used to make it possible to run all kinds of commands. You
|
||||
can even run Vim in the terminal! That's used for debugging, see below.
|
||||
|
||||
@@ -287,7 +320,7 @@ This will open the file "some_file.c" and put the cursor on line 123.
|
||||
|
||||
|
||||
MS-Windows ~
|
||||
|
||||
*terminal-ms-windows*
|
||||
On MS-Windows winpty is used to make it possible to run all kind of commands.
|
||||
Obviously, they must be commands that run in a terminal, not open their own
|
||||
window.
|
||||
@@ -306,6 +339,9 @@ to point to the right file, if needed. If you have both the 32-bit and 64-bit
|
||||
version, rename to winpty32.dll and winpty64.dll to match the way Vim was
|
||||
build.
|
||||
|
||||
Environment variables are used to pass information to the running job:
|
||||
VIM_SERVERNAME v:servername
|
||||
|
||||
==============================================================================
|
||||
2. Remote testing *terminal-testing*
|
||||
|
||||
@@ -330,7 +366,7 @@ Vim this also works remotely over an ssh connection.
|
||||
|
||||
|
||||
Starting ~
|
||||
|
||||
*termdebug-starting*
|
||||
Load the plugin with this command: >
|
||||
packadd termdebug
|
||||
< *:Termdebug*
|
||||
@@ -360,7 +396,7 @@ opened windows are closed.
|
||||
|
||||
|
||||
Example session ~
|
||||
|
||||
*termdebug-example*
|
||||
Start in the Vim "src" directory and build Vim: >
|
||||
% make
|
||||
Start Vim: >
|
||||
@@ -416,36 +452,42 @@ a deeper level.
|
||||
|
||||
|
||||
Stepping through code ~
|
||||
|
||||
*termdebug-stepping*
|
||||
Put focus on the gdb window to type commands there. Some common ones are:
|
||||
- CTRL-C interrupt the program
|
||||
- next execute the current line and stop at the next line
|
||||
- step execute the current line and stop at the next statement, entering
|
||||
functions
|
||||
- finish execute until leaving the current function
|
||||
- where show the stack
|
||||
- frame N go to the Nth stack frame
|
||||
- continue continue execution
|
||||
- CTRL-C interrupt the program
|
||||
- next execute the current line and stop at the next line
|
||||
- step execute the current line and stop at the next statement,
|
||||
entering functions
|
||||
- finish execute until leaving the current function
|
||||
- where show the stack
|
||||
- frame N go to the Nth stack frame
|
||||
- continue continue execution
|
||||
|
||||
In the window showing the source code some commands can used to control gdb:
|
||||
:Break set a breakpoint at the current line; a sign will be displayed
|
||||
:Delete delete a breakpoint at the current line
|
||||
:Step execute the gdb "step" command
|
||||
:Over execute the gdb "next" command (:Next is a Vim command)
|
||||
:Finish execute the gdb "finish" command
|
||||
:Continue execute the gdb "continue" command
|
||||
In the window showing the source code these commands can used to control gdb:
|
||||
:Run [args] run the program with [args] or the previous arguments
|
||||
:Arguments {args} set arguments for the next :Run
|
||||
|
||||
:Break set a breakpoint at the current line; a sign will be displayed
|
||||
:Delete delete a breakpoint at the current line
|
||||
|
||||
:Step execute the gdb "step" command
|
||||
:Over execute the gdb "next" command (:Next is a Vim command)
|
||||
:Finish execute the gdb "finish" command
|
||||
:Continue execute the gdb "continue" command
|
||||
:Stop interrupt the program
|
||||
|
||||
The plugin adds a window toolbar with these entries:
|
||||
Step :Step
|
||||
Next :Over
|
||||
Finish :Finish
|
||||
Cont :Continue
|
||||
Eval :Evaluate
|
||||
Step :Step
|
||||
Next :Over
|
||||
Finish :Finish
|
||||
Cont :Continue
|
||||
Stop :Stop
|
||||
Eval :Evaluate
|
||||
This way you can use the mouse to perform the most common commands.
|
||||
|
||||
|
||||
Inspecting variables ~
|
||||
|
||||
*termdebug-variables*
|
||||
:Evaluate evaluate the expression under the cursor
|
||||
K same
|
||||
:Evaluate {expr} evaluate {expr}
|
||||
@@ -455,20 +497,20 @@ This is similar to using "print" in the gdb window.
|
||||
|
||||
|
||||
Other commands ~
|
||||
|
||||
*termdebug-commands*
|
||||
:Gdb jump to the gdb window
|
||||
:Program jump to the window with the running program
|
||||
|
||||
|
||||
Communication ~
|
||||
|
||||
*termdebug-communication*
|
||||
There is another, hidden, buffer, which is used for Vim to communicate with
|
||||
gdb. The buffer name is "gdb communication". Do not delete this buffer, it
|
||||
will break the debugger.
|
||||
|
||||
|
||||
Customizing ~
|
||||
|
||||
*termdebug-customizing*
|
||||
To change the name of the gdb command, set the "termdebugger" variable before
|
||||
invoking `:Termdebug`: >
|
||||
let termdebugger = "mygdb"
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
" Test for URLs in help documents.
|
||||
"
|
||||
" Opens a new window with all found URLS followed by return code from curl
|
||||
" (anything other than 0 means unreachable)
|
||||
"
|
||||
" Written by Christian Brabandt.
|
||||
|
||||
func Test_check_URLs()
|
||||
if has("win32")
|
||||
echoerr "Doesn't work on MS-Windows"
|
||||
return
|
||||
endif
|
||||
if executable('curl')
|
||||
" Note: does not follow redirects!
|
||||
let s:command = 'curl --silent --fail --output /dev/null --head '
|
||||
elseif executable('wget')
|
||||
" Note: only allow a couple of redirects
|
||||
let s:command = 'wget --quiet -S --spider --max-redirect=2 --timeout=5 --tries=2 -O /dev/null '
|
||||
else
|
||||
echoerr 'Only works when "curl" or "wget" is available'
|
||||
return
|
||||
endif
|
||||
|
||||
let pat='\(https\?\|ftp\)://[^\t* ]\+'
|
||||
exe 'helpgrep' pat
|
||||
helpclose
|
||||
|
||||
let urls = map(getqflist(), 'v:val.text')
|
||||
" do not use submatch(1)!
|
||||
let urls = map(urls, {key, val -> matchstr(val, pat)})
|
||||
" remove examples like user@host (invalid urls)
|
||||
let urls = filter(urls, 'v:val !~ "@"')
|
||||
" Remove example URLs which are invalid
|
||||
let urls = filter(urls, {key, val -> val !~ '\<\(\(my\|some\)\?host\|machine\|hostname\|file\)\>'})
|
||||
new
|
||||
put =urls
|
||||
" remove some more invalid items
|
||||
" empty lines
|
||||
v/./d
|
||||
" remove # anchors
|
||||
%s/#.*$//e
|
||||
" remove trailing stuff (parenthesis, dot, comma, quotes), but only for HTTP
|
||||
" links
|
||||
g/^h/s#[.,)'"/>][:.]\?$##
|
||||
g#^[hf]t\?tp:/\(/\?\.*\)$#d
|
||||
silent! g/ftp://,$/d
|
||||
silent! g/=$/d
|
||||
let a = getline(1,'$')
|
||||
let a = uniq(sort(a))
|
||||
%d
|
||||
call setline(1, a)
|
||||
|
||||
" Do the testing.
|
||||
set nomore
|
||||
%s/.*/\=TestURL(submatch(0))/
|
||||
|
||||
" highlight the failures
|
||||
/.* \([0-9]*[1-9]\|[0-9]\{2,}\)$
|
||||
endfunc
|
||||
|
||||
func TestURL(url)
|
||||
" Relies on the return code to determine whether a page is valid
|
||||
echom printf("Testing URL: %d/%d %s", line('.'), line('$'), a:url)
|
||||
call system(s:command . shellescape(a:url))
|
||||
return printf("%s %d", a:url, v:shell_error)
|
||||
endfunc
|
||||
|
||||
call Test_check_URLs()
|
||||
+78
-27
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 8.0. Last change: 2017 Nov 05
|
||||
*todo.txt* For Vim version 8.0. Last change: 2017 Nov 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -35,6 +35,13 @@ entered there will not be repeated below, unless there is extra information.
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Motif testgui:
|
||||
From test_options.vim:
|
||||
Found errors in Test_set_values():
|
||||
Caught exception in Test_set_values(): Vim(set):E596: Invalid font(s): guifont=fixedsys @ /home/mool/vim/vim80/src/testdir/opt_test.vim, line 1153
|
||||
|
||||
WinBar: balloon shows up for next line
|
||||
|
||||
No maintainer for Vietnamese translations.
|
||||
No maintainer for Simplified Chinese translations.
|
||||
|
||||
@@ -45,10 +52,6 @@ Terminal emulator window:
|
||||
- Implement the right-click popup menu for the terminal. Can use the
|
||||
completion popup menu code and mouse dragging.
|
||||
Use it for "set breakpoint", "remove breakpoint", etc.
|
||||
- make showballoon() work in a terminal. Requires getting mouse-move
|
||||
events.
|
||||
- send 'balloonText' events for the cursor position (using CursorHold ?)
|
||||
in terminal mode.
|
||||
- get ideas from http://clewn.sf.net
|
||||
- Look into the idevim plugin/script.
|
||||
- Improve testing:
|
||||
@@ -84,6 +87,8 @@ Terminal emulator window:
|
||||
Although user could use "xterm -e 'cmd arg'".
|
||||
|
||||
Regexp problems:
|
||||
- When search pattern has the base character both with and without combining
|
||||
character, search fails. E.g. "รรีบ" in "การรีบรักใคร". (agguser, #2312)
|
||||
- [:space:] only matches ASCII spaces. Add [:white:] for all space-like
|
||||
characters, esp. including 0xa0. Use character class zero.
|
||||
- Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.
|
||||
@@ -132,8 +137,8 @@ Regexp problems:
|
||||
Include a few color schemes, based on popularity:
|
||||
http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=search
|
||||
http://vimawesome.com/?q=tag:color-scheme
|
||||
Use names that indicate their appearnce (Christian Brabandt, 2017 Aug 3)
|
||||
- monokai - Xia Crusoe (2017 Aug 4)
|
||||
Use names that indicate their appearance (Christian Brabandt, 2017 Aug 3)
|
||||
- monokai - Xia Crusoe (2017 Aug 4)
|
||||
- seoul256 - Christian Brabandt (2017 Aug 3)
|
||||
- gruvbox - Christian Brabandt (2017 Aug 3)
|
||||
- janah - Marco Hinz (2017 Aug 4)
|
||||
@@ -141,7 +146,9 @@ Use names that indicate their appearnce (Christian Brabandt, 2017 Aug 3)
|
||||
Suggested by Hiroki Kokubun:
|
||||
- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
|
||||
- [hybrid](https://github.com/w0ng/vim-hybrid)
|
||||
Include solarized color scheme?
|
||||
Include solarized color scheme?, it does not support termguicolors.
|
||||
-> Make check for colorscheme that it's sane.
|
||||
- Sanitized version of pablo (Lifepillar, 2017 Nov 21)
|
||||
|
||||
Compiler warnings (geeknik, 2017 Oct 26):
|
||||
- signed integer overflow in do_sub() (#2249)
|
||||
@@ -150,6 +157,22 @@ Compiler warnings (geeknik, 2017 Oct 26):
|
||||
- signed integer overflow in nfa_regatom() (#2251)
|
||||
- undefined left shift in get_string_tv() (#2250)
|
||||
|
||||
patch for: fix SHIFT-Insert on Windows command prompt (Yasuhiro Matsumoto,
|
||||
#2381)
|
||||
|
||||
Patch for profile log truncating halfway a character. (ichizok, 2017 Nov 28,
|
||||
#2385)
|
||||
|
||||
WinBar: Maximizing window causes window size to be wrong. (Lifepillar, 2017
|
||||
Nov 29, #2356)
|
||||
|
||||
CTRL-A does not work with empty line. (Alex, #2387)
|
||||
Patch by Hirohito Higashi, 2017 Nov 29.
|
||||
|
||||
'hlsearch' shows empty matches, which means highlighting everything.
|
||||
Don't do that. For "foo\|" or "\v"
|
||||
Patch from Christian, 2017 Nov 14. Should still display "$" matches.
|
||||
|
||||
When starting with --clean packages under "start" are not loaded. Make this
|
||||
work: :packadd START {name} similar to :runtime START name
|
||||
|
||||
@@ -171,22 +194,41 @@ Also see #1689.
|
||||
ml_get error when using a Python. (Yggdroot, 2017 Jun 1, #1737)
|
||||
Lemonboy can reproduce (2017 Jun 5)
|
||||
|
||||
Patch to fix E806. (Dominique, 2017 Nov 22, #2368)
|
||||
Kazunobu Kuriyama: caused by XtSetLanguageProc().
|
||||
|
||||
Invalid range error when using BufWinLeave for closing terminal.
|
||||
(Gabriel Barta, 2017 Nov 15, #2339)
|
||||
|
||||
ml_get errors with buggy script. (Dominique, 2017 Apr 30)
|
||||
|
||||
Error in emsg with buggy script. (Dominique, 2017 Apr 30)
|
||||
|
||||
Patch to avoid clearing the intro message on Win32 console.
|
||||
(Ken Takata, 2017 Nov 14)
|
||||
|
||||
Patch to copy buffer-local options before buffer leaves the window. (Bjorn
|
||||
Linse, 2017 Nov 14, #2336)
|
||||
|
||||
When a timer is running and typing CTRL-R on the command line, it is not
|
||||
redrawn properly. (xtal8, 2017 Oct 23, #2241)
|
||||
|
||||
Patch for manpager plugin. (Lcd, 2017 Oct 12)
|
||||
Asked maintainer.
|
||||
|
||||
Universal solution to detect if t_RS is working, using cursor position.
|
||||
Koichi Iwamoto, #2126
|
||||
|
||||
Patch to fix cmdline abbreviation after '<,'>. (Christian Brabandt, 2017 Nov
|
||||
13, on issue #2320)
|
||||
|
||||
Patch to add TextDeletePost and TextYankPost events. (Philippe Vaucher, 2011
|
||||
May 24) Update May 26.
|
||||
Now in patch by Lemonboy, #2333
|
||||
|
||||
Default install on MS-Windows should source defaults.vim.
|
||||
Ask whether to use Windows or Vim key behavior?
|
||||
|
||||
Patch for improving detecting Ruby on Mac in configure. (Ilya Mikhaltsou, 2017
|
||||
Nov 21)
|
||||
|
||||
When using command line window, CmdlineLeave is triggered without
|
||||
CmdlineEnter. (xtal8, 2017 Oct 30, #2263)
|
||||
Add some way to get the nested state. Although CmdwinEnter is obviously
|
||||
@@ -194,9 +236,14 @@ always nested.
|
||||
|
||||
matchit hasn't been maintained for a long time. #955.
|
||||
|
||||
Problem with 'delcombine'. (agguser, 2017 Nov 10, #2313)
|
||||
|
||||
MS-Windows: buffer completetion doesn't work when using backslash (or slash)
|
||||
for a path separator. (xtal8, #2201)
|
||||
|
||||
Patch to adjust to DPI setting for GTK. (Roel van de Kraats, 2017 Nov 20,
|
||||
#2357)
|
||||
|
||||
Test runtime files.
|
||||
Start with filetype detection: testdir/test_filetype.vim
|
||||
|
||||
@@ -215,23 +262,22 @@ Still happens (2017 Jul 9)
|
||||
When bracketed paste is used, pasting at the ":append" prompt does not get the
|
||||
line breaks. (Ken Takata, 2017 Aug 22)
|
||||
|
||||
The ":move" command does not honor closed folds. (Ryan Lue, #2351)
|
||||
|
||||
Patch for 24 bit color support in MS-Windows console, using vcon. (Nobuhiro
|
||||
Takasaki, 2017 Oct 1, #2060). Should not set 'tgc' automatically.
|
||||
|
||||
Patch to change GUI behavior: instead of changing the window size change the
|
||||
lines/columns when menu/toolbar/etc. is added/removed. (Ychin, 2016 Mar 20,
|
||||
#703)
|
||||
|
||||
Patch to skip globpath() for color schemes, keymaps and compiler settings.
|
||||
So that loading menus is faster. (Ken Takata, 2017 Oct 23)
|
||||
Update to expand the menus in a CursorHold autocmd. (2017 Oct 25)
|
||||
Takasaki, Ken Takata, 2017 Oct 1, #2060).
|
||||
|
||||
Memory leaks in test_channel? (or is it because of fork())
|
||||
Memory leak in test_arabic.
|
||||
Using uninitialized value in test_crypt.
|
||||
|
||||
Patch to clear background when "guibg=NONE" is used and 'termguicolors' is
|
||||
set.
|
||||
|
||||
Patch to make gM move to middle of line. (Yasuhiro Matsumoto, Sep 8, #2070)
|
||||
|
||||
Cannot copy modeless selection when cursor is inside it. (lkintact, #2300)
|
||||
|
||||
Include Haiku port. (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
|
||||
It can replace the BeOS code, which is likely not used anymore.
|
||||
Now on github: #1856. Updated Oct 2017
|
||||
@@ -296,6 +342,16 @@ Patch to add argument to :cquit. (Thinca, 2014 Oct 12)
|
||||
Python: After "import vim" error messages only show the first line of the
|
||||
stack trace. (Yggdroot, 2017 Jul 28, #1887)
|
||||
|
||||
Profile of a dict function is lost when the dict is deleted. Would it be
|
||||
possible to collect this? (Daniel Hahler, #2350)
|
||||
|
||||
Patch to add "module" to quickfix entries. (Marcin Szamotulski, Coot, 2017 Jun
|
||||
8, #1757) Now part of #2322. Or #2327? #1757 was re-opened, include that
|
||||
first.
|
||||
|
||||
Add `:filter` support for various commands (Marcin Szamotulski, 2017 Nov 12
|
||||
#2322) Now in #2327?
|
||||
|
||||
When checking if a bufref is valid, also check the buffer number, to catch the
|
||||
case of :bwipe followed by :new.
|
||||
|
||||
@@ -499,8 +555,6 @@ Patch for wrong cursor position on wrapped line, involving breakindent.
|
||||
(Ozaki Kiichi, 2016 Nov 25)
|
||||
Does this also fix #1408 ?
|
||||
|
||||
Patch to add "module" to quickfix entries. (Coot, 2017 Jun 8, #1757)
|
||||
|
||||
'cursorline' and match interfere. (Ozaki Kiichi, 2017 Jun 23, #1792)
|
||||
|
||||
Patch for 'cursorlinenr' option. (Ozaki Kiichi, 2016 Nov 30)
|
||||
@@ -1489,9 +1543,6 @@ Build problem with small features on Mac OS X 10.6. (Rainer, 2011 Jan 24)
|
||||
|
||||
"0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22)
|
||||
|
||||
Patch to add TextDeletePost and TextYankPost events. (Philippe Vaucher, 2011
|
||||
May 24) Update May 26.
|
||||
|
||||
Patch for :tabrecently. (Hirokazu Yoshida, 2012 Jan 30)
|
||||
|
||||
Problem with "syn sync grouphere". (Gustavo Niemeyer, 2011 Jan 27)
|
||||
@@ -4658,7 +4709,7 @@ Command line history:
|
||||
- Add "KeyWasTyped" flag: It's reset before each command and set when a
|
||||
character from the keyboard is consumed. Value is used to decide to put a
|
||||
command line in history or not. Put line in history if it didn't
|
||||
completely resulted from one mapping.
|
||||
completely result from one mapping.
|
||||
- When using ":browse", also put the resulting edit command in the history,
|
||||
so that it can be repeated. (Demirel)
|
||||
|
||||
@@ -5206,7 +5257,7 @@ Swap (.swp) files:
|
||||
- Add an option to create a swap file only when making the first change to
|
||||
the buffer. (Liang) Or only when the buffer is not read-only.
|
||||
- Add option to set "umask" for backup files and swap files (Antwerpen).
|
||||
'backupumask' and 'swapumask'? Or 'umaskback' and 'umaskswap'?
|
||||
'backupumask' and 'swapumask'? Or 'umaskbackup' and 'umaskswap'?
|
||||
- When editing a readonly file, don't use a swap file but read parts from the
|
||||
original file. Also do this when the file is huge (>'maxmem'). We do
|
||||
need to load the file once to count the number of lines? Perhaps keep a
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 8.0. Last change: 2017 Oct 15
|
||||
*usr_41.txt* For Vim version 8.0. Last change: 2017 Nov 19
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -886,6 +886,7 @@ GUI: *gui-functions*
|
||||
getwinposx() X position of the GUI Vim window
|
||||
getwinposy() Y position of the GUI Vim window
|
||||
balloon_show() set the balloon content
|
||||
balloon_split() split a message for a balloon
|
||||
|
||||
Vim server: *server-functions*
|
||||
serverlist() return the list of server names
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 8.0. Last change: 2017 Sep 16
|
||||
*various.txt* For Vim version 8.0. Last change: 2017 Nov 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -309,9 +309,13 @@ g8 Print the hex values of the bytes used in the
|
||||
*+ARP* Amiga only: ARP support included
|
||||
B *+arabic* |Arabic| language support
|
||||
N *+autocmd* |:autocmd|, automatic commands
|
||||
m *+balloon_eval* |balloon-eval| support. Included when compiling with
|
||||
supported GUI (Motif, GTK, GUI) and either
|
||||
Netbeans/Sun Workshop integration or |+eval| feature.
|
||||
H *+autoservername* Automatically enable |clientserver|
|
||||
m *+balloon_eval* |balloon-eval| support in the GUI. Included when
|
||||
compiling with supported GUI (Motif, GTK, GUI) and
|
||||
either Netbeans/Sun Workshop integration or |+eval|
|
||||
feature.
|
||||
H *+balloon_eval_term* |balloon-eval| support in the terminal,
|
||||
'balloonevalterm'
|
||||
N *+browse* |:browse| command
|
||||
N *+builtin_terms* some terminals builtin |builtin-terms|
|
||||
B *++builtin_terms* maximal terminals builtin |builtin-terms|
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version8.txt* For Vim version 8.0. Last change: 2017 Apr 23
|
||||
*version8.txt* For Vim version 8.0. Last change: 2017 Nov 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -15582,7 +15582,7 @@ Files: src/json.c, src/testdir/test_json.vim
|
||||
|
||||
Patch 8.0.0181
|
||||
Problem: When 'cursorbind' and 'cursorcolumn' are both on, the column
|
||||
highlignt in non-current windows is wrong.
|
||||
highlight in non-current windows is wrong.
|
||||
Solution: Add validate_cursor(). (Masanori Misono, closes #1372)
|
||||
Files: src/move.c
|
||||
|
||||
|
||||
+52
-780
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: man
|
||||
" Maintainer: SungHyun Nam <goweol@gmail.com>
|
||||
" Last Change: 2017 Jan 18
|
||||
" Last Change: 2017 Nov 11
|
||||
|
||||
" To make the ":Man" command available before editing a manual page, source
|
||||
" this script from your startup vimrc file.
|
||||
@@ -15,12 +15,6 @@ if &filetype == "man"
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
" Ensure Vim is not recursively invoked (man-db does this)
|
||||
" when doing ctrl-[ on a man page reference.
|
||||
if exists("$MANPAGER")
|
||||
let $MANPAGER = ""
|
||||
endif
|
||||
|
||||
" allow dot and dash in manual page name.
|
||||
setlocal iskeyword+=\.,-
|
||||
|
||||
@@ -176,7 +170,11 @@ func <SID>GetPage(...)
|
||||
let $MANWIDTH = winwidth(0)
|
||||
let unsetwidth = 1
|
||||
endif
|
||||
silent exec "r !man ".s:GetCmdArg(sect, page)." | col -b"
|
||||
|
||||
" Ensure Vim is not recursively invoked (man-db does this) when doing ctrl-[
|
||||
" on a man page reference by unsetting MANPAGER.
|
||||
silent exec "r !env -u MANPAGER man ".s:GetCmdArg(sect, page)." | col -b"
|
||||
|
||||
if unsetwidth
|
||||
let $MANWIDTH = ''
|
||||
endif
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Tom Picton <tom@tompicton.co.uk>
|
||||
" Previous Maintainer: James Sully <sullyj3@gmail.com>
|
||||
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||
" Last Change: Fri, 20 October 2017
|
||||
" Last Change: Thur, 09 November 2017
|
||||
" https://github.com/tpict/vim-ftplugin-python
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
@@ -29,8 +29,8 @@ let b:next_endtoplevel='\v%$\|\S.*\n+(def\|class)'
|
||||
let b:prev_endtoplevel='\v\S.*\n+(def\|class)'
|
||||
let b:next='\v%$\|^\s*(class\|def\|async def)>'
|
||||
let b:prev='\v^\s*(class\|def\|async def)>'
|
||||
let b:next_end='\v\S\n*(%$\|^\s*(class\|def\|async def)\|^\S)'
|
||||
let b:prev_end='\v\S\n*(^\s*(class\|def\|async def)\|^\S)'
|
||||
let b:next_end='\v\S\n*(%$\|^(\s*\n*)*(class\|def\|async def)\|^\S)'
|
||||
let b:prev_end='\v\S\n*(^(\s*\n*)*(class\|def\|async def)\|^\S)'
|
||||
|
||||
execute "nnoremap <silent> <buffer> ]] :call <SID>Python_jump('n', '". b:next_toplevel."', 'W')<cr>"
|
||||
execute "nnoremap <silent> <buffer> [[ :call <SID>Python_jump('n', '". b:prev_toplevel."', 'Wb')<cr>"
|
||||
@@ -43,8 +43,8 @@ execute "nnoremap <silent> <buffer> [M :call <SID>Python_jump('n', '". b:prev_en
|
||||
|
||||
execute "onoremap <silent> <buffer> ]] :call <SID>Python_jump('o', '". b:next_toplevel."', 'W')<cr>"
|
||||
execute "onoremap <silent> <buffer> [[ :call <SID>Python_jump('o', '". b:prev_toplevel."', 'Wb')<cr>"
|
||||
execute "onoremap <silent> <buffer> ][ :call <SID>Python_jump('n', '". b:next_endtoplevel."', 'W', 0)<cr>"
|
||||
execute "onoremap <silent> <buffer> [] :call <SID>Python_jump('n', '". b:prev_endtoplevel."', 'Wb', 0)<cr>"
|
||||
execute "onoremap <silent> <buffer> ][ :call <SID>Python_jump('o', '". b:next_endtoplevel."', 'W', 0)<cr>"
|
||||
execute "onoremap <silent> <buffer> [] :call <SID>Python_jump('o', '". b:prev_endtoplevel."', 'Wb', 0)<cr>"
|
||||
execute "onoremap <silent> <buffer> ]m :call <SID>Python_jump('o', '". b:next."', 'W')<cr>"
|
||||
execute "onoremap <silent> <buffer> [m :call <SID>Python_jump('o', '". b:prev."', 'Wb')<cr>"
|
||||
execute "onoremap <silent> <buffer> ]M :call <SID>Python_jump('o', '". b:next_end."', 'W', 0)<cr>"
|
||||
@@ -52,8 +52,8 @@ execute "onoremap <silent> <buffer> [M :call <SID>Python_jump('o', '". b:prev_en
|
||||
|
||||
execute "xnoremap <silent> <buffer> ]] :call <SID>Python_jump('x', '". b:next_toplevel."', 'W')<cr>"
|
||||
execute "xnoremap <silent> <buffer> [[ :call <SID>Python_jump('x', '". b:prev_toplevel."', 'Wb')<cr>"
|
||||
execute "xnoremap <silent> <buffer> ][ :call <SID>Python_jump('n', '". b:next_endtoplevel."', 'W', 0)<cr>"
|
||||
execute "xnoremap <silent> <buffer> [] :call <SID>Python_jump('n', '". b:prev_endtoplevel."', 'Wb', 0)<cr>"
|
||||
execute "xnoremap <silent> <buffer> ][ :call <SID>Python_jump('x', '". b:next_endtoplevel."', 'W', 0)<cr>"
|
||||
execute "xnoremap <silent> <buffer> [] :call <SID>Python_jump('x', '". b:prev_endtoplevel."', 'Wb', 0)<cr>"
|
||||
execute "xnoremap <silent> <buffer> ]m :call <SID>Python_jump('x', '". b:next."', 'W')<cr>"
|
||||
execute "xnoremap <silent> <buffer> [m :call <SID>Python_jump('x', '". b:prev."', 'Wb')<cr>"
|
||||
execute "xnoremap <silent> <buffer> ]M :call <SID>Python_jump('x', '". b:next_end."', 'W', 0)<cr>"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Vim
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2014 Sep 07
|
||||
" Last Change: 2017 Nov 06
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -25,6 +25,9 @@ setlocal fo-=t fo+=croql
|
||||
" keyword character. E.g., for netrw#Nread().
|
||||
setlocal isk+=#
|
||||
|
||||
" Use :help to lookup the keyword under the cursor with K.
|
||||
setlocal keywordprg=:help
|
||||
|
||||
" Set 'comments' to format dashed lists in comments
|
||||
setlocal com=sO:\"\ -,mO:\"\ \ ,eO:\"\",:\"
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Zsh shell script
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2015-05-29
|
||||
" Latest Revision: 2017-11-22
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-zsh
|
||||
|
||||
@@ -18,9 +18,7 @@ let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
let b:match_words =
|
||||
\ &matchpairs
|
||||
\ . ',\<if\>:\<elif\>:\<else\>:\<fi\>'
|
||||
let b:match_words = ',\<if\>:\<elif\>:\<else\>:\<fi\>'
|
||||
\ . ',\<case\>:^\s*([^)]*):\<esac\>'
|
||||
\ . ',\<\%(select\|while\|until\|repeat\|for\%(each\)\=\)\>:\<done\>'
|
||||
let b:match_skip = 's:comment\|string\|heredoc\|subst'
|
||||
|
||||
+95
-90
@@ -2,7 +2,7 @@
|
||||
" You can also use this as a start for your own set of menus.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2017 Mar 04
|
||||
" Last Change: 2017 Nov 09
|
||||
|
||||
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
|
||||
" in all modes and avoid side effects from mappings defined by the user.
|
||||
@@ -200,7 +200,7 @@ nnoremenu 20.370 &Edit.Put\ &Before<Tab>[p [p
|
||||
inoremenu &Edit.Put\ &Before<Tab>[p <C-O>[p
|
||||
nnoremenu 20.380 &Edit.Put\ &After<Tab>]p ]p
|
||||
inoremenu &Edit.Put\ &After<Tab>]p <C-O>]p
|
||||
if has("win32") || has("win16")
|
||||
if has("win32")
|
||||
vnoremenu 20.390 &Edit.&Delete<Tab>x x
|
||||
endif
|
||||
noremenu <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG :<C-U>call <SID>SelectAll()<CR>
|
||||
@@ -208,7 +208,7 @@ inoremenu <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG <C-O>:call <SID>S
|
||||
cnoremenu <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG <C-U>call <SID>SelectAll()<CR>
|
||||
|
||||
an 20.405 &Edit.-SEP2- <Nop>
|
||||
if has("win32") || has("win16") || has("gui_gtk") || has("gui_kde") || has("gui_motif")
|
||||
if has("win32") || has("gui_gtk") || has("gui_kde") || has("gui_motif")
|
||||
an 20.410 &Edit.&Find\.\.\. :promptfind<CR>
|
||||
vunmenu &Edit.&Find\.\.\.
|
||||
vnoremenu <silent> &Edit.&Find\.\.\. y:promptfind <C-R>=<SID>FixFText()<CR><CR>
|
||||
@@ -387,79 +387,65 @@ fun! s:FileFormat()
|
||||
endif
|
||||
endfun
|
||||
|
||||
let s:did_setup_color_schemes = 0
|
||||
|
||||
" Setup the Edit.Color Scheme submenu
|
||||
|
||||
" get NL separated string with file names
|
||||
let s:n = globpath(&runtimepath, "colors/*.vim")
|
||||
|
||||
" split at NL, Ignore case for VMS and windows, sort on name
|
||||
let s:names = sort(map(split(s:n, "\n"), 'substitute(v:val, "\\c.*[/\\\\:\\]]\\([^/\\\\:]*\\)\\.vim", "\\1", "")'), 1)
|
||||
|
||||
" define all the submenu entries
|
||||
let s:cs_idx = 100
|
||||
for s:name in s:names
|
||||
exe "an 20.450." . s:cs_idx . ' &Edit.C&olor\ Scheme.' . s:name . " :colors " . s:name . "<CR>"
|
||||
let s:cs_idx = s:cs_idx + 10
|
||||
endfor
|
||||
exe "an 20.450." . s:cs_idx . ' &Edit.C&olor\ Scheme.-SEP- <Nop>'
|
||||
let s:cs_idx = s:cs_idx + 10
|
||||
exe "an <silent> 20.450." . s:cs_idx '&Edit.C&olor\ Scheme.Find\ More\ Color\ Schemes' ":call <SID>Colorschemes()<CR>"
|
||||
let s:cs_idx = s:cs_idx + 10
|
||||
unlet s:name s:names s:n
|
||||
|
||||
let s:undo_colorschemes = ['aun &Edit.C&olor\ Scheme.Find\ More\ Color\ Schemes']
|
||||
func! s:Colorschemes()
|
||||
for cmd in s:undo_colorschemes
|
||||
exe "silent! " . cmd
|
||||
endfor
|
||||
let s:undo_colorschemes = []
|
||||
|
||||
let s = globpath(&packpath, "pack/*/{opt,start}/*/colors/*.vim")
|
||||
let names = sort(map(split(s, "\n"), 'substitute(v:val, "\\c.*[/\\\\:\\]]\\([^/\\\\:]*\\)\\.vim", "\\1", "")'), 1)
|
||||
let n = s:cs_idx
|
||||
for name in names
|
||||
let menuname = '&Edit.C&olor\ Scheme.' . name
|
||||
exe 'an 20.450.' . n . ' ' . menuname . " :colors " . name . "<CR>"
|
||||
let s:undo_colorschemes += ['aun ' . menuname]
|
||||
let n += 10
|
||||
endfor
|
||||
if empty(names)
|
||||
echomsg "Could not find other color schemes"
|
||||
elseif len(names) == 1
|
||||
echomsg "Found color scheme " . names[0]
|
||||
else
|
||||
echomsg "Found " . len(names) . " more color schemes"
|
||||
func! s:SetupColorSchemes() abort
|
||||
if s:did_setup_color_schemes
|
||||
return
|
||||
endif
|
||||
let s:did_setup_color_schemes = 1
|
||||
|
||||
let n = globpath(&runtimepath, "colors/*.vim", 1, 1)
|
||||
|
||||
" Ignore case for VMS and windows, sort on name
|
||||
let names = sort(map(n, 'substitute(v:val, "\\c.*[/\\\\:\\]]\\([^/\\\\:]*\\)\\.vim", "\\1", "")'), 1)
|
||||
|
||||
" define all the submenu entries
|
||||
let idx = 100
|
||||
for name in names
|
||||
exe "an 20.450." . idx . ' &Edit.C&olor\ Scheme.' . name . " :colors " . name . "<CR>"
|
||||
let idx = idx + 10
|
||||
endfor
|
||||
silent! aunmenu &Edit.Show\ C&olor\ Schemes\ in\ Menu
|
||||
endfun
|
||||
if exists("do_no_lazyload_menus")
|
||||
call s:SetupColorSchemes()
|
||||
else
|
||||
an <silent> 20.450 &Edit.Show\ C&olor\ Schemes\ in\ Menu :call <SID>SetupColorSchemes()<CR>
|
||||
endif
|
||||
|
||||
|
||||
" Setup the Edit.Keymap submenu
|
||||
if has("keymap")
|
||||
let s:n = globpath(&runtimepath, "keymap/*.vim")
|
||||
if s:n != ""
|
||||
let s:idx = 100
|
||||
an 20.460.90 &Edit.&Keymap.None :set keymap=<CR>
|
||||
while strlen(s:n) > 0
|
||||
let s:i = stridx(s:n, "\n")
|
||||
if s:i < 0
|
||||
let s:name = s:n
|
||||
let s:n = ""
|
||||
else
|
||||
let s:name = strpart(s:n, 0, s:i)
|
||||
let s:n = strpart(s:n, s:i + 1, 19999)
|
||||
endif
|
||||
" Ignore case for VMS and windows
|
||||
let s:name = substitute(s:name, '\c.*[/\\:\]]\([^/\\:_]*\)\(_[0-9a-zA-Z-]*\)\=\.vim', '\1', '')
|
||||
exe "an 20.460." . s:idx . ' &Edit.&Keymap.' . s:name . " :set keymap=" . s:name . "<CR>"
|
||||
unlet s:name
|
||||
unlet s:i
|
||||
let s:idx = s:idx + 10
|
||||
endwhile
|
||||
unlet s:idx
|
||||
let s:did_setup_keymaps = 0
|
||||
|
||||
func! s:SetupKeymaps() abort
|
||||
if s:did_setup_keymaps
|
||||
return
|
||||
endif
|
||||
let s:did_setup_keymaps = 1
|
||||
|
||||
let n = globpath(&runtimepath, "keymap/*.vim", 1, 1)
|
||||
if !empty(n)
|
||||
let idx = 100
|
||||
an 20.460.90 &Edit.&Keymap.None :set keymap=<CR>
|
||||
for name in n
|
||||
" Ignore case for VMS and windows
|
||||
let name = substitute(name, '\c.*[/\\:\]]\([^/\\:_]*\)\(_[0-9a-zA-Z-]*\)\=\.vim', '\1', '')
|
||||
exe "an 20.460." . idx . ' &Edit.&Keymap.' . name . " :set keymap=" . name . "<CR>"
|
||||
let idx = idx + 10
|
||||
endfor
|
||||
endif
|
||||
silent! aunmenu &Edit.Show\ &Keymaps\ in\ Menu
|
||||
endfun
|
||||
if exists("do_no_lazyload_menus")
|
||||
call s:SetupKeymaps()
|
||||
else
|
||||
an <silent> 20.460 &Edit.Show\ &Keymaps\ in\ Menu :call <SID>SetupKeymaps()<CR>
|
||||
endif
|
||||
unlet s:n
|
||||
endif
|
||||
if has("win32") || has("win16") || has("gui_motif") || has("gui_gtk") || has("gui_kde") || has("gui_photon") || has("gui_mac")
|
||||
if has("win32") || has("gui_motif") || has("gui_gtk") || has("gui_kde") || has("gui_photon") || has("gui_mac")
|
||||
an 20.470 &Edit.Select\ Fo&nt\.\.\. :set guifont=*<CR>
|
||||
elseif has("gui_macvim")
|
||||
an 20.470 &Edit.-SEP4- <Nop>
|
||||
@@ -524,10 +510,10 @@ if has("spell")
|
||||
endif
|
||||
|
||||
let found = 0
|
||||
let s = globpath(&rtp, "spell/*." . enc . ".spl")
|
||||
if s != ""
|
||||
let s = globpath(&runtimepath, "spell/*." . enc . ".spl", 1, 1)
|
||||
if !empty(s)
|
||||
let n = 300
|
||||
for f in split(s, "\n")
|
||||
for f in s
|
||||
let nm = substitute(f, '.*spell[/\\]\(..\)\.[^/\\]*\.spl', '\1', "")
|
||||
if nm != "en" && nm !~ '/'
|
||||
let _nm = nm
|
||||
@@ -657,27 +643,46 @@ func! s:XxdFind()
|
||||
endif
|
||||
endfun
|
||||
|
||||
let s:did_setup_compilers = 0
|
||||
|
||||
" Setup the Tools.Compiler submenu
|
||||
let s:n = globpath(&runtimepath, "compiler/*.vim")
|
||||
let s:idx = 100
|
||||
while strlen(s:n) > 0
|
||||
let s:i = stridx(s:n, "\n")
|
||||
if s:i < 0
|
||||
let s:name = s:n
|
||||
let s:n = ""
|
||||
else
|
||||
let s:name = strpart(s:n, 0, s:i)
|
||||
let s:n = strpart(s:n, s:i + 1, 19999)
|
||||
func! s:SetupCompilers() abort
|
||||
if s:did_setup_compilers
|
||||
return
|
||||
endif
|
||||
" Ignore case for VMS and windows
|
||||
let s:name = substitute(s:name, '\c.*[/\\:\]]\([^/\\:]*\)\.vim', '\1', '')
|
||||
exe "an 30.440." . s:idx . ' &Tools.Se&t\ Compiler.' . s:name . " :compiler " . s:name . "<CR>"
|
||||
unlet s:name
|
||||
unlet s:i
|
||||
let s:idx = s:idx + 10
|
||||
endwhile
|
||||
unlet s:n
|
||||
unlet s:idx
|
||||
let s:did_setup_compilers = 1
|
||||
|
||||
let n = globpath(&runtimepath, "compiler/*.vim", 1, 1)
|
||||
let idx = 100
|
||||
for name in n
|
||||
" Ignore case for VMS and windows
|
||||
let name = substitute(name, '\c.*[/\\:\]]\([^/\\:]*\)\.vim', '\1', '')
|
||||
exe "an 30.440." . idx . ' &Tools.Se&t\ Compiler.' . name . " :compiler " . name . "<CR>"
|
||||
let idx = idx + 10
|
||||
endfor
|
||||
silent! aunmenu &Tools.Show\ Compiler\ Se&ttings\ in\ Menu
|
||||
endfun
|
||||
if exists("do_no_lazyload_menus")
|
||||
call s:SetupCompilers()
|
||||
else
|
||||
an <silent> 30.440 &Tools.Show\ Compiler\ Se&ttings\ in\ Menu :call <SID>SetupCompilers()<CR>
|
||||
endif
|
||||
|
||||
" Load ColorScheme, Compiler Setting and Keymap menus when idle.
|
||||
if !exists("do_no_lazyload_menus")
|
||||
func! s:SetupLazyloadMenus()
|
||||
call s:SetupColorSchemes()
|
||||
call s:SetupCompilers()
|
||||
if has("keymap")
|
||||
call s:SetupKeymaps()
|
||||
endif
|
||||
endfunc
|
||||
augroup SetupLazyloadMenus
|
||||
au!
|
||||
au CursorHold,CursorHoldI * call <SID>SetupLazyloadMenus() | au! SetupLazyloadMenus
|
||||
augroup END
|
||||
endif
|
||||
|
||||
|
||||
if !exists("no_buffers_menu")
|
||||
|
||||
@@ -1189,7 +1194,7 @@ if (exists("did_load_filetypes") || exists("syntax_on"))
|
||||
if exists("do_syntax_sel_menu")
|
||||
runtime! synmenu.vim
|
||||
else
|
||||
an 50.10 &Syntax.&Show\ File\ Types\ in\ Menu :let do_syntax_sel_menu = 1<Bar>runtime! synmenu.vim<Bar>aunmenu &Syntax.&Show\ File\ Types\ in\ Menu<CR>
|
||||
an <silent> 50.10 &Syntax.&Show\ File\ Types\ in\ Menu :let do_syntax_sel_menu = 1<Bar>runtime! synmenu.vim<Bar>aunmenu &Syntax.&Show\ File\ Types\ in\ Menu<CR>
|
||||
an 50.195 &Syntax.-SEP1- <Nop>
|
||||
endif
|
||||
|
||||
|
||||
+10
-4
@@ -1,7 +1,7 @@
|
||||
" These commands create the option window.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2017 Oct 19
|
||||
" Last Change: 2017 Nov 21
|
||||
|
||||
" If there already is an option window, jump to that one.
|
||||
let buf = bufnr('option-window')
|
||||
@@ -649,11 +649,17 @@ if has("gui")
|
||||
call append("$", " \tset lsp=" . &lsp)
|
||||
call append("$", "columnspace\tnumber of pixel columns to use between characters")
|
||||
call append("$", " \tset csp=" . &csp)
|
||||
if has("balloon_eval")
|
||||
if has("balloon_eval") || has("balloon_eval_term")
|
||||
call append("$", "balloondelay\tdelay in milliseconds before a balloon may pop up")
|
||||
call append("$", " \tset bdlay=" . &bdlay)
|
||||
call append("$", "ballooneval\twhether the balloon evaluation is to be used")
|
||||
call <SID>BinOptionG("beval", &beval)
|
||||
if has("balloon_eval")
|
||||
call append("$", "ballooneval\tuse balloon evaluation in the GUI")
|
||||
call <SID>BinOptionG("beval", &beval)
|
||||
endif
|
||||
if has("balloon_eval_term")
|
||||
call append("$", "balloonevalterm\tuse balloon evaluation in the terminal")
|
||||
call <SID>BinOptionG("bevalterm", &beval)
|
||||
endif
|
||||
if has("eval")
|
||||
call append("$", "balloonexpr\texpression to show in balloon eval")
|
||||
call append("$", " \tset bexpr=" . &bexpr)
|
||||
|
||||
+115
-13
@@ -20,6 +20,9 @@ if exists(':Termdebug')
|
||||
finish
|
||||
endif
|
||||
|
||||
" Uncomment this line to write logging in "debuglog".
|
||||
" call ch_logfile('debuglog', 'w')
|
||||
|
||||
" The command that starts debugging, e.g. ":Termdebug vim".
|
||||
" To end type "quit" in the gdb window.
|
||||
command -nargs=* -complete=file Termdebug call s:StartDebug(<q-args>)
|
||||
@@ -31,6 +34,7 @@ endif
|
||||
|
||||
let s:pc_id = 12
|
||||
let s:break_id = 13
|
||||
let s:stopped = 1
|
||||
|
||||
if &background == 'light'
|
||||
hi default debugPC term=reverse ctermbg=lightblue guibg=lightblue
|
||||
@@ -65,6 +69,11 @@ func s:StartDebug(cmd)
|
||||
endif
|
||||
let pty = job_info(term_getjob(s:ptybuf))['tty_out']
|
||||
let s:ptywin = win_getid(winnr())
|
||||
if vertical
|
||||
" Assuming the source code window will get a signcolumn, use two more
|
||||
" columns for that, thus one less for the terminal window.
|
||||
exe (&columns / 2 - 1) . "wincmd |"
|
||||
endif
|
||||
|
||||
" Create a hidden terminal window to communicate with gdb
|
||||
let s:commbuf = term_start('NONE', {
|
||||
@@ -83,11 +92,11 @@ func s:StartDebug(cmd)
|
||||
" Add -quiet to avoid the intro message causing a hit-enter prompt.
|
||||
let cmd = [g:termdebugger, '-quiet', '-tty', pty, a:cmd]
|
||||
echomsg 'executing "' . join(cmd) . '"'
|
||||
let gdbbuf = term_start(cmd, {
|
||||
let s:gdbbuf = term_start(cmd, {
|
||||
\ 'exit_cb': function('s:EndDebug'),
|
||||
\ 'term_finish': 'close',
|
||||
\ })
|
||||
if gdbbuf == 0
|
||||
if s:gdbbuf == 0
|
||||
echoerr 'Failed to open the gdb terminal window'
|
||||
exe 'bwipe! ' . s:ptybuf
|
||||
exe 'bwipe! ' . s:commbuf
|
||||
@@ -97,7 +106,12 @@ func s:StartDebug(cmd)
|
||||
|
||||
" Connect gdb to the communication pty, using the GDB/MI interface
|
||||
" If you get an error "undefined command" your GDB is too old.
|
||||
call term_sendkeys(gdbbuf, 'new-ui mi ' . commpty . "\r")
|
||||
call term_sendkeys(s:gdbbuf, 'new-ui mi ' . commpty . "\r")
|
||||
|
||||
" Interpret commands while the target is running. This should usualy only be
|
||||
" exec-interrupt, since many commands don't work properly while the target is
|
||||
" running.
|
||||
call s:SendCommand('-gdb-set mi-async on')
|
||||
|
||||
" Sign used to highlight the line where the program has stopped.
|
||||
" There can be only one.
|
||||
@@ -112,6 +126,17 @@ func s:StartDebug(cmd)
|
||||
call s:InstallCommands()
|
||||
call win_gotoid(s:gdbwin)
|
||||
|
||||
" Enable showing a balloon with eval info
|
||||
if has("balloon_eval") || has("balloon_eval_term")
|
||||
set balloonexpr=TermDebugBalloonExpr()
|
||||
if has("balloon_eval")
|
||||
set ballooneval
|
||||
endif
|
||||
if has("balloon_eval_term")
|
||||
set balloonevalterm
|
||||
endif
|
||||
endif
|
||||
|
||||
let s:breakpoints = {}
|
||||
|
||||
augroup TermDebug
|
||||
@@ -135,6 +160,16 @@ func s:EndDebug(job, status)
|
||||
let &columns = s:save_columns
|
||||
endif
|
||||
|
||||
if has("balloon_eval") || has("balloon_eval_term")
|
||||
set balloonexpr=
|
||||
if has("balloon_eval")
|
||||
set noballooneval
|
||||
endif
|
||||
if has("balloon_eval_term")
|
||||
set noballoonevalterm
|
||||
endif
|
||||
endif
|
||||
|
||||
au! TermDebug
|
||||
endfunc
|
||||
|
||||
@@ -170,6 +205,9 @@ func s:InstallCommands()
|
||||
command Step call s:SendCommand('-exec-step')
|
||||
command Over call s:SendCommand('-exec-next')
|
||||
command Finish call s:SendCommand('-exec-finish')
|
||||
command -nargs=* Run call s:Run(<q-args>)
|
||||
command -nargs=* Arguments call s:SendCommand('-exec-arguments ' . <q-args>)
|
||||
command Stop call s:SendCommand('-exec-interrupt')
|
||||
command Continue call s:SendCommand('-exec-continue')
|
||||
command -range -nargs=* Evaluate call s:Evaluate(<range>, <q-args>)
|
||||
command Gdb call win_gotoid(s:gdbwin)
|
||||
@@ -183,6 +221,7 @@ func s:InstallCommands()
|
||||
nnoremenu WinBar.Next :Over<CR>
|
||||
nnoremenu WinBar.Finish :Finish<CR>
|
||||
nnoremenu WinBar.Cont :Continue<CR>
|
||||
nnoremenu WinBar.Stop :Stop<CR>
|
||||
nnoremenu WinBar.Eval :Evaluate<CR>
|
||||
endif
|
||||
endfunc
|
||||
@@ -194,6 +233,9 @@ func s:DeleteCommands()
|
||||
delcommand Step
|
||||
delcommand Over
|
||||
delcommand Finish
|
||||
delcommand Run
|
||||
delcommand Arguments
|
||||
delcommand Stop
|
||||
delcommand Continue
|
||||
delcommand Evaluate
|
||||
delcommand Gdb
|
||||
@@ -206,6 +248,7 @@ func s:DeleteCommands()
|
||||
aunmenu WinBar.Next
|
||||
aunmenu WinBar.Finish
|
||||
aunmenu WinBar.Cont
|
||||
aunmenu WinBar.Stop
|
||||
aunmenu WinBar.Eval
|
||||
endif
|
||||
|
||||
@@ -220,8 +263,19 @@ endfunc
|
||||
|
||||
" :Break - Set a breakpoint at the cursor position.
|
||||
func s:SetBreakpoint()
|
||||
call term_sendkeys(s:commbuf, '-break-insert --source '
|
||||
\ . fnameescape(expand('%:p')) . ' --line ' . line('.') . "\r")
|
||||
" Setting a breakpoint may not work while the program is running.
|
||||
" Interrupt to make it work.
|
||||
let do_continue = 0
|
||||
if !s:stopped
|
||||
let do_continue = 1
|
||||
call s:SendCommand('-exec-interrupt')
|
||||
sleep 10m
|
||||
endif
|
||||
call s:SendCommand('-break-insert --source '
|
||||
\ . fnameescape(expand('%:p')) . ' --line ' . line('.'))
|
||||
if do_continue
|
||||
call s:SendCommand('-exec-continue')
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" :Delete - Delete a breakpoint at the cursor position.
|
||||
@@ -244,6 +298,18 @@ func s:SendCommand(cmd)
|
||||
call term_sendkeys(s:commbuf, a:cmd . "\r")
|
||||
endfunc
|
||||
|
||||
func s:Run(args)
|
||||
if a:args != ''
|
||||
call s:SendCommand('-exec-arguments ' . a:args)
|
||||
endif
|
||||
call s:SendCommand('-exec-run')
|
||||
endfunc
|
||||
|
||||
func s:SendEval(expr)
|
||||
call s:SendCommand('-data-evaluate-expression "' . a:expr . '"')
|
||||
let s:evalexpr = a:expr
|
||||
endfunc
|
||||
|
||||
" :Evaluate - evaluate what is under the cursor
|
||||
func s:Evaluate(range, arg)
|
||||
if a:arg != ''
|
||||
@@ -259,25 +325,55 @@ func s:Evaluate(range, arg)
|
||||
else
|
||||
let expr = expand('<cexpr>')
|
||||
endif
|
||||
call term_sendkeys(s:commbuf, '-data-evaluate-expression "' . expr . "\"\r")
|
||||
let s:evalexpr = expr
|
||||
call s:SendEval(expr)
|
||||
endfunc
|
||||
|
||||
let s:evalFromBalloonExpr = 0
|
||||
|
||||
" Handle the result of data-evaluate-expression
|
||||
func s:HandleEvaluate(msg)
|
||||
let value = substitute(a:msg, '.*value="\(.*\)"', '\1', '')
|
||||
let value = substitute(value, '\\"', '"', 'g')
|
||||
echomsg '"' . s:evalexpr . '": ' . value
|
||||
|
||||
if s:evalexpr[0] != '*' && value =~ '^0x' && value !~ '"$'
|
||||
" Looks like a pointer, also display what it points to.
|
||||
let s:evalexpr = '*' . s:evalexpr
|
||||
call term_sendkeys(s:commbuf, '-data-evaluate-expression "' . s:evalexpr . "\"\r")
|
||||
if s:evalFromBalloonExpr
|
||||
if s:evalFromBalloonExprResult == ''
|
||||
let s:evalFromBalloonExprResult = s:evalexpr . ': ' . value
|
||||
else
|
||||
let s:evalFromBalloonExprResult .= ' = ' . value
|
||||
endif
|
||||
call balloon_show(s:evalFromBalloonExprResult)
|
||||
else
|
||||
echomsg '"' . s:evalexpr . '": ' . value
|
||||
endif
|
||||
|
||||
if s:evalexpr[0] != '*' && value =~ '^0x' && value != '0x0' && value !~ '"$'
|
||||
" Looks like a pointer, also display what it points to.
|
||||
call s:SendEval('*' . s:evalexpr)
|
||||
else
|
||||
let s:evalFromBalloonExpr = 0
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" Show a balloon with information of the variable under the mouse pointer,
|
||||
" if there is any.
|
||||
func TermDebugBalloonExpr()
|
||||
if v:beval_winid != s:startwin
|
||||
return
|
||||
endif
|
||||
call s:SendEval(v:beval_text)
|
||||
let s:evalFromBalloonExpr = 1
|
||||
let s:evalFromBalloonExprResult = ''
|
||||
return ''
|
||||
endfunc
|
||||
|
||||
" Handle an error.
|
||||
func s:HandleError(msg)
|
||||
if a:msg =~ 'No symbol .* in current context'
|
||||
\ || a:msg =~ 'Cannot access memory at address '
|
||||
\ || a:msg =~ 'Attempt to use a type name as an expression'
|
||||
\ || a:msg =~ 'A syntax error in expression,'
|
||||
" Result of s:SendEval() failed, ignore.
|
||||
return
|
||||
endif
|
||||
echoerr substitute(a:msg, '.*msg="\(.*\)"', '\1', '')
|
||||
endfunc
|
||||
|
||||
@@ -286,6 +382,12 @@ endfunc
|
||||
func s:HandleCursor(msg)
|
||||
let wid = win_getid(winnr())
|
||||
|
||||
if a:msg =~ '^\*stopped'
|
||||
let s:stopped = 1
|
||||
elseif a:msg =~ '^\*running'
|
||||
let s:stopped = 0
|
||||
endif
|
||||
|
||||
if win_gotoid(s:startwin)
|
||||
let fname = substitute(a:msg, '.*fullname="\([^"]*\)".*', '\1', '')
|
||||
if a:msg =~ '^\(\*stopped\|=thread-selected\)' && filereadable(fname)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim plugin for using Vim as manpager.
|
||||
" Maintainer: Enno Nagel <ennonagel+vim@gmail.com>
|
||||
" Last Change: 2016 May 20
|
||||
" Last Change: 2017 November 07
|
||||
|
||||
" $MAN_PN is supposed to be set by MANPAGER, see ":help manpager.vim".
|
||||
if empty($MAN_PN)
|
||||
@@ -10,17 +10,17 @@ endif
|
||||
command! -nargs=0 MANPAGER call s:MANPAGER() | delcommand MANPAGER
|
||||
|
||||
function! s:MANPAGER()
|
||||
let page_pattern = '\v\w+%([-_.]\w+)*'
|
||||
let page_pattern = '\v\w[-_.:0-9A-Za-z]*'
|
||||
let sec_pattern = '\v\w+%(\+\w+)*'
|
||||
let pagesec_pattern = '\v(' . page_pattern . ')\((' . sec_pattern . ')\)'
|
||||
|
||||
if $MAN_PN is '1'
|
||||
let manpage = matchstr( getline(1), '^' . pagesec_pattern )
|
||||
let manpage = tolower(matchstr( getline(nextnonblank(1)), '^' . pagesec_pattern ))
|
||||
else
|
||||
let manpage = expand('$MAN_PN')
|
||||
let manpage = expand($MAN_PN)
|
||||
endif
|
||||
|
||||
let page_sec = matchlist(tolower(manpage), '^' . pagesec_pattern . '$')
|
||||
let page_sec = matchlist(manpage, '^' . pagesec_pattern . '$')
|
||||
|
||||
bwipe!
|
||||
|
||||
|
||||
+6
-6
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types in scripts
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last change: 2017 Aug 27
|
||||
" Last change: 2017 Nov 11
|
||||
|
||||
" 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
|
||||
@@ -66,19 +66,19 @@ if s:line1 =~# "^#!"
|
||||
|
||||
" Bourne-like shell scripts: bash bash2 ksh ksh93 sh
|
||||
if s:name =~# '^\(bash\d*\|\|ksh\d*\|sh\)\>'
|
||||
call SetFileTypeSH(s:line1) " defined in filetype.vim
|
||||
call dist#ft#SetFileTypeSH(s:line1) " defined in filetype.vim
|
||||
|
||||
" csh scripts
|
||||
elseif s:name =~# '^csh\>'
|
||||
if exists("g:filetype_csh")
|
||||
call SetFileTypeShell(g:filetype_csh)
|
||||
call dist#ft#SetFileTypeShell(g:filetype_csh)
|
||||
else
|
||||
call SetFileTypeShell("csh")
|
||||
call dist#ft#SetFileTypeShell("csh")
|
||||
endif
|
||||
|
||||
" tcsh scripts
|
||||
elseif s:name =~# '^tcsh\>'
|
||||
call SetFileTypeShell("tcsh")
|
||||
call dist#ft#SetFileTypeShell("tcsh")
|
||||
|
||||
" Z shell scripts
|
||||
elseif s:name =~# '^zsh\>'
|
||||
@@ -185,7 +185,7 @@ else
|
||||
|
||||
" Bourne-like shell scripts: sh ksh bash bash2
|
||||
if s:line1 =~# '^:$'
|
||||
call SetFileTypeSH(s:line1) " defined in filetype.vim
|
||||
call dist#ft#SetFileTypeSH(s:line1) " defined in filetype.vim
|
||||
|
||||
" Z shell scripts
|
||||
elseif s:line1 =~# '^#compdef\>' || s:line1 =~# '^#autoload\>' ||
|
||||
|
||||
+981
-400
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
||||
" Wichert Akkerman <wakkerma@debian.org>
|
||||
" Last Change: 2017 Aug 18
|
||||
" Last Change: 2017 Nov 04
|
||||
" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debcontrol.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
@@ -17,6 +17,8 @@ set cpo&vim
|
||||
" Should match case except for the keys of each field
|
||||
syn case match
|
||||
|
||||
syn iskeyword @,48-57,-,/
|
||||
|
||||
" Everything that is not explicitly matched by the rules below
|
||||
syn match debcontrolElse "^.*$"
|
||||
|
||||
@@ -24,24 +26,50 @@ syn match debcontrolElse "^.*$"
|
||||
syn match debControlComma ",[ \t]*"
|
||||
syn match debControlSpace "[ \t]"
|
||||
|
||||
let s:kernels = '\%(linux\|hurd\|kfreebsd\|knetbsd\|kopensolaris\|netbsd\)'
|
||||
let s:archs = '\%(alpha\|amd64\|armeb\|armel\|armhf\|arm64\|avr32\|hppa\|i386'
|
||||
\ . '\|ia64\|lpia\|m32r\|m68k\|mipsel\|mips64el\|mips\|powerpcspe\|powerpc\|ppc64el'
|
||||
\ . '\|ppc64\|s390x\|s390\|sh3eb\|sh3\|sh4eb\|sh4\|sh\|sparc64\|sparc\|x32\)'
|
||||
let s:pairs = 'hurd-i386\|kfreebsd-i386\|kfreebsd-amd64\|knetbsd-i386\|kopensolaris-i386\|netbsd-alpha\|netbsd-i386'
|
||||
let s:kernels = ['linux', 'hurd', 'kfreebsd', 'knetbsd', 'kopensolaris', 'netbsd']
|
||||
let s:archs = [
|
||||
\ 'alpha', 'amd64', 'armeb', 'armel', 'armhf', 'arm64', 'avr32', 'hppa'
|
||||
\, 'i386', 'ia64', 'lpia', 'm32r', 'm68k', 'mipsel', 'mips64el', 'mips'
|
||||
\, 'powerpcspe', 'powerpc', 'ppc64el', 'ppc64', 's390x', 's390', 'sh3eb'
|
||||
\, 'sh3', 'sh4eb', 'sh4', 'sh', 'sparc64', 'sparc', 'x32'
|
||||
\ ]
|
||||
let s:pairs = [
|
||||
\ 'hurd-i386', 'kfreebsd-i386', 'kfreebsd-amd64', 'knetbsd-i386'
|
||||
\, 'kopensolaris-i386', 'netbsd-alpha', 'netbsd-i386'
|
||||
\ ]
|
||||
|
||||
" Define some common expressions we can use later on
|
||||
exe 'syn match debcontrolArchitecture contained "\%(all\|'. s:kernels .'-any\|\%(any-\)\='. s:archs .'\|'. s:pairs .'\|any\)"'
|
||||
syn keyword debcontrolArchitecture contained all any
|
||||
exe 'syn keyword debcontrolArchitecture contained '. join(map(s:kernels, {k,v -> v .'-any'}))
|
||||
exe 'syn keyword debcontrolArchitecture contained '. join(map(s:archs, {k,v -> 'any-'.v}))
|
||||
exe 'syn keyword debcontrolArchitecture contained '. join(s:archs)
|
||||
exe 'syn keyword debcontrolArchitecture contained '. join(s:pairs)
|
||||
|
||||
unlet s:kernels s:archs s:pairs
|
||||
|
||||
syn match debcontrolMultiArch contained "\%(no\|foreign\|allowed\|same\)"
|
||||
let s:sections = [
|
||||
\ 'admin', 'cli-mono', 'comm', 'database', 'debian-installer', 'debug'
|
||||
\, 'devel', 'doc', 'editors', 'education', 'electronics', 'embedded'
|
||||
\, 'fonts', 'games', 'gnome', 'gnustep', 'gnu-r', 'golang', 'graphics'
|
||||
\, 'hamradio', 'haskell', 'httpd', 'interpreters', 'introspection'
|
||||
\, 'java', 'javascript', 'kde', 'kernel', 'libs', 'libdevel', 'lisp'
|
||||
\, 'localization', 'mail', 'math', 'metapackages', 'misc', 'net'
|
||||
\, 'news', 'ocaml', 'oldlibs', 'otherosfs', 'perl', 'php', 'python'
|
||||
\, 'ruby', 'rust', 'science', 'shells', 'sound', 'text', 'tex'
|
||||
\, 'utils', 'vcs', 'video', 'web', 'x11', 'xfce', 'zope'
|
||||
\ ]
|
||||
|
||||
syn keyword debcontrolMultiArch contained no foreign allowed same
|
||||
syn match debcontrolName contained "[a-z0-9][a-z0-9+.-]\+"
|
||||
syn match debcontrolPriority contained "\(extra\|important\|optional\|required\|standard\)"
|
||||
syn match debcontrolSection contained "\v((contrib|non-free|non-US/main|non-US/contrib|non-US/non-free|restricted|universe|multiverse)/)?(admin|cli-mono|comm|database|debian-installer|debug|devel|doc|editors|education|electronics|embedded|fonts|games|gnome|gnustep|gnu-r|graphics|hamradio|haskell|httpd|interpreters|introspection|java%(script)=|kde|kernel|libs|libdevel|lisp|localization|mail|math|metapackages|misc|net|news|ocaml|oldlibs|otherosfs|perl|php|python|ruby|rust|science|shells|sound|text|tex|utils|vcs|video|web|x11|xfce|zope)"
|
||||
syn match debcontrolPackageType contained "u\?deb"
|
||||
syn keyword debcontrolPriority contained extra important optional required standard
|
||||
exe 'syn match debcontrolSection contained "\%(\%(contrib\|non-free\|non-US/main\|non-US/contrib\|non-US/non-free\|restricted\|universe\|multiverse\)/\)\=\%('.join(s:sections, '\|').'\)"'
|
||||
syn keyword debcontrolPackageType contained udeb deb
|
||||
syn match debcontrolVariable contained "\${.\{-}}"
|
||||
syn match debcontrolDmUpload contained "\cyes"
|
||||
syn keyword debcontrolDmUpload contained yes
|
||||
syn keyword debcontrolYesNo contained yes no
|
||||
syn match debcontrolR3 contained "\<\%(no\|binary-targets\|[[:graph:]]\+/[[:graph:]]\+\%( \+[[:graph:]]\+/[[:graph:]]\+\)*\)\>"
|
||||
|
||||
unlet s:sections
|
||||
|
||||
" A URL (using the domain name definitions from RFC 1034 and 1738), right now
|
||||
" only enforce protocol and some sanity on the server/path part;
|
||||
@@ -59,15 +87,28 @@ syn match debcontrolComment "^#.*$" contains=@Spell
|
||||
|
||||
syn case ignore
|
||||
|
||||
" List of all legal keys
|
||||
syn match debcontrolKey contained "^\%(Source\|Package\|Section\|Priority\|\%(XSBC-Original-\)\=Maintainer\|Uploaders\|Build-\%(Conflicts\|Depends\)\%(-Arch\|-Indep\)\=\|Standards-Version\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Breaks\|Essential\|Architecture\|Multi-Arch\|Description\|Bugs\|Origin\|X[SB]-Python-Version\|Homepage\|\(XS-\)\=Vcs-\(Browser\|Arch\|Bzr\|Cvs\|Darcs\|Git\|Hg\|Mtn\|Svn\)\|\%(XC-\)\=Package-Type\|\%(XS-\)\=Testsuite\): *"
|
||||
" List of all legal keys, in order, from deb-src-control(5)
|
||||
" Source fields
|
||||
syn match debcontrolKey contained "^\%(Source\|Maintainer\|Uploaders\|Standards-Version\|Description\|Homepage\|Bugs\|Rules-Requires-Root\): *"
|
||||
syn match debcontrolKey contained "^\%(XS-\)\=Vcs-\%(Arch\|Bzr\|Cvs\|Darcs\|Git\|Hg\|Mtn\|Svn\|Browser\): *"
|
||||
syn match debcontrolKey contained "^\%(Origin\|Section\|Priority\): *"
|
||||
syn match debcontrolKey contained "^Build-\%(Depends\|Conflicts\)\%(-Arch\|-Indep\)\=: *"
|
||||
|
||||
" Binary fields
|
||||
syn match debcontrolKey contained "^\%(Package\%(-Type\)\=\|Architecture\|Build-Profiles\): *"
|
||||
syn match debcontrolKey contained "^\%(\%(Build-\)\=Essential\|Multi-Arch\|Tag\): *"
|
||||
syn match debcontrolKey contained "^\%(\%(Pre-\)\=Depends\|Recommends\|Suggests\|Breaks\|Enhances\|Replaces\|Conflicts\|Provides\|Built-Using\): *"
|
||||
syn match debcontrolKey contained "^\%(Subarchitecture\|Kernel-Version\|Installer-Menu-Item\): *"
|
||||
|
||||
" User-defined fields
|
||||
syn match debcontrolKey contained "^X[SBC]\{0,3\}\%(-Private\)\=-[-a-zA-Z0-9]\+: *"
|
||||
|
||||
syn match debcontrolDeprecatedKey contained "^\%(\%(XS-\)\=DM-Upload-Allowed\): *"
|
||||
|
||||
" Fields for which we do strict syntax checking
|
||||
syn region debcontrolStrictField start="^Architecture" end="$" contains=debcontrolKey,debcontrolArchitecture,debcontrolSpace oneline
|
||||
syn region debcontrolStrictField start="^Multi-Arch" end="$" contains=debcontrolKey,debcontrolMultiArch oneline
|
||||
syn region debcontrolStrictField start="^\(Package\|Source\)" end="$" contains=debcontrolKey,debcontrolName oneline
|
||||
syn region debcontrolStrictField start="^\%(Package\|Source\)" end="$" contains=debcontrolKey,debcontrolName oneline
|
||||
syn region debcontrolStrictField start="^Priority" end="$" contains=debcontrolKey,debcontrolPriority oneline
|
||||
syn region debcontrolStrictField start="^Section" end="$" contains=debcontrolKey,debcontrolSection oneline
|
||||
syn region debcontrolStrictField start="^\%(XC-\)\=Package-Type" end="$" contains=debcontrolKey,debcontrolPackageType oneline
|
||||
@@ -77,10 +118,12 @@ syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Svn" end="$" contains=deb
|
||||
syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Cvs" end="$" contains=debcontrolKey,debcontrolVcsCvs oneline keepend
|
||||
syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Git" end="$" contains=debcontrolKey,debcontrolVcsGit oneline keepend
|
||||
syn region debcontrolStrictField start="^\%(XS-\)\=DM-Upload-Allowed" end="$" contains=debcontrolDeprecatedKey,debcontrolDmUpload oneline
|
||||
syn region debcontrolStrictField start="^Rules-Requires-Root" end="$" contains=debcontrolKey,debcontrolR3 oneline
|
||||
syn region debcontrolStrictField start="^\%(Build-\)\=Essential" end="$" contains=debcontrolKey,debcontrolYesNo oneline
|
||||
|
||||
" Catch-all for the other legal fields
|
||||
syn region debcontrolField start="^\%(\%(XSBC-Original-\)\=Maintainer\|Standards-Version\|Essential\|Bugs\|Origin\|X[SB]-Python-Version\|\%(XS-\)\=Vcs-Mtn\|\%(XS-\)\=Testsuite\):" end="$" contains=debcontrolKey,debcontrolVariable,debcontrolEmail oneline
|
||||
syn region debcontrolMultiField start="^\%(Build-\%(Conflicts\|Depends\)\%(-Arch\|-Indep\)\=\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Breaks\|Uploaders\|Description\):" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolKey,debcontrolEmail,debcontrolVariable,debcontrolComment
|
||||
syn region debcontrolField start="^\%(\%(XSBC-Original-\)\=Maintainer\|Standards-Version\|Bugs\|Origin\|X[SB]-Python-Version\|\%(XS-\)\=Vcs-Mtn\|\%(XS-\)\=Testsuite\|Build-Profiles\|Tag\|Subarchitecture\|Kernel-Version\|Installer-Menu-Item\):" end="$" contains=debcontrolKey,debcontrolVariable,debcontrolEmail oneline
|
||||
syn region debcontrolMultiField start="^\%(Build-\%(Conflicts\|Depends\)\%(-Arch\|-Indep\)\=\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Breaks\|Enhances\|Replaces\|Conflicts\|Provides\|Built-Using\|Uploaders\|X[SBC]\{0,3\}\%(Private-\)\=-[-a-zA-Z0-9]\+\):" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolKey,debcontrolEmail,debcontrolVariable,debcontrolComment
|
||||
syn region debcontrolMultiFieldSpell start="^\%(Description\):" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolKey,debcontrolEmail,debcontrolVariable,debcontrolComment,@Spell
|
||||
|
||||
" Associate our matches and regions with pretty colours
|
||||
@@ -102,6 +145,8 @@ hi def link debcontrolVcsCvs Identifier
|
||||
hi def link debcontrolVcsGit Identifier
|
||||
hi def link debcontrolHTTPUrl Identifier
|
||||
hi def link debcontrolDmUpload Identifier
|
||||
hi def link debcontrolYesNo Identifier
|
||||
hi def link debcontrolR3 Identifier
|
||||
hi def link debcontrolComment Comment
|
||||
hi def link debcontrolElse Special
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Debian sources.list
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
|
||||
" Last Change: 2017 Apr 22
|
||||
" Last Change: 2017 Oct 28
|
||||
" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debsources.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
@@ -23,18 +23,18 @@ let s:cpo = &cpo
|
||||
set cpo-=C
|
||||
let s:supported = [
|
||||
\ 'oldstable', 'stable', 'testing', 'unstable', 'experimental',
|
||||
\ 'squeeze', 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy',
|
||||
\ 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy',
|
||||
\
|
||||
\ 'trusty', 'xenial', 'yakkety', 'zesty', 'artful', 'devel'
|
||||
\ 'trusty', 'xenial', 'zesty', 'artful', 'bionic', 'devel'
|
||||
\ ]
|
||||
let s:unsupported = [
|
||||
\ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
|
||||
\ 'woody', 'sarge', 'etch', 'lenny',
|
||||
\ 'woody', 'sarge', 'etch', 'lenny', 'squeeze',
|
||||
\
|
||||
\ 'warty', 'hoary', 'breezy', 'dapper', 'edgy', 'feisty',
|
||||
\ 'gutsy', 'hardy', 'intrepid', 'jaunty', 'karmic', 'lucid',
|
||||
\ 'maverick', 'natty', 'oneiric', 'precise', 'quantal', 'raring', 'saucy',
|
||||
\ 'utopic', 'vivid', 'wily'
|
||||
\ 'utopic', 'vivid', 'wily', 'yakkety'
|
||||
\ ]
|
||||
let &cpo=s:cpo
|
||||
|
||||
|
||||
+78
-50
@@ -2,11 +2,10 @@
|
||||
" Language: doxygen on top of c, cpp, idl, java, php
|
||||
" Maintainer: Michael Geddes <vimmer@frog.wheelycreek.net>
|
||||
" Author: Michael Geddes
|
||||
" Last Changes: Jan 2009 (\tparam by Domnique Pelle, Aug 2013)
|
||||
" Nov 2017 (@throws by Domnique Pelle)
|
||||
" Version: 1.23
|
||||
" Last Change: November 2017 (\throws by Candy Gumdrop)
|
||||
" Version: 1.27
|
||||
"
|
||||
" Copyright 2004-2008 Michael Geddes
|
||||
" Copyright 2004-2017 Michael Geddes
|
||||
" Please feel free to use, modify & distribute all or part of this script,
|
||||
" providing this copyright message remains.
|
||||
" I would appreciate being acknowledged in any derived scripts, and would
|
||||
@@ -59,52 +58,76 @@ try
|
||||
"
|
||||
|
||||
" C/C++ Style line comments
|
||||
syn region doxygenComment start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contains=doxygenSyncStart,doxygenStart,doxygenTODO keepend fold containedin=phpRegion
|
||||
syn region doxygenCommentL start=+//[/!]<\@!+me=e-1 end=+$+ contains=doxygenStartL,@Spell keepend skipwhite skipnl nextgroup=doxygenComment2 fold containedin=phpRegion
|
||||
syn match doxygenCommentWhite +\s*\ze/\*\(\*/\)\@![*!]+ containedin=phpRegion
|
||||
syn match doxygenCommentWhite +\s*\ze//[/!]+ containedin=phpRegion
|
||||
syn match doxygenCommentWhite +\s*\ze/\*\(\*/\)\@![*!]+
|
||||
syn match doxygenCommentWhite +\s*\ze//[/!]+ containedin=phpRegion
|
||||
|
||||
syn region doxygenComment start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contains=doxygenSyncStart,doxygenStart,doxygenTODO,doxygenLeadingWhite keepend fold containedin=phpRegion
|
||||
syn region doxygenCommentL start=+//[/!]<\@!+me=e-1 end=+$+ contains=doxygenLeadingLWhite,doxygenStartL,@Spell keepend skipwhite skipnl nextgroup=doxygenCommentWhite2 fold containedin=phpRegion
|
||||
syn region doxygenCommentL start=+//[/!]<+me=e-2 end=+$+ contains=doxygenStartL,@Spell keepend skipwhite skipnl fold containedin=phpRegion
|
||||
syn region doxygenCommentL start=+//@\ze[{}]+ end=+$+ contains=doxygenGroupDefine,doxygenGroupDefineSpecial,@Spell fold containedin=phpRegion
|
||||
syn region doxygenComment start=+/\*@\ze[{}]+ end=+\*/+ contains=doxygenGroupDefine,doxygenGroupDefineSpecial,@Spell fold containedin=phpRegion
|
||||
|
||||
" Single line brief followed by multiline comment.
|
||||
syn match doxygenCommentWhite2 +\_s*\ze/\*\(\*/\)\@![*!]+ contained nextgroup=doxygenComment2
|
||||
syn region doxygenComment2 start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contained contains=doxygenSyncStart2,doxygenStart2,doxygenTODO keepend fold
|
||||
" This helps with sync-ing as for some reason, syncing behaves differently to a normal region, and the start pattern does not get matched.
|
||||
syn match doxygenSyncStart2 +[^*/]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenStartSpecial,doxygenSkipComment,doxygenStartSkip2 skipwhite skipnl
|
||||
|
||||
" Skip empty lines at the start for when comments start on the 2nd/3rd line.
|
||||
syn match doxygenStartSkip2 +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenBody,doxygenStartSpecial,doxygenStartSkip skipwhite skipnl
|
||||
syn match doxygenStartSkip2 +^\s*\*$+ contained nextgroup=doxygenBody,doxygenStartSpecial,,doxygenStartSkip skipwhite skipnl
|
||||
syn match doxygenStartSkip2 +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenBody,doxygenStartSpecial,doxygenStartSkipWhite skipwhite skipnl
|
||||
syn match doxygenStartSkip2 +^\s*\*$+ contained nextgroup=doxygenBody,doxygenStartSpecial,doxygenStartSkipWhite skipwhite skipnl
|
||||
syn match doxygenStart2 +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenStartSpecial,doxygenStartSkip2 skipwhite skipnl
|
||||
|
||||
|
||||
" Match the Starting pattern (effectively creating the start of a BNF)
|
||||
if !exists('g:doxygen_javadoc_autobrief') || g:doxygen_javadoc_autobrief
|
||||
syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl
|
||||
syn match doxygenStartL +//[/!]+ contained nextgroup=doxygenPrevL,doxygenBriefL,doxygenSpecial skipwhite
|
||||
syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkipWhite,doxygenPage skipwhite skipnl
|
||||
syn match doxygenLeadingLWhite +\s\++ contained nextgroup=doxygenPrevL,doxygenBriefL,doxygenSpecial
|
||||
syn match doxygenStartL +//[/!]+ contained nextgroup=doxygenLeaingLWhite,doxygenPrevL,doxygenBriefL,doxygenSpecial
|
||||
" Match the first sentence as a brief comment
|
||||
if ! exists('g:doxygen_end_punctuation')
|
||||
let g:doxygen_end_punctuation='[.]'
|
||||
endif
|
||||
|
||||
exe 'syn region doxygenBrief contained start=+[\\@]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]+ start=+\(^\s*\)\@<!\*/\@!+ start=+\<\k+ skip=+'.doxygen_end_punctuation.'\S\@=+ end=+'.doxygen_end_punctuation.'+ end=+\(\s*\(\n\s*\*\=\s*\)[@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\@=+ contains=doxygenSmallSpecial,doxygenContinueComment,doxygenBriefEndComment,doxygenFindBriefSpecial,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenHyperLink,doxygenHashLink,@Spell skipnl nextgroup=doxygenBody'
|
||||
exe 'syn region doxygenBrief contained start=+[\\@]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]+ start=+\(^\s*\)\@<!\*/\@!+ start=+\<\k+ skip=+'.doxygen_end_punctuation.'\S\@=+ end=+'.doxygen_end_punctuation.'+ end=+\(\s*\(\n\s*\*\=\s*\)[@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\@=+ contains=doxygenSmallSpecial,doxygenContinueCommentWhite,doxygenLeadingWhite,doxygenBriefEndComment,doxygenFindBriefSpecial,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenHyperLink,doxygenHashLink,@Spell skipnl nextgroup=doxygenBody'
|
||||
|
||||
syn match doxygenBriefEndComment +\*/+ contained
|
||||
|
||||
exe 'syn region doxygenBriefL start=+@\k\@!\|[\\@]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@]+ start=+\<+ skip=+'.doxygen_end_punctuation.'\S+ end=+'.doxygen_end_punctuation.'\|$+ contained contains=doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell keepend'
|
||||
syn match doxygenPrevL +<+ contained nextgroup=doxygenBriefL,doxygenSpecial skipwhite
|
||||
else
|
||||
syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl
|
||||
syn match doxygenStartL +//[/!]+ contained nextgroup=doxygenPrevL,doxygenLine,doxygenSpecial skipwhite
|
||||
syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkipWhite,doxygenPage skipwhite skipnl
|
||||
syn match doxygenStartL +//[/!]+ contained nextgroup=doxygenLeadingLWhite,doxygenPrevL,doxygenLine,doxygenSpecial
|
||||
syn match doxygenLeadingLWhite +\s\++ contained nextgroup=doxygenPrevL,doxygenLine,doxygenSpecial
|
||||
syn region doxygenLine start=+@\k\@!\|[\\@]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@<]+ start=+\<+ end='$' contained contains=doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell keepend
|
||||
syn match doxygenPrevL +<+ contained nextgroup=doxygenLine,doxygenSpecial skipwhite
|
||||
|
||||
endif
|
||||
|
||||
" This helps with sync-ing as for some reason, syncing behaves differently to a normal region, and the start pattern does not get matched.
|
||||
syn match doxygenSyncStart +\ze[^*/]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl
|
||||
syn match doxygenSyncStart +\ze[^*/]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkipWhite,doxygenPage skipwhite skipnl
|
||||
" Match an [@\]brief so that it moves to body-mode.
|
||||
"
|
||||
"
|
||||
" syn match doxygenBriefLine contained
|
||||
syn match doxygenBriefSpecial contained +[@\\]+ nextgroup=doxygenBriefWord skipwhite
|
||||
" syn region doxygenFindBriefSpecial start=+[@\\]brief\>+ end=+\(\n\s*\*\=\s*\([@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ keepend contains=doxygenBriefSpecial nextgroup=doxygenBody keepend skipwhite skipnl contained
|
||||
syn region doxygenFindBriefSpecial start=+[@\\]brief\>+ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([npcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ keepend contains=doxygenBriefSpecial nextgroup=doxygenBody keepend skipwhite skipnl contained
|
||||
|
||||
|
||||
|
||||
" end=+\(\n\s*\*\=\s*\([@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+
|
||||
"syn region doxygenBriefLine contained start=+\<\k+ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([npcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ contains=doxygenContinueCommentWhite,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenHyperLink,doxygenHashLink,@Spell skipwhite keepend matchgroup=xxx
|
||||
syn region doxygenBriefLine contained start=+\<\k+ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([npcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ skipwhite keepend matchgroup=xxx
|
||||
" syn region doxygenBriefLine matchgroup=xxxy contained start=+\<\k.\++ skip=+^\s*\k+ end=+end+ skipwhite keepend
|
||||
"doxygenFindBriefSpecial,
|
||||
"" syn region doxygenSpecialMultilineDesc start=+.\++ contained contains=doxygenSpecialContinueCommentWhite,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell skipwhite keepend
|
||||
|
||||
syn region doxygenBriefLine contained start=+\<\k+ end=+\(\n\s*\*\=\s*\([@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ contains=doxygenContinueComment,doxygenFindBriefSpecial,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenHyperLink,doxygenHashLink,@Spell skipwhite keepend
|
||||
|
||||
" Match a '<' for applying a comment to the previous element.
|
||||
syn match doxygenPrev +<+ contained nextgroup=doxygenBrief,doxygenBody,doxygenSpecial,doxygenStartSkip skipwhite
|
||||
syn match doxygenPrev +<+ contained nextgroup=doxygenBrief,doxygenBody,doxygenSpecial,doxygenStartSkipWhite skipwhite
|
||||
|
||||
if exists("c_comment_strings")
|
||||
" These are anti-Doxygen comments. If there are more than two asterisks or 3 '/'s
|
||||
@@ -123,10 +146,11 @@ endif
|
||||
"syn region doxygenBodyBit contained start=+$+
|
||||
|
||||
" The main body of a doxygen comment.
|
||||
syn region doxygenBody contained start=+\(/\*[*!]\)\@<!<\|[^<]\|$+ matchgroup=doxygenEndComment end=+\*/+re=e-2,me=e-2 contains=doxygenContinueComment,doxygenTODO,doxygenSpecial,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell
|
||||
syn region doxygenBody contained start=+\(/\*[*!]\)\@<!<\|[^<]\|$+ matchgroup=doxygenEndComment end=+\*/+re=e-2,me=e-2 contains=doxygenContinueCommentWhite,doxygenTODO,doxygenSpecial,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell
|
||||
|
||||
" These allow the skipping of comment continuation '*' characters.
|
||||
syn match doxygenContinueComment contained +^\s*\*/\@!\s*+
|
||||
syn match doxygenContinueCommentWhite contained +^\s*\ze\*+ nextgroup=doxygenContinueComment
|
||||
syn match doxygenContinueComment contained +\*/\@!+
|
||||
|
||||
" Catch a Brief comment without punctuation - flag it as an error but
|
||||
" make sure the end comment is picked up also.
|
||||
@@ -135,27 +159,19 @@ endif
|
||||
|
||||
" Skip empty lines at the start for when comments start on the 2nd/3rd line.
|
||||
if !exists('g:doxygen_javadoc_autobrief') || g:doxygen_javadoc_autobrief
|
||||
syn match doxygenStartSkip +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl
|
||||
syn match doxygenStartSkip +^\s*\*$+ contained nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl
|
||||
syn match doxygenStartSkipWhite +^\s*\ze\*/\@!+ contained nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkipWhite,doxygenPage skipwhite skipnl
|
||||
"syn match doxygenStartSkipWhite +^\s*\ze\*$+ contained nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkipWhite,doxygenPage skipwhite skipnl
|
||||
else
|
||||
syn match doxygenStartSkip +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage,doxygenBody skipwhite skipnl
|
||||
syn match doxygenStartSkip +^\s*\*$+ contained nextgroup=doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage,doxygenBody skipwhite skipnl
|
||||
syn match doxygenStartSkipWhite +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkipWhite,doxygenPage,doxygenBody skipwhite skipnl
|
||||
syn match doxygenStartSkipWhite +^\s*\*$+ contained nextgroup=doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkipWhite,doxygenPage,doxygenBody skipwhite skipnl
|
||||
endif
|
||||
|
||||
" Match an [@\]brief so that it moves to body-mode.
|
||||
"
|
||||
"
|
||||
" syn match doxygenBriefLine contained
|
||||
syn match doxygenBriefSpecial contained +[@\\]+ nextgroup=doxygenBriefWord skipwhite
|
||||
syn region doxygenFindBriefSpecial start=+[@\\]brief\>+ end=+\(\n\s*\*\=\s*\([@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ keepend contains=doxygenBriefSpecial nextgroup=doxygenBody keepend skipwhite skipnl contained
|
||||
|
||||
|
||||
" Create the single word matching special identifiers.
|
||||
|
||||
fun! s:DxyCreateSmallSpecial( kword, name )
|
||||
|
||||
let mx='[-:0-9A-Za-z_%=&+*/!~>|]\@<!\([-0-9A-Za-z_%=+*/!~>|#]\+[-0-9A-Za-z_%=+*/!~>|]\@!\|\\[\\<>&.]@\|[.,][0-9a-zA-Z_]\@=\|::\|([^)]*)\|&[0-9a-zA-Z]\{2,7};\)\+'
|
||||
exe 'syn region doxygenSpecial'.a:name.'Word contained start=+'.a:kword.'+ end=+\(\_s\+'.mx.'\)\@<=[-a-zA-Z_0-9+*/^%|~!=&\\]\@!+ skipwhite contains=doxygenContinueComment,doxygen'.a:name.'Word'
|
||||
exe 'syn region doxygenSpecial'.a:name.'Word contained start=+'.a:kword.'+ end=+\(\_s\+'.mx.'\)\@<=[-a-zA-Z_0-9+*/^%|~!=&\\]\@!+ skipwhite contains=doxygenContinueCommentWhite,doxygen'.a:name.'Word'
|
||||
exe 'syn match doxygen'.a:name.'Word contained "\_s\@<='.mx.'" contains=doxygenHtmlSpecial,@Spell keepend'
|
||||
endfun
|
||||
call s:DxyCreateSmallSpecial('p', 'Code')
|
||||
@@ -180,40 +196,42 @@ endif
|
||||
|
||||
" Match parameters and retvals (highlighting the first word as special).
|
||||
syn match doxygenParamDirection contained "\v\[(\s*in>((]\s*\[|\s*,\s*)out>)=|out>((]\s*\[|\s*,\s*)in>)=)\]" nextgroup=doxygenParamName skipwhite
|
||||
syn keyword doxygenParam contained param tparam nextgroup=doxygenParamName,doxygenParamDirection skipwhite
|
||||
syn keyword doxygenParam contained param nextgroup=doxygenParamName,doxygenParamDirection skipwhite
|
||||
syn keyword doxygenTParam contained tparam nextgroup=doxygenParamName skipwhite
|
||||
syn match doxygenParamName contained +[A-Za-z0-9_:]\++ nextgroup=doxygenSpecialMultilineDesc skipwhite
|
||||
syn keyword doxygenRetval contained retval throw throws exception nextgroup=doxygenParamName skipwhite
|
||||
|
||||
" Match one line identifiers.
|
||||
syn keyword doxygenOther contained addindex anchor
|
||||
\ dontinclude endhtmlonly endlatexonly showinitializer hideinitializer
|
||||
\ example htmlonly image include ingroup internal latexonly line
|
||||
\ overload related relates relatedalso relatesalso sa skip skipline
|
||||
\ example htmlonly image include includelineno ingroup internal latexonly line
|
||||
\ overload relates relatesalso sa skip skipline
|
||||
\ until verbinclude version addtogroup htmlinclude copydoc dotfile
|
||||
\ xmlonly endxmlonly
|
||||
\ nextgroup=doxygenSpecialOnelineDesc
|
||||
\ nextgroup=doxygenSpecialOnelineDesc copybrief copydetails copyright dir extends
|
||||
\ implements
|
||||
|
||||
syn region doxygenCodeRegion contained matchgroup=doxygenOther start=+\<code\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<endcode\>+ contains=doxygenCodeRegionSpecial,doxygenContinueComment,doxygenErrorComment,@NoSpell
|
||||
syn region doxygenCodeRegion contained matchgroup=doxygenOther start=+\<code\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<endcode\>+ contains=doxygenCodeRegionSpecial,doxygenContinueCommentWhite,doxygenErrorComment,@NoSpell
|
||||
syn match doxygenCodeRegionSpecial contained +[\\@]\(endcode\>\)\@=+
|
||||
|
||||
syn region doxygenVerbatimRegion contained matchgroup=doxygenOther start=+\<verbatim\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<endverbatim\>+ contains=doxygenVerbatimRegionSpecial,doxygenContinueComment,doxygenErrorComment,@NoSpell
|
||||
syn region doxygenVerbatimRegion contained matchgroup=doxygenOther start=+\<verbatim\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<endverbatim\>+ contains=doxygenVerbatimRegionSpecial,doxygenContinueCommentWhite,doxygenErrorComment,@NoSpell
|
||||
syn match doxygenVerbatimRegionSpecial contained +[\\@]\(endverbatim\>\)\@=+
|
||||
|
||||
if exists('b:current_syntax')
|
||||
if exists('b:current_syntax')
|
||||
let b:doxygen_syntax_save=b:current_syntax
|
||||
unlet b:current_syntax
|
||||
endif
|
||||
|
||||
syn include @Dotx syntax/dot.vim
|
||||
|
||||
if exists('b:doxygen_syntax_save')
|
||||
if exists('b:doxygen_syntax_save')
|
||||
let b:current_syntax=b:doxygen_syntax_save
|
||||
unlet b:doxygen_syntax_save
|
||||
else
|
||||
unlet b:current_syntax
|
||||
endif
|
||||
|
||||
syn region doxygenDotRegion contained matchgroup=doxygenOther start=+\<dot\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<enddot\>+ contains=doxygenDotRegionSpecial,doxygenErrorComment,doxygenContinueComment,@NoSpell,@Dotx
|
||||
syn region doxygenDotRegion contained matchgroup=doxygenOther start=+\<dot\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<enddot\>+ contains=doxygenDotRegionSpecial,doxygenErrorComment,doxygenContinueCommentWhite,@NoSpell,@Dotx
|
||||
syn match doxygenDotRegionSpecial contained +[\\@]\(enddot\>\)\@=+
|
||||
|
||||
" Match single line identifiers.
|
||||
@@ -224,13 +242,13 @@ endif
|
||||
syn keyword doxygenOther contained par nextgroup=doxygenHeaderLine
|
||||
syn region doxygenHeaderLine start=+.+ end=+^+ contained skipwhite nextgroup=doxygenSpecialMultilineDesc
|
||||
|
||||
syn keyword doxygenOther contained arg author authors date deprecated li result return returns see invariant note post pre remark remarks since test nextgroup=doxygenSpecialMultilineDesc
|
||||
syn keyword doxygenOther contained arg author authors date deprecated li return returns see invariant note post pre remarks since test nextgroup=doxygenSpecialMultilineDesc
|
||||
syn keyword doxygenOtherTODO contained todo attention nextgroup=doxygenSpecialMultilineDesc
|
||||
syn keyword doxygenOtherWARN contained warning nextgroup=doxygenSpecialMultilineDesc
|
||||
syn keyword doxygenOtherBUG contained bug nextgroup=doxygenSpecialMultilineDesc
|
||||
|
||||
" Handle \link, \endlink, highlighting the link-to and the link text bits separately.
|
||||
syn region doxygenOtherLink matchgroup=doxygenOther start=+\<link\>+ end=+[\@]\@<=endlink\>+ contained contains=doxygenLinkWord,doxygenContinueComment,doxygenLinkError,doxygenEndlinkSpecial
|
||||
syn region doxygenOtherLink matchgroup=doxygenOther start=+\<link\>+ end=+[\@]\@<=endlink\>+ contained contains=doxygenLinkWord,doxygenContinueCommentWhite,doxygenLinkError,doxygenEndlinkSpecial
|
||||
syn match doxygenEndlinkSpecial contained +[\\@]\zeendlink\>+
|
||||
|
||||
syn match doxygenLinkWord "[_a-zA-Z:#()][_a-z0-9A-Z:#()]*\>" contained skipnl nextgroup=doxygenLinkRest,doxygenContinueLinkComment
|
||||
@@ -250,7 +268,7 @@ endif
|
||||
|
||||
" Handle section
|
||||
syn keyword doxygenOther defgroup section subsection subsubsection weakgroup contained skipwhite nextgroup=doxygenSpecialIdent
|
||||
syn region doxygenSpecialSectionDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend skipwhite skipnl nextgroup=doxygenContinueComment
|
||||
syn region doxygenSpecialSectionDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend skipwhite skipnl nextgroup=doxygenContinueCommentWhite
|
||||
syn match doxygenSpecialIdent "\<[a-zA-Z_0-9]\+\>" contained nextgroup=doxygenSpecialSectionDesc
|
||||
|
||||
" Does the one-line description for the one-line type identifiers.
|
||||
@@ -260,8 +278,12 @@ endif
|
||||
" Handle the multiline description for the multiline type identifiers.
|
||||
" Continue until an 'empty' line (can contain a '*' continuation) or until the
|
||||
" next whole-line @ command \ command.
|
||||
syn region doxygenSpecialMultilineDesc start=+.\++ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([npcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ contained contains=doxygenSpecialContinueComment,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell skipwhite keepend
|
||||
syn match doxygenSpecialContinueComment contained +^\s*\*/\@!\s*+ nextgroup=doxygenSpecial skipwhite
|
||||
syn region doxygenSpecialMultilineDesc start=+.\++ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([npcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ contained contains=doxygenSpecialContinueCommentWhite,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell skipwhite keepend
|
||||
|
||||
" syn match doxygenSpecialContinueComment contained +^\s*\*/\@!\s*+ nextgroup=doxygenSpecial skipwhite
|
||||
syn match doxygenSpecialContinueCommentWhite contained +^\s*\ze\*+ nextgroup=doxygenSpecialContinueComment
|
||||
syn match doxygenSpecialContinueComment contained +\*/\@!+
|
||||
|
||||
|
||||
" Handle special cases 'bold' and 'group'
|
||||
syn keyword doxygenBold contained bold nextgroup=doxygenSpecialHeading
|
||||
@@ -288,7 +310,7 @@ endif
|
||||
|
||||
" Supported HTML subset. Not perfect, but okay.
|
||||
syn case ignore
|
||||
syn region doxygenHtmlTag contained matchgroup=doxygenHtmlCh start=+\v\</=\ze([biuap]|em|strong|img|br|center|code|dfn|d[ldt]|hr|h[0-3]|li|[ou]l|pre|small|sub|sup|table|tt|var|caption|src|alt|longdesc|name|height|width|usemap|ismap|href|type)>+ skip=+\\<\|\<\k\+=\("[^"]*"\|'[^']*\)+ end=+>+ contains=doxygenHtmlCmd,doxygenContinueComment,doxygenHtmlVar
|
||||
syn region doxygenHtmlTag contained matchgroup=doxygenHtmlCh start=+\v\</=\ze([biuap]|em|strong|img|br|center|code|dfn|d[ldt]|hr|h[0-3]|li|[ou]l|pre|small|sub|sup|table|tt|var|caption|src|alt|longdesc|name|height|width|usemap|ismap|href|type)>+ skip=+\\<\|\<\k\+=\("[^"]*"\|'[^']*\)+ end=+>+ contains=doxygenHtmlCmd,doxygenContinueCommentWhite,doxygenHtmlVar
|
||||
syn keyword doxygenHtmlCmd contained b i em strong u img a br p center code dfn dl dd dt hr h1 h2 h3 li ol ul pre small sub sup table tt var caption nextgroup=doxygenHtmlVar skipwhite
|
||||
syn keyword doxygenHtmlVar contained src alt longdesc name height width usemap ismap href type nextgroup=doxygenHtmlEqu skipwhite
|
||||
syn match doxygenHtmlEqu contained +=+ nextgroup=doxygenHtmlExpr skipwhite
|
||||
@@ -298,7 +320,7 @@ endif
|
||||
|
||||
syn cluster doxygenHtmlGroup contains=doxygenHtmlCode,doxygenHtmlBold,doxygenHtmlUnderline,doxygenHtmlItalic,doxygenHtmlSpecial,doxygenHtmlTag,doxygenHtmlLink
|
||||
|
||||
syn cluster doxygenHtmlTop contains=@Spell,doxygenHtmlSpecial,doxygenHtmlTag,doxygenContinueComment
|
||||
syn cluster doxygenHtmlTop contains=@Spell,doxygenHtmlSpecial,doxygenHtmlTag,doxygenContinueCommentWhite
|
||||
" Html Support
|
||||
syn region doxygenHtmlLink contained start=+<[aA]\>\s*\(\n\s*\*\s*\)\=\(\(name\|href\)=\("[^"]*"\|'[^']*'\)\)\=\s*>+ end=+</[aA]>+me=e-4 contains=@doxygenHtmlTop
|
||||
hi link doxygenHtmlLink Underlined
|
||||
@@ -343,7 +365,7 @@ endif
|
||||
syn cluster rcGroup add=doxygen.*
|
||||
|
||||
let s:my_syncolor=0
|
||||
if !exists(':SynColor')
|
||||
if !exists(':SynColor')
|
||||
command -nargs=+ SynColor hi def <args>
|
||||
let s:my_syncolor=1
|
||||
endif
|
||||
@@ -469,6 +491,8 @@ endif
|
||||
|
||||
call s:Doxygen_Hilights()
|
||||
|
||||
syn match doxygenLeadingWhite +\(^\s*\*\)\@<=\s*+ contained
|
||||
|
||||
" This is still a proposal, but won't do any harm.
|
||||
aug doxygengroup
|
||||
au!
|
||||
@@ -483,6 +507,7 @@ endif
|
||||
SynLink doxygenOtherTODO Todo
|
||||
SynLink doxygenOtherWARN Todo
|
||||
SynLink doxygenOtherBUG Todo
|
||||
SynLink doxygenLeadingLWhite doxygenBody
|
||||
|
||||
SynLink doxygenErrorSpecial Error
|
||||
SynLink doxygenErrorEnd Error
|
||||
@@ -517,7 +542,10 @@ endif
|
||||
SynLink doxygenBriefL doxygenBrief
|
||||
SynLink doxygenBriefLine doxygenBrief
|
||||
SynLink doxygenHeaderLine doxygenSpecialHeading
|
||||
SynLink doxygenStartSkip doxygenContinueComment
|
||||
SynLink doxygenCommentWhite Normal
|
||||
SynLink doxygenCommentWhite2 doxygenCommentWhite
|
||||
SynLink doxygenContinueCommentWhite doxygenCommentWhite
|
||||
SynLink doxygenStartSkipWhite doxygenContinueCommentWhite
|
||||
SynLink doxygenLinkWord doxygenParamName
|
||||
SynLink doxygenLinkRest doxygenSpecialMultilineDesc
|
||||
SynLink doxygenHyperLink doxygenLinkWord
|
||||
@@ -591,5 +619,5 @@ finally
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
endtry
|
||||
|
||||
let suppress_doxygen=1
|
||||
" vim:et sw=2 sts=2
|
||||
|
||||
@@ -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: 2013 May 21
|
||||
" Version: 1.0
|
||||
" Last Change: 2017 Nov 09
|
||||
" Version: 1.2
|
||||
"
|
||||
" Credits:
|
||||
" David Necas (Yeti) <yeti@physics.muni.cz>
|
||||
@@ -38,10 +38,14 @@ syn match fsDeviceError /\%([^a-zA-Z0-9_\/#@:\.-]\|^\w\{-}\ze\W\)/ contained
|
||||
syn keyword fsDeviceKeyword contained none proc linproc tmpfs devpts devtmpfs sysfs usbfs
|
||||
syn keyword fsDeviceKeyword contained LABEL nextgroup=fsDeviceLabel
|
||||
syn keyword fsDeviceKeyword contained UUID nextgroup=fsDeviceUUID
|
||||
syn keyword fsDeviceKeyword contained PARTLABEL nextgroup=fsDevicePARTLABEL
|
||||
syn keyword fsDeviceKeyword contained PARTUUID nextgroup=fsDevicePARTUUID
|
||||
syn keyword fsDeviceKeyword contained sshfs nextgroup=fsDeviceSshfs
|
||||
syn match fsDeviceKeyword contained /^[a-zA-Z0-9.\-]\+\ze:/
|
||||
syn match fsDeviceLabel contained /=[^ \t]\+/hs=s+1 contains=fsOperator
|
||||
syn match fsDeviceUUID contained /=[^ \t]\+/hs=s+1 contains=fsOperator
|
||||
syn match fsDevicePARTLABEL contained /=[^ \t]\+/hs=s+1 contains=fsOperator
|
||||
syn match fsDevicePARTUUID contained /=[^ \t]\+/hs=s+1 contains=fsOperator
|
||||
syn match fsDeviceSshfs contained /#[_=[:alnum:]\.\/+-]\+@[a-z0-9._-]\+\a\{2}:[^ \t]\+/hs=s+1 contains=fsOperator
|
||||
|
||||
" Mount Point
|
||||
@@ -64,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 nosuid nosymfollow nouser owner rbind rdonly remount ro rq rw suid suiddir supermount sw sync union update user users xx
|
||||
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
|
||||
syn match fsOptionsGeneral /_netdev/
|
||||
|
||||
" Options: adfs
|
||||
@@ -137,7 +141,7 @@ syn match fsOptionsKeywords contained /\<\%(dir\|file\|\)_umask=/ nextgroup=fsOp
|
||||
syn match fsOptionsKeywords contained /\<\%(session\|part\)=/ nextgroup=fsOptionsNumber
|
||||
|
||||
" Options: ffs
|
||||
syn keyword fsOptionsKeyWords contained softdep
|
||||
syn keyword fsOptionsKeyWords contained noperm softdep
|
||||
|
||||
" Options: hpfs
|
||||
syn match fsOptionsKeywords contained /\<case=/ nextgroup=fsOptionsHpfsCase
|
||||
@@ -228,7 +232,6 @@ syn match fsFreqPass /\s\+.\{-}$/ contains=@fsFreqPassCluster,@fsGeneralCluster
|
||||
" Whole line comments
|
||||
syn match fsCommentLine /^#.*$/ contains=@Spell
|
||||
|
||||
|
||||
hi def link fsOperator Operator
|
||||
hi def link fsComment Comment
|
||||
hi def link fsCommentLine Comment
|
||||
@@ -237,15 +240,17 @@ hi def link fsTypeKeyword Type
|
||||
hi def link fsDeviceKeyword Identifier
|
||||
hi def link fsDeviceLabel String
|
||||
hi def link fsDeviceUUID String
|
||||
hi def link fsDevicePARTLABEL String
|
||||
hi def link fsDevicePARTUUID String
|
||||
hi def link fsDeviceSshfs String
|
||||
hi def link fsFreqPassNumber Number
|
||||
|
||||
if exists('fstab_unknown_fs_errors') && fstab_unknown_fs_errors == 1
|
||||
hi def link fsTypeUnknown Error
|
||||
hi def link fsTypeUnknown Error
|
||||
endif
|
||||
|
||||
if !exists('fstab_unknown_device_errors') || fstab_unknown_device_errors == 1
|
||||
hi def link fsDeviceError Error
|
||||
hi def link fsDeviceError Error
|
||||
endif
|
||||
|
||||
hi def link fsMountPointError Error
|
||||
@@ -278,7 +283,6 @@ hi def link fsOptionsUfsError String
|
||||
|
||||
hi def link fsOptionsVfatShortname String
|
||||
|
||||
|
||||
let b:current_syntax = "fstab"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
|
||||
@@ -512,7 +512,7 @@ if !exists("g:tex_no_math")
|
||||
if &ambw == "double" || exists("g:tex_usedblwidth")
|
||||
let s:texMathDelimList= s:texMathDelimList + [
|
||||
\ ['\\langle' , '〈'] ,
|
||||
\ ['\\rangle' , '〉'] ,
|
||||
\ ['\\rangle' , '〉']]
|
||||
else
|
||||
let s:texMathDelimList= s:texMathDelimList + [
|
||||
\ ['\\langle' , '<'] ,
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Zsh shell script
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2017-07-11
|
||||
" Latest Revision: 2017-11-22
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-zsh
|
||||
|
||||
@@ -324,9 +324,9 @@ syn match zshOption /
|
||||
\ \%(\%(\<no_\?\)\?vi\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?warncreateglobal\>\)\|\%(\%(no_\?\)\?warn_create_global\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?xtrace\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?zle\>\)/ nextgroup=zshOption skipwhite contained
|
||||
\ \%(\%(\<no_\?\)\?zle\>\)/ nextgroup=zshOption,zshComment skipwhite contained
|
||||
|
||||
syn keyword zshTypes float integer local typeset declare private
|
||||
syn keyword zshTypes float integer local typeset declare private readonly
|
||||
|
||||
" XXX: this may be too much
|
||||
" syn match zshSwitches '\s\zs--\=[a-zA-Z0-9-]\+'
|
||||
|
||||
@@ -1255,7 +1255,7 @@
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>142</string>
|
||||
<string>143</string>
|
||||
<key>NSAppTransportSecurity</key>
|
||||
<dict>
|
||||
<key>NSAllowsArbitraryLoads</key>
|
||||
|
||||
+27
-2
@@ -1289,7 +1289,16 @@ mch_set_mouse_shape(int shape)
|
||||
|
||||
// -- Input Method ----------------------------------------------------------
|
||||
|
||||
#if defined(USE_IM_CONTROL)
|
||||
#if defined(FEAT_MBYTE)
|
||||
# if defined(FEAT_EVAL)
|
||||
# ifdef FEAT_GUI
|
||||
# define USE_IMACTIVATEFUNC (!gui.in_use && *p_imaf != NUL)
|
||||
# define USE_IMSTATUSFUNC (!gui.in_use && *p_imsf != NUL)
|
||||
# else
|
||||
# define USE_IMACTIVATEFUNC (*p_imaf != NUL)
|
||||
# define USE_IMSTATUSFUNC (*p_imsf != NUL)
|
||||
# endif
|
||||
# endif
|
||||
|
||||
void
|
||||
im_set_position(int row, int col)
|
||||
@@ -1312,6 +1321,17 @@ im_set_control(int enable)
|
||||
void
|
||||
im_set_active(int active)
|
||||
{
|
||||
#if defined(FEAT_EVAL)
|
||||
if (USE_IMACTIVATEFUNC)
|
||||
{
|
||||
if (active != im_get_status())
|
||||
{
|
||||
call_imactivatefunc(active);
|
||||
}
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
// Tell frontend to enable/disable IM (called e.g. when the mode changes).
|
||||
if (!p_imdisable) {
|
||||
int msgid = active ? ActivateKeyScriptMsgID : DeactivateKeyScriptMsgID;
|
||||
@@ -1324,10 +1344,15 @@ im_set_active(int active)
|
||||
int
|
||||
im_get_status(void)
|
||||
{
|
||||
# ifdef FEAT_EVAL
|
||||
if (USE_IMSTATUSFUNC)
|
||||
return call_imstatusfunc();
|
||||
# endif
|
||||
|
||||
return [[MMBackend sharedInstance] imState];
|
||||
}
|
||||
|
||||
#endif // defined(USE_IM_CONTROL)
|
||||
#endif // defined(FEAT_MBYTE)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -642,6 +642,7 @@ GUIOBJ = $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os
|
||||
CUIOBJ = $(OUTDIR)/iscygpty.o
|
||||
OBJ = \
|
||||
$(OUTDIR)/arabic.o \
|
||||
$(OUTDIR)/beval.o \
|
||||
$(OUTDIR)/blowfish.o \
|
||||
$(OUTDIR)/buffer.o \
|
||||
$(OUTDIR)/charset.o \
|
||||
@@ -920,8 +921,8 @@ endif
|
||||
###########################################################################
|
||||
INCL = vim.h alloc.h arabic.h ascii.h ex_cmds.h farsi.h feature.h globals.h \
|
||||
keymap.h macros.h option.h os_dos.h os_win32.h proto.h regexp.h \
|
||||
spell.h structs.h term.h $(NBDEBUG_INCL)
|
||||
GUI_INCL = gui.h gui_beval.h
|
||||
spell.h structs.h term.h beval.h $(NBDEBUG_INCL)
|
||||
GUI_INCL = gui.h
|
||||
CUI_INCL = iscygpty.h
|
||||
|
||||
$(OUTDIR)/if_python.o: if_python.c if_py_both.h $(INCL)
|
||||
@@ -946,6 +947,9 @@ $(OUTDIR)/gui_dwrite.o: gui_dwrite.cpp $(INCL) gui_dwrite.h
|
||||
$(OUTDIR)/gui.o: gui.c $(INCL) $(GUI_INCL)
|
||||
$(CC) -c $(CFLAGS) gui.c -o $(OUTDIR)/gui.o
|
||||
|
||||
$(OUTDIR)/beval.o: beval.c $(INCL) $(GUI_INCL)
|
||||
$(CC) -c $(CFLAGS) beval.c -o $(OUTDIR)/beval.o
|
||||
|
||||
$(OUTDIR)/gui_beval.o: gui_beval.c $(INCL) $(GUI_INCL)
|
||||
$(CC) -c $(CFLAGS) gui_beval.c -o $(OUTDIR)/gui_beval.o
|
||||
|
||||
|
||||
+5
-3
@@ -683,10 +683,11 @@ CFLAGS = $(CFLAGS) /Zl /MTd
|
||||
|
||||
INCL = vim.h alloc.h arabic.h ascii.h ex_cmds.h farsi.h feature.h globals.h \
|
||||
keymap.h macros.h option.h os_dos.h os_win32.h proto.h regexp.h \
|
||||
spell.h structs.h term.h $(NBDEBUG_INCL)
|
||||
spell.h structs.h term.h beval.h $(NBDEBUG_INCL)
|
||||
|
||||
OBJ = \
|
||||
$(OUTDIR)\arabic.obj \
|
||||
$(OUTDIR)\beval.obj \
|
||||
$(OUTDIR)\blowfish.obj \
|
||||
$(OUTDIR)\buffer.obj \
|
||||
$(OUTDIR)\charset.obj \
|
||||
@@ -781,8 +782,7 @@ CFLAGS = $(CFLAGS) -DFEAT_GUI_W32
|
||||
RCFLAGS = $(RCFLAGS) -DFEAT_GUI_W32
|
||||
VIM = g$(VIM)
|
||||
GUI_INCL = \
|
||||
gui.h \
|
||||
gui_beval.h
|
||||
gui.h
|
||||
GUI_OBJ = \
|
||||
$(OUTDIR)\gui.obj \
|
||||
$(OUTDIR)\gui_beval.obj \
|
||||
@@ -1297,6 +1297,8 @@ testclean:
|
||||
|
||||
$(OUTDIR)/arabic.obj: $(OUTDIR) arabic.c $(INCL)
|
||||
|
||||
$(OUTDIR)/beval.obj: $(OUTDIR) beval.c $(INCL)
|
||||
|
||||
$(OUTDIR)/blowfish.obj: $(OUTDIR) blowfish.c $(INCL)
|
||||
|
||||
$(OUTDIR)/buffer.obj: $(OUTDIR) buffer.c $(INCL)
|
||||
|
||||
+85
-81
@@ -2,7 +2,7 @@
|
||||
# Makefile for Vim on OpenVMS
|
||||
#
|
||||
# Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com>
|
||||
# Last change: 2016 Nov 04
|
||||
# Last change: 2017 Nov 18
|
||||
#
|
||||
# This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
|
||||
# with MMS and MMK
|
||||
@@ -299,7 +299,7 @@ ALL_CFLAGS_VER = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
|
||||
ALL_LIBS = $(LIBS) $(GUI_LIB_DIR) $(GUI_LIB) \
|
||||
$(PERL_LIB) $(PYTHON_LIB) $(TCL_LIB) $(RUBY_LIB)
|
||||
|
||||
SRC = arabic.c blowfish.c buffer.c charset.c crypt.c crypt_zip.c dict.c diff.c digraph.c edit.c eval.c evalfunc.c \
|
||||
SRC = arabic.c beval.obj blowfish.c buffer.c charset.c crypt.c crypt_zip.c dict.c diff.c digraph.c edit.c eval.c evalfunc.c \
|
||||
ex_cmds.c ex_cmds2.c ex_docmd.c ex_eval.c ex_getln.c if_cscope.c if_xcmdsrv.c farsi.c fileio.c fold.c getchar.c \
|
||||
hardcopy.c hashtab.c json.c list.c main.c mark.c menu.c mbyte.c memfile.c memline.c message.c misc1.c \
|
||||
misc2.c move.c normal.c ops.c option.c popupmnu.c quickfix.c regexp.c search.c sha256.c\
|
||||
@@ -308,7 +308,7 @@ SRC = arabic.c blowfish.c buffer.c charset.c crypt.c crypt_zip.c dict.c diff.c d
|
||||
$(GUI_SRC) $(PERL_SRC) $(PYTHON_SRC) $(TCL_SRC) \
|
||||
$(RUBY_SRC) $(HANGULIN_SRC) $(MZSCH_SRC)
|
||||
|
||||
OBJ = arabic.obj blowfish.obj buffer.obj charset.obj crypt.obj crypt_zip.obj dict.obj diff.obj digraph.obj edit.obj eval.obj \
|
||||
OBJ = arabic.obj beval.obj blowfish.obj buffer.obj charset.obj crypt.obj crypt_zip.obj dict.obj diff.obj digraph.obj edit.obj eval.obj \
|
||||
evalfunc.obj ex_cmds.obj ex_cmds2.obj ex_docmd.obj ex_eval.obj ex_getln.obj if_cscope.obj \
|
||||
if_xcmdsrv.obj farsi.obj fileio.obj fold.obj getchar.obj hardcopy.obj hashtab.obj json.obj list.obj main.obj mark.obj \
|
||||
menu.obj memfile.obj memline.obj message.obj misc1.obj misc2.obj \
|
||||
@@ -490,266 +490,266 @@ arabic.obj : arabic.c vim.h
|
||||
blowfish.obj : blowfish.c vim.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h version.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 \
|
||||
gui_beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
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 \
|
||||
gui_beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
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 gui_beval.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h version.h
|
||||
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 gui_beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
farsi.obj : farsi.c vim.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro ex_cmds.h proto.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h if_mzsch.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 gui_beval.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h version.h
|
||||
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 \
|
||||
gui_beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h farsi.c arabic.c
|
||||
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 gui_beval.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h version.h
|
||||
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 gui_beval.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
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 gui_beval.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
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 gui_beval.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
popupmnu.obj : popupmnu.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 \
|
||||
gui_beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
spell.obj : spell.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
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 gui_beval.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
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 gui_beval.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
ui.obj : ui.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
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 gui_beval.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
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 gui_beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h \
|
||||
proto.h globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h gui_gtk_f.h [-.runtime]vim32x32.xpm \
|
||||
[-.runtime]vim16x16.xpm [-.runtime]vim48x48.xpm
|
||||
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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 \
|
||||
@@ -769,56 +769,60 @@ gui_x11.obj : gui_x11.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
[-.pixmaps]tb_minwidth.xpm
|
||||
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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
hangulin.obj : hangulin.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.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 farsi.h arabic.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
workshop.obj : workshop.c [.auto]config.h integration.h vim.h feature.h \
|
||||
os_unix.h ascii.h keymap.h term.h macros.h structs.h \
|
||||
regexp.h gui.h gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h \
|
||||
regexp.h gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h workshop.h
|
||||
wsdebug.obj : wsdebug.c
|
||||
integration.obj : integration.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h integration.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 gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h version.h
|
||||
gui_xmdlg.obj : gui_xmdlg.c
|
||||
gui_xmebw.obj : gui_xmebw.c
|
||||
|
||||
+247
-221
@@ -570,6 +570,9 @@ CClink = $(CC)
|
||||
# This disables the dialog that asks you if you want to save files or not.
|
||||
#CONF_OPT_XSMP = --disable-xsmp-interact
|
||||
|
||||
# If you want to always automatically add a servername, also in the terminal.
|
||||
#CONF_OPT_AUTOSERVE = --enable-autoservername
|
||||
|
||||
# COMPILER - Name of the compiler {{{1
|
||||
# The default from configure will mostly be fine, no need to change this, just
|
||||
# an example. If a compiler is defined here, configure will use it rather than
|
||||
@@ -1543,6 +1546,7 @@ TAGS_INCL = *.h
|
||||
|
||||
BASIC_SRC = \
|
||||
arabic.c \
|
||||
beval.c \
|
||||
blowfish.c \
|
||||
buffer.c \
|
||||
charset.c \
|
||||
@@ -1655,6 +1659,7 @@ LINT_SRC = $(BASIC_SRC) $(GUI_SRC) $(HANGULIN_SRC) \
|
||||
|
||||
OBJ_COMMON = \
|
||||
objects/arabic.o \
|
||||
objects/beval.o \
|
||||
objects/buffer.o \
|
||||
objects/blowfish.o \
|
||||
objects/crypt.o \
|
||||
@@ -1843,6 +1848,7 @@ PRO_AUTO = \
|
||||
userfunc.pro \
|
||||
version.pro \
|
||||
window.pro \
|
||||
beval.pro \
|
||||
gui_beval.pro \
|
||||
workshop.pro \
|
||||
netbeans.pro \
|
||||
@@ -1883,7 +1889,7 @@ config auto/config.mk: auto/configure config.mk.in config.h.in
|
||||
CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" \
|
||||
LDFLAGS="$(LDFLAGS)" $(CONF_SHELL) srcdir="$(srcdir)" \
|
||||
./configure $(CONF_OPT_GUI) $(CONF_OPT_X) $(CONF_OPT_XSMP) \
|
||||
$(CONF_OPT_DARWIN) $(CONF_OPT_FAIL) \
|
||||
$(CONF_OPT_AUTOSERVE) $(CONF_OPT_DARWIN) $(CONF_OPT_FAIL) \
|
||||
$(CONF_OPT_PERL) $(CONF_OPT_PYTHON) $(CONF_OPT_PYTHON3) \
|
||||
$(CONF_OPT_TCL) $(CONF_OPT_RUBY) $(CONF_OPT_NLS) \
|
||||
$(CONF_OPT_CSCOPE) $(CONF_OPT_MULTIBYTE) $(CONF_OPT_INPUT) \
|
||||
@@ -2111,18 +2117,14 @@ run_message_test: $(MESSAGE_TEST_TARGET)
|
||||
# Run individual OLD style test.
|
||||
# These do not depend on the executable, compile it when needed.
|
||||
test1 \
|
||||
test_close_count \
|
||||
test_erasebackword \
|
||||
test_eval \
|
||||
test_fixeol \
|
||||
test_listchars \
|
||||
test_wordcount \
|
||||
test3 test11 test14 test15 test17 \
|
||||
test29 test30 test36 test37 test39 \
|
||||
test42 test44 test48 test49 \
|
||||
test50 test52 test59 \
|
||||
test64 test68 test69 \
|
||||
test70 test72 test73 \
|
||||
test64 test69 \
|
||||
test70 test72 \
|
||||
test85 test86 test87 test88 \
|
||||
test94 test95 test99 test108:
|
||||
cd testdir; rm -f $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
@@ -2147,6 +2149,7 @@ test_arglist \
|
||||
test_charsearch_utf8 \
|
||||
test_cindent \
|
||||
test_clientserver \
|
||||
test_close_count \
|
||||
test_cmdline \
|
||||
test_command_count \
|
||||
test_comparators \
|
||||
@@ -2159,6 +2162,7 @@ test_arglist \
|
||||
test_digraph \
|
||||
test_display \
|
||||
test_edit \
|
||||
test_erasebackword \
|
||||
test_escaped_glob \
|
||||
test_ex_undo \
|
||||
test_ex_z \
|
||||
@@ -2178,7 +2182,9 @@ test_arglist \
|
||||
test_filetype \
|
||||
test_filter_cmd \
|
||||
test_filter_map \
|
||||
test_find_complete \
|
||||
test_findfile \
|
||||
test_fixeol \
|
||||
test_float_func \
|
||||
test_fnameescape \
|
||||
test_fnamemodify \
|
||||
@@ -2201,6 +2207,7 @@ test_arglist \
|
||||
test_highlight \
|
||||
test_history \
|
||||
test_hlsearch \
|
||||
test_iminsert \
|
||||
test_increment \
|
||||
test_increment_dbcs \
|
||||
test_ins_complete \
|
||||
@@ -2214,6 +2221,7 @@ test_arglist \
|
||||
test_let \
|
||||
test_lineending \
|
||||
test_lispwords \
|
||||
test_listchars \
|
||||
test_listdict \
|
||||
test_listlbr \
|
||||
test_listlbr_utf8 \
|
||||
@@ -2286,6 +2294,7 @@ test_arglist \
|
||||
test_tcl \
|
||||
test_terminal \
|
||||
test_terminal_fail \
|
||||
test_textformat \
|
||||
test_textobjects \
|
||||
test_timers \
|
||||
test_true_false \
|
||||
@@ -2398,8 +2407,8 @@ installruntime: installrtbase installmacros installpack installtutor installspel
|
||||
# install the help files; first adjust the contents for the final location
|
||||
installrtbase: $(HELPSOURCE)/vim.1 $(DEST_VIM) $(DEST_RT) \
|
||||
$(DEST_HELP) $(DEST_PRINT) $(DEST_COL) $(DEST_SYN) $(DEST_IND) \
|
||||
$(DEST_FTP) $(DEST_AUTO) $(DEST_AUTO)/xml $(DEST_PLUG) \
|
||||
$(DEST_TUTOR) $(DEST_SPELL) $(DEST_COMP)
|
||||
$(DEST_FTP) $(DEST_AUTO) $(DEST_AUTO)/dist $(DEST_AUTO)/xml \
|
||||
$(DEST_PLUG) $(DEST_TUTOR) $(DEST_SPELL) $(DEST_COMP)
|
||||
-$(SHELL) ./installman.sh install $(DEST_MAN) "" $(INSTALLMANARGS)
|
||||
# Generate the help tags with ":helptags" to handle all languages.
|
||||
# Move the distributed tags file aside and restore it, to avoid it being
|
||||
@@ -2475,6 +2484,8 @@ installrtbase: $(HELPSOURCE)/vim.1 $(DEST_VIM) $(DEST_RT) \
|
||||
# install the standard autoload files
|
||||
cd $(AUTOSOURCE); $(INSTALL_DATA) *.vim README.txt $(DEST_AUTO)
|
||||
cd $(DEST_AUTO); chmod $(HELPMOD) *.vim README.txt
|
||||
cd $(AUTOSOURCE)/dist; $(INSTALL_DATA) *.vim $(DEST_AUTO)/dist
|
||||
cd $(DEST_AUTO)/dist; chmod $(HELPMOD) *.vim
|
||||
cd $(AUTOSOURCE)/xml; $(INSTALL_DATA) *.vim $(DEST_AUTO)/xml
|
||||
cd $(DEST_AUTO)/xml; chmod $(HELPMOD) *.vim
|
||||
# install the standard plugin files
|
||||
@@ -2670,7 +2681,7 @@ $(DESTDIR)$(exec_prefix) $(DEST_BIN) \
|
||||
$(DEST_PRINT) $(DEST_COL) $(DEST_SYN) $(DEST_IND) $(DEST_FTP) \
|
||||
$(DEST_LANG) $(DEST_KMAP) $(DEST_COMP) $(DEST_MACRO) \
|
||||
$(DEST_PACK) $(DEST_TOOLS) $(DEST_TUTOR) $(DEST_SPELL) \
|
||||
$(DEST_AUTO) $(DEST_AUTO)/xml $(DEST_PLUG):
|
||||
$(DEST_AUTO) $(DEST_AUTO)/dist $(DEST_AUTO)/xml $(DEST_PLUG):
|
||||
$(MKDIR_P) $@
|
||||
-chmod $(DIRMOD) $@
|
||||
|
||||
@@ -2825,9 +2836,11 @@ uninstall_runtime:
|
||||
-rm -f $(DEST_PRINT)/*.ps
|
||||
-rmdir $(DEST_HELP) $(DEST_PRINT) $(DEST_COL) $(DEST_SYN) $(DEST_IND)
|
||||
-rm -rf $(DEST_FTP)/*.vim $(DEST_FTP)/README.txt $(DEST_FTP)/logtalk.dict
|
||||
-rm -f $(DEST_AUTO)/*.vim $(DEST_AUTO)/README.txt $(DEST_AUTO)/xml/*.vim
|
||||
-rm -f $(DEST_AUTO)/*.vim $(DEST_AUTO)/README.txt
|
||||
-rm -f $(DEST_AUTO)/dist/*.vim $(DEST_AUTO)/xml/*.vim
|
||||
-rm -f $(DEST_PLUG)/*.vim $(DEST_PLUG)/README.txt
|
||||
-rmdir $(DEST_FTP) $(DEST_AUTO)/xml $(DEST_AUTO) $(DEST_PLUG) $(DEST_RT)
|
||||
-rmdir $(DEST_FTP) $(DEST_AUTO)/dist $(DEST_AUTO)/xml $(DEST_AUTO)
|
||||
-rmdir $(DEST_PLUG) $(DEST_RT)
|
||||
# This will fail when other Vim versions are installed, no worries.
|
||||
-rmdir $(DEST_VIM)
|
||||
|
||||
@@ -3102,6 +3115,9 @@ objects/gui_at_sb.o: gui_at_sb.c
|
||||
objects/gui_athena.o: gui_athena.c
|
||||
$(CCC) -o $@ gui_athena.c
|
||||
|
||||
objects/beval.o: beval.c
|
||||
$(CCC) -o $@ beval.c
|
||||
|
||||
objects/gui_beval.o: gui_beval.c
|
||||
$(CCC) -o $@ gui_beval.c
|
||||
|
||||
@@ -3480,285 +3496,267 @@ macvimclean:
|
||||
### Dependencies:
|
||||
objects/arabic.o: arabic.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/beval.o: beval.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/blowfish.o: blowfish.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
|
||||
objects/buffer.o: buffer.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h version.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h
|
||||
objects/charset.o: charset.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/crypt.o: crypt.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/crypt_zip.o: crypt_zip.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
|
||||
objects/dict.o: dict.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/diff.o: diff.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/digraph.o: digraph.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/edit.o: edit.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/eval.o: eval.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h version.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h
|
||||
objects/evalfunc.o: evalfunc.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h version.h
|
||||
objects/ex_cmds.o: ex_cmds.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h version.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h
|
||||
objects/ex_cmds2.o: ex_cmds2.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h version.h
|
||||
objects/ex_docmd.o: ex_docmd.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h ex_cmdidxs.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h ex_cmdidxs.h
|
||||
objects/ex_eval.o: ex_eval.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/ex_getln.o: ex_getln.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
|
||||
objects/farsi.o: farsi.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/fileio.o: fileio.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/fold.o: fold.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/getchar.o: getchar.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/hardcopy.o: hardcopy.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h version.h
|
||||
objects/hashtab.o: hashtab.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/if_cscope.o: if_cscope.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h if_cscope.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h if_cscope.h
|
||||
objects/if_xcmdsrv.o: if_xcmdsrv.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h version.h
|
||||
objects/json.o: json.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/list.o: list.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/main.o: main.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/mark.o: mark.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/memfile.o: memfile.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/memline.o: memline.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/menu.o: menu.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/message.o: message.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/misc1.o: misc1.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h version.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h
|
||||
objects/misc2.o: misc2.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/move.o: move.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/mbyte.o: mbyte.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/normal.o: normal.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/ops.o: ops.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
|
||||
keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
|
||||
proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
keymap.h term.h macros.h option.h structs.h regexp.h gui.h alloc.h \
|
||||
beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
objects/option.o: option.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/os_unix.o: os_unix.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h os_unixx.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h if_mzsch.h os_unixx.h
|
||||
objects/pathdef.o: auto/pathdef.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
|
||||
objects/popupmnu.o: popupmnu.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
|
||||
objects/pty.o: pty.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
|
||||
keymap.h term.h macros.h option.h structs.h regexp.h gui.h alloc.h \
|
||||
beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
objects/quickfix.o: quickfix.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
|
||||
objects/regexp.o: regexp.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h regexp_nfa.c
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h regexp_nfa.c
|
||||
objects/screen.o: screen.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/search.o: search.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/sha256.o: sha256.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/spell.o: spell.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/spellfile.o: spellfile.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
|
||||
objects/syntax.o: syntax.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/tag.o: tag.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
|
||||
keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
|
||||
proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
keymap.h term.h macros.h option.h structs.h regexp.h gui.h alloc.h \
|
||||
beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
objects/term.o: term.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/terminal.o: terminal.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h \
|
||||
libvterm/include/vterm.h libvterm/include/vterm_keycodes.h
|
||||
objects/ui.o: ui.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
|
||||
keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
|
||||
proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
keymap.h term.h macros.h option.h structs.h regexp.h gui.h alloc.h \
|
||||
beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
objects/undo.o: undo.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/userfunc.o: userfunc.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
|
||||
objects/version.o: version.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h version.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h
|
||||
objects/window.o: window.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/gui.o: gui.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
|
||||
keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
|
||||
proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
keymap.h term.h macros.h option.h structs.h regexp.h gui.h alloc.h \
|
||||
beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
objects/gui_gtk.o: gui_gtk.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h gui_gtk_f.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h gui_gtk_f.h
|
||||
objects/gui_gtk_f.o: gui_gtk_f.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h gui_gtk_f.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h gui_gtk_f.h
|
||||
objects/gui_motif.o: gui_motif.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.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 ../pixmaps/tb_cut.xpm ../pixmaps/tb_copy.xpm \
|
||||
../pixmaps/tb_paste.xpm ../pixmaps/tb_find.xpm \
|
||||
../pixmaps/tb_find_next.xpm ../pixmaps/tb_find_prev.xpm \
|
||||
../pixmaps/tb_find_help.xpm ../pixmaps/tb_exit.xpm \
|
||||
../pixmaps/tb_undo.xpm ../pixmaps/tb_redo.xpm ../pixmaps/tb_help.xpm \
|
||||
../pixmaps/tb_macro.xpm ../pixmaps/tb_make.xpm \
|
||||
../pixmaps/tb_save_all.xpm ../pixmaps/tb_jump.xpm \
|
||||
../pixmaps/tb_ctags.xpm ../pixmaps/tb_load_session.xpm \
|
||||
../pixmaps/tb_save_session.xpm ../pixmaps/tb_new_session.xpm \
|
||||
../pixmaps/tb_blank.xpm ../pixmaps/tb_maximize.xpm \
|
||||
../pixmaps/tb_split.xpm ../pixmaps/tb_minimize.xpm \
|
||||
../pixmaps/tb_shell.xpm ../pixmaps/tb_replace.xpm \
|
||||
../pixmaps/tb_vsplit.xpm ../pixmaps/tb_maxwidth.xpm \
|
||||
../pixmaps/tb_minwidth.xpm
|
||||
objects/gui_xmdlg.o: gui_xmdlg.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/gui_xmebw.o: gui_xmebw.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h gui_xmebwp.h gui_xmebw.h
|
||||
objects/gui_athena.o: gui_athena.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h gui_at_sb.h gui_x11_pm.h \
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.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 ../pixmaps/tb_cut.xpm \
|
||||
../pixmaps/tb_copy.xpm ../pixmaps/tb_paste.xpm ../pixmaps/tb_find.xpm \
|
||||
@@ -3774,100 +3772,128 @@ objects/gui_athena.o: gui_athena.c vim.h auto/config.h feature.h os_unix.h \
|
||||
../pixmaps/tb_shell.xpm ../pixmaps/tb_replace.xpm \
|
||||
../pixmaps/tb_vsplit.xpm ../pixmaps/tb_maxwidth.xpm \
|
||||
../pixmaps/tb_minwidth.xpm
|
||||
objects/gui_xmdlg.o: gui_xmdlg.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
|
||||
objects/gui_xmebw.o: gui_xmebw.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h gui_xmebwp.h \
|
||||
gui_xmebw.h
|
||||
objects/gui_athena.o: gui_athena.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.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 ../pixmaps/tb_find_next.xpm \
|
||||
../pixmaps/tb_find_prev.xpm ../pixmaps/tb_find_help.xpm \
|
||||
../pixmaps/tb_exit.xpm ../pixmaps/tb_undo.xpm ../pixmaps/tb_redo.xpm \
|
||||
../pixmaps/tb_help.xpm ../pixmaps/tb_macro.xpm ../pixmaps/tb_make.xpm \
|
||||
../pixmaps/tb_save_all.xpm ../pixmaps/tb_jump.xpm \
|
||||
../pixmaps/tb_ctags.xpm ../pixmaps/tb_load_session.xpm \
|
||||
../pixmaps/tb_save_session.xpm ../pixmaps/tb_new_session.xpm \
|
||||
../pixmaps/tb_blank.xpm ../pixmaps/tb_maximize.xpm \
|
||||
../pixmaps/tb_split.xpm ../pixmaps/tb_minimize.xpm \
|
||||
../pixmaps/tb_shell.xpm ../pixmaps/tb_replace.xpm \
|
||||
../pixmaps/tb_vsplit.xpm ../pixmaps/tb_maxwidth.xpm \
|
||||
../pixmaps/tb_minwidth.xpm
|
||||
objects/gui_gtk_x11.o: gui_gtk_x11.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h auto/gui_gtk_gresources.h gui_gtk_f.h \
|
||||
../runtime/vim32x32.xpm ../runtime/vim16x16.xpm ../runtime/vim48x48.xpm
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.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 auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h ../runtime/vim32x32.xpm \
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h ../runtime/vim32x32.xpm \
|
||||
../runtime/vim16x16.xpm ../runtime/vim48x48.xpm
|
||||
objects/gui_at_sb.o: gui_at_sb.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h gui_at_sb.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h gui_at_sb.h
|
||||
objects/gui_at_fs.o: gui_at_fs.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h gui_at_sb.h
|
||||
objects/pty.o: pty.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
|
||||
keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
|
||||
proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h gui_at_sb.h
|
||||
objects/json_test.o: json_test.c main.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h json.c
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h json.c
|
||||
objects/kword_test.o: kword_test.c main.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h charset.c
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h charset.c
|
||||
objects/memfile_test.o: memfile_test.c main.c vim.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h \
|
||||
structs.h regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h memfile.c
|
||||
structs.h regexp.h gui.h alloc.h beval.h proto/beval.pro \
|
||||
proto/gui_beval.pro ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h \
|
||||
memfile.c
|
||||
objects/message_test.o: message_test.c main.c vim.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h \
|
||||
structs.h regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h message.c
|
||||
structs.h regexp.h gui.h alloc.h beval.h proto/beval.pro \
|
||||
proto/gui_beval.pro ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h \
|
||||
message.c
|
||||
objects/hangulin.o: hangulin.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
|
||||
objects/if_lua.o: if_lua.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/if_mzsch.o: if_mzsch.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h if_mzsch.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h if_mzsch.h \
|
||||
mzscheme_base.c
|
||||
objects/if_perl.o: auto/if_perl.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
|
||||
objects/if_perlsfio.o: if_perlsfio.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
|
||||
objects/if_python.o: if_python.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h if_py_both.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h if_py_both.h
|
||||
objects/if_python3.o: if_python3.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h if_py_both.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h if_py_both.h
|
||||
objects/if_tcl.o: if_tcl.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/if_ruby.o: if_ruby.c auto/config.h vim.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h version.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h
|
||||
objects/gui_beval.o: gui_beval.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
|
||||
objects/workshop.o: workshop.c auto/config.h integration.h vim.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h \
|
||||
structs.h regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h version.h \
|
||||
workshop.h
|
||||
structs.h regexp.h gui.h alloc.h beval.h proto/beval.pro \
|
||||
proto/gui_beval.pro ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h \
|
||||
version.h workshop.h
|
||||
objects/wsdebug.o: wsdebug.c
|
||||
objects/integration.o: integration.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h integration.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h integration.h
|
||||
objects/netbeans.o: netbeans.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h version.h
|
||||
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h version.h
|
||||
objects/channel.o: channel.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/gui_gtk_gresources.o: auto/gui_gtk_gresources.c
|
||||
|
||||
Vendored
+20
-2
@@ -820,6 +820,7 @@ enable_workshop
|
||||
enable_netbeans
|
||||
enable_channel
|
||||
enable_terminal
|
||||
enable_autoservername
|
||||
enable_multibyte
|
||||
enable_hangulinput
|
||||
enable_xim
|
||||
@@ -1489,6 +1490,7 @@ Optional Features:
|
||||
--disable-netbeans Disable NetBeans integration support.
|
||||
--disable-channel Disable process communication support.
|
||||
--enable-terminal Enable terminal emulation support.
|
||||
--enable-autoservername Automatically define servername at vim startup.
|
||||
--enable-multibyte Include multibyte editing support.
|
||||
--enable-hangulinput Include Hangul input support.
|
||||
--enable-xim Include XIM input support.
|
||||
@@ -7600,6 +7602,22 @@ if test "$enable_terminal" = "yes"; then
|
||||
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-autoservername argument" >&5
|
||||
$as_echo_n "checking --enable-autoservername argument... " >&6; }
|
||||
# Check whether --enable-autoservername was given.
|
||||
if test "${enable_autoservername+set}" = set; then :
|
||||
enableval=$enable_autoservername;
|
||||
else
|
||||
enable_autoservername="no"
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_autoservername" >&5
|
||||
$as_echo "$enable_autoservername" >&6; }
|
||||
if test "$enable_autoservername" = "yes"; then
|
||||
$as_echo "#define FEAT_AUTOSERVERNAME 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-multibyte argument" >&5
|
||||
$as_echo_n "checking --enable-multibyte argument... " >&6; }
|
||||
# Check whether --enable-multibyte was given.
|
||||
@@ -12183,13 +12201,13 @@ if test "x$vim_cv_getcwd_broken" = "xyes" ; then
|
||||
|
||||
fi
|
||||
|
||||
for ac_func in fchdir fchown fsync getcwd getpseudotty \
|
||||
for ac_func in fchdir fchown fchmod fsync getcwd getpseudotty \
|
||||
getpwent getpwnam getpwuid getrlimit gettimeofday getwd lstat \
|
||||
memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \
|
||||
getpgid setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
|
||||
sigprocmask sigvec strcasecmp strerror strftime stricmp strncasecmp \
|
||||
strnicmp strpbrk strtol tgetent towlower towupper iswupper \
|
||||
usleep utime utimes mblen
|
||||
usleep utime utimes mblen ftruncate
|
||||
do :
|
||||
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
||||
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
|
||||
|
||||
+281
@@ -0,0 +1,281 @@
|
||||
/* vi:set ts=8 sts=4 sw=4 noet:
|
||||
*
|
||||
* VIM - Vi IMproved by Bram Moolenaar
|
||||
* Visual Workshop integration by Gordon Prieur
|
||||
*
|
||||
* Do ":help uganda" in Vim to read copying and usage conditions.
|
||||
* Do ":help credits" in Vim to see a list of people who contributed.
|
||||
* See README.txt for an overview of the Vim source code.
|
||||
*/
|
||||
|
||||
#include "vim.h"
|
||||
|
||||
#if defined(FEAT_BEVAL) || defined(PROTO)
|
||||
|
||||
/*
|
||||
* Get the text and position to be evaluated for "beval".
|
||||
* If "getword" is true the returned text is not the whole line but the
|
||||
* relevant word in allocated memory.
|
||||
* Returns OK or FAIL.
|
||||
*/
|
||||
int
|
||||
get_beval_info(
|
||||
BalloonEval *beval,
|
||||
int getword,
|
||||
win_T **winp,
|
||||
linenr_T *lnump,
|
||||
char_u **textp,
|
||||
int *colp)
|
||||
{
|
||||
win_T *wp;
|
||||
int row, col;
|
||||
char_u *lbuf;
|
||||
linenr_T lnum;
|
||||
|
||||
*textp = NULL;
|
||||
# ifdef FEAT_BEVAL_TERM
|
||||
# ifdef FEAT_GUI
|
||||
if (!gui.in_use)
|
||||
# endif
|
||||
{
|
||||
row = mouse_row;
|
||||
col = mouse_col;
|
||||
}
|
||||
# endif
|
||||
# ifdef FEAT_GUI
|
||||
if (gui.in_use)
|
||||
{
|
||||
row = Y_2_ROW(beval->y);
|
||||
col = X_2_COL(beval->x);
|
||||
}
|
||||
#endif
|
||||
wp = mouse_find_win(&row, &col);
|
||||
if (wp != NULL && row >= 0 && row < wp->w_height && col < wp->w_width)
|
||||
{
|
||||
/* Found a window and the cursor is in the text. Now find the line
|
||||
* number. */
|
||||
if (!mouse_comp_pos(wp, &row, &col, &lnum))
|
||||
{
|
||||
/* Not past end of the file. */
|
||||
lbuf = ml_get_buf(wp->w_buffer, lnum, FALSE);
|
||||
if (col <= win_linetabsize(wp, lbuf, (colnr_T)MAXCOL))
|
||||
{
|
||||
/* Not past end of line. */
|
||||
if (getword)
|
||||
{
|
||||
/* For Netbeans we get the relevant part of the line
|
||||
* instead of the whole line. */
|
||||
int len;
|
||||
pos_T *spos = NULL, *epos = NULL;
|
||||
|
||||
if (VIsual_active)
|
||||
{
|
||||
if (LT_POS(VIsual, curwin->w_cursor))
|
||||
{
|
||||
spos = &VIsual;
|
||||
epos = &curwin->w_cursor;
|
||||
}
|
||||
else
|
||||
{
|
||||
spos = &curwin->w_cursor;
|
||||
epos = &VIsual;
|
||||
}
|
||||
}
|
||||
|
||||
col = vcol2col(wp, lnum, col);
|
||||
|
||||
if (VIsual_active
|
||||
&& wp->w_buffer == curwin->w_buffer
|
||||
&& (lnum == spos->lnum
|
||||
? col >= (int)spos->col
|
||||
: lnum > spos->lnum)
|
||||
&& (lnum == epos->lnum
|
||||
? col <= (int)epos->col
|
||||
: lnum < epos->lnum))
|
||||
{
|
||||
/* Visual mode and pointing to the line with the
|
||||
* Visual selection: return selected text, with a
|
||||
* maximum of one line. */
|
||||
if (spos->lnum != epos->lnum || spos->col == epos->col)
|
||||
return FAIL;
|
||||
|
||||
lbuf = ml_get_buf(curwin->w_buffer, VIsual.lnum, FALSE);
|
||||
len = epos->col - spos->col;
|
||||
if (*p_sel != 'e')
|
||||
len += MB_PTR2LEN(lbuf + epos->col);
|
||||
lbuf = vim_strnsave(lbuf + spos->col, len);
|
||||
lnum = spos->lnum;
|
||||
col = spos->col;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Find the word under the cursor. */
|
||||
++emsg_off;
|
||||
len = find_ident_at_pos(wp, lnum, (colnr_T)col, &lbuf,
|
||||
FIND_IDENT + FIND_STRING + FIND_EVAL);
|
||||
--emsg_off;
|
||||
if (len == 0)
|
||||
return FAIL;
|
||||
lbuf = vim_strnsave(lbuf, len);
|
||||
}
|
||||
}
|
||||
|
||||
*winp = wp;
|
||||
*lnump = lnum;
|
||||
*textp = lbuf;
|
||||
*colp = col;
|
||||
beval->ts = wp->w_buffer->b_p_ts;
|
||||
return OK;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Show a balloon with "mesg" or "list".
|
||||
*/
|
||||
void
|
||||
post_balloon(BalloonEval *beval UNUSED, char_u *mesg, list_T *list)
|
||||
{
|
||||
# ifdef FEAT_BEVAL_TERM
|
||||
# ifdef FEAT_GUI
|
||||
if (!gui.in_use)
|
||||
# endif
|
||||
ui_post_balloon(mesg, list);
|
||||
# endif
|
||||
# ifdef FEAT_BEVAL_GUI
|
||||
if (gui.in_use)
|
||||
/* GUI can't handle a list */
|
||||
gui_mch_post_balloon(beval, mesg);
|
||||
# endif
|
||||
}
|
||||
|
||||
/*
|
||||
* Returns TRUE if the balloon eval has been enabled:
|
||||
* 'ballooneval' for the GUI and 'balloonevalterm' for the terminal.
|
||||
* Also checks if the screen isn't scrolled up.
|
||||
*/
|
||||
int
|
||||
can_use_beval(void)
|
||||
{
|
||||
return (0
|
||||
#ifdef FEAT_BEVAL_GUI
|
||||
|| (gui.in_use && p_beval)
|
||||
#endif
|
||||
#ifdef FEAT_BEVAL_TERM
|
||||
|| (
|
||||
# ifdef FEAT_GUI
|
||||
!gui.in_use &&
|
||||
# endif
|
||||
p_bevalterm)
|
||||
#endif
|
||||
) && msg_scrolled == 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Common code, invoked when the mouse is resting for a moment.
|
||||
*/
|
||||
void
|
||||
general_beval_cb(BalloonEval *beval, int state UNUSED)
|
||||
{
|
||||
#ifdef FEAT_EVAL
|
||||
win_T *wp;
|
||||
int col;
|
||||
int use_sandbox;
|
||||
linenr_T lnum;
|
||||
char_u *text;
|
||||
static char_u *result = NULL;
|
||||
long winnr = 0;
|
||||
char_u *bexpr;
|
||||
buf_T *save_curbuf;
|
||||
size_t len;
|
||||
win_T *cw;
|
||||
#endif
|
||||
static int recursive = FALSE;
|
||||
|
||||
/* Don't do anything when 'ballooneval' is off, messages scrolled the
|
||||
* windows up or we have no beval area. */
|
||||
if (!can_use_beval() || beval == NULL)
|
||||
return;
|
||||
|
||||
/* Don't do this recursively. Happens when the expression evaluation
|
||||
* takes a long time and invokes something that checks for CTRL-C typed. */
|
||||
if (recursive)
|
||||
return;
|
||||
recursive = TRUE;
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
if (get_beval_info(beval, TRUE, &wp, &lnum, &text, &col) == OK)
|
||||
{
|
||||
bexpr = (*wp->w_buffer->b_p_bexpr == NUL) ? p_bexpr
|
||||
: wp->w_buffer->b_p_bexpr;
|
||||
if (*bexpr != NUL)
|
||||
{
|
||||
/* Convert window pointer to number. */
|
||||
for (cw = firstwin; cw != wp; cw = cw->w_next)
|
||||
++winnr;
|
||||
|
||||
set_vim_var_nr(VV_BEVAL_BUFNR, (long)wp->w_buffer->b_fnum);
|
||||
set_vim_var_nr(VV_BEVAL_WINNR, winnr);
|
||||
set_vim_var_nr(VV_BEVAL_WINID, wp->w_id);
|
||||
set_vim_var_nr(VV_BEVAL_LNUM, (long)lnum);
|
||||
set_vim_var_nr(VV_BEVAL_COL, (long)(col + 1));
|
||||
set_vim_var_string(VV_BEVAL_TEXT, text, -1);
|
||||
vim_free(text);
|
||||
|
||||
/*
|
||||
* Temporarily change the curbuf, so that we can determine whether
|
||||
* the buffer-local balloonexpr option was set insecurely.
|
||||
*/
|
||||
save_curbuf = curbuf;
|
||||
curbuf = wp->w_buffer;
|
||||
use_sandbox = was_set_insecurely((char_u *)"balloonexpr",
|
||||
*curbuf->b_p_bexpr == NUL ? 0 : OPT_LOCAL);
|
||||
curbuf = save_curbuf;
|
||||
if (use_sandbox)
|
||||
++sandbox;
|
||||
++textlock;
|
||||
|
||||
vim_free(result);
|
||||
result = eval_to_string(bexpr, NULL, TRUE);
|
||||
|
||||
/* Remove one trailing newline, it is added when the result was a
|
||||
* list and it's hardly ever useful. If the user really wants a
|
||||
* trailing newline he can add two and one remains. */
|
||||
if (result != NULL)
|
||||
{
|
||||
len = STRLEN(result);
|
||||
if (len > 0 && result[len - 1] == NL)
|
||||
result[len - 1] = NUL;
|
||||
}
|
||||
|
||||
if (use_sandbox)
|
||||
--sandbox;
|
||||
--textlock;
|
||||
|
||||
set_vim_var_string(VV_BEVAL_TEXT, NULL, -1);
|
||||
if (result != NULL && result[0] != NUL)
|
||||
{
|
||||
post_balloon(beval, result, NULL);
|
||||
recursive = FALSE;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
if (bevalServers & BEVAL_NETBEANS)
|
||||
netbeans_beval_cb(beval, state);
|
||||
#endif
|
||||
#ifdef FEAT_SUN_WORKSHOP
|
||||
if (bevalServers & BEVAL_WORKSHOP)
|
||||
workshop_beval_cb(beval, state);
|
||||
#endif
|
||||
|
||||
recursive = FALSE;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
* Do ":help credits" in Vim to see a list of people who contributed.
|
||||
*/
|
||||
|
||||
#if !defined(GUI_BEVAL_H) && (defined(FEAT_BEVAL) || defined(PROTO))
|
||||
#define GUI_BEVAL_H
|
||||
#if !defined(BEVAL__H) && (defined(FEAT_BEVAL) || defined(PROTO))
|
||||
#define BEVAL__H
|
||||
|
||||
#ifdef FEAT_GUI_GTK
|
||||
# ifdef USE_GTK3
|
||||
@@ -32,7 +32,8 @@ typedef enum
|
||||
|
||||
typedef struct BalloonEvalStruct
|
||||
{
|
||||
#ifdef FEAT_GUI_GTK
|
||||
#ifdef FEAT_BEVAL_GUI
|
||||
# ifdef FEAT_GUI_GTK
|
||||
GtkWidget *target; /* widget we are monitoring */
|
||||
GtkWidget *balloonShell;
|
||||
GtkWidget *balloonLabel;
|
||||
@@ -41,11 +42,11 @@ typedef struct BalloonEvalStruct
|
||||
int x;
|
||||
int y;
|
||||
unsigned int state; /* Button/Modifier key state */
|
||||
#elif defined(FEAT_GUI_MACVIM)
|
||||
# elif defined(FEAT_GUI_MACVIM)
|
||||
int x;
|
||||
int y;
|
||||
#else
|
||||
# if !defined(FEAT_GUI_W32)
|
||||
# else
|
||||
# if !defined(FEAT_GUI_W32)
|
||||
Widget target; /* widget we are monitoring */
|
||||
Widget balloonShell;
|
||||
Widget balloonLabel;
|
||||
@@ -57,28 +58,32 @@ typedef struct BalloonEvalStruct
|
||||
Position x_root;
|
||||
Position y_root;
|
||||
int state; /* Button/Modifier key state */
|
||||
# else
|
||||
# else
|
||||
HWND target;
|
||||
HWND balloon;
|
||||
int x;
|
||||
int y;
|
||||
BeState showState; /* tells us whats currently going on */
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
int ts; /* tabstop setting for this buffer */
|
||||
char_u *msg;
|
||||
void (*msgCB)(struct BalloonEvalStruct *, int);
|
||||
void *clientData; /* For callback */
|
||||
#if !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32) \
|
||||
# if !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32) \
|
||||
&& !defined(FEAT_GUI_MACVIM)
|
||||
Dimension screen_width; /* screen width in pixels */
|
||||
Dimension screen_height; /* screen height in pixels */
|
||||
# endif
|
||||
void (*msgCB)(struct BalloonEvalStruct *, int);
|
||||
void *clientData; /* For callback */
|
||||
#endif
|
||||
|
||||
int ts; /* tabstop setting for this buffer */
|
||||
char_u *msg;
|
||||
} BalloonEval;
|
||||
|
||||
#define EVAL_OFFSET_X 15 /* displacement of beval topleft corner from pointer */
|
||||
#define EVAL_OFFSET_Y 10
|
||||
|
||||
#include "gui_beval.pro"
|
||||
#ifdef FEAT_BEVAL_GUI
|
||||
# include "gui_beval.pro"
|
||||
#endif
|
||||
|
||||
#endif /* GUI_BEVAL_H and FEAT_BEVAL */
|
||||
#endif /* BEVAL__H and FEAT_BEVAL_GUI */
|
||||
@@ -593,6 +593,11 @@ aucmd_abort:
|
||||
if (buf->b_nwindows > 0)
|
||||
--buf->b_nwindows;
|
||||
|
||||
#ifdef FEAT_DIFF
|
||||
if (diffopt_hiddenoff() && !unload_buf && buf->b_nwindows == 0)
|
||||
diff_buf_delete(buf); /* Clear 'diff' for hidden buffer. */
|
||||
#endif
|
||||
|
||||
/* Return when a window is displaying the buffer or when it's not
|
||||
* unloaded. */
|
||||
if (buf->b_nwindows > 0 || !unload_buf)
|
||||
|
||||
+2
-2
@@ -2917,8 +2917,6 @@ channel_close(channel_T *channel, int invoke_close_cb)
|
||||
channel->ch_close_cb = NULL;
|
||||
channel->ch_close_partial = NULL;
|
||||
|
||||
--channel->ch_refcount;
|
||||
|
||||
if (channel_need_redraw)
|
||||
{
|
||||
channel_need_redraw = FALSE;
|
||||
@@ -2929,6 +2927,8 @@ channel_close(channel_T *channel, int invoke_close_cb)
|
||||
/* any remaining messages are useless now */
|
||||
for (part = PART_SOCK; part < PART_IN; ++part)
|
||||
drop_messages(channel, part);
|
||||
|
||||
--channel->ch_refcount;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+6
-1
@@ -156,9 +156,11 @@
|
||||
/* Define if you the function: */
|
||||
#undef HAVE_FCHDIR
|
||||
#undef HAVE_FCHOWN
|
||||
#undef HAVE_FCHMOD
|
||||
#undef HAVE_FLOAT_FUNCS
|
||||
#undef HAVE_FSEEKO
|
||||
#undef HAVE_FSYNC
|
||||
#undef HAVE_FLOAT_FUNCS
|
||||
#undef HAVE_FTRUNCATE
|
||||
#undef HAVE_GETCWD
|
||||
#undef HAVE_GETPGID
|
||||
#undef HAVE_GETPSEUDOTTY
|
||||
@@ -384,6 +386,9 @@
|
||||
/* Define if you want to include multibyte support. */
|
||||
#undef FEAT_MBYTE
|
||||
|
||||
/* Define if you want to always define a server name at vim startup. */
|
||||
#undef FEAT_AUTOSERVERNAME
|
||||
|
||||
/* Define if you want to include fontset support. */
|
||||
#undef FEAT_XFONTSET
|
||||
|
||||
|
||||
+11
-2
@@ -2130,6 +2130,15 @@ if test "$enable_terminal" = "yes"; then
|
||||
AC_SUBST(TERM_OBJ)
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(--enable-autoservername argument)
|
||||
AC_ARG_ENABLE(autoservername,
|
||||
[ --enable-autoservername Automatically define servername at vim startup.], ,
|
||||
[enable_autoservername="no"])
|
||||
AC_MSG_RESULT($enable_autoservername)
|
||||
if test "$enable_autoservername" = "yes"; then
|
||||
AC_DEFINE(FEAT_AUTOSERVERNAME)
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(--enable-multibyte argument)
|
||||
AC_ARG_ENABLE(multibyte,
|
||||
[ --enable-multibyte Include multibyte editing support.], ,
|
||||
@@ -3731,13 +3740,13 @@ fi
|
||||
|
||||
dnl Check for functions in one big call, to reduce the size of configure.
|
||||
dnl Can only be used for functions that do not require any include.
|
||||
AC_CHECK_FUNCS(fchdir fchown fsync getcwd getpseudotty \
|
||||
AC_CHECK_FUNCS(fchdir fchown fchmod fsync getcwd getpseudotty \
|
||||
getpwent getpwnam getpwuid getrlimit gettimeofday getwd lstat \
|
||||
memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \
|
||||
getpgid setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
|
||||
sigprocmask sigvec strcasecmp strerror strftime stricmp strncasecmp \
|
||||
strnicmp strpbrk strtol tgetent towlower towupper iswupper \
|
||||
usleep utime utimes mblen)
|
||||
usleep utime utimes mblen ftruncate)
|
||||
AC_FUNC_FSEEKO
|
||||
|
||||
dnl define _LARGE_FILES, _FILE_OFFSET_BITS and _LARGEFILE_SOURCE when
|
||||
|
||||
+15
@@ -23,6 +23,7 @@ static int diff_busy = FALSE; /* ex_diffgetput() is busy */
|
||||
#define DIFF_IWHITE 4 /* ignore change in white space */
|
||||
#define DIFF_HORIZONTAL 8 /* horizontal splits */
|
||||
#define DIFF_VERTICAL 16 /* vertical splits */
|
||||
#define DIFF_HIDDEN_OFF 32 /* diffoff when hidden */
|
||||
static int diff_flags = DIFF_FILLER;
|
||||
|
||||
#define LBUFLEN 50 /* length of line in diff file */
|
||||
@@ -1924,6 +1925,11 @@ diffopt_changed(void)
|
||||
p += 11;
|
||||
diff_foldcolumn_new = getdigits(&p);
|
||||
}
|
||||
else if (STRNCMP(p, "hiddenoff", 9) == 0)
|
||||
{
|
||||
p += 9;
|
||||
diff_flags_new |= DIFF_HIDDEN_OFF;
|
||||
}
|
||||
if (*p != ',' && *p != NUL)
|
||||
return FAIL;
|
||||
if (*p == ',')
|
||||
@@ -1961,6 +1967,15 @@ diffopt_horizontal(void)
|
||||
return (diff_flags & DIFF_HORIZONTAL) != 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Return TRUE if 'diffopt' contains "hiddenoff".
|
||||
*/
|
||||
int
|
||||
diffopt_hiddenoff(void)
|
||||
{
|
||||
return (diff_flags & DIFF_HIDDEN_OFF) != 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Find the difference within a changed line.
|
||||
* Returns TRUE if the line was added, no other buffer has it.
|
||||
|
||||
+9
-8
@@ -516,7 +516,7 @@ edit(
|
||||
*/
|
||||
if (curbuf->b_p_iminsert == B_IMODE_LMAP)
|
||||
State |= LANGMAP;
|
||||
#ifdef USE_IM_CONTROL
|
||||
#ifdef FEAT_MBYTE
|
||||
im_set_active(curbuf->b_p_iminsert == B_IMODE_IM);
|
||||
#endif
|
||||
|
||||
@@ -781,7 +781,7 @@ edit(
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Get a character for Insert mode. Ignore K_IGNORE.
|
||||
* Get a character for Insert mode. Ignore K_IGNORE and K_NOP.
|
||||
*/
|
||||
if (c != K_CURSORHOLD)
|
||||
lastc = c; /* remember the previous char for CTRL-D */
|
||||
@@ -798,7 +798,7 @@ edit(
|
||||
do
|
||||
{
|
||||
c = safe_vgetc();
|
||||
} while (c == K_IGNORE);
|
||||
} while (c == K_IGNORE || c == K_NOP);
|
||||
|
||||
#ifdef FEAT_AUTOCMD
|
||||
/* Don't want K_CURSORHOLD for the second key, e.g., after CTRL-V. */
|
||||
@@ -1177,6 +1177,7 @@ doESCkey:
|
||||
case K_LEFTDRAG:
|
||||
case K_LEFTRELEASE:
|
||||
case K_LEFTRELEASE_NM:
|
||||
case K_MOUSEMOVE:
|
||||
case K_MIDDLEMOUSE:
|
||||
case K_MIDDLEDRAG:
|
||||
case K_MIDDLERELEASE:
|
||||
@@ -8385,7 +8386,7 @@ ins_reg(void)
|
||||
++no_u_sync;
|
||||
if (regname == '=')
|
||||
{
|
||||
# ifdef USE_IM_CONTROL
|
||||
# ifdef FEAT_MBYTE
|
||||
int im_on = im_get_status();
|
||||
# endif
|
||||
/* Sync undo when evaluating the expression calls setline() or
|
||||
@@ -8393,7 +8394,7 @@ ins_reg(void)
|
||||
u_sync_once = 2;
|
||||
|
||||
regname = get_expr_register();
|
||||
# ifdef USE_IM_CONTROL
|
||||
# ifdef FEAT_MBYTE
|
||||
/* Restore the Input Method. */
|
||||
if (im_on)
|
||||
im_set_active(TRUE);
|
||||
@@ -8522,12 +8523,12 @@ ins_ctrl_hat(void)
|
||||
{
|
||||
curbuf->b_p_iminsert = B_IMODE_LMAP;
|
||||
State |= LANGMAP;
|
||||
#ifdef USE_IM_CONTROL
|
||||
#ifdef FEAT_MBYTE
|
||||
im_set_active(FALSE);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
#ifdef USE_IM_CONTROL
|
||||
#ifdef FEAT_MBYTE
|
||||
else
|
||||
{
|
||||
/* There are no ":lmap" mappings, toggle IM */
|
||||
@@ -8674,7 +8675,7 @@ ins_esc(
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef USE_IM_CONTROL
|
||||
#ifdef FEAT_MBYTE
|
||||
/* Disable IM to allow typing English directly for Normal mode commands.
|
||||
* When ":lmap" is enabled don't change 'iminsert' (IM can be enabled as
|
||||
* well). */
|
||||
|
||||
+102
-6
@@ -61,6 +61,9 @@ static void f_atan2(typval_T *argvars, typval_T *rettv);
|
||||
#endif
|
||||
#ifdef FEAT_BEVAL
|
||||
static void f_balloon_show(typval_T *argvars, typval_T *rettv);
|
||||
# if defined(FEAT_BEVAL_TERM)
|
||||
static void f_balloon_split(typval_T *argvars, typval_T *rettv);
|
||||
# endif
|
||||
#endif
|
||||
static void f_browse(typval_T *argvars, typval_T *rettv);
|
||||
static void f_browsedir(typval_T *argvars, typval_T *rettv);
|
||||
@@ -438,6 +441,7 @@ static void f_win_getid(typval_T *argvars, typval_T *rettv);
|
||||
static void f_win_gotoid(typval_T *argvars, typval_T *rettv);
|
||||
static void f_win_id2tabwin(typval_T *argvars, typval_T *rettv);
|
||||
static void f_win_id2win(typval_T *argvars, typval_T *rettv);
|
||||
static void f_win_screenpos(typval_T *argvars, typval_T *rettv);
|
||||
static void f_winbufnr(typval_T *argvars, typval_T *rettv);
|
||||
static void f_wincol(typval_T *argvars, typval_T *rettv);
|
||||
static void f_winheight(typval_T *argvars, typval_T *rettv);
|
||||
@@ -494,6 +498,9 @@ static struct fst
|
||||
#endif
|
||||
#ifdef FEAT_BEVAL
|
||||
{"balloon_show", 1, 1, f_balloon_show},
|
||||
# if defined(FEAT_BEVAL_TERM)
|
||||
{"balloon_split", 1, 1, f_balloon_split},
|
||||
# endif
|
||||
#endif
|
||||
{"browse", 4, 4, f_browse},
|
||||
{"browsedir", 2, 2, f_browsedir},
|
||||
@@ -893,6 +900,7 @@ static struct fst
|
||||
{"win_gotoid", 1, 1, f_win_gotoid},
|
||||
{"win_id2tabwin", 1, 1, f_win_id2tabwin},
|
||||
{"win_id2win", 1, 1, f_win_id2win},
|
||||
{"win_screenpos", 1, 1, f_win_screenpos},
|
||||
{"winbufnr", 1, 1, f_winbufnr},
|
||||
{"wincol", 0, 0, f_wincol},
|
||||
{"winheight", 1, 1, f_winheight},
|
||||
@@ -1410,8 +1418,40 @@ f_atan2(typval_T *argvars, typval_T *rettv)
|
||||
f_balloon_show(typval_T *argvars, typval_T *rettv UNUSED)
|
||||
{
|
||||
if (balloonEval != NULL)
|
||||
gui_mch_post_balloon(balloonEval, get_tv_string_chk(&argvars[0]));
|
||||
{
|
||||
if (argvars[0].v_type == VAR_LIST
|
||||
# ifdef FEAT_GUI
|
||||
&& !gui.in_use
|
||||
# endif
|
||||
)
|
||||
post_balloon(balloonEval, NULL, argvars[0].vval.v_list);
|
||||
else
|
||||
post_balloon(balloonEval, get_tv_string_chk(&argvars[0]), NULL);
|
||||
}
|
||||
}
|
||||
|
||||
# if defined(FEAT_BEVAL_TERM)
|
||||
static void
|
||||
f_balloon_split(typval_T *argvars, typval_T *rettv UNUSED)
|
||||
{
|
||||
if (rettv_list_alloc(rettv) == OK)
|
||||
{
|
||||
char_u *msg = get_tv_string_chk(&argvars[0]);
|
||||
|
||||
if (msg != NULL)
|
||||
{
|
||||
pumitem_T *array;
|
||||
int size = split_message(msg, &array);
|
||||
int i;
|
||||
|
||||
/* Skip the first and last item, they are always empty. */
|
||||
for (i = 1; i < size - 1; ++i)
|
||||
list_append_string(rettv->vval.v_list, array[i].pum_text, -1);
|
||||
vim_free(array);
|
||||
}
|
||||
}
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -5347,6 +5387,22 @@ f_win_id2win(typval_T *argvars, typval_T *rettv)
|
||||
rettv->vval.v_number = win_id2win(argvars);
|
||||
}
|
||||
|
||||
/*
|
||||
* "win_screenpos()" function
|
||||
*/
|
||||
static void
|
||||
f_win_screenpos(typval_T *argvars, typval_T *rettv)
|
||||
{
|
||||
win_T *wp;
|
||||
|
||||
if (rettv_list_alloc(rettv) == FAIL)
|
||||
return;
|
||||
|
||||
wp = find_win_by_nr(&argvars[0], NULL);
|
||||
list_append_number(rettv->vval.v_list, wp == NULL ? 0 : wp->w_winrow + 1);
|
||||
list_append_number(rettv->vval.v_list, wp == NULL ? 0 : wp->w_wincol + 1);
|
||||
}
|
||||
|
||||
/*
|
||||
* "getwinposx()" function
|
||||
*/
|
||||
@@ -5587,12 +5643,18 @@ f_has(typval_T *argvars, typval_T *rettv)
|
||||
#ifdef FEAT_AUTOCMD
|
||||
"autocmd",
|
||||
#endif
|
||||
#ifdef FEAT_BEVAL
|
||||
#ifdef FEAT_AUTOSERVERNAME
|
||||
"autoservername",
|
||||
#endif
|
||||
#ifdef FEAT_BEVAL_GUI
|
||||
"balloon_eval",
|
||||
# ifndef FEAT_GUI_W32 /* other GUIs always have multiline balloons */
|
||||
"balloon_multiline",
|
||||
# endif
|
||||
#endif
|
||||
#ifdef FEAT_BEVAL_TERM
|
||||
"balloon_eval_term",
|
||||
#endif
|
||||
#if defined(SOME_BUILTIN_TCAPS) || defined(ALL_BUILTIN_TCAPS)
|
||||
"builtin_terms",
|
||||
# ifdef ALL_BUILTIN_TCAPS
|
||||
@@ -9918,7 +9980,8 @@ set_buffer_lines(buf_T *buf, linenr_T lnum, typval_T *lines, typval_T *rettv)
|
||||
listitem_T *li = NULL;
|
||||
long added = 0;
|
||||
linenr_T lcount;
|
||||
buf_T *curbuf_save;
|
||||
buf_T *curbuf_save = NULL;
|
||||
win_T *curwin_save = NULL;
|
||||
int is_curbuf = buf == curbuf;
|
||||
|
||||
/* When using the current buffer ml_mfp will be set if needed. Useful when
|
||||
@@ -9930,8 +9993,22 @@ set_buffer_lines(buf_T *buf, linenr_T lnum, typval_T *lines, typval_T *rettv)
|
||||
return;
|
||||
}
|
||||
|
||||
curbuf_save = curbuf;
|
||||
curbuf = buf;
|
||||
if (!is_curbuf)
|
||||
{
|
||||
wininfo_T *wip;
|
||||
|
||||
curbuf_save = curbuf;
|
||||
curwin_save = curwin;
|
||||
curbuf = buf;
|
||||
for (wip = buf->b_wininfo; wip != NULL; wip = wip->wi_next)
|
||||
{
|
||||
if (wip->wi_win != NULL)
|
||||
{
|
||||
curwin = wip->wi_win;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
lcount = curbuf->b_ml.ml_line_count;
|
||||
|
||||
@@ -9994,7 +10071,11 @@ set_buffer_lines(buf_T *buf, linenr_T lnum, typval_T *lines, typval_T *rettv)
|
||||
if (added > 0)
|
||||
appended_lines_mark(lcount, added);
|
||||
|
||||
curbuf = curbuf_save;
|
||||
if (!is_curbuf)
|
||||
{
|
||||
curbuf = curbuf_save;
|
||||
curwin = curwin_save;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -13353,6 +13434,9 @@ f_writefile(typval_T *argvars, typval_T *rettv)
|
||||
{
|
||||
int binary = FALSE;
|
||||
int append = FALSE;
|
||||
#ifdef HAVE_FSYNC
|
||||
int do_fsync = p_fs;
|
||||
#endif
|
||||
char_u *fname;
|
||||
FILE *fd;
|
||||
int ret = 0;
|
||||
@@ -13385,6 +13469,12 @@ f_writefile(typval_T *argvars, typval_T *rettv)
|
||||
binary = TRUE;
|
||||
if (vim_strchr(arg2, 'a') != NULL)
|
||||
append = TRUE;
|
||||
#ifdef HAVE_FSYNC
|
||||
if (vim_strchr(arg2, 's') != NULL)
|
||||
do_fsync = TRUE;
|
||||
else if (vim_strchr(arg2, 'S') != NULL)
|
||||
do_fsync = FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
fname = get_tv_string_chk(&argvars[1]);
|
||||
@@ -13403,6 +13493,12 @@ f_writefile(typval_T *argvars, typval_T *rettv)
|
||||
{
|
||||
if (write_list(fd, list, binary) == FAIL)
|
||||
ret = -1;
|
||||
#ifdef HAVE_FSYNC
|
||||
else if (do_fsync)
|
||||
/* Ignore the error, the user wouldn't know what to do about it.
|
||||
* May happen for a device. */
|
||||
ignored = fsync(fileno(fd));
|
||||
#endif
|
||||
fclose(fd);
|
||||
}
|
||||
|
||||
|
||||
+125
-97
@@ -1825,7 +1825,6 @@ write_viminfo(char_u *file, int forceit)
|
||||
FILE *fp_out = NULL; /* output viminfo file */
|
||||
char_u *tempname = NULL; /* name of temp viminfo file */
|
||||
stat_T st_new; /* mch_stat() of potential new file */
|
||||
char_u *wp;
|
||||
#if defined(UNIX) || defined(VMS)
|
||||
mode_t umask_save;
|
||||
#endif
|
||||
@@ -1847,27 +1846,29 @@ write_viminfo(char_u *file, int forceit)
|
||||
fp_in = mch_fopen((char *)fname, READBIN);
|
||||
if (fp_in == NULL)
|
||||
{
|
||||
int fd;
|
||||
|
||||
/* if it does exist, but we can't read it, don't try writing */
|
||||
if (mch_stat((char *)fname, &st_new) == 0)
|
||||
goto end;
|
||||
#if defined(UNIX) || defined(VMS)
|
||||
/*
|
||||
* For Unix we create the .viminfo non-accessible for others,
|
||||
* because it may contain text from non-accessible documents.
|
||||
*/
|
||||
umask_save = umask(077);
|
||||
#endif
|
||||
fp_out = mch_fopen((char *)fname, WRITEBIN);
|
||||
#if defined(UNIX) || defined(VMS)
|
||||
(void)umask(umask_save);
|
||||
#endif
|
||||
|
||||
/* Create the new .viminfo non-accessible for others, because it may
|
||||
* contain text from non-accessible documents. It is up to the user to
|
||||
* widen access (e.g. to a group). This may also fail if there is a
|
||||
* race condition, then just give up. */
|
||||
fd = mch_open((char *)fname,
|
||||
O_CREAT|O_EXTRA|O_EXCL|O_WRONLY|O_NOFOLLOW, 0600);
|
||||
if (fd < 0)
|
||||
goto end;
|
||||
fp_out = fdopen(fd, WRITEBIN);
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
* There is an existing viminfo file. Create a temporary file to
|
||||
* write the new viminfo into, in the same directory as the
|
||||
* existing viminfo file, which will be renamed later.
|
||||
* existing viminfo file, which will be renamed once all writing is
|
||||
* successful.
|
||||
*/
|
||||
#ifdef UNIX
|
||||
/*
|
||||
@@ -1901,12 +1902,18 @@ write_viminfo(char_u *file, int forceit)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Make tempname.
|
||||
* Make tempname, find one that does not exist yet.
|
||||
* Beware of a race condition: If someone logs out and all Vim
|
||||
* instances exit at the same time a temp file might be created between
|
||||
* stat() and open(). Use mch_open() with O_EXCL to avoid that.
|
||||
* May try twice: Once normal and once with shortname set, just in
|
||||
* case somebody puts his viminfo file in an 8.3 filesystem.
|
||||
*/
|
||||
for (;;)
|
||||
{
|
||||
int next_char = 'z';
|
||||
char_u *wp;
|
||||
|
||||
tempname = buf_modname(
|
||||
#ifdef UNIX
|
||||
shortname,
|
||||
@@ -1924,107 +1931,128 @@ write_viminfo(char_u *file, int forceit)
|
||||
break;
|
||||
|
||||
/*
|
||||
* Check if tempfile already exists. Never overwrite an
|
||||
* existing file!
|
||||
* Try a series of names. Change one character, just before
|
||||
* the extension. This should also work for an 8.3
|
||||
* file name, when after adding the extension it still is
|
||||
* the same file as the original.
|
||||
*/
|
||||
if (mch_stat((char *)tempname, &st_new) == 0)
|
||||
wp = tempname + STRLEN(tempname) - 5;
|
||||
if (wp < gettail(tempname)) /* empty file name? */
|
||||
wp = gettail(tempname);
|
||||
for (;;)
|
||||
{
|
||||
/*
|
||||
* Check if tempfile already exists. Never overwrite an
|
||||
* existing file!
|
||||
*/
|
||||
if (mch_stat((char *)tempname, &st_new) == 0)
|
||||
{
|
||||
#ifdef UNIX
|
||||
/*
|
||||
* Check if tempfile is same as original file. May happen
|
||||
* when modname() gave the same file back. E.g. silly
|
||||
* link, or file name-length reached. Try again with
|
||||
* shortname set.
|
||||
*/
|
||||
if (!shortname && st_new.st_dev == st_old.st_dev
|
||||
&& st_new.st_ino == st_old.st_ino)
|
||||
{
|
||||
vim_free(tempname);
|
||||
tempname = NULL;
|
||||
shortname = TRUE;
|
||||
continue;
|
||||
}
|
||||
#endif
|
||||
/*
|
||||
* Try another name. Change one character, just before
|
||||
* the extension. This should also work for an 8.3
|
||||
* file name, when after adding the extension it still is
|
||||
* the same file as the original.
|
||||
*/
|
||||
wp = tempname + STRLEN(tempname) - 5;
|
||||
if (wp < gettail(tempname)) /* empty file name? */
|
||||
wp = gettail(tempname);
|
||||
for (*wp = 'z'; mch_stat((char *)tempname, &st_new) == 0;
|
||||
--*wp)
|
||||
{
|
||||
/*
|
||||
* They all exist? Must be something wrong! Don't
|
||||
* write the viminfo file then.
|
||||
* Check if tempfile is same as original file. May happen
|
||||
* when modname() gave the same file back. E.g. silly
|
||||
* link, or file name-length reached. Try again with
|
||||
* shortname set.
|
||||
*/
|
||||
if (*wp == 'a')
|
||||
if (!shortname && st_new.st_dev == st_old.st_dev
|
||||
&& st_new.st_ino == st_old.st_ino)
|
||||
{
|
||||
EMSG2(_("E929: Too many viminfo temp files, like %s!"),
|
||||
tempname);
|
||||
vim_free(tempname);
|
||||
tempname = NULL;
|
||||
shortname = TRUE;
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (tempname != NULL)
|
||||
{
|
||||
else
|
||||
{
|
||||
/* Try creating the file exclusively. This may fail if
|
||||
* another Vim tries to do it at the same time. */
|
||||
#ifdef VMS
|
||||
/* fdopen() fails for some reason */
|
||||
umask_save = umask(077);
|
||||
fp_out = mch_fopen((char *)tempname, WRITEBIN);
|
||||
(void)umask(umask_save);
|
||||
#else
|
||||
int fd;
|
||||
|
||||
/* Use mch_open() to be able to use O_NOFOLLOW and set file
|
||||
* protection:
|
||||
* Unix: same as original file, but strip s-bit. Reset umask to
|
||||
* avoid it getting in the way.
|
||||
* Others: r&w for user only. */
|
||||
# ifdef UNIX
|
||||
umask_save = umask(0);
|
||||
fd = mch_open((char *)tempname,
|
||||
O_CREAT|O_EXTRA|O_EXCL|O_WRONLY|O_NOFOLLOW,
|
||||
(int)((st_old.st_mode & 0777) | 0600));
|
||||
(void)umask(umask_save);
|
||||
# else
|
||||
fd = mch_open((char *)tempname,
|
||||
O_CREAT|O_EXTRA|O_EXCL|O_WRONLY|O_NOFOLLOW, 0600);
|
||||
# endif
|
||||
if (fd < 0)
|
||||
fp_out = NULL;
|
||||
else
|
||||
fp_out = fdopen(fd, WRITEBIN);
|
||||
#endif /* VMS */
|
||||
|
||||
/*
|
||||
* If we can't create in the same directory, try creating a
|
||||
* "normal" temp file.
|
||||
*/
|
||||
if (fp_out == NULL)
|
||||
{
|
||||
vim_free(tempname);
|
||||
if ((tempname = vim_tempname('o', TRUE)) != NULL)
|
||||
/* fdopen() fails for some reason */
|
||||
umask_save = umask(077);
|
||||
fp_out = mch_fopen((char *)tempname, WRITEBIN);
|
||||
(void)umask(umask_save);
|
||||
#else
|
||||
int fd;
|
||||
|
||||
/* Use mch_open() to be able to use O_NOFOLLOW and set file
|
||||
* protection:
|
||||
* Unix: same as original file, but strip s-bit. Reset
|
||||
* umask to avoid it getting in the way.
|
||||
* Others: r&w for user only. */
|
||||
# ifdef UNIX
|
||||
umask_save = umask(0);
|
||||
fd = mch_open((char *)tempname,
|
||||
O_CREAT|O_EXTRA|O_EXCL|O_WRONLY|O_NOFOLLOW,
|
||||
(int)((st_old.st_mode & 0777) | 0600));
|
||||
(void)umask(umask_save);
|
||||
# else
|
||||
fd = mch_open((char *)tempname,
|
||||
O_CREAT|O_EXTRA|O_EXCL|O_WRONLY|O_NOFOLLOW, 0600);
|
||||
# endif
|
||||
if (fd < 0)
|
||||
{
|
||||
fp_out = NULL;
|
||||
# ifdef EEXIST
|
||||
/* Avoid trying lots of names while the problem is lack
|
||||
* of premission, only retry if the file already
|
||||
* exists. */
|
||||
if (errno != EEXIST)
|
||||
break;
|
||||
# endif
|
||||
}
|
||||
else
|
||||
fp_out = fdopen(fd, WRITEBIN);
|
||||
#endif /* VMS */
|
||||
if (fp_out != NULL)
|
||||
break;
|
||||
}
|
||||
|
||||
/* Assume file exists, try again with another name. */
|
||||
if (next_char == 'a' - 1)
|
||||
{
|
||||
/* They all exist? Must be something wrong! Don't write
|
||||
* the viminfo file then. */
|
||||
EMSG2(_("E929: Too many viminfo temp files, like %s!"),
|
||||
tempname);
|
||||
break;
|
||||
}
|
||||
*wp = next_char;
|
||||
--next_char;
|
||||
}
|
||||
|
||||
if (tempname != NULL)
|
||||
break;
|
||||
/* continue if shortname was set */
|
||||
}
|
||||
|
||||
#if defined(UNIX) && defined(HAVE_FCHOWN)
|
||||
if (tempname != NULL && fp_out != NULL)
|
||||
{
|
||||
stat_T tmp_st;
|
||||
|
||||
/*
|
||||
* Make sure the owner can read/write it. This only works for
|
||||
* root.
|
||||
* Make sure the original owner can read/write the tempfile and
|
||||
* otherwise preserve permissions, making sure the group matches.
|
||||
*/
|
||||
if (fp_out != NULL)
|
||||
ignored = fchown(fileno(fp_out), st_old.st_uid, st_old.st_gid);
|
||||
#endif
|
||||
if (mch_stat((char *)tempname, &tmp_st) >= 0)
|
||||
{
|
||||
if (st_old.st_uid != tmp_st.st_uid)
|
||||
/* Changing the owner might fail, in which case the
|
||||
* file will now owned by the current user, oh well. */
|
||||
ignored = fchown(fileno(fp_out), st_old.st_uid, -1);
|
||||
if (st_old.st_gid != tmp_st.st_gid
|
||||
&& fchown(fileno(fp_out), -1, st_old.st_gid) == -1)
|
||||
/* can't set the group to what it should be, remove
|
||||
* group permissions */
|
||||
(void)mch_setperm(tempname, 0600);
|
||||
}
|
||||
else
|
||||
/* can't stat the file, set conservative permissions */
|
||||
(void)mch_setperm(tempname, 0600);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -7536,7 +7564,7 @@ ex_sign(exarg_T *eap)
|
||||
int idx;
|
||||
sign_T *sp;
|
||||
sign_T *sp_prev;
|
||||
buf_T *buf;
|
||||
buf_T *buf = NULL;
|
||||
|
||||
/* Parse the subcommand. */
|
||||
p = skiptowhite(arg);
|
||||
|
||||
+50
-9
@@ -1093,21 +1093,21 @@ static timer_T *first_timer = NULL;
|
||||
static long last_timer_id = 0;
|
||||
|
||||
static long
|
||||
timer_time_left(timer_T *timer, proftime_T *now)
|
||||
proftime_time_left(proftime_T *due, proftime_T *now)
|
||||
{
|
||||
# ifdef WIN3264
|
||||
LARGE_INTEGER fr;
|
||||
|
||||
if (now->QuadPart > timer->tr_due.QuadPart)
|
||||
if (now->QuadPart > due->QuadPart)
|
||||
return 0;
|
||||
QueryPerformanceFrequency(&fr);
|
||||
return (long)(((double)(timer->tr_due.QuadPart - now->QuadPart)
|
||||
return (long)(((double)(due->QuadPart - now->QuadPart)
|
||||
/ (double)fr.QuadPart) * 1000);
|
||||
# else
|
||||
if (now->tv_sec > timer->tr_due.tv_sec)
|
||||
if (now->tv_sec > due->tv_sec)
|
||||
return 0;
|
||||
return (timer->tr_due.tv_sec - now->tv_sec) * 1000
|
||||
+ (timer->tr_due.tv_usec - now->tv_usec) / 1000;
|
||||
return (due->tv_sec - now->tv_sec) * 1000
|
||||
+ (due->tv_usec - now->tv_usec) / 1000;
|
||||
# endif
|
||||
}
|
||||
|
||||
@@ -1219,7 +1219,7 @@ check_due_timer(void)
|
||||
|
||||
if (timer->tr_id == -1 || timer->tr_firing || timer->tr_paused)
|
||||
continue;
|
||||
this_due = timer_time_left(timer, &now);
|
||||
this_due = proftime_time_left(&timer->tr_due, &now);
|
||||
if (this_due <= 1)
|
||||
{
|
||||
int save_timer_busy = timer_busy;
|
||||
@@ -1271,7 +1271,7 @@ check_due_timer(void)
|
||||
&& timer->tr_emsg_count < 3)
|
||||
{
|
||||
profile_setlimit(timer->tr_interval, &timer->tr_due);
|
||||
this_due = timer_time_left(timer, &now);
|
||||
this_due = proftime_time_left(&timer->tr_due, &now);
|
||||
if (this_due < 1)
|
||||
this_due = 1;
|
||||
if (timer->tr_repeat > 0)
|
||||
@@ -1291,6 +1291,27 @@ check_due_timer(void)
|
||||
if (did_one)
|
||||
redraw_after_callback(need_update_screen);
|
||||
|
||||
#ifdef FEAT_BEVAL_TERM
|
||||
if (bevalexpr_due_set)
|
||||
{
|
||||
this_due = proftime_time_left(&bevalexpr_due, &now);
|
||||
if (this_due <= 1)
|
||||
{
|
||||
bevalexpr_due_set = FALSE;
|
||||
|
||||
if (balloonEval == NULL)
|
||||
{
|
||||
balloonEval = (BalloonEval *)alloc(sizeof(BalloonEval));
|
||||
balloonEvalForTerm = TRUE;
|
||||
}
|
||||
if (balloonEval != NULL)
|
||||
general_beval_cb(balloonEval, 0);
|
||||
}
|
||||
else if (this_due > 0 && (next_due == -1 || next_due > this_due))
|
||||
next_due = this_due;
|
||||
}
|
||||
#endif
|
||||
|
||||
return current_id != last_timer_id ? 1 : next_due;
|
||||
}
|
||||
|
||||
@@ -1358,7 +1379,7 @@ add_timer_info(typval_T *rettv, timer_T *timer)
|
||||
dict_add_nr_str(dict, "time", (long)timer->tr_interval, NULL);
|
||||
|
||||
profile_start(&now);
|
||||
remaining = timer_time_left(timer, &now);
|
||||
remaining = proftime_time_left(&timer->tr_due, &now);
|
||||
dict_add_nr_str(dict, "remaining", (long)remaining, NULL);
|
||||
|
||||
dict_add_nr_str(dict, "repeat",
|
||||
@@ -1813,6 +1834,26 @@ script_dump_profile(FILE *fd)
|
||||
{
|
||||
if (vim_fgets(IObuff, IOSIZE, sfd))
|
||||
break;
|
||||
/* When a line has been truncated, append NL, taking care
|
||||
* of multi-byte characters . */
|
||||
if (IObuff[IOSIZE - 2] != NUL && IObuff[IOSIZE - 2] != NL)
|
||||
{
|
||||
int n = IOSIZE - 2;
|
||||
# ifdef FEAT_MBYTE
|
||||
if (enc_utf8)
|
||||
{
|
||||
/* Move to the first byte of this char.
|
||||
* utf_head_off() doesn't work, because it checks
|
||||
* for a truncated character. */
|
||||
while (n > 0 && (IObuff[n] & 0xc0) == 0x80)
|
||||
--n;
|
||||
}
|
||||
else if (has_mbyte)
|
||||
n -= mb_head_off(IObuff, IObuff + n);
|
||||
# endif
|
||||
IObuff[n] = NL;
|
||||
IObuff[n + 1] = NUL;
|
||||
}
|
||||
if (i < si->sn_prl_ga.ga_len
|
||||
&& (pp = &PRL_ITEM(si, i))->snp_count > 0)
|
||||
{
|
||||
|
||||
+4
-2
@@ -11730,9 +11730,11 @@ put_view(
|
||||
}
|
||||
|
||||
/*
|
||||
* Local directory.
|
||||
* Local directory, if the current flag is not view options or the "curdir"
|
||||
* option is included.
|
||||
*/
|
||||
if (wp->w_localdir != NULL)
|
||||
if (wp->w_localdir != NULL
|
||||
&& (flagp != &vop_flags || (*flagp & SSOP_CURDIR)))
|
||||
{
|
||||
if (fputs("lcd ", fd) < 0
|
||||
|| ses_put_fname(fd, wp->w_localdir, flagp) == FAIL
|
||||
|
||||
+17
-10
@@ -220,7 +220,7 @@ getcmdline(
|
||||
pos_T match_end;
|
||||
# ifdef FEAT_DIFF
|
||||
int old_topfill;
|
||||
int init_topfill = curwin->w_topfill;
|
||||
int init_topfill = curwin->w_topfill;
|
||||
# endif
|
||||
linenr_T old_botline;
|
||||
linenr_T init_botline = curwin->w_botline;
|
||||
@@ -359,11 +359,11 @@ getcmdline(
|
||||
b_im_ptr = &curbuf->b_p_imsearch;
|
||||
if (*b_im_ptr == B_IMODE_LMAP)
|
||||
State |= LANGMAP;
|
||||
#ifdef USE_IM_CONTROL
|
||||
#ifdef FEAT_MBYTE
|
||||
im_set_active(*b_im_ptr == B_IMODE_IM);
|
||||
#endif
|
||||
}
|
||||
#ifdef USE_IM_CONTROL
|
||||
#ifdef FEAT_MBYTE
|
||||
else if (p_imcmdline)
|
||||
im_set_active(TRUE);
|
||||
#endif
|
||||
@@ -417,12 +417,12 @@ getcmdline(
|
||||
|
||||
cursorcmd(); /* set the cursor on the right spot */
|
||||
|
||||
/* Get a character. Ignore K_IGNORE, it should not do anything, such
|
||||
* as stop completion. */
|
||||
/* Get a character. Ignore K_IGNORE and K_NOP, they should not do
|
||||
* anything, such as stop completion. */
|
||||
do
|
||||
{
|
||||
c = safe_vgetc();
|
||||
} while (c == K_IGNORE);
|
||||
} while (c == K_IGNORE || c == K_NOP);
|
||||
|
||||
if (KeyTyped)
|
||||
{
|
||||
@@ -1119,7 +1119,7 @@ getcmdline(
|
||||
{
|
||||
/* ":lmap" mappings exists, toggle use of mappings. */
|
||||
State ^= LANGMAP;
|
||||
#ifdef USE_IM_CONTROL
|
||||
#ifdef FEAT_MBYTE
|
||||
im_set_active(FALSE); /* Disable input method */
|
||||
#endif
|
||||
if (b_im_ptr != NULL)
|
||||
@@ -1130,7 +1130,7 @@ getcmdline(
|
||||
*b_im_ptr = B_IMODE_NONE;
|
||||
}
|
||||
}
|
||||
#ifdef USE_IM_CONTROL
|
||||
#ifdef FEAT_MBYTE
|
||||
else
|
||||
{
|
||||
/* There are no ":lmap" mappings, toggle IM. When
|
||||
@@ -1452,6 +1452,7 @@ getcmdline(
|
||||
case K_X2MOUSE:
|
||||
case K_X2DRAG:
|
||||
case K_X2RELEASE:
|
||||
case K_MOUSEMOVE:
|
||||
goto cmdline_not_changed;
|
||||
|
||||
# ifdef FEAT_GUI_MACVIM
|
||||
@@ -1723,11 +1724,17 @@ getcmdline(
|
||||
if (p_is && !cmd_silent && (firstc == '/' || firstc == '?'))
|
||||
{
|
||||
pos_T t;
|
||||
char_u *pat;
|
||||
int search_flags = SEARCH_NOOF;
|
||||
|
||||
if (ccline.cmdlen == 0)
|
||||
goto cmdline_not_changed;
|
||||
|
||||
if (firstc == ccline.cmdbuff[0])
|
||||
pat = last_search_pattern();
|
||||
else
|
||||
pat = ccline.cmdbuff;
|
||||
|
||||
save_last_search_pattern();
|
||||
cursor_off();
|
||||
out_flush();
|
||||
@@ -1747,7 +1754,7 @@ getcmdline(
|
||||
++emsg_off;
|
||||
i = searchit(curwin, curbuf, &t,
|
||||
c == Ctrl_G ? FORWARD : BACKWARD,
|
||||
ccline.cmdbuff, count, search_flags,
|
||||
pat, count, search_flags,
|
||||
RE_SEARCH, 0, NULL, NULL);
|
||||
--emsg_off;
|
||||
if (i)
|
||||
@@ -2144,7 +2151,7 @@ returncmd:
|
||||
#endif
|
||||
|
||||
State = save_State;
|
||||
#ifdef USE_IM_CONTROL
|
||||
#ifdef FEAT_MBYTE
|
||||
if (b_im_ptr != NULL && *b_im_ptr != B_IMODE_LMAP)
|
||||
im_save_status(b_im_ptr);
|
||||
im_set_active(FALSE);
|
||||
|
||||
+29
-3
@@ -636,7 +636,8 @@
|
||||
/* #define FEAT_MBYTE_IME */
|
||||
# endif
|
||||
|
||||
#if defined(FEAT_MBYTE_IME) && !defined(FEAT_MBYTE)
|
||||
/* Input methods are only useful with +multi_byte. */
|
||||
#if (defined(FEAT_MBYTE_IME) || defined(FEAT_XIM)) && !defined(FEAT_MBYTE)
|
||||
# define FEAT_MBYTE
|
||||
#endif
|
||||
|
||||
@@ -1181,6 +1182,20 @@
|
||||
# define FEAT_CLIENTSERVER
|
||||
#endif
|
||||
|
||||
/*
|
||||
* +autoservername Automatically generate a servername for clientserver
|
||||
* when --servername is not passed on the command line.
|
||||
*/
|
||||
#if defined(FEAT_CLIENTSERVER) && !defined(FEAT_AUTOSERVERNAME)
|
||||
# ifdef WIN3264
|
||||
/* Always enabled on MS-Windows. */
|
||||
# define FEAT_AUTOSERVERNAME
|
||||
# else
|
||||
/* Enable here if you don't use configure. */
|
||||
/* # define FEAT_AUTOSERVERNAME */
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* +termresponse send t_RV to obtain terminal response. Used for xterm
|
||||
* to check if mouse dragging can be used and if term
|
||||
@@ -1319,17 +1334,28 @@
|
||||
&& !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)) \
|
||||
|| defined(FEAT_SUN_WORKSHOP) \
|
||||
|| defined(FEAT_NETBEANS_INTG) || defined(FEAT_EVAL))
|
||||
# define FEAT_BEVAL
|
||||
# define FEAT_BEVAL_GUI
|
||||
# if !defined(FEAT_XFONTSET) && !defined(FEAT_GUI_GTK) \
|
||||
&& !defined(FEAT_GUI_W32) && !defined(FEAT_GUI_MACVIM)
|
||||
# define FEAT_XFONTSET
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_BEVAL) && (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA))
|
||||
#if defined(FEAT_BEVAL_GUI) && (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA))
|
||||
# define FEAT_BEVAL_TIP /* balloon eval used for toolbar tooltip */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* +balloon_eval_term Allow balloon expression evaluation in the terminal.
|
||||
*/
|
||||
#if defined(FEAT_HUGE) && defined(UNIX) && defined(FEAT_TIMERS)
|
||||
# define FEAT_BEVAL_TERM
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_BEVAL_GUI) || defined(FEAT_BEVAL_TERM)
|
||||
# define FEAT_BEVAL
|
||||
#endif
|
||||
|
||||
/* both Motif and Athena are X11 and share some code */
|
||||
#if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA)
|
||||
# define FEAT_GUI_X11
|
||||
|
||||
+109
-27
@@ -849,17 +849,20 @@ readfile(
|
||||
*/
|
||||
if (read_stdin)
|
||||
{
|
||||
if (!is_not_a_term())
|
||||
{
|
||||
#ifndef ALWAYS_USE_GUI
|
||||
mch_msg(_("Vim: Reading from stdin...\n"));
|
||||
mch_msg(_("Vim: Reading from stdin...\n"));
|
||||
#endif
|
||||
#ifdef FEAT_GUI
|
||||
/* Also write a message in the GUI window, if there is one. */
|
||||
if (gui.in_use && !gui.dying && !gui.starting)
|
||||
{
|
||||
p = (char_u *)_("Reading from stdin...");
|
||||
gui_write(p, (int)STRLEN(p));
|
||||
}
|
||||
/* Also write a message in the GUI window, if there is one. */
|
||||
if (gui.in_use && !gui.dying && !gui.starting)
|
||||
{
|
||||
p = (char_u *)_("Reading from stdin...");
|
||||
gui_write(p, (int)STRLEN(p));
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else if (!read_buffer)
|
||||
filemess(curbuf, sfname, (char_u *)"", 0);
|
||||
@@ -3863,6 +3866,7 @@ buf_write(
|
||||
char_u *rootname;
|
||||
#if defined(UNIX)
|
||||
int did_set_shortname;
|
||||
mode_t umask_save;
|
||||
#endif
|
||||
|
||||
copybuf = alloc(BUFSIZE + 1);
|
||||
@@ -3994,10 +3998,17 @@ buf_write(
|
||||
/* remove old backup, if present */
|
||||
mch_remove(backup);
|
||||
/* Open with O_EXCL to avoid the file being created while
|
||||
* we were sleeping (symlink hacker attack?) */
|
||||
* we were sleeping (symlink hacker attack?). Reset umask
|
||||
* if possible to avoid mch_setperm() below. */
|
||||
#ifdef UNIX
|
||||
umask_save = umask(0);
|
||||
#endif
|
||||
bfd = mch_open((char *)backup,
|
||||
O_WRONLY|O_CREAT|O_EXTRA|O_EXCL|O_NOFOLLOW,
|
||||
perm & 0777);
|
||||
#ifdef UNIX
|
||||
(void)umask(umask_save);
|
||||
#endif
|
||||
if (bfd < 0)
|
||||
{
|
||||
vim_free(backup);
|
||||
@@ -4005,11 +4016,12 @@ buf_write(
|
||||
}
|
||||
else
|
||||
{
|
||||
/* set file protection same as original file, but
|
||||
* strip s-bit */
|
||||
/* Set file protection same as original file, but
|
||||
* strip s-bit. Only needed if umask() wasn't used
|
||||
* above. */
|
||||
#ifndef UNIX
|
||||
(void)mch_setperm(backup, perm & 0777);
|
||||
|
||||
#ifdef UNIX
|
||||
#else
|
||||
/*
|
||||
* Try to set the group of the backup same as the
|
||||
* original file. If this fails, set the protection
|
||||
@@ -4377,6 +4389,11 @@ buf_write(
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef HAVE_FTRUNCATE
|
||||
# define TRUNC_ON_OPEN 0
|
||||
#else
|
||||
# define TRUNC_ON_OPEN O_TRUNC
|
||||
#endif
|
||||
/*
|
||||
* Open the file "wfname" for writing.
|
||||
* We may try to open the file twice: If we can't write to the file
|
||||
@@ -4389,7 +4406,7 @@ buf_write(
|
||||
*/
|
||||
while ((fd = mch_open((char *)wfname, O_WRONLY | O_EXTRA | (append
|
||||
? (forceit ? (O_APPEND | O_CREAT) : O_APPEND)
|
||||
: (O_CREAT | O_TRUNC))
|
||||
: (O_CREAT | TRUNC_ON_OPEN))
|
||||
, perm < 0 ? 0666 : (perm & 0777))) < 0)
|
||||
{
|
||||
/*
|
||||
@@ -4482,6 +4499,30 @@ restore_backup:
|
||||
}
|
||||
write_info.bw_fd = fd;
|
||||
|
||||
#if defined(UNIX)
|
||||
{
|
||||
stat_T st;
|
||||
|
||||
/* Double check we are writing the intended file before making
|
||||
* any changes. */
|
||||
if (overwriting
|
||||
&& (!dobackup || backup_copy)
|
||||
&& fname == wfname
|
||||
&& perm >= 0
|
||||
&& mch_fstat(fd, &st) == 0
|
||||
&& st.st_ino != st_old.st_ino)
|
||||
{
|
||||
close(fd);
|
||||
errmsg = (char_u *)_("E949: File changed while writing");
|
||||
goto fail;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#ifdef HAVE_FTRUNCATE
|
||||
if (!append)
|
||||
ignored = ftruncate(fd, (off_t)0);
|
||||
#endif
|
||||
|
||||
#if defined(WIN3264)
|
||||
if (backup != NULL && overwriting && !append)
|
||||
{
|
||||
@@ -4733,7 +4774,7 @@ restore_backup:
|
||||
*/
|
||||
if (p_fs && fsync(fd) != 0 && !device)
|
||||
{
|
||||
errmsg = (char_u *)_("E667: Fsync failed");
|
||||
errmsg = (char_u *)_(e_fsync);
|
||||
end = 0;
|
||||
}
|
||||
#endif
|
||||
@@ -4752,15 +4793,17 @@ restore_backup:
|
||||
# ifdef HAVE_FCHOWN
|
||||
stat_T st;
|
||||
|
||||
/* don't change the owner when it's already OK, some systems remove
|
||||
* permission or ACL stuff */
|
||||
/* Don't change the owner when it's already OK, some systems remove
|
||||
* permission or ACL stuff. */
|
||||
if (mch_stat((char *)wfname, &st) < 0
|
||||
|| st.st_uid != st_old.st_uid
|
||||
|| st.st_gid != st_old.st_gid)
|
||||
{
|
||||
ignored = fchown(fd, st_old.st_uid, st_old.st_gid);
|
||||
if (perm >= 0) /* set permission again, may have changed */
|
||||
(void)mch_setperm(wfname, perm);
|
||||
/* changing owner might not be possible */
|
||||
ignored = fchown(fd, st_old.st_uid, -1);
|
||||
/* if changing group fails clear the group permissions */
|
||||
if (fchown(fd, -1, st_old.st_gid) == -1 && perm > 0)
|
||||
perm &= ~070;
|
||||
}
|
||||
# endif
|
||||
buf_setino(buf);
|
||||
@@ -4770,18 +4813,26 @@ restore_backup:
|
||||
buf_setino(buf);
|
||||
#endif
|
||||
|
||||
#ifdef UNIX
|
||||
if (made_writable)
|
||||
perm &= ~0200; /* reset 'w' bit for security reasons */
|
||||
#endif
|
||||
#ifdef HAVE_FCHMOD
|
||||
/* set permission of new file same as old file */
|
||||
if (perm >= 0)
|
||||
(void)mch_fsetperm(fd, perm);
|
||||
#endif
|
||||
if (close(fd) != 0)
|
||||
{
|
||||
errmsg = (char_u *)_("E512: Close failed");
|
||||
end = 0;
|
||||
}
|
||||
|
||||
#ifdef UNIX
|
||||
if (made_writable)
|
||||
perm &= ~0200; /* reset 'w' bit for security reasons */
|
||||
#endif
|
||||
if (perm >= 0) /* set perm. of new file same as old file */
|
||||
#ifndef HAVE_FCHMOD
|
||||
/* set permission of new file same as old file */
|
||||
if (perm >= 0)
|
||||
(void)mch_setperm(wfname, perm);
|
||||
#endif
|
||||
#ifdef HAVE_ACL
|
||||
/*
|
||||
* Probably need to set the ACL before changing the user (can't set the
|
||||
@@ -7688,6 +7739,8 @@ forward_slash(char_u *fname)
|
||||
* together, to avoid having to match the pattern too often.
|
||||
* The result is an array of Autopat lists, which point to AutoCmd lists:
|
||||
*
|
||||
* last_autopat[0] -----------------------------+
|
||||
* V
|
||||
* first_autopat[0] --> Autopat.next --> Autopat.next --> NULL
|
||||
* Autopat.cmds Autopat.cmds
|
||||
* | |
|
||||
@@ -7700,6 +7753,8 @@ forward_slash(char_u *fname)
|
||||
* V
|
||||
* NULL
|
||||
*
|
||||
* last_autopat[1] --------+
|
||||
* V
|
||||
* first_autopat[1] --> Autopat.next --> NULL
|
||||
* Autopat.cmds
|
||||
* |
|
||||
@@ -7727,11 +7782,12 @@ typedef struct AutoCmd
|
||||
|
||||
typedef struct AutoPat
|
||||
{
|
||||
struct AutoPat *next; /* next AutoPat in AutoPat list; MUST
|
||||
* be the first entry */
|
||||
char_u *pat; /* pattern as typed (NULL when pattern
|
||||
has been removed) */
|
||||
regprog_T *reg_prog; /* compiled regprog for pattern */
|
||||
AutoCmd *cmds; /* list of commands to do */
|
||||
struct AutoPat *next; /* next AutoPat in AutoPat list */
|
||||
int group; /* group ID */
|
||||
int patlen; /* strlen() of pat */
|
||||
int buflocal_nr; /* !=0 for buffer-local AutoPat */
|
||||
@@ -7851,6 +7907,16 @@ static AutoPat *first_autopat[NUM_EVENTS] =
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
|
||||
};
|
||||
|
||||
static AutoPat *last_autopat[NUM_EVENTS] =
|
||||
{
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
|
||||
};
|
||||
|
||||
/*
|
||||
* struct used to keep status while executing autocommands for an event.
|
||||
*/
|
||||
@@ -8049,6 +8115,15 @@ au_cleanup(void)
|
||||
/* remove the pattern if it has been marked for deletion */
|
||||
if (ap->pat == NULL)
|
||||
{
|
||||
if (ap->next == NULL)
|
||||
{
|
||||
if (prev_ap == &(first_autopat[(int)event]))
|
||||
last_autopat[(int)event] = NULL;
|
||||
else
|
||||
/* this depends on the "next" field being the first in
|
||||
* the struct */
|
||||
last_autopat[(int)event] = (AutoPat *)prev_ap;
|
||||
}
|
||||
*prev_ap = ap->next;
|
||||
vim_regfree(ap->reg_prog);
|
||||
vim_free(ap);
|
||||
@@ -8713,9 +8788,13 @@ do_autocmd_event(
|
||||
}
|
||||
|
||||
/*
|
||||
* Find AutoPat entries with this pattern.
|
||||
* Find AutoPat entries with this pattern. When adding a command it
|
||||
* always goes at or after the last one, so start at the end.
|
||||
*/
|
||||
prev_ap = &first_autopat[(int)event];
|
||||
if (!forceit && *cmd != NUL && last_autopat[(int)event] != NULL)
|
||||
prev_ap = &last_autopat[(int)event];
|
||||
else
|
||||
prev_ap = &first_autopat[(int)event];
|
||||
while ((ap = *prev_ap) != NULL)
|
||||
{
|
||||
if (ap->pat != NULL)
|
||||
@@ -8821,6 +8900,7 @@ do_autocmd_event(
|
||||
}
|
||||
ap->cmds = NULL;
|
||||
*prev_ap = ap;
|
||||
last_autopat[(int)event] = ap;
|
||||
ap->next = NULL;
|
||||
if (group == AUGROUP_ALL)
|
||||
ap->group = current_augroup;
|
||||
@@ -9400,6 +9480,7 @@ apply_autocmds_group(
|
||||
#endif
|
||||
int did_save_redobuff = FALSE;
|
||||
save_redo_T save_redo;
|
||||
int save_KeyTyped = KeyTyped;
|
||||
|
||||
/*
|
||||
* Quickly return if there are no autocommands for this event or
|
||||
@@ -9696,6 +9777,7 @@ apply_autocmds_group(
|
||||
prof_child_exit(&wait_time);
|
||||
# endif
|
||||
#endif
|
||||
KeyTyped = save_KeyTyped;
|
||||
vim_free(fname);
|
||||
vim_free(sfname);
|
||||
--nesting; /* see matching increment above */
|
||||
|
||||
+9
-1
@@ -1792,6 +1792,14 @@ vgetc(void)
|
||||
*/
|
||||
may_garbage_collect = FALSE;
|
||||
#endif
|
||||
#ifdef FEAT_BEVAL_TERM
|
||||
if (c != K_MOUSEMOVE && c != K_IGNORE)
|
||||
{
|
||||
/* Don't trigger 'balloonexpr' unless only the mouse was moved. */
|
||||
bevalexpr_due_set = FALSE;
|
||||
ui_remove_balloon();
|
||||
}
|
||||
#endif
|
||||
|
||||
return c;
|
||||
}
|
||||
@@ -2882,7 +2890,7 @@ vgetorpeek(int advance)
|
||||
+ typebuf.tb_len] != NUL)
|
||||
typebuf.tb_noremap[typebuf.tb_off
|
||||
+ typebuf.tb_len++] = RM_YES;
|
||||
#ifdef USE_IM_CONTROL
|
||||
#ifdef FEAT_MBYTE
|
||||
/* Get IM status right after getting keys, not after the
|
||||
* timeout for a mapping (focus may be lost by then). */
|
||||
vgetc_im_active = im_get_status();
|
||||
|
||||
+10
-1
@@ -1024,7 +1024,7 @@ EXTERN int stop_insert_mode; /* for ":stopinsert" and 'insertmode' */
|
||||
|
||||
EXTERN int KeyTyped; /* TRUE if user typed current char */
|
||||
EXTERN int KeyStuffed; /* TRUE if current char from stuffbuf */
|
||||
#ifdef USE_IM_CONTROL
|
||||
#ifdef FEAT_MBYTE
|
||||
EXTERN int vgetc_im_active; /* Input Method was active for last
|
||||
character obtained from vgetc() */
|
||||
#endif
|
||||
@@ -1233,6 +1233,7 @@ EXTERN int no_hlsearch INIT(= FALSE);
|
||||
|
||||
#if defined(FEAT_BEVAL) && !defined(NO_X11_INCLUDES)
|
||||
EXTERN BalloonEval *balloonEval INIT(= NULL);
|
||||
EXTERN int balloonEvalForTerm INIT(= FALSE);
|
||||
# if defined(FEAT_NETBEANS_INTG) || defined(FEAT_SUN_WORKSHOP)
|
||||
EXTERN int bevalServers INIT(= 0);
|
||||
# define BEVAL_NETBEANS 0x01
|
||||
@@ -1454,6 +1455,9 @@ EXTERN char_u e_isadir2[] INIT(= N_("E17: \"%s\" is a directory"));
|
||||
#ifdef FEAT_LIBCALL
|
||||
EXTERN char_u e_libcall[] INIT(= N_("E364: Library call failed for \"%s()\""));
|
||||
#endif
|
||||
#ifdef HAVE_FSYNC
|
||||
EXTERN char_u e_fsync[] INIT(= N_("E667: Fsync failed"));
|
||||
#endif
|
||||
#if defined(DYNAMIC_PERL) \
|
||||
|| defined(DYNAMIC_PYTHON) || defined(DYNAMIC_PYTHON3) \
|
||||
|| defined(DYNAMIC_RUBY) \
|
||||
@@ -1650,6 +1654,11 @@ EXTERN int did_add_timer INIT(= FALSE);
|
||||
EXTERN int timer_busy INIT(= 0); /* when timer is inside vgetc() then > 0 */
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_BEVAL_TERM
|
||||
EXTERN int bevalexpr_due_set INIT(= FALSE);
|
||||
EXTERN proftime_T bevalexpr_due;
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
EXTERN time_T time_for_testing INIT(= 0);
|
||||
|
||||
|
||||
@@ -693,7 +693,7 @@ gui_init(void)
|
||||
#ifndef FEAT_GUI_GTK
|
||||
/* Set the shell size, adjusted for the screen size. For GTK this only
|
||||
* works after the shell has been opened, thus it is further down. */
|
||||
gui_set_shellsize(FALSE, TRUE, RESIZE_BOTH);
|
||||
gui_set_shellsize(TRUE, TRUE, RESIZE_BOTH);
|
||||
#endif
|
||||
#if defined(FEAT_GUI_MOTIF) && defined(FEAT_MENU)
|
||||
/* Need to set the size of the menubar after all the menus have been
|
||||
@@ -732,15 +732,18 @@ gui_init(void)
|
||||
# endif
|
||||
|
||||
/* Now make sure the shell fits on the screen. */
|
||||
gui_set_shellsize(FALSE, TRUE, RESIZE_BOTH);
|
||||
gui_set_shellsize(TRUE, TRUE, RESIZE_BOTH);
|
||||
#endif
|
||||
/* When 'lines' was set while starting up the topframe may have to be
|
||||
* resized. */
|
||||
win_new_shellsize();
|
||||
|
||||
#ifdef FEAT_BEVAL
|
||||
#ifdef FEAT_BEVAL_GUI
|
||||
/* Always create the Balloon Evaluation area, but disable it when
|
||||
* 'ballooneval' is off */
|
||||
* 'ballooneval' is off. */
|
||||
if (balloonEval != NULL)
|
||||
vim_free(balloonEval);
|
||||
balloonEvalForTerm = FALSE;
|
||||
# ifdef FEAT_GUI_GTK
|
||||
balloonEval = gui_mch_create_beval_area(gui.drawarea, NULL,
|
||||
&general_beval_cb, NULL);
|
||||
@@ -924,7 +927,7 @@ gui_init_font(char_u *font_list, int fontset UNUSED)
|
||||
# endif
|
||||
gui_mch_set_font(gui.norm_font);
|
||||
#endif
|
||||
gui_set_shellsize(FALSE, TRUE, RESIZE_BOTH);
|
||||
gui_set_shellsize(TRUE, TRUE, RESIZE_BOTH);
|
||||
}
|
||||
|
||||
return ret;
|
||||
@@ -1090,7 +1093,7 @@ gui_update_cursor(
|
||||
gui_undraw_cursor();
|
||||
if (gui.row < 0)
|
||||
return;
|
||||
#ifdef USE_IM_CONTROL
|
||||
#ifdef FEAT_MBYTE
|
||||
if (gui.row != gui.cursor_row || gui.col != gui.cursor_col)
|
||||
im_set_position(gui.row, gui.col);
|
||||
#endif
|
||||
@@ -1133,6 +1136,9 @@ gui_update_cursor(
|
||||
gui_mch_set_blinking(shape->blinkwait,
|
||||
shape->blinkon,
|
||||
shape->blinkoff);
|
||||
if (shape->blinkwait == 0 || shape->blinkon == 0
|
||||
|| shape->blinkoff == 0)
|
||||
gui_mch_stop_blink();
|
||||
#ifdef FEAT_TERMINAL
|
||||
if (shape_bg != INVALCOLOR)
|
||||
{
|
||||
@@ -1145,7 +1151,7 @@ gui_update_cursor(
|
||||
if (id > 0)
|
||||
{
|
||||
cattr = syn_id2colors(id, &cfg, &cbg);
|
||||
#if defined(USE_IM_CONTROL) || defined(FEAT_HANGULIN)
|
||||
#if defined(FEAT_MBYTE) || defined(FEAT_HANGULIN)
|
||||
{
|
||||
static int iid;
|
||||
guicolor_T fg, bg;
|
||||
@@ -1570,10 +1576,12 @@ gui_get_shellsize(void)
|
||||
* Set the size of the Vim shell according to Rows and Columns.
|
||||
* If "fit_to_display" is TRUE then the size may be reduced to fit the window
|
||||
* on the screen.
|
||||
* When "mustset" is TRUE the size was set by the user. When FALSE a UI
|
||||
* component was added or removed (e.g., a scrollbar).
|
||||
*/
|
||||
void
|
||||
gui_set_shellsize(
|
||||
int mustset UNUSED, /* set by the user */
|
||||
int mustset UNUSED,
|
||||
int fit_to_display,
|
||||
int direction) /* RESIZE_HOR, RESIZE_VER */
|
||||
{
|
||||
@@ -1597,7 +1605,8 @@ gui_set_shellsize(
|
||||
#if defined(MSWIN) || defined(FEAT_GUI_GTK)
|
||||
/* If not setting to a user specified size and maximized, calculate the
|
||||
* number of characters that fit in the maximized window. */
|
||||
if (!mustset && gui_mch_maximized())
|
||||
if (!mustset && (vim_strchr(p_go, GO_KEEPWINSIZE) != NULL
|
||||
|| gui_mch_maximized()))
|
||||
{
|
||||
gui_mch_newfont();
|
||||
return;
|
||||
@@ -3158,15 +3167,18 @@ button_set:
|
||||
{
|
||||
case NORMAL_BUSY:
|
||||
case OP_PENDING:
|
||||
# ifdef FEAT_TERMINAL
|
||||
case TERMINAL:
|
||||
# endif
|
||||
case NORMAL: checkfor = MOUSE_NORMAL; break;
|
||||
case VISUAL: checkfor = MOUSE_VISUAL; break;
|
||||
case SELECTMODE: checkfor = MOUSE_VISUAL; break;
|
||||
case REPLACE:
|
||||
case REPLACE+LANGMAP:
|
||||
#ifdef FEAT_VREPLACE
|
||||
# ifdef FEAT_VREPLACE
|
||||
case VREPLACE:
|
||||
case VREPLACE+LANGMAP:
|
||||
#endif
|
||||
# endif
|
||||
case INSERT:
|
||||
case INSERT+LANGMAP: checkfor = MOUSE_INSERT; break;
|
||||
case ASKMORE:
|
||||
|
||||
@@ -16,10 +16,6 @@
|
||||
# include <X11/StringDefs.h>
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_BEVAL) || defined(PROTO)
|
||||
# include "gui_beval.h"
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_GUI_GTK
|
||||
# ifdef VMS /* undef MIN and MAX because Intrinsic.h redefines them anyway */
|
||||
# ifdef MAX
|
||||
|
||||
+6
-6
@@ -1019,7 +1019,7 @@ gui_mch_new_menu_font(void)
|
||||
XFreePixmap(gui.dpy, oldpuller);
|
||||
}
|
||||
|
||||
#if defined(FEAT_BEVAL) || defined(PROTO)
|
||||
#if defined(FEAT_BEVAL_GUI) || defined(PROTO)
|
||||
void
|
||||
gui_mch_new_tooltip_font(void)
|
||||
{
|
||||
@@ -1076,7 +1076,7 @@ gui_mch_submenu_change(
|
||||
XtVaSetValues(mp->id, XtNbitmap, mp->image, NULL);
|
||||
}
|
||||
|
||||
# ifdef FEAT_BEVAL
|
||||
# ifdef FEAT_BEVAL_GUI
|
||||
/* If we have a tooltip, then we need to change it's colors */
|
||||
if (mp->tip != NULL)
|
||||
{
|
||||
@@ -1094,7 +1094,7 @@ gui_mch_submenu_change(
|
||||
else
|
||||
{
|
||||
gui_athena_menu_font(mp->id);
|
||||
#ifdef FEAT_BEVAL
|
||||
#ifdef FEAT_BEVAL_GUI
|
||||
/* If we have a tooltip, then we need to change it's font */
|
||||
/* Assume XtNinternational == True (in createBalloonEvalWindow)
|
||||
*/
|
||||
@@ -1201,7 +1201,7 @@ gui_mch_add_menu_item(vimmenu_T *menu, int idx UNUSED)
|
||||
XtSetValues(menu->id, args, n);
|
||||
gui_athena_menu_colors(menu->id);
|
||||
|
||||
#ifdef FEAT_BEVAL
|
||||
#ifdef FEAT_BEVAL_GUI
|
||||
gui_mch_menu_set_tip(menu);
|
||||
#endif
|
||||
|
||||
@@ -1538,7 +1538,7 @@ gui_mch_destroy_menu(vimmenu_T *menu)
|
||||
XtVaGetValues(menu->id,
|
||||
XtNheight, &height,
|
||||
NULL);
|
||||
#if defined(FEAT_TOOLBAR) && defined(FEAT_BEVAL)
|
||||
#if defined(FEAT_TOOLBAR) && defined(FEAT_BEVAL_GUI)
|
||||
if (parent == toolBar && menu->tip != NULL)
|
||||
{
|
||||
/* We try to destroy this before the actual menu, because there are
|
||||
@@ -1843,7 +1843,7 @@ gui_mch_def_colors(void)
|
||||
gui.menu_bg_pixel = gui_get_color((char_u *)gui.rsrc_menu_bg_name);
|
||||
gui.scroll_fg_pixel = gui_get_color((char_u *)gui.rsrc_scroll_fg_name);
|
||||
gui.scroll_bg_pixel = gui_get_color((char_u *)gui.rsrc_scroll_bg_name);
|
||||
#ifdef FEAT_BEVAL
|
||||
#ifdef FEAT_BEVAL_GUI
|
||||
gui.tooltip_fg_pixel = gui_get_color((char_u *)gui.rsrc_tooltip_fg_name);
|
||||
gui.tooltip_bg_pixel = gui_get_color((char_u *)gui.rsrc_tooltip_bg_name);
|
||||
#endif
|
||||
|
||||
+3
-221
@@ -10,110 +10,7 @@
|
||||
|
||||
#include "vim.h"
|
||||
|
||||
#if defined(FEAT_BEVAL) || defined(PROTO)
|
||||
|
||||
/*
|
||||
* Common code, invoked when the mouse is resting for a moment.
|
||||
*/
|
||||
void
|
||||
general_beval_cb(BalloonEval *beval, int state UNUSED)
|
||||
{
|
||||
#ifdef FEAT_EVAL
|
||||
win_T *wp;
|
||||
int col;
|
||||
int use_sandbox;
|
||||
linenr_T lnum;
|
||||
char_u *text;
|
||||
static char_u *result = NULL;
|
||||
long winnr = 0;
|
||||
char_u *bexpr;
|
||||
buf_T *save_curbuf;
|
||||
size_t len;
|
||||
win_T *cw;
|
||||
#endif
|
||||
static int recursive = FALSE;
|
||||
|
||||
/* Don't do anything when 'ballooneval' is off, messages scrolled the
|
||||
* windows up or we have no beval area. */
|
||||
if (!p_beval || balloonEval == NULL || msg_scrolled > 0)
|
||||
return;
|
||||
|
||||
/* Don't do this recursively. Happens when the expression evaluation
|
||||
* takes a long time and invokes something that checks for CTRL-C typed. */
|
||||
if (recursive)
|
||||
return;
|
||||
recursive = TRUE;
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
if (get_beval_info(balloonEval, TRUE, &wp, &lnum, &text, &col) == OK)
|
||||
{
|
||||
bexpr = (*wp->w_buffer->b_p_bexpr == NUL) ? p_bexpr
|
||||
: wp->w_buffer->b_p_bexpr;
|
||||
if (*bexpr != NUL)
|
||||
{
|
||||
/* Convert window pointer to number. */
|
||||
for (cw = firstwin; cw != wp; cw = cw->w_next)
|
||||
++winnr;
|
||||
|
||||
set_vim_var_nr(VV_BEVAL_BUFNR, (long)wp->w_buffer->b_fnum);
|
||||
set_vim_var_nr(VV_BEVAL_WINNR, winnr);
|
||||
set_vim_var_nr(VV_BEVAL_WINID, wp->w_id);
|
||||
set_vim_var_nr(VV_BEVAL_LNUM, (long)lnum);
|
||||
set_vim_var_nr(VV_BEVAL_COL, (long)(col + 1));
|
||||
set_vim_var_string(VV_BEVAL_TEXT, text, -1);
|
||||
vim_free(text);
|
||||
|
||||
/*
|
||||
* Temporarily change the curbuf, so that we can determine whether
|
||||
* the buffer-local balloonexpr option was set insecurely.
|
||||
*/
|
||||
save_curbuf = curbuf;
|
||||
curbuf = wp->w_buffer;
|
||||
use_sandbox = was_set_insecurely((char_u *)"balloonexpr",
|
||||
*curbuf->b_p_bexpr == NUL ? 0 : OPT_LOCAL);
|
||||
curbuf = save_curbuf;
|
||||
if (use_sandbox)
|
||||
++sandbox;
|
||||
++textlock;
|
||||
|
||||
vim_free(result);
|
||||
result = eval_to_string(bexpr, NULL, TRUE);
|
||||
|
||||
/* Remove one trailing newline, it is added when the result was a
|
||||
* list and it's hardly ever useful. If the user really wants a
|
||||
* trailing newline he can add two and one remains. */
|
||||
if (result != NULL)
|
||||
{
|
||||
len = STRLEN(result);
|
||||
if (len > 0 && result[len - 1] == NL)
|
||||
result[len - 1] = NUL;
|
||||
}
|
||||
|
||||
if (use_sandbox)
|
||||
--sandbox;
|
||||
--textlock;
|
||||
|
||||
set_vim_var_string(VV_BEVAL_TEXT, NULL, -1);
|
||||
if (result != NULL && result[0] != NUL)
|
||||
{
|
||||
gui_mch_post_balloon(beval, result);
|
||||
recursive = FALSE;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
if (bevalServers & BEVAL_NETBEANS)
|
||||
netbeans_beval_cb(beval, state);
|
||||
#endif
|
||||
#ifdef FEAT_SUN_WORKSHOP
|
||||
if (bevalServers & BEVAL_WORKSHOP)
|
||||
workshop_beval_cb(beval, state);
|
||||
#endif
|
||||
|
||||
recursive = FALSE;
|
||||
}
|
||||
#if defined(FEAT_BEVAL_GUI) || defined(PROTO)
|
||||
|
||||
/* on Win32 and MacVim only get_beval_info() is required */
|
||||
#if !(defined(FEAT_GUI_W32) || defined(FEAT_GUI_MACVIM)) || defined(PROTO)
|
||||
@@ -145,8 +42,6 @@ general_beval_cb(BalloonEval *beval, int state UNUSED)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#include "gui_beval.h"
|
||||
|
||||
#ifndef FEAT_GUI_GTK
|
||||
extern Widget vimShell;
|
||||
|
||||
@@ -188,8 +83,6 @@ static void drawBalloon(BalloonEval *);
|
||||
static void undrawBalloon(BalloonEval *beval);
|
||||
static void createBalloonEvalWindow(BalloonEval *);
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Create a balloon-evaluation area for a Widget.
|
||||
* There can be either a "mesg" for a fixed string or "mesgCB" to generate a
|
||||
@@ -314,113 +207,6 @@ gui_mch_currently_showing_beval(void)
|
||||
|
||||
#if defined(FEAT_SUN_WORKSHOP) || defined(FEAT_NETBEANS_INTG) \
|
||||
|| defined(FEAT_EVAL) || defined(PROTO)
|
||||
/*
|
||||
* Get the text and position to be evaluated for "beval".
|
||||
* If "getword" is true the returned text is not the whole line but the
|
||||
* relevant word in allocated memory.
|
||||
* Returns OK or FAIL.
|
||||
*/
|
||||
int
|
||||
get_beval_info(
|
||||
BalloonEval *beval,
|
||||
int getword,
|
||||
win_T **winp,
|
||||
linenr_T *lnump,
|
||||
char_u **textp,
|
||||
int *colp)
|
||||
{
|
||||
win_T *wp;
|
||||
int row, col;
|
||||
char_u *lbuf;
|
||||
linenr_T lnum;
|
||||
|
||||
*textp = NULL;
|
||||
row = Y_2_ROW(beval->y);
|
||||
col = X_2_COL(beval->x);
|
||||
wp = mouse_find_win(&row, &col);
|
||||
if (wp != NULL && row < wp->w_height && col < wp->w_width)
|
||||
{
|
||||
/* Found a window and the cursor is in the text. Now find the line
|
||||
* number. */
|
||||
if (!mouse_comp_pos(wp, &row, &col, &lnum))
|
||||
{
|
||||
/* Not past end of the file. */
|
||||
lbuf = ml_get_buf(wp->w_buffer, lnum, FALSE);
|
||||
if (col <= win_linetabsize(wp, lbuf, (colnr_T)MAXCOL))
|
||||
{
|
||||
/* Not past end of line. */
|
||||
if (getword)
|
||||
{
|
||||
/* For Netbeans we get the relevant part of the line
|
||||
* instead of the whole line. */
|
||||
int len;
|
||||
pos_T *spos = NULL, *epos = NULL;
|
||||
|
||||
if (VIsual_active)
|
||||
{
|
||||
if (LT_POS(VIsual, curwin->w_cursor))
|
||||
{
|
||||
spos = &VIsual;
|
||||
epos = &curwin->w_cursor;
|
||||
}
|
||||
else
|
||||
{
|
||||
spos = &curwin->w_cursor;
|
||||
epos = &VIsual;
|
||||
}
|
||||
}
|
||||
|
||||
col = vcol2col(wp, lnum, col);
|
||||
|
||||
if (VIsual_active
|
||||
&& wp->w_buffer == curwin->w_buffer
|
||||
&& (lnum == spos->lnum
|
||||
? col >= (int)spos->col
|
||||
: lnum > spos->lnum)
|
||||
&& (lnum == epos->lnum
|
||||
? col <= (int)epos->col
|
||||
: lnum < epos->lnum))
|
||||
{
|
||||
/* Visual mode and pointing to the line with the
|
||||
* Visual selection: return selected text, with a
|
||||
* maximum of one line. */
|
||||
if (spos->lnum != epos->lnum || spos->col == epos->col)
|
||||
return FAIL;
|
||||
|
||||
lbuf = ml_get_buf(curwin->w_buffer, VIsual.lnum, FALSE);
|
||||
len = epos->col - spos->col;
|
||||
if (*p_sel != 'e')
|
||||
len += MB_PTR2LEN(lbuf + epos->col);
|
||||
lbuf = vim_strnsave(lbuf + spos->col, len);
|
||||
lnum = spos->lnum;
|
||||
col = spos->col;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Find the word under the cursor. */
|
||||
++emsg_off;
|
||||
len = find_ident_at_pos(wp, lnum, (colnr_T)col, &lbuf,
|
||||
FIND_IDENT + FIND_STRING + FIND_EVAL);
|
||||
--emsg_off;
|
||||
if (len == 0)
|
||||
return FAIL;
|
||||
lbuf = vim_strnsave(lbuf, len);
|
||||
}
|
||||
}
|
||||
|
||||
*winp = wp;
|
||||
*lnump = lnum;
|
||||
*textp = lbuf;
|
||||
*colp = col;
|
||||
beval->ts = wp->w_buffer->b_p_ts;
|
||||
return OK;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
# if !(defined(FEAT_GUI_W32) || defined(FEAT_GUI_MACVIM)) || defined(PROTO)
|
||||
|
||||
/*
|
||||
@@ -435,7 +221,7 @@ gui_mch_post_balloon(BalloonEval *beval, char_u *mesg)
|
||||
else
|
||||
undrawBalloon(beval);
|
||||
}
|
||||
# endif /* FEAT_GUI_W32 || FEAT_GUI_MACVIM */
|
||||
# endif /* !(FEAT_GUI_W32 || FEAT_GUI_MACVIM) */
|
||||
#endif /* FEAT_SUN_WORKSHOP || FEAT_NETBEANS_INTG || PROTO */
|
||||
|
||||
#if !(defined(FEAT_GUI_W32) || defined(FEAT_GUI_MACVIM)) || defined(PROTO)
|
||||
@@ -451,10 +237,6 @@ gui_mch_unpost_balloon(BalloonEval *beval)
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_GUI_GTK
|
||||
/*
|
||||
* We can unconditionally use ANSI-style prototypes here since
|
||||
* GTK+ requires an ANSI C compiler anyway.
|
||||
*/
|
||||
static void
|
||||
addEventHandler(GtkWidget *target, BalloonEval *beval)
|
||||
{
|
||||
@@ -1495,4 +1277,4 @@ createBalloonEvalWindow(BalloonEval *beval)
|
||||
#endif /* !FEAT_GUI_GTK */
|
||||
#endif /* !(FEAT_GUI_W32 || FEAT_GUI_MACVIM) */
|
||||
|
||||
#endif /* FEAT_BEVAL */
|
||||
#endif /* FEAT_BEVAL_GUI */
|
||||
|
||||
+622
-271
File diff suppressed because it is too large
Load Diff
+11
-5
@@ -4,6 +4,7 @@
|
||||
*
|
||||
* Contributors:
|
||||
* - Ken Takata
|
||||
* - Yasuhiro Matsumoto
|
||||
*
|
||||
* Copyright (C) 2013 MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
* THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
|
||||
@@ -54,21 +55,26 @@ void DWrite_Init(void);
|
||||
void DWrite_Final(void);
|
||||
|
||||
DWriteContext *DWriteContext_Open(void);
|
||||
void DWriteContext_BeginDraw(DWriteContext *ctx);
|
||||
void DWriteContext_BindDC(DWriteContext *ctx, HDC hdc, RECT *rect);
|
||||
void DWriteContext_BindDC(DWriteContext *ctx, HDC hdc, const RECT *rect);
|
||||
void DWriteContext_SetFont(DWriteContext *ctx, HFONT hFont);
|
||||
void DWriteContext_DrawText(
|
||||
DWriteContext *ctx,
|
||||
HDC hdc,
|
||||
const WCHAR* text,
|
||||
const WCHAR *text,
|
||||
int len,
|
||||
int x,
|
||||
int y,
|
||||
int w,
|
||||
int h,
|
||||
int cellWidth,
|
||||
COLORREF color,
|
||||
UINT fuOptions,
|
||||
const RECT *lprc,
|
||||
const INT *lpDx);
|
||||
void DWriteContext_FillRect(DWriteContext *ctx, const RECT *rc, COLORREF color);
|
||||
void DWriteContext_DrawLine(DWriteContext *ctx, int x1, int y1, int x2, int y2,
|
||||
COLORREF color);
|
||||
void DWriteContext_EndDraw(DWriteContext *ctx);
|
||||
void DWriteContext_SetPixel(DWriteContext *ctx, int x, int y, COLORREF color);
|
||||
void DWriteContext_Flush(DWriteContext *ctx);
|
||||
void DWriteContext_Close(DWriteContext *ctx);
|
||||
|
||||
void DWriteContext_SetRenderingParams(
|
||||
|
||||
+4
-3
@@ -2938,7 +2938,7 @@ mainwin_screen_changed_cb(GtkWidget *widget,
|
||||
if (gui.norm_font != NULL)
|
||||
{
|
||||
gui_mch_init_font(p_guifont, FALSE);
|
||||
gui_set_shellsize(FALSE, FALSE, RESIZE_BOTH);
|
||||
gui_set_shellsize(TRUE, FALSE, RESIZE_BOTH);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4909,8 +4909,9 @@ gui_mch_unmaximize(void)
|
||||
}
|
||||
|
||||
/*
|
||||
* Called when the font changed while the window is maximized. Compute the
|
||||
* new Rows and Columns. This is like resizing the window.
|
||||
* Called when the font changed while the window is maximized or GO_KEEPWINSIZE
|
||||
* is set. Compute the new Rows and Columns. This is like resizing the
|
||||
* window.
|
||||
*/
|
||||
void
|
||||
gui_mch_newfont(void)
|
||||
|
||||
+7
-7
@@ -2024,15 +2024,15 @@ gui_mac_handle_window_activate(
|
||||
switch (eventKind)
|
||||
{
|
||||
case kEventWindowActivated:
|
||||
#if defined(USE_IM_CONTROL)
|
||||
# if defined(FEAT_MBYTE)
|
||||
im_on_window_switch(TRUE);
|
||||
#endif
|
||||
# endif
|
||||
return noErr;
|
||||
|
||||
case kEventWindowDeactivated:
|
||||
#if defined(USE_IM_CONTROL)
|
||||
# if defined(FEAT_MBYTE)
|
||||
im_on_window_switch(FALSE);
|
||||
#endif
|
||||
# endif
|
||||
return noErr;
|
||||
}
|
||||
}
|
||||
@@ -6240,7 +6240,7 @@ char_u *FullPathFromFSSpec_save(FSSpec file)
|
||||
#endif
|
||||
}
|
||||
|
||||
#if (defined(USE_IM_CONTROL) || defined(PROTO)) && defined(USE_CARBONKEYHANDLER)
|
||||
#if (defined(FEAT_MBYTE) || defined(PROTO)) && defined(USE_CARBONKEYHANDLER)
|
||||
/*
|
||||
* Input Method Control functions.
|
||||
*/
|
||||
@@ -6327,7 +6327,7 @@ im_set_active(int active)
|
||||
ScriptLanguageRecord *slptr = NULL;
|
||||
OSStatus err;
|
||||
|
||||
if (! gui.in_use)
|
||||
if (!gui.in_use)
|
||||
return;
|
||||
|
||||
if (im_initialized == 0)
|
||||
@@ -6389,7 +6389,7 @@ im_get_status(void)
|
||||
return im_is_active;
|
||||
}
|
||||
|
||||
#endif /* defined(USE_IM_CONTROL) || defined(PROTO) */
|
||||
#endif /* defined(FEAT_MBYTE) || defined(PROTO) */
|
||||
|
||||
|
||||
|
||||
|
||||
+6
-6
@@ -1360,7 +1360,7 @@ gui_mch_add_menu_item(vimmenu_T *menu, int idx)
|
||||
if (xms != NULL)
|
||||
XmStringFree(xms);
|
||||
|
||||
# ifdef FEAT_BEVAL
|
||||
# ifdef FEAT_BEVAL_GUI
|
||||
gui_mch_menu_set_tip(menu);
|
||||
# endif
|
||||
|
||||
@@ -1509,7 +1509,7 @@ gui_mch_new_menu_font(void)
|
||||
ui_new_shellsize();
|
||||
}
|
||||
|
||||
#if defined(FEAT_BEVAL) || defined(PROTO)
|
||||
#if defined(FEAT_BEVAL_GUI) || defined(PROTO)
|
||||
void
|
||||
gui_mch_new_tooltip_font(void)
|
||||
{
|
||||
@@ -1566,7 +1566,7 @@ submenu_change(
|
||||
n = add_pixmap_args(mp, args, n);
|
||||
XtSetValues(mp->id, args, n);
|
||||
}
|
||||
# ifdef FEAT_BEVAL
|
||||
# ifdef FEAT_BEVAL_GUI
|
||||
/* If we have a tooltip, then we need to change it's font */
|
||||
if (mp->tip != NULL)
|
||||
{
|
||||
@@ -1584,7 +1584,7 @@ submenu_change(
|
||||
else
|
||||
{
|
||||
gui_motif_menu_fontlist(mp->id);
|
||||
#ifdef FEAT_BEVAL
|
||||
#ifdef FEAT_BEVAL_GUI
|
||||
/* If we have a tooltip, then we need to change it's font */
|
||||
if (mp->tip != NULL)
|
||||
{
|
||||
@@ -1642,7 +1642,7 @@ gui_mch_destroy_menu(vimmenu_T *menu)
|
||||
Widget parent;
|
||||
|
||||
parent = XtParent(menu->id);
|
||||
#if defined(FEAT_TOOLBAR) && defined(FEAT_BEVAL)
|
||||
#if defined(FEAT_TOOLBAR) && defined(FEAT_BEVAL_GUI)
|
||||
if (parent == toolBar && menu->tip != NULL)
|
||||
{
|
||||
/* We try to destroy this before the actual menu, because there are
|
||||
@@ -1703,7 +1703,7 @@ gui_mch_def_colors(void)
|
||||
gui.menu_bg_pixel = gui.menu_def_bg_pixel;
|
||||
gui.scroll_fg_pixel = gui.scroll_def_fg_pixel;
|
||||
gui.scroll_bg_pixel = gui.scroll_def_bg_pixel;
|
||||
#ifdef FEAT_BEVAL
|
||||
#ifdef FEAT_BEVAL_GUI
|
||||
gui.tooltip_fg_pixel =
|
||||
gui_get_color((char_u *)gui.rsrc_tooltip_fg_name);
|
||||
gui.tooltip_bg_pixel =
|
||||
|
||||
+232
-97
@@ -33,29 +33,16 @@
|
||||
static DWriteContext *s_dwc = NULL;
|
||||
static int s_directx_enabled = 0;
|
||||
static int s_directx_load_attempted = 0;
|
||||
static int s_directx_scrlines = 0;
|
||||
# define IS_ENABLE_DIRECTX() (s_directx_enabled && s_dwc != NULL)
|
||||
static int directx_enabled(void);
|
||||
static void directx_binddc(void);
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_MENU
|
||||
static int gui_mswin_get_menu_height(int fix_window);
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_DIRECTX) || defined(PROTO)
|
||||
int
|
||||
directx_enabled(void)
|
||||
{
|
||||
if (s_dwc != NULL)
|
||||
return 1;
|
||||
else if (s_directx_load_attempted)
|
||||
return 0;
|
||||
/* load DirectX */
|
||||
DWrite_Init();
|
||||
s_directx_load_attempted = 1;
|
||||
s_dwc = DWriteContext_Open();
|
||||
return s_dwc != NULL ? 1 : 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_RENDER_OPTIONS) || defined(PROTO)
|
||||
int
|
||||
gui_mch_set_rendering_options(char_u *s)
|
||||
@@ -71,6 +58,7 @@ gui_mch_set_rendering_options(char_u *s)
|
||||
int dx_geom = 0;
|
||||
int dx_renmode = 0;
|
||||
int dx_taamode = 0;
|
||||
int dx_scrlines = 0;
|
||||
|
||||
/* parse string as rendering options. */
|
||||
for (p = s; p != NULL && *p != NUL; )
|
||||
@@ -131,10 +119,17 @@ gui_mch_set_rendering_options(char_u *s)
|
||||
if (dx_taamode < 0 || dx_taamode > 3)
|
||||
return FAIL;
|
||||
}
|
||||
else if (STRCMP(name, "scrlines") == 0)
|
||||
{
|
||||
dx_scrlines = atoi((char *)value);
|
||||
}
|
||||
else
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
if (!gui.in_use)
|
||||
return OK; /* only checking the syntax of the value */
|
||||
|
||||
/* Enable DirectX/DirectWrite */
|
||||
if (dx_enable)
|
||||
{
|
||||
@@ -161,6 +156,7 @@ gui_mch_set_rendering_options(char_u *s)
|
||||
}
|
||||
}
|
||||
s_directx_enabled = dx_enable;
|
||||
s_directx_scrlines = dx_scrlines;
|
||||
|
||||
return OK;
|
||||
#else
|
||||
@@ -197,7 +193,7 @@ gui_mch_set_rendering_options(char_u *s)
|
||||
#ifndef __MINGW32__
|
||||
# include <shellapi.h>
|
||||
#endif
|
||||
#if defined(FEAT_TOOLBAR) || defined(FEAT_BEVAL) || defined(FEAT_GUI_TABLINE)
|
||||
#if defined(FEAT_TOOLBAR) || defined(FEAT_BEVAL_GUI) || defined(FEAT_GUI_TABLINE)
|
||||
# include <commctrl.h>
|
||||
#endif
|
||||
#include <windowsx.h>
|
||||
@@ -297,6 +293,7 @@ typedef int UINT_PTR;
|
||||
#endif
|
||||
|
||||
static void _OnPaint( HWND hwnd);
|
||||
static void fill_rect(const RECT *rcp, HBRUSH hbr, COLORREF color);
|
||||
static void clear_rect(RECT *rcp);
|
||||
|
||||
static WORD s_dlgfntheight; /* height of the dialog font */
|
||||
@@ -369,6 +366,34 @@ static int allow_scrollbar = FALSE;
|
||||
# define MyTranslateMessage(x) TranslateMessage(x)
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_DIRECTX)
|
||||
static int
|
||||
directx_enabled(void)
|
||||
{
|
||||
if (s_dwc != NULL)
|
||||
return 1;
|
||||
else if (s_directx_load_attempted)
|
||||
return 0;
|
||||
/* load DirectX */
|
||||
DWrite_Init();
|
||||
s_directx_load_attempted = 1;
|
||||
s_dwc = DWriteContext_Open();
|
||||
directx_binddc();
|
||||
return s_dwc != NULL ? 1 : 0;
|
||||
}
|
||||
|
||||
static void
|
||||
directx_binddc(void)
|
||||
{
|
||||
if (s_textArea != NULL)
|
||||
{
|
||||
RECT rect;
|
||||
GetClientRect(s_textArea, &rect);
|
||||
DWriteContext_BindDC(s_dwc, s_hdc, &rect);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_MBYTE) || defined(GLOBAL_IME)
|
||||
/* use of WindowProc depends on wide_WindowProc */
|
||||
# define MyWindowProc vim_WindowProc
|
||||
@@ -473,7 +498,7 @@ static UINT s_wait_timer = 0; /* Timer for get char from user */
|
||||
static int s_timed_out = FALSE;
|
||||
static int dead_key = 0; /* 0: no dead key, 1: dead key pressed */
|
||||
|
||||
#ifdef FEAT_BEVAL
|
||||
#ifdef FEAT_BEVAL_GUI
|
||||
/* balloon-eval WM_NOTIFY_HANDLER */
|
||||
static void Handle_WM_Notify(HWND hwnd, LPNMHDR pnmh);
|
||||
static void TrackUserActivity(UINT uMsg);
|
||||
@@ -484,13 +509,13 @@ static void TrackUserActivity(UINT uMsg);
|
||||
*
|
||||
* These LOGFONT used for IME.
|
||||
*/
|
||||
#ifdef FEAT_MBYTE
|
||||
# ifdef USE_IM_CONTROL
|
||||
#if defined(FEAT_MBYTE_IME) || defined(GLOBAL_IME)
|
||||
/* holds LOGFONT for 'guifontwide' if available, otherwise 'guifont' */
|
||||
static LOGFONT norm_logfont;
|
||||
#endif
|
||||
#ifdef FEAT_MBYTE_IME
|
||||
/* holds LOGFONT for 'guifont' always. */
|
||||
static LOGFONT sub_logfont;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_MBYTE_IME
|
||||
@@ -591,6 +616,7 @@ _OnBlinkTimer(
|
||||
blink_timer = (UINT) SetTimer(NULL, 0, (UINT)blink_ontime,
|
||||
(TIMERPROC)_OnBlinkTimer);
|
||||
}
|
||||
gui_mch_flush();
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -616,7 +642,10 @@ gui_mch_stop_blink(void)
|
||||
{
|
||||
gui_mswin_rm_blink_timer();
|
||||
if (blink_state == BLINK_OFF)
|
||||
{
|
||||
gui_update_cursor(TRUE, FALSE);
|
||||
gui_mch_flush();
|
||||
}
|
||||
blink_state = BLINK_NONE;
|
||||
}
|
||||
|
||||
@@ -636,6 +665,7 @@ gui_mch_start_blink(void)
|
||||
(TIMERPROC)_OnBlinkTimer);
|
||||
blink_state = BLINK_ON;
|
||||
gui_update_cursor(TRUE, FALSE);
|
||||
gui_mch_flush();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1002,6 +1032,19 @@ _OnMouseMoveOrRelease(
|
||||
_OnMouseEvent(button, x, y, FALSE, keyFlags);
|
||||
}
|
||||
|
||||
static void
|
||||
_OnSizeTextArea(
|
||||
HWND hwnd UNUSED,
|
||||
UINT state UNUSED,
|
||||
int cx UNUSED,
|
||||
int cy UNUSED)
|
||||
{
|
||||
#if defined(FEAT_DIRECTX)
|
||||
if (IS_ENABLE_DIRECTX())
|
||||
directx_binddc();
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef FEAT_MENU
|
||||
/*
|
||||
* Find the vimmenu_T with the given id
|
||||
@@ -1216,7 +1259,7 @@ _TextAreaWndProc(
|
||||
s_wParam = wParam;
|
||||
s_lParam = lParam;
|
||||
|
||||
#ifdef FEAT_BEVAL
|
||||
#ifdef FEAT_BEVAL_GUI
|
||||
TrackUserActivity(uMsg);
|
||||
#endif
|
||||
|
||||
@@ -1236,8 +1279,9 @@ _TextAreaWndProc(
|
||||
HANDLE_MSG(hwnd, WM_XBUTTONDBLCLK,_OnMouseButtonDown);
|
||||
HANDLE_MSG(hwnd, WM_XBUTTONDOWN,_OnMouseButtonDown);
|
||||
HANDLE_MSG(hwnd, WM_XBUTTONUP, _OnMouseMoveOrRelease);
|
||||
HANDLE_MSG(hwnd, WM_SIZE, _OnSizeTextArea);
|
||||
|
||||
#ifdef FEAT_BEVAL
|
||||
#ifdef FEAT_BEVAL_GUI
|
||||
case WM_NOTIFY: Handle_WM_Notify(hwnd, (LPNMHDR)lParam);
|
||||
return TRUE;
|
||||
#endif
|
||||
@@ -1635,6 +1679,11 @@ gui_mch_invert_rectangle(
|
||||
{
|
||||
RECT rc;
|
||||
|
||||
#if defined(FEAT_DIRECTX)
|
||||
if (IS_ENABLE_DIRECTX())
|
||||
DWriteContext_Flush(s_dwc);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Note: InvertRect() excludes right and bottom of rectangle.
|
||||
*/
|
||||
@@ -1663,6 +1712,11 @@ gui_mch_draw_hollow_cursor(guicolor_T color)
|
||||
HBRUSH hbr;
|
||||
RECT rc;
|
||||
|
||||
#if defined(FEAT_DIRECTX)
|
||||
if (IS_ENABLE_DIRECTX())
|
||||
DWriteContext_Flush(s_dwc);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Note: FrameRect() excludes right and bottom of rectangle.
|
||||
*/
|
||||
@@ -1688,7 +1742,6 @@ gui_mch_draw_part_cursor(
|
||||
int h,
|
||||
guicolor_T color)
|
||||
{
|
||||
HBRUSH hbr;
|
||||
RECT rc;
|
||||
|
||||
/*
|
||||
@@ -1703,9 +1756,8 @@ gui_mch_draw_part_cursor(
|
||||
rc.top = FILL_Y(gui.row) + gui.char_height - h;
|
||||
rc.right = rc.left + w;
|
||||
rc.bottom = rc.top + h;
|
||||
hbr = CreateSolidBrush(color);
|
||||
FillRect(s_hdc, &rc, hbr);
|
||||
DeleteBrush(hbr);
|
||||
|
||||
fill_rect(&rc, NULL, color);
|
||||
}
|
||||
|
||||
|
||||
@@ -2858,10 +2910,6 @@ _OnPaint(
|
||||
|
||||
out_flush(); /* make sure all output has been processed */
|
||||
(void)BeginPaint(hwnd, &ps);
|
||||
#if defined(FEAT_DIRECTX)
|
||||
if (IS_ENABLE_DIRECTX())
|
||||
DWriteContext_BeginDraw(s_dwc);
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_MBYTE
|
||||
/* prevent multi-byte characters from misprinting on an invalid
|
||||
@@ -2878,19 +2926,11 @@ _OnPaint(
|
||||
|
||||
if (!IsRectEmpty(&ps.rcPaint))
|
||||
{
|
||||
#if defined(FEAT_DIRECTX)
|
||||
if (IS_ENABLE_DIRECTX())
|
||||
DWriteContext_BindDC(s_dwc, s_hdc, &ps.rcPaint);
|
||||
#endif
|
||||
gui_redraw(ps.rcPaint.left, ps.rcPaint.top,
|
||||
ps.rcPaint.right - ps.rcPaint.left + 1,
|
||||
ps.rcPaint.bottom - ps.rcPaint.top + 1);
|
||||
}
|
||||
|
||||
#if defined(FEAT_DIRECTX)
|
||||
if (IS_ENABLE_DIRECTX())
|
||||
DWriteContext_EndDraw(s_dwc);
|
||||
#endif
|
||||
EndPaint(hwnd, &ps);
|
||||
}
|
||||
}
|
||||
@@ -3012,6 +3052,11 @@ gui_mch_flash(int msec)
|
||||
{
|
||||
RECT rc;
|
||||
|
||||
#if defined(FEAT_DIRECTX)
|
||||
if (IS_ENABLE_DIRECTX())
|
||||
DWriteContext_Flush(s_dwc);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Note: InvertRect() excludes right and bottom of rectangle.
|
||||
*/
|
||||
@@ -3081,16 +3126,33 @@ gui_mch_delete_lines(
|
||||
int num_lines)
|
||||
{
|
||||
RECT rc;
|
||||
|
||||
intel_gpu_workaround();
|
||||
#if defined(FEAT_DIRECTX)
|
||||
int use_redraw = 0;
|
||||
#endif
|
||||
|
||||
rc.left = FILL_X(gui.scroll_region_left);
|
||||
rc.right = FILL_X(gui.scroll_region_right + 1);
|
||||
rc.top = FILL_Y(row);
|
||||
rc.bottom = FILL_Y(gui.scroll_region_bot + 1);
|
||||
|
||||
ScrollWindowEx(s_textArea, 0, -num_lines * gui.char_height,
|
||||
#if defined(FEAT_DIRECTX)
|
||||
if (IS_ENABLE_DIRECTX())
|
||||
{
|
||||
if (s_directx_scrlines > 0 && s_directx_scrlines <= num_lines)
|
||||
{
|
||||
RedrawWindow(s_textArea, &rc, NULL, RDW_INVALIDATE);
|
||||
use_redraw = 1;
|
||||
}
|
||||
else
|
||||
DWriteContext_Flush(s_dwc);
|
||||
}
|
||||
if (!use_redraw)
|
||||
#endif
|
||||
{
|
||||
intel_gpu_workaround();
|
||||
ScrollWindowEx(s_textArea, 0, -num_lines * gui.char_height,
|
||||
&rc, &rc, NULL, NULL, get_scroll_flags());
|
||||
}
|
||||
|
||||
UpdateWindow(s_textArea);
|
||||
/* This seems to be required to avoid the cursor disappearing when
|
||||
@@ -3114,17 +3176,35 @@ gui_mch_insert_lines(
|
||||
int num_lines)
|
||||
{
|
||||
RECT rc;
|
||||
|
||||
intel_gpu_workaround();
|
||||
#if defined(FEAT_DIRECTX)
|
||||
int use_redraw = 0;
|
||||
#endif
|
||||
|
||||
rc.left = FILL_X(gui.scroll_region_left);
|
||||
rc.right = FILL_X(gui.scroll_region_right + 1);
|
||||
rc.top = FILL_Y(row);
|
||||
rc.bottom = FILL_Y(gui.scroll_region_bot + 1);
|
||||
/* The SW_INVALIDATE is required when part of the window is covered or
|
||||
* off-screen. How do we avoid it when it's not needed? */
|
||||
ScrollWindowEx(s_textArea, 0, num_lines * gui.char_height,
|
||||
|
||||
#if defined(FEAT_DIRECTX)
|
||||
if (IS_ENABLE_DIRECTX())
|
||||
{
|
||||
if (s_directx_scrlines > 0 && s_directx_scrlines <= num_lines)
|
||||
{
|
||||
RedrawWindow(s_textArea, &rc, NULL, RDW_INVALIDATE);
|
||||
use_redraw = 1;
|
||||
}
|
||||
else
|
||||
DWriteContext_Flush(s_dwc);
|
||||
}
|
||||
if (!use_redraw)
|
||||
#endif
|
||||
{
|
||||
intel_gpu_workaround();
|
||||
/* The SW_INVALIDATE is required when part of the window is covered or
|
||||
* off-screen. How do we avoid it when it's not needed? */
|
||||
ScrollWindowEx(s_textArea, 0, num_lines * gui.char_height,
|
||||
&rc, &rc, NULL, NULL, get_scroll_flags());
|
||||
}
|
||||
|
||||
UpdateWindow(s_textArea);
|
||||
|
||||
@@ -3310,6 +3390,8 @@ gui_mch_init_font(char_u *font_name, int fontset UNUSED)
|
||||
font_name = (char_u *)lf.lfFaceName;
|
||||
#if defined(FEAT_MBYTE_IME) || defined(GLOBAL_IME)
|
||||
norm_logfont = lf;
|
||||
#endif
|
||||
#ifdef FEAT_MBYTE_IME
|
||||
sub_logfont = lf;
|
||||
#endif
|
||||
#ifdef FEAT_MBYTE_IME
|
||||
@@ -3385,8 +3467,9 @@ gui_mch_maximized(void)
|
||||
}
|
||||
|
||||
/*
|
||||
* Called when the font changed while the window is maximized. Compute the
|
||||
* new Rows and Columns. This is like resizing the window.
|
||||
* Called when the font changed while the window is maximized or GO_KEEPWINSIZE
|
||||
* is set. Compute the new Rows and Columns. This is like resizing the
|
||||
* window.
|
||||
*/
|
||||
void
|
||||
gui_mch_newfont(void)
|
||||
@@ -4230,7 +4313,7 @@ done:
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef FEAT_BEVAL
|
||||
#ifdef FEAT_BEVAL_GUI
|
||||
# define ID_BEVAL_TOOLTIP 200
|
||||
# define BEVAL_TEXT_LEN MAXPATHL
|
||||
|
||||
@@ -4309,7 +4392,7 @@ typedef HRESULT (WINAPI* DLLGETVERSIONPROC)(DLLVERSIONINFO *);
|
||||
# define TTN_GETDISPINFO (TTN_FIRST - 0)
|
||||
#endif
|
||||
|
||||
#endif /* defined(FEAT_BEVAL) */
|
||||
#endif /* defined(FEAT_BEVAL_GUI) */
|
||||
|
||||
#if defined(FEAT_TOOLBAR) || defined(FEAT_GUI_TABLINE)
|
||||
/* Older MSVC compilers don't have LPNMTTDISPINFO[AW] thus we need to define
|
||||
@@ -5742,15 +5825,15 @@ gui_mch_set_sp_color(guicolor_T color)
|
||||
gui.currSpColor = color;
|
||||
}
|
||||
|
||||
#if defined(FEAT_MBYTE) && defined(FEAT_MBYTE_IME)
|
||||
#ifdef FEAT_MBYTE_IME
|
||||
/*
|
||||
* Multi-byte handling, originally by Sung-Hoon Baek.
|
||||
* First static functions (no prototypes generated).
|
||||
*/
|
||||
#ifdef _MSC_VER
|
||||
# include <ime.h> /* Apparently not needed for Cygwin, MingW or Borland. */
|
||||
#endif
|
||||
#include <imm.h>
|
||||
# ifdef _MSC_VER
|
||||
# include <ime.h> /* Apparently not needed for Cygwin, MingW or Borland. */
|
||||
# endif
|
||||
# include <imm.h>
|
||||
|
||||
/*
|
||||
* handle WM_IME_NOTIFY message
|
||||
@@ -5797,6 +5880,7 @@ _OnImeNotify(HWND hWnd, DWORD dwCommand, DWORD dwData UNUSED)
|
||||
}
|
||||
}
|
||||
gui_update_cursor(TRUE, FALSE);
|
||||
gui_mch_flush();
|
||||
lResult = 0;
|
||||
break;
|
||||
}
|
||||
@@ -5902,7 +5986,7 @@ GetResultStr(HWND hwnd, int GCS, int *lenp)
|
||||
#endif
|
||||
|
||||
/* For global functions we need prototypes. */
|
||||
#if (defined(FEAT_MBYTE) && defined(FEAT_MBYTE_IME)) || defined(PROTO)
|
||||
#if defined(FEAT_MBYTE_IME) || defined(PROTO)
|
||||
|
||||
/*
|
||||
* set font to IM.
|
||||
@@ -6027,7 +6111,7 @@ im_get_status(void)
|
||||
return status;
|
||||
}
|
||||
|
||||
#endif /* FEAT_MBYTE && FEAT_MBYTE_IME */
|
||||
#endif /* FEAT_MBYTE_IME */
|
||||
|
||||
#if defined(FEAT_MBYTE) && !defined(FEAT_MBYTE_IME) && defined(GLOBAL_IME)
|
||||
/* Win32 with GLOBAL IME */
|
||||
@@ -6125,6 +6209,67 @@ RevOut( HDC s_hdc,
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
draw_line(
|
||||
int x1,
|
||||
int y1,
|
||||
int x2,
|
||||
int y2,
|
||||
COLORREF color)
|
||||
{
|
||||
#if defined(FEAT_DIRECTX)
|
||||
if (IS_ENABLE_DIRECTX())
|
||||
DWriteContext_DrawLine(s_dwc, x1, y1, x2, y2, color);
|
||||
else
|
||||
#endif
|
||||
{
|
||||
HPEN hpen = CreatePen(PS_SOLID, 1, color);
|
||||
HPEN old_pen = SelectObject(s_hdc, hpen);
|
||||
MoveToEx(s_hdc, x1, y1, NULL);
|
||||
/* Note: LineTo() excludes the last pixel in the line. */
|
||||
LineTo(s_hdc, x2, y2);
|
||||
DeleteObject(SelectObject(s_hdc, old_pen));
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
set_pixel(
|
||||
int x,
|
||||
int y,
|
||||
COLORREF color)
|
||||
{
|
||||
#if defined(FEAT_DIRECTX)
|
||||
if (IS_ENABLE_DIRECTX())
|
||||
DWriteContext_SetPixel(s_dwc, x, y, color);
|
||||
else
|
||||
#endif
|
||||
SetPixel(s_hdc, x, y, color);
|
||||
}
|
||||
|
||||
static void
|
||||
fill_rect(
|
||||
const RECT *rcp,
|
||||
HBRUSH hbr,
|
||||
COLORREF color)
|
||||
{
|
||||
#if defined(FEAT_DIRECTX)
|
||||
if (IS_ENABLE_DIRECTX())
|
||||
DWriteContext_FillRect(s_dwc, rcp, color);
|
||||
else
|
||||
#endif
|
||||
{
|
||||
HBRUSH hbr2;
|
||||
|
||||
if (hbr == NULL)
|
||||
hbr2 = CreateSolidBrush(color);
|
||||
else
|
||||
hbr2 = hbr;
|
||||
FillRect(s_hdc, rcp, hbr2);
|
||||
if (hbr == NULL)
|
||||
DeleteBrush(hbr2);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
gui_mch_draw_string(
|
||||
int row,
|
||||
@@ -6144,11 +6289,7 @@ gui_mch_draw_string(
|
||||
static int unibuflen = 0;
|
||||
int n = 0;
|
||||
#endif
|
||||
HPEN hpen, old_pen;
|
||||
int y;
|
||||
#ifdef FEAT_DIRECTX
|
||||
int font_is_ttf_or_vector = 0;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Italic and bold text seems to have an extra row of pixels at the bottom
|
||||
@@ -6209,7 +6350,8 @@ gui_mch_draw_string(
|
||||
hbr = hbr_cache[brush_lru];
|
||||
brush_lru = !brush_lru;
|
||||
}
|
||||
FillRect(s_hdc, &rc, hbr);
|
||||
|
||||
fill_rect(&rc, hbr, gui.currBgColor);
|
||||
|
||||
SetBkMode(s_hdc, TRANSPARENT);
|
||||
|
||||
@@ -6228,16 +6370,7 @@ gui_mch_draw_string(
|
||||
|
||||
#ifdef FEAT_DIRECTX
|
||||
if (IS_ENABLE_DIRECTX())
|
||||
{
|
||||
TEXTMETRIC tm;
|
||||
|
||||
GetTextMetrics(s_hdc, &tm);
|
||||
if (tm.tmPitchAndFamily & (TMPF_TRUETYPE | TMPF_VECTOR))
|
||||
{
|
||||
font_is_ttf_or_vector = 1;
|
||||
DWriteContext_SetFont(s_dwc, (HFONT)gui.currFont);
|
||||
}
|
||||
}
|
||||
DWriteContext_SetFont(s_dwc, (HFONT)gui.currFont);
|
||||
#endif
|
||||
|
||||
if (pad_size != Columns || padding == NULL || padding[0] != gui.char_width)
|
||||
@@ -6348,12 +6481,13 @@ gui_mch_draw_string(
|
||||
++clen;
|
||||
}
|
||||
#if defined(FEAT_DIRECTX)
|
||||
if (IS_ENABLE_DIRECTX() && font_is_ttf_or_vector)
|
||||
if (IS_ENABLE_DIRECTX())
|
||||
{
|
||||
/* Add one to "cells" for italics. */
|
||||
DWriteContext_DrawText(s_dwc, s_hdc, unicodebuf, wlen,
|
||||
DWriteContext_DrawText(s_dwc, unicodebuf, wlen,
|
||||
TEXT_X(col), TEXT_Y(row), FILL_X(cells + 1), FILL_Y(1),
|
||||
gui.char_width, gui.currFgColor);
|
||||
gui.char_width, gui.currFgColor,
|
||||
foptions, pcliprect, unicodepdy);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
@@ -6415,29 +6549,19 @@ gui_mch_draw_string(
|
||||
/* Underline */
|
||||
if (flags & DRAW_UNDERL)
|
||||
{
|
||||
hpen = CreatePen(PS_SOLID, 1, gui.currFgColor);
|
||||
old_pen = SelectObject(s_hdc, hpen);
|
||||
/* When p_linespace is 0, overwrite the bottom row of pixels.
|
||||
* Otherwise put the line just below the character. */
|
||||
y = FILL_Y(row + 1) - 1;
|
||||
if (p_linespace > 1)
|
||||
y -= p_linespace - 1;
|
||||
MoveToEx(s_hdc, FILL_X(col), y, NULL);
|
||||
/* Note: LineTo() excludes the last pixel in the line. */
|
||||
LineTo(s_hdc, FILL_X(col + len), y);
|
||||
DeleteObject(SelectObject(s_hdc, old_pen));
|
||||
draw_line(FILL_X(col), y, FILL_X(col + len), y, gui.currFgColor);
|
||||
}
|
||||
|
||||
/* Strikethrough */
|
||||
if (flags & DRAW_STRIKE)
|
||||
{
|
||||
hpen = CreatePen(PS_SOLID, 1, gui.currSpColor);
|
||||
old_pen = SelectObject(s_hdc, hpen);
|
||||
y = FILL_Y(row + 1) - gui.char_height/2;
|
||||
MoveToEx(s_hdc, FILL_X(col), y, NULL);
|
||||
/* Note: LineTo() excludes the last pixel in the line. */
|
||||
LineTo(s_hdc, FILL_X(col + len), y);
|
||||
DeleteObject(SelectObject(s_hdc, old_pen));
|
||||
draw_line(FILL_X(col), y, FILL_X(col + len), y, gui.currSpColor);
|
||||
}
|
||||
|
||||
/* Undercurl */
|
||||
@@ -6451,7 +6575,7 @@ gui_mch_draw_string(
|
||||
for (x = FILL_X(col); x < FILL_X(col + len); ++x)
|
||||
{
|
||||
offset = val[x % 8];
|
||||
SetPixel(s_hdc, x, y - offset, gui.currSpColor);
|
||||
set_pixel(x, y - offset, gui.currSpColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6474,17 +6598,18 @@ gui_mch_flush(void)
|
||||
BOOL __stdcall GdiFlush(void);
|
||||
# endif
|
||||
|
||||
#if defined(FEAT_DIRECTX)
|
||||
if (IS_ENABLE_DIRECTX())
|
||||
DWriteContext_Flush(s_dwc);
|
||||
#endif
|
||||
|
||||
GdiFlush();
|
||||
}
|
||||
|
||||
static void
|
||||
clear_rect(RECT *rcp)
|
||||
{
|
||||
HBRUSH hbr;
|
||||
|
||||
hbr = CreateSolidBrush(gui.back_pixel);
|
||||
FillRect(s_hdc, rcp, hbr);
|
||||
DeleteBrush(hbr);
|
||||
fill_rect(rcp, NULL, gui.back_pixel);
|
||||
}
|
||||
|
||||
|
||||
@@ -8387,6 +8512,11 @@ gui_mch_drawsign(int row, int col, int typenr)
|
||||
if (!gui.in_use || (sign = (signicon_t *)sign_get_image(typenr)) == NULL)
|
||||
return;
|
||||
|
||||
#if defined(FEAT_DIRECTX)
|
||||
if (IS_ENABLE_DIRECTX())
|
||||
DWriteContext_Flush(s_dwc);
|
||||
#endif
|
||||
|
||||
x = TEXT_X(col);
|
||||
y = TEXT_Y(row);
|
||||
w = gui.char_width * 2;
|
||||
@@ -8516,12 +8646,12 @@ gui_mch_destroy_sign(void *sign)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_BEVAL) || defined(PROTO)
|
||||
#if defined(FEAT_BEVAL_GUI) || defined(PROTO)
|
||||
|
||||
/* BALLOON-EVAL IMPLEMENTATION FOR WINDOWS.
|
||||
* Added by Sergey Khorev <sergey.khorev@gmail.com>
|
||||
*
|
||||
* The only reused thing is gui_beval.h and get_beval_info()
|
||||
* The only reused thing is beval.h and get_beval_info()
|
||||
* from gui_beval.c (note it uses x and y of the BalloonEval struct
|
||||
* to get current mouse position).
|
||||
*
|
||||
@@ -8846,7 +8976,7 @@ gui_mch_destroy_beval_area(BalloonEval *beval)
|
||||
{
|
||||
vim_free(beval);
|
||||
}
|
||||
#endif /* FEAT_BEVAL */
|
||||
#endif /* FEAT_BEVAL_GUI */
|
||||
|
||||
#if defined(FEAT_NETBEANS_INTG) || defined(PROTO)
|
||||
/*
|
||||
@@ -8866,6 +8996,11 @@ netbeans_draw_multisign_indicator(int row)
|
||||
x = 0;
|
||||
y = TEXT_Y(row);
|
||||
|
||||
#if defined(FEAT_DIRECTX)
|
||||
if (IS_ENABLE_DIRECTX())
|
||||
DWriteContext_Flush(s_dwc);
|
||||
#endif
|
||||
|
||||
for (i = 0; i < gui.char_height - 3; i++)
|
||||
SetPixel(s_hdc, x+2, y++, gui.currFgColor);
|
||||
|
||||
|
||||
+6
-10
@@ -50,10 +50,6 @@
|
||||
# include <X11/Xmu/Editres.h>
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_BEVAL_TIP
|
||||
# include "gui_beval.h"
|
||||
#endif
|
||||
|
||||
#define VIM_NAME "vim"
|
||||
#define VIM_CLASS "Vim"
|
||||
|
||||
@@ -446,7 +442,7 @@ static XtResource vim_resources[] =
|
||||
XtRString,
|
||||
DFLT_SCROLL_BG_COLOR
|
||||
},
|
||||
#ifdef FEAT_BEVAL
|
||||
#ifdef FEAT_BEVAL_GUI
|
||||
{
|
||||
XtNtooltipForeground,
|
||||
XtCTooltipForeground,
|
||||
@@ -484,7 +480,7 @@ static XtResource vim_resources[] =
|
||||
XtRImmediate,
|
||||
(XtPointer)NOFONTSET
|
||||
},
|
||||
#endif /* FEAT_BEVAL */
|
||||
#endif /* FEAT_BEVAL_GUI */
|
||||
#ifdef FEAT_XIM
|
||||
{
|
||||
"preeditType",
|
||||
@@ -1355,7 +1351,7 @@ gui_mch_init(void)
|
||||
gui.menu_bg_pixel = gui_get_color((char_u *)gui.rsrc_menu_bg_name);
|
||||
gui.scroll_fg_pixel = gui_get_color((char_u *)gui.rsrc_scroll_fg_name);
|
||||
gui.scroll_bg_pixel = gui_get_color((char_u *)gui.rsrc_scroll_bg_name);
|
||||
#ifdef FEAT_BEVAL
|
||||
#ifdef FEAT_BEVAL_GUI
|
||||
gui.tooltip_fg_pixel = gui_get_color((char_u *)gui.rsrc_tooltip_fg_name);
|
||||
gui.tooltip_bg_pixel = gui_get_color((char_u *)gui.rsrc_tooltip_bg_name);
|
||||
#endif
|
||||
@@ -1544,7 +1540,7 @@ gui_mch_init(void)
|
||||
workshop_connect(app_context);
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_BEVAL
|
||||
#ifdef FEAT_BEVAL_GUI
|
||||
gui_init_tooltip_font();
|
||||
#endif
|
||||
#ifdef FEAT_MENU
|
||||
@@ -1685,7 +1681,7 @@ gui_mch_open(void)
|
||||
return OK;
|
||||
}
|
||||
|
||||
#if defined(FEAT_BEVAL) || defined(PROTO)
|
||||
#if defined(FEAT_BEVAL_GUI) || defined(PROTO)
|
||||
/*
|
||||
* Convert the tooltip fontset name to an XFontSet.
|
||||
*/
|
||||
@@ -3411,7 +3407,7 @@ mch_set_mouse_shape(int shape)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if (defined(FEAT_TOOLBAR) && defined(FEAT_BEVAL)) || defined(PROTO)
|
||||
#if (defined(FEAT_TOOLBAR) && defined(FEAT_BEVAL_GUI)) || defined(PROTO)
|
||||
/*
|
||||
* Set the balloon-eval used for the tooltip of a toolbar menu item.
|
||||
* The check for a non-toolbar item was added, because there is a crash when
|
||||
|
||||
+9
-2
@@ -1996,6 +1996,7 @@ DictionaryUpdate(DictionaryObject *self, PyObject *args, PyObject *kwargs)
|
||||
PyObject *todecref;
|
||||
char_u *key;
|
||||
dictitem_T *di;
|
||||
hashitem_T *hi;
|
||||
|
||||
if (!(fast = PySequence_Fast(item, "")))
|
||||
{
|
||||
@@ -2052,7 +2053,8 @@ DictionaryUpdate(DictionaryObject *self, PyObject *args, PyObject *kwargs)
|
||||
|
||||
Py_DECREF(fast);
|
||||
|
||||
if (dict_add(dict, di) == FAIL)
|
||||
hi = hash_find(&dict->dv_hashtab, di->di_key);
|
||||
if (!HASHITEM_EMPTY(hi) || dict_add(dict, di) == FAIL)
|
||||
{
|
||||
RAISE_KEY_ADD_FAIL(di->di_key);
|
||||
Py_DECREF(iterator);
|
||||
@@ -5713,7 +5715,7 @@ run_eval(const char *cmd, typval_T *rettv
|
||||
}
|
||||
else
|
||||
{
|
||||
if (run_ret != Py_None && ConvertFromPyObject(run_ret, rettv) == -1)
|
||||
if (ConvertFromPyObject(run_ret, rettv) == -1)
|
||||
EMSG(_("E859: Failed to convert returned python object to vim value"));
|
||||
Py_DECREF(run_ret);
|
||||
}
|
||||
@@ -6231,6 +6233,11 @@ _ConvertFromPyObject(PyObject *obj, typval_T *tv, PyObject *lookup_dict)
|
||||
|
||||
Py_DECREF(num);
|
||||
}
|
||||
else if (obj == Py_None)
|
||||
{
|
||||
tv->v_type = VAR_SPECIAL;
|
||||
tv->vval.v_number = VVAL_NONE;
|
||||
}
|
||||
else
|
||||
{
|
||||
PyErr_FORMAT(PyExc_TypeError,
|
||||
|
||||
+1
-5
@@ -64,11 +64,7 @@
|
||||
|
||||
#define PY_SSIZE_T_CLEAN
|
||||
|
||||
#ifdef FEAT_GUI_MACVIM
|
||||
# include <Python/Python.h>
|
||||
#else
|
||||
# include <Python.h>
|
||||
#endif
|
||||
#include <Python.h>
|
||||
|
||||
#if !defined(PY_VERSION_HEX) || PY_VERSION_HEX < 0x02050000
|
||||
# undef PY_SSIZE_T_CLEAN
|
||||
|
||||
+2
-11
@@ -117,18 +117,9 @@
|
||||
# define rb_gc_writebarrier_unprotect rb_gc_writebarrier_unprotect_stub
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_GUI_MACVIM
|
||||
# include <Ruby/ruby.h>
|
||||
#else
|
||||
# include <ruby.h>
|
||||
#endif
|
||||
#include <ruby.h>
|
||||
#ifdef RUBY19_OR_LATER
|
||||
# ifdef FEAT_GUI_MACVIM
|
||||
# undef SIZEOF_TIME_T
|
||||
# include <Ruby/ruby/encoding.h>
|
||||
# else
|
||||
# include <ruby/encoding.h>
|
||||
# endif
|
||||
# include <ruby/encoding.h>
|
||||
#endif
|
||||
|
||||
#undef off_t /* ruby defines off_t as _int64, Mingw uses long */
|
||||
|
||||
+1
-1
@@ -1077,7 +1077,7 @@ void workshop_perform_verb(char *verb, void *clientData)
|
||||
}
|
||||
|
||||
/* Send a message to eserve */
|
||||
#if defined(NOHANDS_SUPPORT_FUNCTIONS) || defined(FEAT_BEVAL)
|
||||
#if defined(NOHANDS_SUPPORT_FUNCTIONS) || defined(FEAT_BEVAL_GUI)
|
||||
void workshop_send_message(char *buf)
|
||||
{
|
||||
dummy = write(sd, buf, strlen(buf));
|
||||
|
||||
+6
-4
@@ -269,12 +269,13 @@ enum key_extra
|
||||
, KE_NOP = 97 /* doesn't do something */
|
||||
, KE_FOCUSGAINED = 98 /* focus gained */
|
||||
, KE_FOCUSLOST = 99 /* focus lost */
|
||||
, KE_MOUSEMOVE = 100 /* mouse moved with no button down */
|
||||
|
||||
#ifdef FEAT_GUI_MACVIM
|
||||
, KE_SWIPELEFT = 100 /* Swipe trackpad left */
|
||||
, KE_SWIPERIGHT = 101 /* Swipe trackpad right */
|
||||
, KE_SWIPEUP = 102 /* Swipe trackpad up */
|
||||
, KE_SWIPEDOWN = 103 /* Swipe trackpad down */
|
||||
, KE_SWIPELEFT = 101 /* Swipe trackpad left */
|
||||
, KE_SWIPERIGHT = 102 /* Swipe trackpad right */
|
||||
, KE_SWIPEUP = 103 /* Swipe trackpad up */
|
||||
, KE_SWIPEDOWN = 104 /* Swipe trackpad down */
|
||||
#endif
|
||||
};
|
||||
|
||||
@@ -444,6 +445,7 @@ enum key_extra
|
||||
#define K_LEFTDRAG TERMCAP2KEY(KS_EXTRA, KE_LEFTDRAG)
|
||||
#define K_LEFTRELEASE TERMCAP2KEY(KS_EXTRA, KE_LEFTRELEASE)
|
||||
#define K_LEFTRELEASE_NM TERMCAP2KEY(KS_EXTRA, KE_LEFTRELEASE_NM)
|
||||
#define K_MOUSEMOVE TERMCAP2KEY(KS_EXTRA, KE_MOUSEMOVE)
|
||||
#define K_MIDDLEMOUSE TERMCAP2KEY(KS_EXTRA, KE_MIDDLEMOUSE)
|
||||
#define K_MIDDLEDRAG TERMCAP2KEY(KS_EXTRA, KE_MIDDLEDRAG)
|
||||
#define K_MIDDLERELEASE TERMCAP2KEY(KS_EXTRA, KE_MIDDLERELEASE)
|
||||
|
||||
@@ -79,8 +79,16 @@ INLINE void vterm_rect_move(VTermRect *rect, int row_delta, int col_delta)
|
||||
}
|
||||
#endif
|
||||
|
||||
/* The ansi_index is used for the lower 16 colors, which can be set to any
|
||||
* color. */
|
||||
#define VTERM_ANSI_INDEX_DEFAULT 0 /* color cleared */
|
||||
#define VTERM_ANSI_INDEX_MIN 1
|
||||
#define VTERM_ANSI_INDEX_MAX 16
|
||||
#define VTERM_ANSI_INDEX_NONE 255 /* non-ANSI color, use red/green/blue */
|
||||
|
||||
typedef struct {
|
||||
uint8_t red, green, blue;
|
||||
uint8_t ansi_index;
|
||||
} VTermColor;
|
||||
|
||||
typedef enum {
|
||||
|
||||
+25
-17
@@ -3,25 +3,25 @@
|
||||
#include <stdio.h>
|
||||
|
||||
static const VTermColor ansi_colors[] = {
|
||||
/* R G B */
|
||||
{ 0, 0, 0 }, /* black */
|
||||
{ 224, 0, 0 }, /* red */
|
||||
{ 0, 224, 0 }, /* green */
|
||||
{ 224, 224, 0 }, /* yellow */
|
||||
{ 0, 0, 224 }, /* blue */
|
||||
{ 224, 0, 224 }, /* magenta */
|
||||
{ 0, 224, 224 }, /* cyan */
|
||||
{ 224, 224, 224 }, /* white == light grey */
|
||||
/* R G B index */
|
||||
{ 0, 0, 0, 1 }, /* black */
|
||||
{ 224, 0, 0, 2 }, /* red */
|
||||
{ 0, 224, 0, 3 }, /* green */
|
||||
{ 224, 224, 0, 4 }, /* yellow */
|
||||
{ 0, 0, 224, 5 }, /* blue */
|
||||
{ 224, 0, 224, 6 }, /* magenta */
|
||||
{ 0, 224, 224, 7 }, /* cyan */
|
||||
{ 224, 224, 224, 8 }, /* white == light grey */
|
||||
|
||||
/* high intensity */
|
||||
{ 128, 128, 128 }, /* black */
|
||||
{ 255, 64, 64 }, /* red */
|
||||
{ 64, 255, 64 }, /* green */
|
||||
{ 255, 255, 64 }, /* yellow */
|
||||
{ 64, 64, 255 }, /* blue */
|
||||
{ 255, 64, 255 }, /* magenta */
|
||||
{ 64, 255, 255 }, /* cyan */
|
||||
{ 255, 255, 255 }, /* white for real */
|
||||
{ 128, 128, 128, 9 }, /* black */
|
||||
{ 255, 64, 64, 10 }, /* red */
|
||||
{ 64, 255, 64, 11 }, /* green */
|
||||
{ 255, 255, 64, 12 }, /* yellow */
|
||||
{ 64, 64, 255, 13 }, /* blue */
|
||||
{ 255, 64, 255, 14 }, /* magenta */
|
||||
{ 64, 255, 255, 15 }, /* cyan */
|
||||
{ 255, 255, 255, 16 }, /* white for real */
|
||||
};
|
||||
|
||||
static int ramp6[] = {
|
||||
@@ -57,6 +57,7 @@ static int lookup_colour_palette(const VTermState *state, long index, VTermColor
|
||||
col->blue = ramp6[index % 6];
|
||||
col->green = ramp6[index/6 % 6];
|
||||
col->red = ramp6[index/6/6 % 6];
|
||||
col->ansi_index = VTERM_ANSI_INDEX_NONE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@@ -67,6 +68,7 @@ static int lookup_colour_palette(const VTermState *state, long index, VTermColor
|
||||
col->blue = ramp24[index];
|
||||
col->green = ramp24[index];
|
||||
col->red = ramp24[index];
|
||||
col->ansi_index = VTERM_ANSI_INDEX_NONE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@@ -84,6 +86,7 @@ static int lookup_colour(const VTermState *state, int palette, const long args[]
|
||||
col->red = (uint8_t)CSI_ARG(args[0]);
|
||||
col->green = (uint8_t)CSI_ARG(args[1]);
|
||||
col->blue = (uint8_t)CSI_ARG(args[2]);
|
||||
col->ansi_index = VTERM_ANSI_INDEX_NONE;
|
||||
|
||||
return 3;
|
||||
|
||||
@@ -152,7 +155,9 @@ INTERNAL void vterm_state_newpen(VTermState *state)
|
||||
|
||||
/* 90% grey so that pure white is brighter */
|
||||
state->default_fg.red = state->default_fg.green = state->default_fg.blue = 240;
|
||||
state->default_fg.ansi_index = VTERM_ANSI_INDEX_DEFAULT;
|
||||
state->default_bg.red = state->default_bg.green = state->default_bg.blue = 0;
|
||||
state->default_bg.ansi_index = VTERM_ANSI_INDEX_DEFAULT;
|
||||
|
||||
for(col = 0; col < 16; col++)
|
||||
state->colors[col] = ansi_colors[col];
|
||||
@@ -214,7 +219,10 @@ void vterm_state_set_default_colors(VTermState *state, const VTermColor *default
|
||||
void vterm_state_set_palette_color(VTermState *state, int index, const VTermColor *col)
|
||||
{
|
||||
if(index >= 0 && index < 16)
|
||||
{
|
||||
state->colors[index] = *col;
|
||||
state->colors[index].ansi_index = index + VTERM_ANSI_INDEX_MIN;
|
||||
}
|
||||
}
|
||||
|
||||
void vterm_state_set_bold_highbright(VTermState *state, int bold_is_highbright)
|
||||
|
||||
+9
-3
@@ -3757,12 +3757,18 @@ prepare_server(mparm_T *parmp)
|
||||
/*
|
||||
* Register for remote command execution with :serversend and --remote
|
||||
* unless there was a -X or a --servername '' on the command line.
|
||||
* Only register nongui-vim's with an explicit --servername argument.
|
||||
* Only register nongui-vim's with an explicit --servername argument,
|
||||
* or when compiling with autoservername.
|
||||
* When running as root --servername is also required.
|
||||
*/
|
||||
if (X_DISPLAY != NULL && parmp->servername != NULL && (
|
||||
# ifdef FEAT_GUI
|
||||
(gui.in_use
|
||||
# if defined(FEAT_AUTOSERVERNAME) || defined(FEAT_GUI)
|
||||
(
|
||||
# if defined(FEAT_AUTOSERVERNAME)
|
||||
1
|
||||
# else
|
||||
gui.in_use
|
||||
# endif
|
||||
# ifdef UNIX
|
||||
&& getuid() != ROOT_UID
|
||||
# endif
|
||||
|
||||
+143
-62
@@ -4782,6 +4782,56 @@ iconv_end(void)
|
||||
|
||||
#endif /* FEAT_MBYTE */
|
||||
|
||||
#ifdef FEAT_GUI
|
||||
# define USE_IMACTIVATEFUNC (!gui.in_use && *p_imaf != NUL)
|
||||
# define USE_IMSTATUSFUNC (!gui.in_use && *p_imsf != NUL)
|
||||
#else
|
||||
# define USE_IMACTIVATEFUNC (*p_imaf != NUL)
|
||||
# define USE_IMSTATUSFUNC (*p_imsf != NUL)
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_EVAL) && defined(FEAT_MBYTE)
|
||||
# ifdef FEAT_GUI_MACVIM
|
||||
void
|
||||
# else
|
||||
static void
|
||||
# endif
|
||||
call_imactivatefunc(int active)
|
||||
{
|
||||
char_u *argv[1];
|
||||
|
||||
if (active)
|
||||
argv[0] = (char_u *)"1";
|
||||
else
|
||||
argv[0] = (char_u *)"0";
|
||||
(void)call_func_retnr(p_imaf, 1, argv, FALSE);
|
||||
}
|
||||
|
||||
# ifdef FEAT_GUI_MACVIM
|
||||
int
|
||||
# else
|
||||
static int
|
||||
# endif
|
||||
call_imstatusfunc(void)
|
||||
{
|
||||
int is_active;
|
||||
|
||||
/* FIXME: Don't execute user function in unsafe situation. */
|
||||
if (exiting
|
||||
# ifdef FEAT_AUTOCMD
|
||||
|| is_autocmd_blocked()
|
||||
# endif
|
||||
)
|
||||
return FALSE;
|
||||
/* FIXME: :py print 'xxx' is shown duplicate result.
|
||||
* Use silent to avoid it. */
|
||||
++msg_silent;
|
||||
is_active = call_func_retnr(p_imsf, 0, NULL, FALSE);
|
||||
--msg_silent;
|
||||
return (is_active > 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_XIM) || defined(PROTO)
|
||||
|
||||
# ifdef FEAT_GUI_MACVIM
|
||||
@@ -5725,6 +5775,11 @@ im_synthesize_keypress(unsigned int keyval, unsigned int state)
|
||||
xim_reset(void)
|
||||
{
|
||||
# ifndef FEAT_GUI_MACVIM
|
||||
#ifdef FEAT_EVAL
|
||||
if (USE_IMACTIVATEFUNC)
|
||||
call_imactivatefunc(im_is_active);
|
||||
else
|
||||
#endif
|
||||
if (xic != NULL)
|
||||
{
|
||||
gtk_im_context_reset(xic);
|
||||
@@ -5735,20 +5790,7 @@ xim_reset(void)
|
||||
{
|
||||
xim_set_focus(gui.in_focus);
|
||||
|
||||
# ifdef FEAT_EVAL
|
||||
if (p_imaf[0] != NUL)
|
||||
{
|
||||
char_u *argv[1];
|
||||
|
||||
if (im_is_active)
|
||||
argv[0] = (char_u *)"1";
|
||||
else
|
||||
argv[0] = (char_u *)"0";
|
||||
(void)call_func_retnr(p_imaf, 1, argv, FALSE);
|
||||
}
|
||||
else
|
||||
# endif
|
||||
if (im_activatekey_keyval != GDK_VoidSymbol)
|
||||
if (im_activatekey_keyval != GDK_VoidSymbol)
|
||||
{
|
||||
if (im_is_active)
|
||||
{
|
||||
@@ -5917,24 +5959,8 @@ xim_queue_key_press_event(GdkEventKey *event, int down)
|
||||
im_get_status(void)
|
||||
{
|
||||
# ifdef FEAT_EVAL
|
||||
if (p_imsf[0] != NUL)
|
||||
{
|
||||
int is_active;
|
||||
|
||||
/* FIXME: Don't execute user function in unsafe situation. */
|
||||
if (exiting
|
||||
# ifdef FEAT_AUTOCMD
|
||||
|| is_autocmd_blocked()
|
||||
# endif
|
||||
)
|
||||
return FALSE;
|
||||
/* FIXME: :py print 'xxx' is shown duplicate result.
|
||||
* Use silent to avoid it. */
|
||||
++msg_silent;
|
||||
is_active = call_func_retnr(p_imsf, 0, NULL, FALSE);
|
||||
--msg_silent;
|
||||
return (is_active > 0);
|
||||
}
|
||||
if (USE_IMSTATUSFUNC)
|
||||
return call_imstatusfunc();
|
||||
# endif
|
||||
return im_is_active;
|
||||
}
|
||||
@@ -5957,30 +5983,43 @@ im_is_preediting(void)
|
||||
static int xim_is_active = FALSE; /* XIM should be active in the current
|
||||
mode */
|
||||
static int xim_has_focus = FALSE; /* XIM is really being used for Vim */
|
||||
#ifdef FEAT_GUI_X11
|
||||
# ifdef FEAT_GUI_X11
|
||||
static XIMStyle input_style;
|
||||
static int status_area_enabled = TRUE;
|
||||
#endif
|
||||
# endif
|
||||
|
||||
/*
|
||||
* Switch using XIM on/off. This is used by the code that changes "State".
|
||||
* When 'imactivatefunc' is defined use that function instead.
|
||||
*/
|
||||
void
|
||||
im_set_active(int active)
|
||||
im_set_active(int active_arg)
|
||||
{
|
||||
if (xic == NULL)
|
||||
return;
|
||||
int active = active_arg;
|
||||
|
||||
/* If 'imdisable' is set, XIM is never active. */
|
||||
if (p_imdisable)
|
||||
active = FALSE;
|
||||
#if !defined(FEAT_GUI_GTK)
|
||||
else if (input_style & XIMPreeditPosition)
|
||||
/* There is a problem in switching XIM off when preediting is used,
|
||||
* and it is not clear how this can be solved. For now, keep XIM on
|
||||
* all the time, like it was done in Vim 5.8. */
|
||||
active = TRUE;
|
||||
#endif
|
||||
|
||||
# if defined(FEAT_EVAL)
|
||||
if (USE_IMACTIVATEFUNC)
|
||||
{
|
||||
if (active != im_get_status())
|
||||
{
|
||||
call_imactivatefunc(active);
|
||||
xim_has_focus = active;
|
||||
}
|
||||
return;
|
||||
}
|
||||
# endif
|
||||
|
||||
if (xic == NULL)
|
||||
return;
|
||||
|
||||
/* Remember the active state, it is needed when Vim gets keyboard focus. */
|
||||
xim_is_active = active;
|
||||
@@ -6082,19 +6121,19 @@ xim_set_preedit(void)
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(FEAT_GUI_X11)
|
||||
# if defined(FEAT_GUI_X11)
|
||||
static char e_xim[] = N_("E285: Failed to create input context");
|
||||
#endif
|
||||
# endif
|
||||
|
||||
#if defined(FEAT_GUI_X11) || defined(PROTO)
|
||||
# if defined(XtSpecificationRelease) && XtSpecificationRelease >= 6 && !defined(SUN_SYSTEM)
|
||||
# define USE_X11R6_XIM
|
||||
# endif
|
||||
# if defined(FEAT_GUI_X11) || defined(PROTO)
|
||||
# if defined(XtSpecificationRelease) && XtSpecificationRelease >= 6 && !defined(SUN_SYSTEM)
|
||||
# define USE_X11R6_XIM
|
||||
# endif
|
||||
|
||||
static int xim_real_init(Window x11_window, Display *x11_display);
|
||||
|
||||
|
||||
#ifdef USE_X11R6_XIM
|
||||
# ifdef USE_X11R6_XIM
|
||||
static void xim_destroy_cb(XIM im, XPointer client_data, XPointer call_data);
|
||||
|
||||
static void
|
||||
@@ -6106,9 +6145,9 @@ xim_instantiate_cb(
|
||||
Window x11_window;
|
||||
Display *x11_display;
|
||||
|
||||
#ifdef XIM_DEBUG
|
||||
# ifdef XIM_DEBUG
|
||||
xim_log("xim_instantiate_cb()\n");
|
||||
#endif
|
||||
# endif
|
||||
|
||||
gui_get_x11_windis(&x11_window, &x11_display);
|
||||
if (display != x11_display)
|
||||
@@ -6130,9 +6169,9 @@ xim_destroy_cb(
|
||||
Window x11_window;
|
||||
Display *x11_display;
|
||||
|
||||
#ifdef XIM_DEBUG
|
||||
# ifdef XIM_DEBUG
|
||||
xim_log("xim_destroy_cb()\n");
|
||||
#endif
|
||||
#endif
|
||||
gui_get_x11_windis(&x11_window, &x11_display);
|
||||
|
||||
xic = NULL;
|
||||
@@ -6143,7 +6182,7 @@ xim_destroy_cb(
|
||||
XRegisterIMInstantiateCallback(x11_display, NULL, NULL, NULL,
|
||||
xim_instantiate_cb, NULL);
|
||||
}
|
||||
#endif
|
||||
# endif
|
||||
|
||||
void
|
||||
xim_init(void)
|
||||
@@ -6151,9 +6190,9 @@ xim_init(void)
|
||||
Window x11_window;
|
||||
Display *x11_display;
|
||||
|
||||
#ifdef XIM_DEBUG
|
||||
# ifdef XIM_DEBUG
|
||||
xim_log("xim_init()\n");
|
||||
#endif
|
||||
# endif
|
||||
|
||||
gui_get_x11_windis(&x11_window, &x11_display);
|
||||
|
||||
@@ -6164,10 +6203,10 @@ xim_init(void)
|
||||
|
||||
gui_set_shellsize(FALSE, FALSE, RESIZE_BOTH);
|
||||
|
||||
#ifdef USE_X11R6_XIM
|
||||
# ifdef USE_X11R6_XIM
|
||||
XRegisterIMInstantiateCallback(x11_display, NULL, NULL, NULL,
|
||||
xim_instantiate_cb, NULL);
|
||||
#endif
|
||||
# endif
|
||||
}
|
||||
|
||||
static int
|
||||
@@ -6179,7 +6218,7 @@ xim_real_init(Window x11_window, Display *x11_display)
|
||||
*ns,
|
||||
*end,
|
||||
tmp[1024];
|
||||
#define IMLEN_MAX 40
|
||||
# define IMLEN_MAX 40
|
||||
char buf[IMLEN_MAX + 7];
|
||||
XIM xim = NULL;
|
||||
XIMStyles *xim_styles;
|
||||
@@ -6244,7 +6283,7 @@ xim_real_init(Window x11_window, Display *x11_display)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#ifdef USE_X11R6_XIM
|
||||
# ifdef USE_X11R6_XIM
|
||||
{
|
||||
XIMCallback destroy_cb;
|
||||
|
||||
@@ -6253,7 +6292,7 @@ xim_real_init(Window x11_window, Display *x11_display)
|
||||
if (XSetIMValues(xim, XNDestroyCallback, &destroy_cb, NULL))
|
||||
EMSG(_("E287: Warning: Could not set destroy callback to IM"));
|
||||
}
|
||||
#endif
|
||||
# endif
|
||||
|
||||
if (XGetIMValues(xim, XNQueryInputStyle, &xim_styles, NULL) || !xim_styles)
|
||||
{
|
||||
@@ -6329,7 +6368,7 @@ xim_real_init(Window x11_window, Display *x11_display)
|
||||
|
||||
/* A crash was reported when trying to pass gui.norm_font as XNFontSet,
|
||||
* thus that has been removed. Hopefully the default works... */
|
||||
#ifdef FEAT_XFONTSET
|
||||
# ifdef FEAT_XFONTSET
|
||||
if (gui.fontset != NOFONTSET)
|
||||
{
|
||||
preedit_list = XVaCreateNestedList(0,
|
||||
@@ -6345,7 +6384,7 @@ xim_real_init(Window x11_window, Display *x11_display)
|
||||
NULL);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
# endif
|
||||
{
|
||||
preedit_list = XVaCreateNestedList(0,
|
||||
XNSpotLocation, &over_spot,
|
||||
@@ -6379,7 +6418,8 @@ xim_real_init(Window x11_window, Display *x11_display)
|
||||
}
|
||||
else
|
||||
{
|
||||
EMSG(_(e_xim));
|
||||
if (!is_not_a_term())
|
||||
EMSG(_(e_xim));
|
||||
XCloseIM(xim);
|
||||
return FALSE;
|
||||
}
|
||||
@@ -6387,7 +6427,7 @@ xim_real_init(Window x11_window, Display *x11_display)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#endif /* FEAT_GUI_X11 */
|
||||
# endif /* FEAT_GUI_X11 */
|
||||
|
||||
/*
|
||||
* Get IM status. When IM is on, return TRUE. Else return FALSE.
|
||||
@@ -6398,6 +6438,10 @@ xim_real_init(Window x11_window, Display *x11_display)
|
||||
int
|
||||
im_get_status(void)
|
||||
{
|
||||
# ifdef FEAT_EVAL
|
||||
if (USE_IMSTATUSFUNC)
|
||||
return call_imstatusfunc();
|
||||
# endif
|
||||
return xim_has_focus;
|
||||
}
|
||||
|
||||
@@ -6518,6 +6562,43 @@ xim_get_status_area_height(void)
|
||||
}
|
||||
# endif
|
||||
|
||||
#else /* !defined(FEAT_XIM) */
|
||||
|
||||
# if !defined(FEAT_GUI_W32) || !(defined(FEAT_MBYTE_IME) || defined(GLOBAL_IME))
|
||||
static int im_was_set_active = FALSE;
|
||||
|
||||
int
|
||||
im_get_status()
|
||||
{
|
||||
# if defined(FEAT_MBYTE) && defined(FEAT_EVAL)
|
||||
if (USE_IMSTATUSFUNC)
|
||||
return call_imstatusfunc();
|
||||
# endif
|
||||
return im_was_set_active;
|
||||
}
|
||||
|
||||
void
|
||||
im_set_active(int active_arg)
|
||||
{
|
||||
# if defined(FEAT_MBYTE) && defined(FEAT_EVAL)
|
||||
int active = !p_imdisable && active_arg;
|
||||
|
||||
if (USE_IMACTIVATEFUNC && active != im_get_status())
|
||||
{
|
||||
call_imactivatefunc(active);
|
||||
im_was_set_active = active;
|
||||
}
|
||||
# endif
|
||||
}
|
||||
|
||||
# ifdef FEAT_GUI
|
||||
void
|
||||
im_set_position(int row, int col)
|
||||
{
|
||||
}
|
||||
# endif
|
||||
# endif
|
||||
|
||||
#endif /* FEAT_XIM */
|
||||
|
||||
#if defined(FEAT_MBYTE) || defined(PROTO)
|
||||
|
||||
+3
-2
@@ -1139,7 +1139,7 @@ ml_recover(void)
|
||||
attr = HL_ATTR(HLF_E);
|
||||
|
||||
/*
|
||||
* If the file name ends in ".s[uvw][a-z]" we assume this is the swap file.
|
||||
* If the file name ends in ".s[a-w][a-z]" we assume this is the swap file.
|
||||
* Otherwise a search is done to find the swap file(s).
|
||||
*/
|
||||
fname = curbuf->b_fname;
|
||||
@@ -1153,7 +1153,8 @@ ml_recover(void)
|
||||
STRNICMP(fname + len - 4, ".s", 2)
|
||||
#endif
|
||||
== 0
|
||||
&& vim_strchr((char_u *)"UVWuvw", fname[len - 2]) != NULL
|
||||
&& vim_strchr((char_u *)"abcdefghijklmnopqrstuvw",
|
||||
TOLOWER_ASC(fname[len - 2])) != NULL
|
||||
&& ASCII_ISALPHA(fname[len - 1]))
|
||||
{
|
||||
directly = TRUE;
|
||||
|
||||
+43
-11
@@ -817,7 +817,7 @@ add_menu_path(
|
||||
}
|
||||
#if defined(FEAT_TOOLBAR) && !defined(FEAT_GUI_W32) \
|
||||
&& !defined(FEAT_GUI_MACVIM) \
|
||||
&& (defined(FEAT_BEVAL) || defined(FEAT_GUI_GTK))
|
||||
&& (defined(FEAT_BEVAL_GUI) || defined(FEAT_GUI_GTK))
|
||||
/* Need to update the menu tip. */
|
||||
if (modes & MENU_TIP_MODE)
|
||||
gui_mch_menu_set_tip(menu);
|
||||
@@ -1013,7 +1013,7 @@ remove_menu(
|
||||
free_menu_string(menu, MENU_INDEX_TIP);
|
||||
#if defined(FEAT_TOOLBAR) && !defined(FEAT_GUI_W32) \
|
||||
&& !defined(FEAT_GUI_MACVIM) \
|
||||
&& (defined(FEAT_BEVAL) || defined(FEAT_GUI_GTK))
|
||||
&& (defined(FEAT_BEVAL_GUI) || defined(FEAT_GUI_GTK))
|
||||
/* Need to update the menu tip. */
|
||||
if (gui.in_use)
|
||||
gui_mch_menu_set_tip(menu);
|
||||
@@ -2782,6 +2782,27 @@ menu_for_path(char_u *menu_path)
|
||||
return menu;
|
||||
}
|
||||
|
||||
void
|
||||
set_mac_menu_attrs(
|
||||
vimmenu_T *menu,
|
||||
char_u *action,
|
||||
int set_alt,
|
||||
int mac_alternate,
|
||||
int set_key,
|
||||
int mac_key,
|
||||
int mac_mods)
|
||||
{
|
||||
if (action)
|
||||
menu->mac_action = action;
|
||||
if (set_key)
|
||||
{
|
||||
menu->mac_key = mac_key;
|
||||
menu->mac_mods = mac_mods;
|
||||
}
|
||||
if (set_alt)
|
||||
menu->mac_alternate = mac_alternate;
|
||||
}
|
||||
|
||||
/*
|
||||
* Handle the ":macmenu" command.
|
||||
*/
|
||||
@@ -2790,11 +2811,14 @@ ex_macmenu(eap)
|
||||
exarg_T *eap;
|
||||
{
|
||||
vimmenu_T *menu = NULL;
|
||||
vimmenu_T *popup_menu_for_mode = NULL;
|
||||
char_u *arg;
|
||||
char_u *menu_path;
|
||||
char_u *p;
|
||||
char_u *keys;
|
||||
int i;
|
||||
int len;
|
||||
int modes;
|
||||
char_u *linep;
|
||||
char_u *key_start;
|
||||
char_u *key = NULL;
|
||||
@@ -2804,9 +2828,10 @@ ex_macmenu(eap)
|
||||
int mac_key = 0;
|
||||
int mac_mods = 0;
|
||||
int mac_alternate = 0;
|
||||
int noremap;
|
||||
int unmenu;
|
||||
char_u *last_dash;
|
||||
int bit;
|
||||
int set_action = FALSE;
|
||||
int set_key = FALSE;
|
||||
int set_alt = FALSE;
|
||||
|
||||
@@ -2904,7 +2929,6 @@ ex_macmenu(eap)
|
||||
break;
|
||||
}
|
||||
|
||||
set_action = TRUE;
|
||||
}
|
||||
else if (STRCMP(key, "ALT") == 0)
|
||||
{
|
||||
@@ -3020,15 +3044,23 @@ ex_macmenu(eap)
|
||||
*/
|
||||
if (!error)
|
||||
{
|
||||
if (set_action)
|
||||
menu->mac_action = action;
|
||||
if (set_key)
|
||||
set_mac_menu_attrs(menu, action, set_alt, mac_alternate, set_key, mac_key, mac_mods);
|
||||
|
||||
modes = get_menu_cmd_modes(eap->cmd, eap->forceit, &noremap, &unmenu);
|
||||
if (menu_is_popup(menu_path))
|
||||
{
|
||||
menu->mac_key = mac_key;
|
||||
menu->mac_mods = mac_mods;
|
||||
for (i = 0; i < MENU_INDEX_TIP; ++i)
|
||||
if (modes & (1 << i))
|
||||
{
|
||||
p = popup_mode_name(menu_path, i);
|
||||
if (p != NULL)
|
||||
{
|
||||
popup_menu_for_mode = menu_for_path(p);
|
||||
set_mac_menu_attrs(popup_menu_for_mode, action, set_alt, mac_alternate, set_key, mac_key, mac_mods);
|
||||
vim_free(p);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (set_alt)
|
||||
menu->mac_alternate = mac_alternate;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -1179,6 +1179,7 @@ wait_return(int redraw)
|
||||
|| c == K_RIGHTDRAG || c == K_RIGHTRELEASE
|
||||
|| c == K_MOUSELEFT || c == K_MOUSERIGHT
|
||||
|| c == K_MOUSEDOWN || c == K_MOUSEUP
|
||||
|| c == K_MOUSEMOVE
|
||||
|| (!mouse_has(MOUSE_RETURN)
|
||||
&& mouse_row < msg_row
|
||||
&& (c == K_LEFTMOUSE
|
||||
|
||||
@@ -3345,6 +3345,7 @@ is_mouse_key(int c)
|
||||
|| c == K_LEFTDRAG
|
||||
|| c == K_LEFTRELEASE
|
||||
|| c == K_LEFTRELEASE_NM
|
||||
|| c == K_MOUSEMOVE
|
||||
|| c == K_MIDDLEMOUSE
|
||||
|| c == K_MIDDLEDRAG
|
||||
|| c == K_MIDDLERELEASE
|
||||
|
||||
+9
-1
@@ -2453,6 +2453,7 @@ static struct key_name_entry
|
||||
{K_LEFTDRAG, (char_u *)"LeftDrag"},
|
||||
{K_LEFTRELEASE, (char_u *)"LeftRelease"},
|
||||
{K_LEFTRELEASE_NM, (char_u *)"LeftReleaseNM"},
|
||||
{K_MOUSEMOVE, (char_u *)"MouseMove"},
|
||||
{K_MIDDLEMOUSE, (char_u *)"MiddleMouse"},
|
||||
{K_MIDDLEDRAG, (char_u *)"MiddleDrag"},
|
||||
{K_MIDDLERELEASE, (char_u *)"MiddleRelease"},
|
||||
@@ -2521,7 +2522,7 @@ static struct mousetable
|
||||
{(int)KE_X2DRAG, MOUSE_X2, FALSE, TRUE},
|
||||
{(int)KE_X2RELEASE, MOUSE_X2, FALSE, FALSE},
|
||||
/* DRAG without CLICK */
|
||||
{(int)KE_IGNORE, MOUSE_RELEASE, FALSE, TRUE},
|
||||
{(int)KE_MOUSEMOVE, MOUSE_RELEASE, FALSE, TRUE},
|
||||
/* RELEASE without CLICK */
|
||||
{(int)KE_IGNORE, MOUSE_RELEASE, FALSE, FALSE},
|
||||
{0, 0, 0, 0},
|
||||
@@ -6306,6 +6307,8 @@ has_non_ascii(char_u *s)
|
||||
void
|
||||
parse_queued_messages(void)
|
||||
{
|
||||
win_T *old_curwin = curwin;
|
||||
|
||||
/* For Win32 mch_breakcheck() does not check for input, do it here. */
|
||||
# if defined(WIN32) && defined(FEAT_JOB_CHANNEL)
|
||||
channel_handle_events(FALSE);
|
||||
@@ -6330,6 +6333,11 @@ parse_queued_messages(void)
|
||||
/* Check if any jobs have ended. */
|
||||
job_check_ended();
|
||||
# endif
|
||||
|
||||
/* If the current window changed we need to bail out of the waiting loop.
|
||||
* E.g. when a job exit callback closes the terminal window. */
|
||||
if (curwin != old_curwin)
|
||||
ins_char_typebuf(K_IGNORE);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
+4
-4
@@ -107,7 +107,7 @@ netbeans_close(void)
|
||||
nb_channel = NULL;
|
||||
}
|
||||
|
||||
#ifdef FEAT_BEVAL
|
||||
#ifdef FEAT_BEVAL_GUI
|
||||
bevalServers &= ~BEVAL_NETBEANS;
|
||||
#endif
|
||||
|
||||
@@ -220,7 +220,7 @@ netbeans_connect(char *params, int doabort)
|
||||
if (nb_channel != NULL)
|
||||
{
|
||||
/* success */
|
||||
# ifdef FEAT_BEVAL
|
||||
# ifdef FEAT_BEVAL_GUI
|
||||
bevalServers |= BEVAL_NETBEANS;
|
||||
# endif
|
||||
|
||||
@@ -1788,7 +1788,7 @@ nb_do_cmd(
|
||||
}
|
||||
else if (streq((char *)cmd, "showBalloon"))
|
||||
{
|
||||
#if defined(FEAT_BEVAL)
|
||||
#if defined(FEAT_BEVAL_GUI)
|
||||
static char *text = NULL;
|
||||
|
||||
/*
|
||||
@@ -2506,7 +2506,7 @@ netbeans_beval_cb(
|
||||
|
||||
/* Don't do anything when 'ballooneval' is off, messages scrolled the
|
||||
* windows up or we have no connection. */
|
||||
if (!p_beval || msg_scrolled > 0 || !NETBEANS_OPEN)
|
||||
if (!can_use_beval() || !NETBEANS_OPEN)
|
||||
return;
|
||||
|
||||
if (get_beval_info(beval, TRUE, &wp, &lnum, &text, &col) == OK)
|
||||
|
||||
+23
-5
@@ -358,6 +358,7 @@ static const struct nv_cmd
|
||||
{K_LEFTDRAG, nv_mouse, 0, 0},
|
||||
{K_LEFTRELEASE, nv_mouse, 0, 0},
|
||||
{K_LEFTRELEASE_NM, nv_mouse, 0, 0},
|
||||
{K_MOUSEMOVE, nv_mouse, 0, 0},
|
||||
{K_MIDDLEMOUSE, nv_mouse, 0, 0},
|
||||
{K_MIDDLEDRAG, nv_mouse, 0, 0},
|
||||
{K_MIDDLERELEASE, nv_mouse, 0, 0},
|
||||
@@ -891,7 +892,7 @@ getcount:
|
||||
int lit = FALSE; /* get extra character literally */
|
||||
int langmap_active = FALSE; /* using :lmap mappings */
|
||||
int lang; /* getting a text character */
|
||||
#ifdef USE_IM_CONTROL
|
||||
#ifdef FEAT_MBYTE
|
||||
int save_smd; /* saved value of p_smd */
|
||||
#endif
|
||||
|
||||
@@ -956,7 +957,7 @@ getcount:
|
||||
State = LANGMAP;
|
||||
langmap_active = TRUE;
|
||||
}
|
||||
#ifdef USE_IM_CONTROL
|
||||
#ifdef FEAT_MBYTE
|
||||
save_smd = p_smd;
|
||||
p_smd = FALSE; /* Don't let the IM code show the mode here */
|
||||
if (lang && curbuf->b_p_iminsert == B_IMODE_IM)
|
||||
@@ -972,7 +973,7 @@ getcount:
|
||||
++allow_keys;
|
||||
State = NORMAL_BUSY;
|
||||
}
|
||||
#ifdef USE_IM_CONTROL
|
||||
#ifdef FEAT_MBYTE
|
||||
if (lang)
|
||||
{
|
||||
if (curbuf->b_p_iminsert != B_IMODE_LMAP)
|
||||
@@ -2396,6 +2397,20 @@ do_mouse(
|
||||
break;
|
||||
}
|
||||
|
||||
if (c == K_MOUSEMOVE)
|
||||
{
|
||||
/* Mouse moved without a button pressed. */
|
||||
#ifdef FEAT_BEVAL_TERM
|
||||
ui_may_remove_balloon();
|
||||
if (p_bevalterm && !VIsual_active)
|
||||
{
|
||||
profile_setlimit(p_bdlay, &bevalexpr_due);
|
||||
bevalexpr_due_set = TRUE;
|
||||
}
|
||||
#endif
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#ifdef FEAT_MOUSESHAPE
|
||||
/* May have stopped dragging the status or separator line. The pointer is
|
||||
* most likely still on the status or separator line. */
|
||||
@@ -3845,7 +3860,7 @@ add_to_showcmd(int c)
|
||||
K_LEFTMOUSE_NM, K_LEFTRELEASE_NM,
|
||||
# endif
|
||||
K_IGNORE, K_PS,
|
||||
K_LEFTMOUSE, K_LEFTDRAG, K_LEFTRELEASE,
|
||||
K_LEFTMOUSE, K_LEFTDRAG, K_LEFTRELEASE, K_MOUSEMOVE,
|
||||
K_MIDDLEMOUSE, K_MIDDLEDRAG, K_MIDDLERELEASE,
|
||||
K_RIGHTMOUSE, K_RIGHTDRAG, K_RIGHTRELEASE,
|
||||
K_MOUSEDOWN, K_MOUSEUP, K_MOUSELEFT, K_MOUSERIGHT,
|
||||
@@ -4635,7 +4650,9 @@ nv_mousescroll(cmdarg_T *cap)
|
||||
{
|
||||
# ifdef FEAT_TERMINAL
|
||||
if (term_use_loop())
|
||||
send_keys_to_term(curbuf->b_term, cap->cmdchar, TRUE);
|
||||
/* This window is a terminal window, send the mouse event there.
|
||||
* Set "typed" to FALSE to avoid an endless loop. */
|
||||
send_keys_to_term(curbuf->b_term, cap->cmdchar, FALSE);
|
||||
else
|
||||
# endif
|
||||
if (mod_mask & (MOD_MASK_SHIFT | MOD_MASK_CTRL))
|
||||
@@ -8392,6 +8409,7 @@ nv_g_cmd(cmdarg_T *cap)
|
||||
case K_LEFTMOUSE:
|
||||
case K_LEFTDRAG:
|
||||
case K_LEFTRELEASE:
|
||||
case K_MOUSEMOVE:
|
||||
case K_RIGHTMOUSE:
|
||||
case K_RIGHTDRAG:
|
||||
case K_RIGHTRELEASE:
|
||||
|
||||
@@ -5433,7 +5433,7 @@ op_addsub(
|
||||
}
|
||||
else /* oap->motion_type == MCHAR */
|
||||
{
|
||||
if (!oap->inclusive)
|
||||
if (pos.lnum == oap->start.lnum && !oap->inclusive)
|
||||
dec(&(oap->end));
|
||||
length = (colnr_T)STRLEN(ml_get(pos.lnum));
|
||||
pos.col = 0;
|
||||
|
||||
+39
-15
@@ -643,12 +643,21 @@ static struct vimoption options[] =
|
||||
#endif
|
||||
SCRIPTID_INIT},
|
||||
{"ballooneval", "beval",P_BOOL|P_VI_DEF|P_NO_MKRC,
|
||||
#ifdef FEAT_BEVAL
|
||||
#ifdef FEAT_BEVAL_GUI
|
||||
(char_u *)&p_beval, PV_NONE,
|
||||
{(char_u *)FALSE, (char_u *)0L}
|
||||
#else
|
||||
(char_u *)NULL, PV_NONE,
|
||||
{(char_u *)0L, (char_u *)0L}
|
||||
#endif
|
||||
SCRIPTID_INIT},
|
||||
{"balloonevalterm", "bevalterm",P_BOOL|P_VI_DEF|P_NO_MKRC,
|
||||
#ifdef FEAT_BEVAL_TERM
|
||||
(char_u *)&p_bevalterm, PV_NONE,
|
||||
{(char_u *)FALSE, (char_u *)0L}
|
||||
#else
|
||||
(char_u *)NULL, PV_NONE,
|
||||
{(char_u *)0L, (char_u *)0L}
|
||||
#endif
|
||||
SCRIPTID_INIT},
|
||||
{"balloonexpr", "bexpr", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM,
|
||||
@@ -1578,7 +1587,7 @@ static struct vimoption options[] =
|
||||
(char_u *)&p_ic, PV_NONE,
|
||||
{(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
|
||||
{"imactivatefunc","imaf",P_STRING|P_VI_DEF|P_SECURE,
|
||||
# if defined(FEAT_EVAL) && defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
|
||||
#if defined(FEAT_EVAL) && defined(FEAT_MBYTE)
|
||||
(char_u *)&p_imaf, PV_NONE,
|
||||
{(char_u *)"", (char_u *)NULL}
|
||||
# else
|
||||
@@ -1594,14 +1603,14 @@ static struct vimoption options[] =
|
||||
#endif
|
||||
{(char_u *)"", (char_u *)0L} SCRIPTID_INIT},
|
||||
{"imcmdline", "imc", P_BOOL|P_VI_DEF,
|
||||
#ifdef USE_IM_CONTROL
|
||||
#ifdef FEAT_MBYTE
|
||||
(char_u *)&p_imcmdline, PV_NONE,
|
||||
#else
|
||||
(char_u *)NULL, PV_NONE,
|
||||
#endif
|
||||
{(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
|
||||
{"imdisable", "imd", P_BOOL|P_VI_DEF,
|
||||
#ifdef USE_IM_CONTROL
|
||||
#ifdef FEAT_MBYTE
|
||||
(char_u *)&p_imdisable, PV_NONE,
|
||||
#else
|
||||
(char_u *)NULL, PV_NONE,
|
||||
@@ -1621,7 +1630,7 @@ static struct vimoption options[] =
|
||||
{(char_u *)B_IMODE_USE_INSERT, (char_u *)0L}
|
||||
SCRIPTID_INIT},
|
||||
{"imstatusfunc","imsf",P_STRING|P_VI_DEF|P_SECURE,
|
||||
#if defined(FEAT_EVAL) && defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
|
||||
#if defined(FEAT_EVAL) && defined(FEAT_MBYTE)
|
||||
(char_u *)&p_imsf, PV_NONE,
|
||||
{(char_u *)"", (char_u *)NULL}
|
||||
#else
|
||||
@@ -3027,7 +3036,8 @@ static struct vimoption options[] =
|
||||
{"viewoptions", "vop", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
|
||||
#ifdef FEAT_SESSION
|
||||
(char_u *)&p_vop, PV_NONE,
|
||||
{(char_u *)"folds,options,cursor", (char_u *)0L}
|
||||
{(char_u *)"folds,options,cursor,curdir",
|
||||
(char_u *)0L}
|
||||
#else
|
||||
(char_u *)NULL, PV_NONE,
|
||||
{(char_u *)0L, (char_u *)0L}
|
||||
@@ -6489,8 +6499,13 @@ did_set_string_option(
|
||||
* display output conversion. */
|
||||
if (((varp == &p_enc && *p_tenc != NUL) || varp == &p_tenc))
|
||||
{
|
||||
convert_setup(&input_conv, p_tenc, p_enc);
|
||||
convert_setup(&output_conv, p_enc, p_tenc);
|
||||
if (convert_setup(&input_conv, p_tenc, p_enc) == FAIL
|
||||
|| convert_setup(&output_conv, p_enc, p_tenc) == FAIL)
|
||||
{
|
||||
EMSG3(_("E950: Cannot convert between %s and %s"),
|
||||
p_tenc, p_enc);
|
||||
errmsg = e_invarg;
|
||||
}
|
||||
}
|
||||
|
||||
# if defined(WIN3264) && defined(FEAT_MBYTE)
|
||||
@@ -7532,7 +7547,7 @@ did_set_string_option(
|
||||
|
||||
#if defined(FEAT_RENDER_OPTIONS)
|
||||
/* 'renderoptions' */
|
||||
else if (varp == &p_rop && gui.in_use)
|
||||
else if (varp == &p_rop)
|
||||
{
|
||||
if (!gui_mch_set_rendering_options(p_rop))
|
||||
errmsg = e_invarg;
|
||||
@@ -8605,13 +8620,22 @@ set_bool_option(
|
||||
p_wiv = (*T_XS != NUL);
|
||||
}
|
||||
|
||||
#ifdef FEAT_BEVAL
|
||||
#ifdef FEAT_BEVAL_GUI
|
||||
else if ((int *)varp == &p_beval)
|
||||
{
|
||||
if (p_beval && !old_value)
|
||||
gui_mch_enable_beval_area(balloonEval);
|
||||
else if (!p_beval && old_value)
|
||||
gui_mch_disable_beval_area(balloonEval);
|
||||
if (!balloonEvalForTerm)
|
||||
{
|
||||
if (p_beval && !old_value)
|
||||
gui_mch_enable_beval_area(balloonEval);
|
||||
else if (!p_beval && old_value)
|
||||
gui_mch_disable_beval_area(balloonEval);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#ifdef FEAT_BEVAL_TERM
|
||||
else if ((int *)varp == &p_bevalterm)
|
||||
{
|
||||
mch_bevalterm_changed();
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -8636,7 +8660,7 @@ set_bool_option(
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef USE_IM_CONTROL
|
||||
#ifdef FEAT_MBYTE
|
||||
/* 'imdisable' */
|
||||
else if ((int *)varp == &p_imdisable)
|
||||
{
|
||||
|
||||
+15
-9
@@ -235,7 +235,8 @@
|
||||
#define GO_TOOLBAR 'T' /* add toolbar */
|
||||
#define GO_FOOTER 'F' /* add footer */
|
||||
#define GO_VERTICAL 'v' /* arrange dialog buttons vertically */
|
||||
#define GO_ALL "aAbcefFghilmMprtTv" /* all possible flags for 'go' */
|
||||
#define GO_KEEPWINSIZE 'k' /* keep GUI window size */
|
||||
#define GO_ALL "aAbcefFghilmMprtTvk" /* all possible flags for 'go' */
|
||||
|
||||
/* flags for 'comments' option */
|
||||
#define COM_NEST 'n' /* comments strings nest */
|
||||
@@ -375,11 +376,16 @@ EXTERN char_u *p_bsk; /* 'backupskip' */
|
||||
EXTERN char_u *p_cm; /* 'cryptmethod' */
|
||||
#endif
|
||||
#ifdef FEAT_BEVAL
|
||||
EXTERN long p_bdlay; /* 'balloondelay' */
|
||||
# ifdef FEAT_BEVAL_GUI
|
||||
EXTERN int p_beval; /* 'ballooneval' */
|
||||
# endif
|
||||
EXTERN long p_bdlay; /* 'balloondelay' */
|
||||
# ifdef FEAT_EVAL
|
||||
EXTERN char_u *p_bexpr;
|
||||
# endif
|
||||
# ifdef FEAT_BEVAL_TERM
|
||||
EXTERN int p_bevalterm; /* 'balloonevalterm' */
|
||||
# endif
|
||||
#endif
|
||||
#ifdef FEAT_BROWSE
|
||||
EXTERN char_u *p_bsdir; /* 'browsedir' */
|
||||
@@ -585,17 +591,17 @@ EXTERN int p_icon; /* 'icon' */
|
||||
EXTERN char_u *p_iconstring; /* 'iconstring' */
|
||||
#endif
|
||||
EXTERN int p_ic; /* 'ignorecase' */
|
||||
#if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
|
||||
#if defined(FEAT_XIM) && (defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MACVIM))
|
||||
EXTERN char_u *p_imak; /* 'imactivatekey' */
|
||||
#define IM_ON_THE_SPOT 0L
|
||||
#define IM_OVER_THE_SPOT 1L
|
||||
EXTERN long p_imst; /* 'imstyle' */
|
||||
#endif
|
||||
#if defined(FEAT_EVAL) && defined(FEAT_MBYTE)
|
||||
EXTERN char_u *p_imaf; /* 'imactivatefunc' */
|
||||
EXTERN char_u *p_imsf; /* 'imstatusfunc' */
|
||||
#endif
|
||||
#if (defined(FEAT_XIM) && defined(FEAT_GUI_GTK)) || defined(FEAT_GUI_MACVIM)
|
||||
EXTERN long p_imst; /* 'imstyle' */
|
||||
# define IM_ON_THE_SPOT 0L
|
||||
# define IM_OVER_THE_SPOT 1L
|
||||
#endif
|
||||
#ifdef USE_IM_CONTROL
|
||||
#ifdef FEAT_MBYTE
|
||||
EXTERN int p_imcmdline; /* 'imcmdline' */
|
||||
EXTERN int p_imdisable; /* 'imdisable' */
|
||||
#endif
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
*/
|
||||
|
||||
#define NO_X11_INCLUDES
|
||||
typedef int BalloonEval; /* used in header files */
|
||||
|
||||
#include "vim.h"
|
||||
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
/* Avoid a conflict for the definition of Boolean between Mac header files and
|
||||
* X11 header files. */
|
||||
#define NO_X11_INCLUDES
|
||||
#define BalloonEval int /* used in header files */
|
||||
|
||||
#include "vim.h"
|
||||
#import <AppKit/AppKit.h>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user