forked from aniani/vim
updated for version 7.0020
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
*todo.txt* For Vim version 7.0aa. Last change: 2004 Oct 12
|
*todo.txt* For Vim version 7.0aa. Last change: 2004 Oct 24
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -30,6 +30,14 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
|
|||||||
*known-bugs*
|
*known-bugs*
|
||||||
-------------------- Known bugs and current work -----------------------
|
-------------------- Known bugs and current work -----------------------
|
||||||
|
|
||||||
|
Include NetBeans patches (Gordon Prieur, Oct 20)
|
||||||
|
See two messages for list of changed files. Additionally:
|
||||||
|
doc/eval.txt
|
||||||
|
Docs for message E680.
|
||||||
|
|
||||||
|
Line number not updated when inserting a line in anothe window. (Hitier
|
||||||
|
Sylvain, Oct 24)
|
||||||
|
|
||||||
Aborting at the ATTENTION prompt causes trouble:
|
Aborting at the ATTENTION prompt causes trouble:
|
||||||
buffer remains active, nwindows isn't closed (fixed in buffer.c)
|
buffer remains active, nwindows isn't closed (fixed in buffer.c)
|
||||||
alternate buffer gets "read error" flag.
|
alternate buffer gets "read error" flag.
|
||||||
@@ -48,6 +56,8 @@ Solved in os_mswin.c. Add to 6.3?
|
|||||||
|
|
||||||
Patch for Win32 textdomain: NAKADAIRA Yukihiro, Sept 17.
|
Patch for Win32 textdomain: NAKADAIRA Yukihiro, Sept 17.
|
||||||
|
|
||||||
|
Handling decimal point on keypad: use MapVirtualKey. (Vince Negri, Oct 20)
|
||||||
|
|
||||||
Valencia: executable("xxd.exe") returns true while "!xxd" doesn't work.
|
Valencia: executable("xxd.exe") returns true while "!xxd" doesn't work.
|
||||||
Works fine for me. Only in specific environment?
|
Works fine for me. Only in specific environment?
|
||||||
|
|
||||||
@@ -77,6 +87,8 @@ When using "set laststatus=2 cmdheight=2" in the .gvimrc you only get one line
|
|||||||
for the cmdline. (Christian Robinson) When the Vim window is resized (e.g.,
|
for the cmdline. (Christian Robinson) When the Vim window is resized (e.g.,
|
||||||
xterm with many lines) it's OK.
|
xterm with many lines) it's OK.
|
||||||
|
|
||||||
|
":e <cfile>" does not expand ~/file, very confusing compared to ":e ~/file".
|
||||||
|
|
||||||
|
|
||||||
For version 7.0:
|
For version 7.0:
|
||||||
|
|
||||||
@@ -193,11 +205,8 @@ For version 7.0:
|
|||||||
Also: when the environment variable exists, use it. If it doesn't
|
Also: when the environment variable exists, use it. If it doesn't
|
||||||
exist, set it. Requires good names: $VIM_USER_VIMRC $VIM_USER_DIR
|
exist, set it. Requires good names: $VIM_USER_VIMRC $VIM_USER_DIR
|
||||||
|
|
||||||
xterm title: After setting a title, obtaining the title still may result in
|
|
||||||
the old one. Sometimes happens with the test scripts. Setting the title is
|
|
||||||
done with an ESC sequence, obtaining the old title with an X library call.
|
|
||||||
Invoking XFlush() before getting the title doesn't help.
|
|
||||||
|
|
||||||
|
- Edit same file on Unix and from MS-Windows: no warning for swap file.
|
||||||
- In the kvim/KDE source files fix the formatting.
|
- In the kvim/KDE source files fix the formatting.
|
||||||
- KDE version is called "kvim". Make it "gvim", like the others?
|
- KDE version is called "kvim". Make it "gvim", like the others?
|
||||||
- Better configure check for KDE include files from Dan Sharp.
|
- Better configure check for KDE include files from Dan Sharp.
|
||||||
@@ -233,6 +242,7 @@ Invoking XFlush() before getting the title doesn't help.
|
|||||||
- "INTELLISENSE". First cleanup the Insert-mode completion.
|
- "INTELLISENSE". First cleanup the Insert-mode completion.
|
||||||
http://www.vim.org/scripts/script.php?script_id=747
|
http://www.vim.org/scripts/script.php?script_id=747
|
||||||
http://sourceforge.net/projects/insenvim
|
http://sourceforge.net/projects/insenvim
|
||||||
|
of http://insenvim.sourceforge.net
|
||||||
http://cedet.sourceforge.net/intellisense.shtml (for Emacs)
|
http://cedet.sourceforge.net/intellisense.shtml (for Emacs)
|
||||||
Ivan Villanueva has something for Java.
|
Ivan Villanueva has something for Java.
|
||||||
Can't call it Intellisense, it is a trademark by Microsoft.
|
Can't call it Intellisense, it is a trademark by Microsoft.
|
||||||
@@ -250,6 +260,7 @@ Invoking XFlush() before getting the title doesn't help.
|
|||||||
info, make a new branch.
|
info, make a new branch.
|
||||||
To navigate through the undo tree number the states of the text
|
To navigate through the undo tree number the states of the text
|
||||||
sequentially and make it possible to go through the tree in that order.
|
sequentially and make it possible to go through the tree in that order.
|
||||||
|
Use "g+++" to go forward, "g---" to go backward. Can mix - and +.
|
||||||
Could also use timestamps (to show the time and/or jump to a state five
|
Could also use timestamps (to show the time and/or jump to a state five
|
||||||
minutes ago). (David Schweikert)
|
minutes ago). (David Schweikert)
|
||||||
To go from one state to another: backtrack to a common state, then forward
|
To go from one state to another: backtrack to a common state, then forward
|
||||||
@@ -269,7 +280,8 @@ Invoking XFlush() before getting the title doesn't help.
|
|||||||
incompatible change.
|
incompatible change.
|
||||||
7 Support WINDOW TABS. Works like several pages, each with their own
|
7 Support WINDOW TABS. Works like several pages, each with their own
|
||||||
split windows. Patch for GTK 1.2 from Christian Michon, 2004 Jan 6.
|
split windows. Patch for GTK 1.2 from Christian Michon, 2004 Jan 6.
|
||||||
Also for the console!
|
Also for the console! In Emacs these are called frames.
|
||||||
|
Use "1gt" - "99gt" to switch to a tab?
|
||||||
- EMBEDDING: Make it possible to run Vim inside a window of another program.
|
- EMBEDDING: Make it possible to run Vim inside a window of another program.
|
||||||
For Xwindows this can be done with XReparentWindow().
|
For Xwindows this can be done with XReparentWindow().
|
||||||
For GTK Neil Bird has a patch to use Vim like a widget.
|
For GTK Neil Bird has a patch to use Vim like a widget.
|
||||||
@@ -299,6 +311,8 @@ Invoking XFlush() before getting the title doesn't help.
|
|||||||
"foldcolumn". (Benji Fisher, 2004 Jun 21)
|
"foldcolumn". (Benji Fisher, 2004 Jun 21)
|
||||||
- FileChangedShellPost autocommand event: after (not) reloading a changed
|
- FileChangedShellPost autocommand event: after (not) reloading a changed
|
||||||
file. Can be used to update statusline oslt.
|
file. Can be used to update statusline oslt.
|
||||||
|
- Running a shell command from the GUI still has limitations. Look into how
|
||||||
|
the Vim shell project can help: http://vimshell.wana.at
|
||||||
8 When a file is change outside of Vim and unmodified in Vim there is no
|
8 When a file is change outside of Vim and unmodified in Vim there is no
|
||||||
simple way to automatically reload the file. Either add an option for
|
simple way to automatically reload the file. Either add an option for
|
||||||
this or make it simple to have the FileChangedShell invoke the normal
|
this or make it simple to have the FileChangedShell invoke the normal
|
||||||
@@ -361,7 +375,7 @@ name. (Charles Campbell)
|
|||||||
|
|
||||||
Add gui_mch_browsedir() for Motif, KDE and Mac OS/X.
|
Add gui_mch_browsedir() for Motif, KDE and Mac OS/X.
|
||||||
|
|
||||||
Translated manual pages: Install German one in /usr/local/man/de/man1/vim.1
|
Install vim-it.1 manual page in .../man/it/man1/vim.1
|
||||||
|
|
||||||
|
|
||||||
Vi incompatibility:
|
Vi incompatibility:
|
||||||
@@ -1014,6 +1028,9 @@ Macintosh:
|
|||||||
8 For xterm need to open a connection to the X server to get the window
|
8 For xterm need to open a connection to the X server to get the window
|
||||||
title, which can be slow. Can also get the title with "<Esc>[21t", no
|
title, which can be slow. Can also get the title with "<Esc>[21t", no
|
||||||
need to use X11 calls. This returns "<Esc>]l{title}<Esc>\".
|
need to use X11 calls. This returns "<Esc>]l{title}<Esc>\".
|
||||||
|
6 When the xterm reports the number of colors, a redraw occurs. This is
|
||||||
|
annoying on a slow connection. Wait for the xterm to report the number of
|
||||||
|
colors before drawing the screen. With a timeout.
|
||||||
8 When the builtin xterm termcap contains codes that are not wanted, need a
|
8 When the builtin xterm termcap contains codes that are not wanted, need a
|
||||||
way to avoid using the builtin termcap.
|
way to avoid using the builtin termcap.
|
||||||
8 Xterm sends ^[[H for <Home> and ^[[F for <End> in some mode. Also
|
8 Xterm sends ^[[H for <Home> and ^[[F for <End> in some mode. Also
|
||||||
@@ -1108,6 +1125,12 @@ I can't reproduce these (if you can, let me know how!):
|
|||||||
|
|
||||||
|
|
||||||
Problems that will (probably) not be solved:
|
Problems that will (probably) not be solved:
|
||||||
|
- xterm title: The following scenario may occur (esp. when running the Vim
|
||||||
|
test script): Vim 1 sets the title to "file1", then restores the title to
|
||||||
|
"xterm" when exiting with an ESC sequence. Vim 2 obtains the old title
|
||||||
|
with an X library call, this may result in "file1", because the window
|
||||||
|
manager hasn't processed the "xterm" title yet. Can apparently only be
|
||||||
|
worked around with a delay.
|
||||||
- In a terminal with 'mouse' set such that the mouse is active when entering
|
- In a terminal with 'mouse' set such that the mouse is active when entering
|
||||||
a command line, after executing a shell command that scrolls up the
|
a command line, after executing a shell command that scrolls up the
|
||||||
display and then pressing ":": Selecting text with the mouse works like
|
display and then pressing ":": Selecting text with the mouse works like
|
||||||
|
90
runtime/keymap/bulgarian.vim
Normal file
90
runtime/keymap/bulgarian.vim
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
" Vim Keymap file for russian characters, phonetic layout 'yawerty'
|
||||||
|
" Useful mainly with utf-8 but may work with other encodings
|
||||||
|
|
||||||
|
" Maintainer: Alberto Mardegan <mardy@despammed.com>
|
||||||
|
" Last Changed: 2004 Oct 17
|
||||||
|
|
||||||
|
" All characters are given literally, conversion to another encoding (e.g.,
|
||||||
|
" UTF-8) should work.
|
||||||
|
scriptencoding utf-8
|
||||||
|
|
||||||
|
let b:keymap_name = "bg"
|
||||||
|
|
||||||
|
loadkeymap
|
||||||
|
A А CYRILLIC CAPITAL LETTER A
|
||||||
|
B Б CYRILLIC CAPITAL LETTER BE
|
||||||
|
W В CYRILLIC CAPITAL LETTER VE
|
||||||
|
V В CYRILLIC CAPITAL LETTER VE
|
||||||
|
G Г CYRILLIC CAPITAL LETTER GHE
|
||||||
|
D Д CYRILLIC CAPITAL LETTER DE
|
||||||
|
E Е CYRILLIC CAPITAL LETTER IE
|
||||||
|
Zh Ж CYRILLIC CAPITAL LETTER ZHE
|
||||||
|
ZH Ж CYRILLIC CAPITAL LETTER ZHE
|
||||||
|
Z З CYRILLIC CAPITAL LETTER ZE
|
||||||
|
I И CYRILLIC CAPITAL LETTER I
|
||||||
|
J Й CYRILLIC CAPITAL LETTER SHORT I
|
||||||
|
K К CYRILLIC CAPITAL LETTER KA
|
||||||
|
L Л CYRILLIC CAPITAL LETTER EL
|
||||||
|
M М CYRILLIC CAPITAL LETTER EM
|
||||||
|
N Н CYRILLIC CAPITAL LETTER EN
|
||||||
|
O О CYRILLIC CAPITAL LETTER O
|
||||||
|
P П CYRILLIC CAPITAL LETTER PE
|
||||||
|
R Р CYRILLIC CAPITAL LETTER ER
|
||||||
|
S С CYRILLIC CAPITAL LETTER ES
|
||||||
|
T Т CYRILLIC CAPITAL LETTER TE
|
||||||
|
U У CYRILLIC CAPITAL LETTER U
|
||||||
|
F Ф CYRILLIC CAPITAL LETTER EF
|
||||||
|
H Х CYRILLIC CAPITAL LETTER HA
|
||||||
|
C Ц CYRILLIC CAPITAL LETTER TSE
|
||||||
|
Ch Ч CYRILLIC CAPITAL LETTER CHE
|
||||||
|
CH Ч CYRILLIC CAPITAL LETTER CHE
|
||||||
|
Sh Ш CYRILLIC CAPITAL LETTER SHA
|
||||||
|
SH Ш CYRILLIC CAPITAL LETTER SHA
|
||||||
|
Sht Щ CYRILLIC CAPITAL LETTER SHCHA
|
||||||
|
SHt Щ CYRILLIC CAPITAL LETTER SHCHA
|
||||||
|
SHT Щ CYRILLIC CAPITAL LETTER SHCHA
|
||||||
|
Sj Щ CYRILLIC CAPITAL LETTER SHCHA
|
||||||
|
SJ Щ CYRILLIC CAPITAL LETTER SHCHA
|
||||||
|
Y Ъ CYRILLIC CAPITAL LETTER HARD SIGN
|
||||||
|
X Ь CYRILLIC CAPITAL LETTER SOFT SIGN
|
||||||
|
~ Ю CYRILLIC CAPITAL LETTER YU
|
||||||
|
Ju Ю CYRILLIC CAPITAL LETTER YU
|
||||||
|
JU Ю CYRILLIC CAPITAL LETTER YU
|
||||||
|
Q Я CYRILLIC CAPITAL LETTER YA
|
||||||
|
Ja Я CYRILLIC CAPITAL LETTER YA
|
||||||
|
JA Я CYRILLIC CAPITAL LETTER YA
|
||||||
|
a а CYRILLIC SMALL LETTER A
|
||||||
|
b б CYRILLIC SMALL LETTER BE
|
||||||
|
w в CYRILLIC SMALL LETTER VE
|
||||||
|
v в CYRILLIC SMALL LETTER VE
|
||||||
|
g г CYRILLIC SMALL LETTER GHE
|
||||||
|
d д CYRILLIC SMALL LETTER DE
|
||||||
|
e е CYRILLIC SMALL LETTER IE
|
||||||
|
zh ж CYRILLIC SMALL LETTER ZHE
|
||||||
|
w ж CYRILLIC SMALL LETTER ZHE
|
||||||
|
z з CYRILLIC SMALL LETTER ZE
|
||||||
|
i и CYRILLIC SMALL LETTER I
|
||||||
|
j й CYRILLIC SMALL LETTER SHORT I
|
||||||
|
k к CYRILLIC SMALL LETTER KA
|
||||||
|
l л CYRILLIC SMALL LETTER EL
|
||||||
|
m м CYRILLIC SMALL LETTER EM
|
||||||
|
n н CYRILLIC SMALL LETTER EN
|
||||||
|
o о CYRILLIC SMALL LETTER O
|
||||||
|
p п CYRILLIC SMALL LETTER PE
|
||||||
|
r р CYRILLIC SMALL LETTER ER
|
||||||
|
s с CYRILLIC SMALL LETTER ES
|
||||||
|
t т CYRILLIC SMALL LETTER TE
|
||||||
|
u у CYRILLIC SMALL LETTER U
|
||||||
|
f ф CYRILLIC SMALL LETTER EF
|
||||||
|
h х CYRILLIC SMALL LETTER HA
|
||||||
|
c ц CYRILLIC SMALL LETTER TSE
|
||||||
|
ch ч CYRILLIC SMALL LETTER CHE
|
||||||
|
sh ш CYRILLIC SMALL LETTER SHA
|
||||||
|
sht щ CYRILLIC SMALL LETTER SHCHA
|
||||||
|
sj щ CYRILLIC SMALL LETTER SHCHA
|
||||||
|
y ъ CYRILLIC SMALL LETTER HARD SIGN
|
||||||
|
x ь CYRILLIC SMALL LETTER SOFT SIGN
|
||||||
|
` ю CYRILLIC SMALL LETTER YU
|
||||||
|
ju ю CYRILLIC SMALL LETTER YU
|
||||||
|
q я CYRILLIC SMALL LETTER YA
|
||||||
|
ja я CYRILLIC SMALL LETTER YA
|
6
runtime/lang/menu_ja.ujis.vim
Normal file
6
runtime/lang/menu_ja.ujis.vim
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
" Menu Translations: Japanese (for UNIX)
|
||||||
|
" Translated By: Muraoka Taro <koron@tka.att.ne.jp>
|
||||||
|
" Last Change: 08:50:47 25-Mar-2001.
|
||||||
|
|
||||||
|
" ujis is the same as euc-jp. Source the other one from here.
|
||||||
|
source <sfile>:p:h/menu_ja_jp.euc-jp.vim
|
@@ -1,6 +1,6 @@
|
|||||||
" Vim syntax support file
|
" Vim syntax support file
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2004 Oct 12
|
" Last Change: 2004 Oct 15
|
||||||
" (modified by David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>)
|
" (modified by David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>)
|
||||||
" (XHTML support by Panagiotis Issaris <takis@lumumba.luc.ac.be>)
|
" (XHTML support by Panagiotis Issaris <takis@lumumba.luc.ac.be>)
|
||||||
|
|
||||||
@@ -103,6 +103,32 @@ if !exists("html_use_css")
|
|||||||
endfun
|
endfun
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" Return HTML valid characters enclosed in a span of class style_name with
|
||||||
|
" unprintable characters expanded and double spaces replaced as necessary.
|
||||||
|
function! s:HtmlFormat(text, style_name)
|
||||||
|
" Replace unprintable characters
|
||||||
|
let formatted = strtrans(a:text)
|
||||||
|
|
||||||
|
" Replace the reserved html characters
|
||||||
|
let formatted = substitute(substitute(substitute(substitute(substitute(formatted, '&', '\&', 'g'), '<', '\<', 'g'), '>', '\>', 'g'), '"', '\"', 'g'), "\x0c", '<hr class="PAGE-BREAK">', 'g')
|
||||||
|
|
||||||
|
" Replace double spaces
|
||||||
|
if ' ' != s:HtmlSpace
|
||||||
|
let formatted = substitute(formatted, ' ', s:HtmlSpace . s:HtmlSpace, 'g')
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Enclose in a span of class style_name
|
||||||
|
let formatted = '<span class="' . a:style_name . '">' . formatted . '</span>'
|
||||||
|
|
||||||
|
" Add the class to class list if it's not there yet
|
||||||
|
let s:id = hlID(a:style_name)
|
||||||
|
if stridx(s:idlist, "," . s:id . ",") == -1
|
||||||
|
let s:idlist = s:idlist . s:id . ","
|
||||||
|
endif
|
||||||
|
|
||||||
|
return formatted
|
||||||
|
endfun
|
||||||
|
|
||||||
" Return CSS style describing given highlight id (can be empty)
|
" Return CSS style describing given highlight id (can be empty)
|
||||||
function! s:CSS1(id)
|
function! s:CSS1(id)
|
||||||
let a = ""
|
let a = ""
|
||||||
@@ -157,7 +183,6 @@ endif
|
|||||||
|
|
||||||
|
|
||||||
" Set some options to make it work faster.
|
" Set some options to make it work faster.
|
||||||
" Expand tabs in original buffer to get 'tabstop' correctly used.
|
|
||||||
" Don't report changes for :substitute, there will be many of them.
|
" Don't report changes for :substitute, there will be many of them.
|
||||||
let s:old_title = &title
|
let s:old_title = &title
|
||||||
let s:old_icon = &icon
|
let s:old_icon = &icon
|
||||||
@@ -187,18 +212,29 @@ set magic
|
|||||||
|
|
||||||
if exists("use_xhtml")
|
if exists("use_xhtml")
|
||||||
exe "normal! a<?xml version=\"1.0\"?>\n\e"
|
exe "normal! a<?xml version=\"1.0\"?>\n\e"
|
||||||
let tag_close = '/>'
|
let s:tag_close = '/>'
|
||||||
else
|
else
|
||||||
let tag_close = '>'
|
let s:tag_close = '>'
|
||||||
|
endif
|
||||||
|
|
||||||
|
let s:HtmlSpace = ' '
|
||||||
|
let s:HtmlEndline = ''
|
||||||
|
if exists("html_no_pre")
|
||||||
|
let s:HtmlEndline = '<br' . s:tag_close
|
||||||
|
if exists("use_xhtml")
|
||||||
|
let s:HtmlSpace = '\ '
|
||||||
|
else
|
||||||
|
let s:HtmlSpace = '\ '
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" HTML header, with the title and generator ;-). Left free space for the CSS,
|
" HTML header, with the title and generator ;-). Left free space for the CSS,
|
||||||
" to be filled at the end.
|
" to be filled at the end.
|
||||||
exe "normal! a<html>\n<head>\n<title>\e"
|
exe "normal! a<html>\n<head>\n<title>\e"
|
||||||
exe "normal! a" . expand("%:p:~") . "</title>\n\e"
|
exe "normal! a" . expand("%:p:~") . "</title>\n\e"
|
||||||
exe "normal! a<meta name=\"Generator\" content=\"Vim/" . v:version/100 . "." . v:version %100 . '"' . tag_close . "\n\e"
|
exe "normal! a<meta name=\"Generator\" content=\"Vim/" . v:version/100 . "." . v:version %100 . '"' . s:tag_close . "\n\e"
|
||||||
if s:html_encoding != ""
|
if s:html_encoding != ""
|
||||||
exe "normal! a<meta http-equiv=\"content-type\" content=\"text/html; charset=" . s:html_encoding . '"' . tag_close . "\n\e"
|
exe "normal! a<meta http-equiv=\"content-type\" content=\"text/html; charset=" . s:html_encoding . '"' . s:tag_close . "\n\e"
|
||||||
endif
|
endif
|
||||||
if exists("html_use_css")
|
if exists("html_use_css")
|
||||||
exe "normal! a<style type=\"text/css\">\n<!--\n-->\n</style>\n\e"
|
exe "normal! a<style type=\"text/css\">\n<!--\n-->\n</style>\n\e"
|
||||||
@@ -214,11 +250,6 @@ exe s:orgwin . "wincmd w"
|
|||||||
" List of all id's
|
" List of all id's
|
||||||
let s:idlist = ","
|
let s:idlist = ","
|
||||||
|
|
||||||
let s:expandedtab = ' '
|
|
||||||
while strlen(s:expandedtab) < &ts
|
|
||||||
let s:expandedtab = s:expandedtab . ' '
|
|
||||||
endwhile
|
|
||||||
|
|
||||||
" Loop over all lines in the original text.
|
" Loop over all lines in the original text.
|
||||||
" Use html_start_line and html_end_line if they are set.
|
" Use html_start_line and html_end_line if they are set.
|
||||||
if exists("html_start_line")
|
if exists("html_start_line")
|
||||||
@@ -238,34 +269,17 @@ else
|
|||||||
let s:end = line("$")
|
let s:end = line("$")
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Closed folds are kept in the HTML. Prepare the closed fold template text.
|
|
||||||
if has('folding')
|
if has('folding')
|
||||||
let s:c = &fillchars[matchend(&fillchars, 'fold:')]
|
let s:foldfillchar = &fillchars[matchend(&fillchars, 'fold:')]
|
||||||
if s:c == ''
|
if s:foldfillchar == ''
|
||||||
let s:c = '-'
|
let s:foldfillchar = '-'
|
||||||
endif
|
endif
|
||||||
let s:htmlfoldtext = '+' . s:c
|
endif
|
||||||
while strlen(s:htmlfoldtext) < &columns
|
let s:difffillchar = &fillchars[matchend(&fillchars, 'diff:')]
|
||||||
let s:htmlfoldtext = s:htmlfoldtext . s:c
|
if s:difffillchar == ''
|
||||||
endwhile
|
let s:difffillchar = '-'
|
||||||
unlet s:c
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" For diff filler lines
|
|
||||||
if has('diff')
|
|
||||||
if s:numblines
|
|
||||||
let s:fillerline = strpart(' ', 0, strlen(line("$"))) . ' '
|
|
||||||
else
|
|
||||||
let s:fillerline = ''
|
|
||||||
endif
|
|
||||||
let s:fillchar = &fillchars[matchend(&fillchars, 'diff:')]
|
|
||||||
if s:fillchar == ''
|
|
||||||
let s:fillchar = '-'
|
|
||||||
endif
|
|
||||||
while strlen(s:fillerline) < &columns
|
|
||||||
let s:fillerline = s:fillerline . s:fillchar
|
|
||||||
endwhile
|
|
||||||
endif
|
|
||||||
|
|
||||||
while s:lnum <= s:end
|
while s:lnum <= s:end
|
||||||
|
|
||||||
@@ -274,24 +288,28 @@ while s:lnum <= s:end
|
|||||||
if s:filler > 0
|
if s:filler > 0
|
||||||
let s:n = s:filler
|
let s:n = s:filler
|
||||||
while s:n > 0
|
while s:n > 0
|
||||||
if s:n > 2 && s:n < s:filler && !exists("html_whole_filler")
|
if s:numblines
|
||||||
let s:new = strpart(s:fillerline, 0, 3) . " " . s:filler . " inserted lines "
|
" Indent if line numbering is on
|
||||||
let s:new = s:new . strpart(s:fillerline, strlen(s:new))
|
let s:new = repeat(' ', strlen(s:end) + 1) . repeat(s:difffillchar, 3)
|
||||||
let s:n = 2
|
|
||||||
else
|
else
|
||||||
let s:new = s:fillerline
|
let s:new = repeat(s:difffillchar, 3)
|
||||||
endif
|
|
||||||
let s:id_name = "DiffDelete"
|
|
||||||
let s:id = hlID(s:id_name)
|
|
||||||
let s:new = '<span class="' . s:id_name . '">' . s:new . '</span>'
|
|
||||||
" Add the class to class list if it's not there yet
|
|
||||||
if stridx(s:idlist, "," . s:id . ",") == -1
|
|
||||||
let s:idlist = s:idlist . s:id . ","
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if s:n > 2 && s:n < s:filler && !exists("html_whole_filler")
|
||||||
|
let s:new = s:new . " " . s:filler . " inserted lines "
|
||||||
|
let s:n = 2
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists("html_no_pre")
|
||||||
|
" HTML line wrapping is off--go ahead and fill to the margin
|
||||||
|
let s:new = s:new . repeat(s:difffillchar, &columns - strlen(s:new))
|
||||||
|
endif
|
||||||
|
|
||||||
|
let s:new = s:HtmlFormat(s:new, "DiffDelete")
|
||||||
exe s:newwin . "wincmd w"
|
exe s:newwin . "wincmd w"
|
||||||
exe "normal! a" . strtrans(s:new) . "\n\e"
|
exe "normal! a" . s:new . s:HtmlEndline . "\n\e"
|
||||||
exe s:orgwin . "wincmd w"
|
exe s:orgwin . "wincmd w"
|
||||||
|
|
||||||
let s:n = s:n - 1
|
let s:n = s:n - 1
|
||||||
endwhile
|
endwhile
|
||||||
unlet s:n
|
unlet s:n
|
||||||
@@ -300,35 +318,22 @@ while s:lnum <= s:end
|
|||||||
|
|
||||||
" Start the line with the line number.
|
" Start the line with the line number.
|
||||||
if s:numblines
|
if s:numblines
|
||||||
let s:new = strpart(' ', 0, strlen(line("$")) - strlen(s:lnum)) . s:lnum . ' '
|
let s:new = repeat(' ', strlen(s:end) - strlen(s:lnum)) . s:lnum . ' '
|
||||||
else
|
else
|
||||||
let s:new = ""
|
let s:new = ""
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Get the current line
|
|
||||||
let s:line = getline(s:lnum)
|
|
||||||
|
|
||||||
if has('folding') && foldclosed(s:lnum) > -1
|
if has('folding') && foldclosed(s:lnum) > -1
|
||||||
"
|
"
|
||||||
" This is the beginning of a folded block
|
" This is the beginning of a folded block
|
||||||
"
|
"
|
||||||
let s:line = foldtextresult(s:lnum)
|
let s:new = s:new . foldtextresult(s:lnum)
|
||||||
|
|
||||||
let s:new = s:new . s:line
|
|
||||||
if !exists("html_no_pre")
|
if !exists("html_no_pre")
|
||||||
let s:new = s:new . strpart(s:htmlfoldtext, strlen(s:new))
|
" HTML line wrapping is off--go ahead and fill to the margin
|
||||||
|
let s:new = s:new . repeat(s:foldfillchar, &columns - strlen(s:new))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Replace the reserved html characters
|
let s:new = s:HtmlFormat(s:new, "Folded")
|
||||||
let s:new = substitute(substitute(substitute(substitute(substitute(s:new, '&', '\&', 'g'), '<', '\<', 'g'), '>', '\>', 'g'), '"', '\"', 'g'), "\x0c", '<hr class="PAGE-BREAK">', 'g')
|
|
||||||
|
|
||||||
let s:id_name = "Folded"
|
|
||||||
let s:id = hlID(s:id_name)
|
|
||||||
let s:new = '<span class="' . s:id_name . '">' . s:new . '</span>'
|
|
||||||
" Add the class to class list if it's not there yet
|
|
||||||
if stridx(s:idlist, "," . s:id . ",") == -1
|
|
||||||
let s:idlist = s:idlist . s:id . ","
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Skip to the end of the fold
|
" Skip to the end of the fold
|
||||||
let s:lnum = foldclosedend(s:lnum)
|
let s:lnum = foldclosedend(s:lnum)
|
||||||
@@ -337,10 +342,12 @@ while s:lnum <= s:end
|
|||||||
"
|
"
|
||||||
" A line that is not folded.
|
" A line that is not folded.
|
||||||
"
|
"
|
||||||
|
let s:line = getline(s:lnum)
|
||||||
|
|
||||||
let s:len = strlen(s:line)
|
let s:len = strlen(s:line)
|
||||||
|
|
||||||
if s:numblines
|
if s:numblines
|
||||||
let s:new = '<span class="lnr">' . s:new . '</span> '
|
let s:new = '<span class="lnr">' . s:new . '</span>'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Get the diff attribute, if any.
|
" Get the diff attribute, if any.
|
||||||
@@ -348,7 +355,7 @@ while s:lnum <= s:end
|
|||||||
|
|
||||||
" Loop over each character in the line
|
" Loop over each character in the line
|
||||||
let s:col = 1
|
let s:col = 1
|
||||||
while s:col <= s:len
|
while s:col <= s:len || (s:col == 1 && s:diffattr)
|
||||||
let s:startcol = s:col " The start column for processing text
|
let s:startcol = s:col " The start column for processing text
|
||||||
if s:diffattr
|
if s:diffattr
|
||||||
let s:id = diff_hlID(s:lnum, s:col)
|
let s:id = diff_hlID(s:lnum, s:col)
|
||||||
@@ -356,11 +363,11 @@ while s:lnum <= s:end
|
|||||||
" Speed loop (it's small - that's the trick)
|
" Speed loop (it's small - that's the trick)
|
||||||
" Go along till we find a change in hlID
|
" Go along till we find a change in hlID
|
||||||
while s:col <= s:len && s:id == diff_hlID(s:lnum, s:col) | let s:col = s:col + 1 | endwhile
|
while s:col <= s:len && s:id == diff_hlID(s:lnum, s:col) | let s:col = s:col + 1 | endwhile
|
||||||
while s:len < &columns
|
if s:len < &columns && !exists("html_no_pre")
|
||||||
" Add spaces at the end to mark the changed line.
|
" Add spaces at the end to mark the changed line.
|
||||||
let s:line = s:line . ' '
|
let s:line = s:line . repeat(' ', &columns - s:len)
|
||||||
let s:len = s:len + 1
|
let s:len = &columns
|
||||||
endwhile
|
endif
|
||||||
else
|
else
|
||||||
let s:id = synID(s:lnum, s:col, 1)
|
let s:id = synID(s:lnum, s:col, 1)
|
||||||
let s:col = s:col + 1
|
let s:col = s:col + 1
|
||||||
@@ -369,42 +376,24 @@ while s:lnum <= s:end
|
|||||||
while s:col <= s:len && s:id == synID(s:lnum, s:col, 1) | let s:col = s:col + 1 | endwhile
|
while s:col <= s:len && s:id == synID(s:lnum, s:col, 1) | let s:col = s:col + 1 | endwhile
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" Expand tabs
|
||||||
|
let s:expandedtab = strpart(s:line, s:startcol - 1, s:col - s:startcol)
|
||||||
|
let idx = stridx(s:expandedtab, "\t")
|
||||||
|
while idx >= 0
|
||||||
|
let i = &ts - ((idx + s:startcol - 1) % &ts)
|
||||||
|
let s:expandedtab = substitute(s:expandedtab, '\t', repeat(' ', i), '')
|
||||||
|
let idx = stridx(s:expandedtab, "\t")
|
||||||
|
endwhile
|
||||||
|
|
||||||
" Output the text with the same synID, with class set to {s:id_name}
|
" Output the text with the same synID, with class set to {s:id_name}
|
||||||
let s:id = synIDtrans(s:id)
|
let s:id = synIDtrans(s:id)
|
||||||
let s:id_name = synIDattr(s:id, "name", s:whatterm)
|
let s:id_name = synIDattr(s:id, "name", s:whatterm)
|
||||||
let s:new = s:new . '<span class="' . s:id_name . '">' . substitute(substitute(substitute(substitute(substitute(strpart(s:line, s:startcol - 1, s:col - s:startcol), '&', '\&', 'g'), '<', '\<', 'g'), '>', '\>', 'g'), '"', '\"', 'g'), "\x0c", '<hr class="PAGE-BREAK">', 'g') . '</span>'
|
let s:new = s:new . s:HtmlFormat(s:expandedtab, s:id_name)
|
||||||
" Add the class to class list if it's not there yet
|
|
||||||
if stridx(s:idlist, "," . s:id . ",") == -1
|
|
||||||
let s:idlist = s:idlist . s:id . ","
|
|
||||||
endif
|
|
||||||
|
|
||||||
if s:col > s:len
|
|
||||||
break
|
|
||||||
endif
|
|
||||||
endwhile
|
endwhile
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Expand tabs
|
|
||||||
let s:pad=0
|
|
||||||
let s:start = 0
|
|
||||||
let s:idx = stridx(s:line, "\t")
|
|
||||||
while s:idx >= 0
|
|
||||||
let s:i = &ts - ((s:start + s:pad + s:idx) % &ts)
|
|
||||||
let s:new = substitute(s:new, '\t', strpart(s:expandedtab, 0, s:i), '')
|
|
||||||
let s:pad = s:pad + s:i - 1
|
|
||||||
let s:start = s:start + s:idx + 1
|
|
||||||
let s:idx = stridx(strpart(s:line, s:start), "\t")
|
|
||||||
endwhile
|
|
||||||
|
|
||||||
if exists("html_no_pre")
|
|
||||||
if exists("use_xhtml")
|
|
||||||
let s:new = substitute(s:new, ' ', '\ \ ', 'g') . '<br/>'
|
|
||||||
else
|
|
||||||
let s:new = substitute(s:new, ' ', '\ \ ', 'g') . '<br>'
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
exe s:newwin . "wincmd w"
|
exe s:newwin . "wincmd w"
|
||||||
exe "normal! a" . strtrans(s:new) . "\n\e"
|
exe "normal! a" . s:new . s:HtmlEndline . "\n\e"
|
||||||
exe s:orgwin . "wincmd w"
|
exe s:orgwin . "wincmd w"
|
||||||
let s:lnum = s:lnum + 1
|
let s:lnum = s:lnum + 1
|
||||||
+
|
+
|
||||||
@@ -488,7 +477,7 @@ while s:idlist != ""
|
|||||||
endwhile
|
endwhile
|
||||||
|
|
||||||
" Add hyperlinks
|
" Add hyperlinks
|
||||||
%s+\(http://\S\{-}\)\(\([.,;:}]\=\(\s\|$\)\)\|[\\"'<>]\|>\|<\)+<A HREF="\1">\1</A>\2+ge
|
%s+\(http://\S\{-}\)\(\([.,;:}]\=\(\s\|$\)\)\|[\\"'<>]\|>\|<\|"\)+<A HREF="\1">\1</A>\2+ge
|
||||||
|
|
||||||
" The DTD
|
" The DTD
|
||||||
if exists("html_use_css")
|
if exists("html_use_css")
|
||||||
@@ -512,12 +501,13 @@ exe s:newwin . "wincmd w"
|
|||||||
" Save a little bit of memory (worth doing?)
|
" Save a little bit of memory (worth doing?)
|
||||||
unlet s:old_et s:old_paste s:old_icon s:old_report s:old_title s:old_search
|
unlet s:old_et s:old_paste s:old_icon s:old_report s:old_title s:old_search
|
||||||
unlet s:whatterm s:idlist s:lnum s:end s:fgc s:bgc s:old_magic
|
unlet s:whatterm s:idlist s:lnum s:end s:fgc s:bgc s:old_magic
|
||||||
unlet! s:col s:id s:attr s:len s:line s:new s:did_retab s:numblines
|
unlet! s:col s:id s:attr s:len s:line s:new s:expandedtab s:numblines
|
||||||
unlet s:orgwin s:newwin s:orgbufnr
|
unlet s:orgwin s:newwin s:orgbufnr
|
||||||
delfunc s:HtmlColor
|
delfunc s:HtmlColor
|
||||||
|
delfunc s:HtmlFormat
|
||||||
delfunc s:CSS1
|
delfunc s:CSS1
|
||||||
if !exists("html_use_css")
|
if !exists("html_use_css")
|
||||||
delfunc s:HtmlOpening
|
delfunc s:HtmlOpening
|
||||||
delfunc s:HtmlClosing
|
delfunc s:HtmlClosing
|
||||||
endif
|
endif
|
||||||
silent! unlet s:htmlfoldtext s:fillerline s:diffattr
|
silent! unlet s:diffattr s:difffillchar s:foldfillchar s:HtmlSpace s:HtmlEndline
|
||||||
|
@@ -5570,6 +5570,10 @@ f_has(argvars, retvar)
|
|||||||
#if defined(WIN3264)
|
#if defined(WIN3264)
|
||||||
else if (STRICMP(name, "win95") == 0)
|
else if (STRICMP(name, "win95") == 0)
|
||||||
n = mch_windows95();
|
n = mch_windows95();
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_NETBEANS_INTG
|
||||||
|
else if (STRICMP(name, "netbeans_enabled") == 0)
|
||||||
|
n = usingNetbeans;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -3208,8 +3208,8 @@ do_ecmd(fnum, ffname, sfname, eap, newlnum, flags)
|
|||||||
workshop_file_opened((char *)curbuf->b_ffname, curbuf->b_p_ro);
|
workshop_file_opened((char *)curbuf->b_ffname, curbuf->b_p_ro);
|
||||||
# endif
|
# endif
|
||||||
# ifdef FEAT_NETBEANS_INTG
|
# ifdef FEAT_NETBEANS_INTG
|
||||||
if (usingNetbeans)
|
if (usingNetbeans & ((flags & ECMD_SET_HELP) != ECMD_SET_HELP))
|
||||||
netbeans_file_opened((char *)curbuf->b_ffname);
|
netbeans_file_opened(curbuf);
|
||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@@ -524,6 +524,8 @@ EX(CMD_mzfile, "mzfile", ex_mzfile,
|
|||||||
RANGE|FILE1|NEEDARG|CMDWIN),
|
RANGE|FILE1|NEEDARG|CMDWIN),
|
||||||
EX(CMD_next, "next", ex_next,
|
EX(CMD_next, "next", ex_next,
|
||||||
RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
|
RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
|
||||||
|
EX(CMD_nbkey, "nbkey", ex_nbkey,
|
||||||
|
EXTRA|NOTADR|NEEDARG),
|
||||||
EX(CMD_new, "new", ex_splitview,
|
EX(CMD_new, "new", ex_splitview,
|
||||||
BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
|
BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
|
||||||
EX(CMD_nmap, "nmap", ex_map,
|
EX(CMD_nmap, "nmap", ex_map,
|
||||||
|
@@ -3309,11 +3309,6 @@ gui_mch_init(void)
|
|||||||
/* Pretend we don't have input focus, we will get an event if we do. */
|
/* Pretend we don't have input focus, we will get an event if we do. */
|
||||||
gui.in_focus = FALSE;
|
gui.in_focus = FALSE;
|
||||||
|
|
||||||
#ifdef FEAT_NETBEANS_INTG
|
|
||||||
if (usingNetbeans)
|
|
||||||
netbeans_gtk_connect();
|
|
||||||
# endif
|
|
||||||
|
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1540,10 +1540,6 @@ gui_mch_init()
|
|||||||
if (usingSunWorkShop)
|
if (usingSunWorkShop)
|
||||||
workshop_connect(app_context);
|
workshop_connect(app_context);
|
||||||
#endif
|
#endif
|
||||||
#ifdef FEAT_NETBEANS_INTG
|
|
||||||
if (usingNetbeans)
|
|
||||||
netbeans_Xt_connect(app_context);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef FEAT_BEVAL
|
#ifdef FEAT_BEVAL
|
||||||
gui_init_tooltip_font();
|
gui_init_tooltip_font();
|
||||||
|
14
src/main.c
14
src/main.c
@@ -1255,6 +1255,20 @@ scripterror:
|
|||||||
#endif
|
#endif
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
#ifdef NBDEBUG
|
||||||
|
/*
|
||||||
|
* This shouldn't be necessary. But if I run netbeans with the log
|
||||||
|
* output coming to the console and XOpenDisplay fails, I get vim
|
||||||
|
* trying to start with input/output to my console tty. This fills my
|
||||||
|
* input buffer so fast I can't even kill the process in under 2
|
||||||
|
* minutes (and it beeps continuosly the whole time :-)
|
||||||
|
*/
|
||||||
|
if (usingNetbeans && (!stdout_isatty || !input_isatty))
|
||||||
|
{
|
||||||
|
mch_errmsg(_("Vim: Error: Failure to start gvim from NetBeans\n"));
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
if (!stdout_isatty)
|
if (!stdout_isatty)
|
||||||
mch_errmsg(_("Vim: Warning: Output is not to a terminal\n"));
|
mch_errmsg(_("Vim: Warning: Output is not to a terminal\n"));
|
||||||
if (!input_isatty)
|
if (!input_isatty)
|
||||||
|
@@ -2462,8 +2462,8 @@ ml_append_int(buf, lnum, line, len, newfile, mark)
|
|||||||
if (usingNetbeans)
|
if (usingNetbeans)
|
||||||
{
|
{
|
||||||
if (STRLEN(line) > 0)
|
if (STRLEN(line) > 0)
|
||||||
netbeans_inserted(buf, lnum+1, (colnr_T)0, 0, line, STRLEN(line));
|
netbeans_inserted(buf, lnum+1, (colnr_T)0, line, STRLEN(line));
|
||||||
netbeans_inserted(buf, lnum+1, (colnr_T)STRLEN(line), 0,
|
netbeans_inserted(buf, lnum+1, (colnr_T)STRLEN(line),
|
||||||
(char_u *)"\n", 1);
|
(char_u *)"\n", 1);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -2500,7 +2500,7 @@ ml_replace(lnum, line, copy)
|
|||||||
if (usingNetbeans)
|
if (usingNetbeans)
|
||||||
{
|
{
|
||||||
netbeans_removed(curbuf, lnum, 0, (long)STRLEN(ml_get(lnum)));
|
netbeans_removed(curbuf, lnum, 0, (long)STRLEN(ml_get(lnum)));
|
||||||
netbeans_inserted(curbuf, lnum, 0, 0, line, STRLEN(line));
|
netbeans_inserted(curbuf, lnum, 0, line, STRLEN(line));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if (curbuf->b_ml.ml_line_lnum != lnum) /* other line buffered */
|
if (curbuf->b_ml.ml_line_lnum != lnum) /* other line buffered */
|
||||||
@@ -2605,7 +2605,7 @@ ml_delete_int(buf, lnum, message)
|
|||||||
|
|
||||||
#ifdef FEAT_NETBEANS_INTG
|
#ifdef FEAT_NETBEANS_INTG
|
||||||
if (usingNetbeans)
|
if (usingNetbeans)
|
||||||
netbeans_removed(buf, lnum, 0, line_size);
|
netbeans_removed(buf, lnum, 0, (long)line_size);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Reference in New Issue
Block a user