mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
updated for version 7.0196
This commit is contained in:
parent
c7453f52d4
commit
f52c725c47
@ -1,7 +1,7 @@
|
|||||||
" Vim completion script
|
" Vim completion script
|
||||||
" Language: C
|
" Language: C
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2006 Feb 06
|
" Last Change: 2006 Feb 10
|
||||||
|
|
||||||
|
|
||||||
" This function is used for the 'omnifunc' option.
|
" This function is used for the 'omnifunc' option.
|
||||||
@ -213,9 +213,8 @@ endfunction
|
|||||||
" If it is a variable we may add "." or "->". Don't do it for other types,
|
" If it is a variable we may add "." or "->". Don't do it for other types,
|
||||||
" such as a typedef, by not including the info that s:GetAddition() uses.
|
" such as a typedef, by not including the info that s:GetAddition() uses.
|
||||||
function! s:Tag2item(val)
|
function! s:Tag2item(val)
|
||||||
let x = substitute(a:val['cmd'], '^/^', '', '')
|
let x = s:Tagcmd2extra(a:val['cmd'], a:val['name'], a:val['filename'])
|
||||||
let x = substitute(x, '$/$', '', '')
|
|
||||||
let x = substitute(x, a:val['name'], '@@', '')
|
|
||||||
if has_key(a:val, "kind")
|
if has_key(a:val, "kind")
|
||||||
if a:val["kind"] == 'v'
|
if a:val["kind"] == 'v'
|
||||||
return {'match': a:val['name'], 'tagline': "\t" . a:val['cmd'], 'dict': a:val, 'extra': x}
|
return {'match': a:val['name'], 'tagline': "\t" . a:val['cmd'], 'dict': a:val, 'extra': x}
|
||||||
@ -231,13 +230,37 @@ endfunction
|
|||||||
" "val['match']" is the matching item.
|
" "val['match']" is the matching item.
|
||||||
" "val['tagline']" is the tagline in which the last part was found.
|
" "val['tagline']" is the tagline in which the last part was found.
|
||||||
function! s:Tagline2item(val, brackets)
|
function! s:Tagline2item(val, brackets)
|
||||||
let word = a:val['match'] . a:brackets . s:GetAddition(a:val['tagline'], a:val['match'], [a:val], a:brackets == '')
|
let line = a:val['tagline']
|
||||||
|
let word = a:val['match'] . a:brackets . s:GetAddition(line, a:val['match'], [a:val], a:brackets == '')
|
||||||
if has_key(a:val, 'extra')
|
if has_key(a:val, 'extra')
|
||||||
return {'word': word, 'menu': a:val['extra']}
|
return {'word': word, 'menu': a:val['extra']}
|
||||||
endif
|
endif
|
||||||
return {'word': word, 'menu': substitute(a:val['tagline'], word, '@@', '')}
|
|
||||||
|
" Isolate the command after the tag and filename.
|
||||||
|
let s = matchstr(line, '[^\t]*\t[^\t]*\t\zs\(/^.*$/\|[^\t]*\)\ze\(;"\t\|\t\|$\)')
|
||||||
|
if s != ''
|
||||||
|
return {'word': word, 'menu': s:Tagcmd2extra(s, a:val['match'], matchstr(line, '[^\t]*\t\zs[^\t]*\ze\t'))}
|
||||||
|
endif
|
||||||
|
return {'word': word}
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
" Turn a command from a tag line to something that is useful in the menu
|
||||||
|
function! s:Tagcmd2extra(cmd, name, fname)
|
||||||
|
if a:cmd =~ '^/^'
|
||||||
|
" The command is a search command, useful to see what it is.
|
||||||
|
let x = matchstr(a:cmd, '^/^\zs.*\ze$/')
|
||||||
|
let x = substitute(x, a:name, '@@', '')
|
||||||
|
let x = substitute(x, '\\\(.\)', '\1', 'g')
|
||||||
|
let x = x . ' - ' . a:fname
|
||||||
|
elseif a:cmd =~ '^\d*$'
|
||||||
|
" The command is a line number, the file name is more useful.
|
||||||
|
let x = a:fname . ' - ' . a:cmd
|
||||||
|
else
|
||||||
|
" Not recognized, use command and file name.
|
||||||
|
let x = a:cmd . ' - ' . a:fname
|
||||||
|
endif
|
||||||
|
return x
|
||||||
|
endfunction
|
||||||
|
|
||||||
" Find composing type in "lead" and match items[0] with it.
|
" Find composing type in "lead" and match items[0] with it.
|
||||||
" Repeat this recursively for items[1], if it's there.
|
" Repeat this recursively for items[1], if it's there.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*todo.txt* For Vim version 7.0aa. Last change: 2006 Feb 09
|
*todo.txt* For Vim version 7.0aa. Last change: 2006 Feb 10
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -32,23 +32,14 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
|
|||||||
|
|
||||||
Crash with X command server (Ciaran McCreesh).
|
Crash with X command server (Ciaran McCreesh).
|
||||||
|
|
||||||
Add ":lcscope" to use location list instead of quickfix list.
|
|
||||||
|
|
||||||
ccomplete / omnicomplete:
|
ccomplete / omnicomplete:
|
||||||
When editing compl_leader <CR> should accept the current match.
|
|
||||||
Somehow select another match without changing the compl_leader, so that you
|
|
||||||
can use CTRL-L next? Perhaps with <S-Up> and <S-Down>?
|
|
||||||
- Flickering because of syntax highlighting redrawing further lines.
|
|
||||||
- Complete the longest common match instead of the first match?
|
|
||||||
Do this when "longest" is in 'completeopt'.
|
|
||||||
Pressing CTRL-N or CTRL-P will get the whole match, as before.
|
|
||||||
Need to postpone inserting anything until all matches have been found.
|
|
||||||
Then add a completion item with the longest common string (after what was
|
|
||||||
typed), if there is one.
|
|
||||||
- For C add tag "kind" field to each match?
|
- For C add tag "kind" field to each match?
|
||||||
|
- Flickering because of syntax highlighting redrawing further lines.
|
||||||
- Finding out if an item has members (to add '.' or '->') requires a grep in
|
- Finding out if an item has members (to add '.' or '->') requires a grep in
|
||||||
the tags files, that is very slow. Is there another solution? At least
|
the tags files, that is very slow. Is there another solution? At least
|
||||||
stop at the first match.
|
stop at the first match.
|
||||||
|
Could build the list of items for each structure in memory. Is that faster?
|
||||||
|
Not using too much memory?
|
||||||
- When a typedef or struct is local to a file only use it in that file?
|
- When a typedef or struct is local to a file only use it in that file?
|
||||||
- Special mappings for when the popup menu is visible? Would allow for making
|
- Special mappings for when the popup menu is visible? Would allow for making
|
||||||
a specific selection (e.g, methods vs variables).
|
a specific selection (e.g, methods vs variables).
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*version7.txt* For Vim version 7.0aa. Last change: 2006 Feb 09
|
*version7.txt* For Vim version 7.0aa. Last change: 2006 Feb 10
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -457,13 +457,6 @@ Win32: The ":winpos" command now also works in the console. (Vipin Aravind)
|
|||||||
|:caddbuffer| Add errors from the current buffer to the quickfix
|
|:caddbuffer| Add errors from the current buffer to the quickfix
|
||||||
list.
|
list.
|
||||||
|
|
||||||
|:ltag| Jump to a tag and add matching tags to a location list.
|
|
||||||
|:lmake| Like |:make| but use the location list.
|
|
||||||
|:lgrep| Like |:grep| but use the location list.
|
|
||||||
|:lgrepadd| Like |:grepadd| but use the location list.
|
|
||||||
|:lvimgrep| Like |:vimgrep| but use the location list.
|
|
||||||
|:lvimgrepadd| Like |:vimgrepadd| but use the location list.
|
|
||||||
|:lhelpgrep| Like |:helpgrep| but use the location list.
|
|
||||||
|:lfile| Like |:cfile| but use the location list.
|
|:lfile| Like |:cfile| but use the location list.
|
||||||
|:lgetfile| Like |:cgetfile| but use the location list.
|
|:lgetfile| Like |:cgetfile| but use the location list.
|
||||||
|:laddfile| Like |:caddfile| but use the location list.
|
|:laddfile| Like |:caddfile| but use the location list.
|
||||||
@ -474,7 +467,7 @@ Win32: The ":winpos" command now also works in the console. (Vipin Aravind)
|
|||||||
|:ll| Like |:cc| but use the location list.
|
|:ll| Like |:cc| but use the location list.
|
||||||
|:llist| Like |:clist| but use the location list.
|
|:llist| Like |:clist| but use the location list.
|
||||||
|:lnext| Like |:cnext| but use the location list.
|
|:lnext| Like |:cnext| but use the location list.
|
||||||
|:lprev| Like |:cprev| but use the location list.
|
|:lprevious| Like |:cprevious| but use the location list.
|
||||||
|:lNext| Like |:cNext| but use the location list.
|
|:lNext| Like |:cNext| but use the location list.
|
||||||
|:lfirst| Like |:cfirst| but use the location list.
|
|:lfirst| Like |:cfirst| but use the location list.
|
||||||
|:lrewind| Like |:crewind| but use the location list.
|
|:lrewind| Like |:crewind| but use the location list.
|
||||||
@ -487,6 +480,14 @@ Win32: The ":winpos" command now also works in the console. (Vipin Aravind)
|
|||||||
|:lwindow| Like |:cwindow| but use the location list.
|
|:lwindow| Like |:cwindow| but use the location list.
|
||||||
|:lopen| Like |:copen| but use the location list.
|
|:lopen| Like |:copen| but use the location list.
|
||||||
|:lclose| Like |:cclose| but use the location list.
|
|:lclose| Like |:cclose| but use the location list.
|
||||||
|
|:lmake| Like |:make| but use the location list.
|
||||||
|
|:lgrep| Like |:grep| but use the location list.
|
||||||
|
|:lgrepadd| Like |:grepadd| but use the location list.
|
||||||
|
|:lvimgrep| Like |:vimgrep| but use the location list.
|
||||||
|
|:lvimgrepadd| Like |:vimgrepadd| but use the location list.
|
||||||
|
|:lhelpgrep| Like |:helpgrep| but use the location list.
|
||||||
|
|:lcscope| Like |:cscope| but use the location list.
|
||||||
|
|:ltag| Jump to a tag and add matching tags to a location list.
|
||||||
|
|
||||||
|
|
||||||
Ex command modifiers: ~
|
Ex command modifiers: ~
|
||||||
@ -1682,4 +1683,7 @@ mapped. Use ":normal!" instead of ":normal". (Tony Apuzzo)
|
|||||||
|
|
||||||
Crashed when expanding a file name argument in backticks.
|
Crashed when expanding a file name argument in backticks.
|
||||||
|
|
||||||
|
In some situations the menu and scrollbar didn't work, when the value contains
|
||||||
|
a CSI byte. (Yukihiro Nakadaira)
|
||||||
|
|
||||||
vim:tw=78:ts=8:ft=help:norl:
|
vim:tw=78:ts=8:ft=help:norl:
|
||||||
|
16
src/eval.c
16
src/eval.c
@ -15378,7 +15378,21 @@ var2fpos(varp, lnum)
|
|||||||
return NULL;
|
return NULL;
|
||||||
return pp;
|
return pp;
|
||||||
}
|
}
|
||||||
if (name[0] == '$') /* last column or line */
|
if (name[0] == 'w' && lnum)
|
||||||
|
{
|
||||||
|
pos.col = 0;
|
||||||
|
if (name[1] == '0') /* "w0": first visible line */
|
||||||
|
{
|
||||||
|
pos.lnum = curwin->w_topline;
|
||||||
|
return &pos;
|
||||||
|
}
|
||||||
|
else if (name[1] == '$') /* "w$": last visible line */
|
||||||
|
{
|
||||||
|
pos.lnum = curwin->w_botline - 1;
|
||||||
|
return &pos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (name[0] == '$') /* last column or line */
|
||||||
{
|
{
|
||||||
if (lnum)
|
if (lnum)
|
||||||
{
|
{
|
||||||
|
@ -497,6 +497,8 @@ EX(CMD_lchdir, "lchdir", ex_cd,
|
|||||||
BANG|FILE1|TRLBAR|CMDWIN),
|
BANG|FILE1|TRLBAR|CMDWIN),
|
||||||
EX(CMD_lclose, "lclose", ex_cclose,
|
EX(CMD_lclose, "lclose", ex_cclose,
|
||||||
RANGE|NOTADR|COUNT|TRLBAR),
|
RANGE|NOTADR|COUNT|TRLBAR),
|
||||||
|
EX(CMD_lcscope, "lcscope", do_cscope,
|
||||||
|
EXTRA|NOTRLCOM|SBOXOK|XFILE),
|
||||||
EX(CMD_left, "left", ex_align,
|
EX(CMD_left, "left", ex_align,
|
||||||
TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
|
TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
|
||||||
EX(CMD_leftabove, "leftabove", ex_wrongmodifier,
|
EX(CMD_leftabove, "leftabove", ex_wrongmodifier,
|
||||||
|
7
src/ui.c
7
src/ui.c
@ -1593,7 +1593,10 @@ set_input_buf(p)
|
|||||||
|
|
||||||
#if defined(FEAT_GUI) || defined(FEAT_MOUSE_GPM) \
|
#if defined(FEAT_GUI) || defined(FEAT_MOUSE_GPM) \
|
||||||
|| defined(FEAT_XCLIPBOARD) || defined(VMS) \
|
|| defined(FEAT_XCLIPBOARD) || defined(VMS) \
|
||||||
|| defined(FEAT_SNIFF) || defined(FEAT_CLIENTSERVER) || defined(PROTO)
|
|| defined(FEAT_SNIFF) || defined(FEAT_CLIENTSERVER) \
|
||||||
|
|| (defined(FEAT_GUI) && (!defined(USE_ON_FLY_SCROLL) \
|
||||||
|
|| defined(FEAT_MENU))) \
|
||||||
|
|| defined(PROTO)
|
||||||
/*
|
/*
|
||||||
* Add the given bytes to the input buffer
|
* Add the given bytes to the input buffer
|
||||||
* Special keys start with CSI. A real CSI must have been translated to
|
* Special keys start with CSI. A real CSI must have been translated to
|
||||||
@ -1620,6 +1623,8 @@ add_to_input_buf(s, len)
|
|||||||
|
|
||||||
#if (defined(FEAT_XIM) && defined(FEAT_GUI_GTK)) \
|
#if (defined(FEAT_XIM) && defined(FEAT_GUI_GTK)) \
|
||||||
|| (defined(FEAT_MBYTE) && defined(FEAT_MBYTE_IME)) \
|
|| (defined(FEAT_MBYTE) && defined(FEAT_MBYTE_IME)) \
|
||||||
|
|| (defined(FEAT_GUI) && (!defined(USE_ON_FLY_SCROLL) \
|
||||||
|
|| defined(FEAT_MENU))) \
|
||||||
|| defined(PROTO)
|
|| defined(PROTO)
|
||||||
/*
|
/*
|
||||||
* Add "str[len]" to the input buffer while escaping CSI bytes.
|
* Add "str[len]" to the input buffer while escaping CSI bytes.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user