diff runtime/autoload/ccomplete.vim @ 659:d6a69271cb9a v7.0194

updated for version 7.0194
author vimboss
date Wed, 08 Feb 2006 09:20:24 +0000
parents 441f938ea9e9
children 0137e7c3d31b
line wrap: on
line diff
--- a/runtime/autoload/ccomplete.vim
+++ b/runtime/autoload/ccomplete.vim
@@ -1,7 +1,7 @@
 " Vim completion script
 " Language:	C
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2006 Feb 03
+" Last Change:	2006 Feb 06
 
 
 " This function is used for the 'omnifunc' option.
@@ -213,22 +213,29 @@ endfunction
 " 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.
 function! s:Tag2item(val)
+  let x = substitute(a:val['cmd'], '^/^', '', '')
+  let x = substitute(x, '$/$', '', '')
+  let x = substitute(x, a:val['name'], '@@', '')
   if has_key(a:val, "kind")
     if a:val["kind"] == 'v'
-      return {'match': a:val['name'], 'tagline': "\t" . a:val['cmd'], 'dict': a:val}
+      return {'match': a:val['name'], 'tagline': "\t" . a:val['cmd'], 'dict': a:val, 'extra': x}
     endif
     if a:val["kind"] == 'f'
-      return {'match': a:val['name'] . '(', 'tagline': ""}
+      return {'match': a:val['name'] . '(', 'tagline': "", 'extra': x}
     endif
   endif
-  return {'match': a:val['name'], 'tagline': ''}
+  return {'match': a:val['name'], 'tagline': '', 'extra': x}
 endfunction
 
 " Turn a match item "val" into an item for completion.
 " "val['match']" is the matching item.
 " "val['tagline']" is the tagline in which the last part was found.
 function! s:Tagline2item(val, brackets)
-  return a:val['match'] . a:brackets . s:GetAddition(a:val['tagline'], a:val['match'], [a:val], a:brackets == '')
+  let word = a:val['match'] . a:brackets . s:GetAddition(a:val['tagline'], a:val['match'], [a:val], a:brackets == '')
+  if has_key(a:val, 'extra')
+    return {'word': word, 'menu': a:val['extra']}
+  endif
+  return {'word': word, 'menu': substitute(a:val['tagline'], word, '@@', '')}
 endfunction