Thanks Luc. I haven't completely understood it yet, but I'll try it out.

On Mon, Aug 1, 2011 at 6:27 AM, <[email protected]> wrote:

>
> I forgot something regarding your need to know the exact choice even if
> there are ambiguities.
>
> > Hello,
> >
> >
> > "Amit Dev" wrote:
> >
> > > One thing I'm trying to do is to
> > > use the custom completion function (^X^U). [...]
> > >
> > > Is there a callback or something that can be registered to find out
> > > which item user chose?
> >
> > In mu-template [1], I've proceeded the following (asynchronous) way.
> > (I've found no way to proceed synchronously) :
> >
> > - use feedkey (in s:ChooseTemplateFile(), l.680) to call a function
> > that returns nothing, but that calls complete()
> >
> > - the function called (s:ChooseByComplete(), l.643) prepares the
> > dictionary for complete(), registers a hook (to be called at the end
> > of the process), and calls complete() -- this is all done through a
> > "library" that I wrote for the occasion (lh-vim-lib ->
> > autoload/lh/icomplete.vim)
> >
> > - the hook function (s:FinishCompletion(), l.659) extracts from the
> > buffer what has really been inserted, and then do what I wished to
> > do (here insert and interpret a template-file)
>
> At this point, the string inserted is by no mean the final string, but
> something like a temporary identifier that I use to know which was the
> user's choice.
>
>
> > The hook itself is triggered when <cr> or <c-y> are pressed. Both key
> > are temporarily overriden for this purpose.
> > NB: I also register a clear-once-the-temporary-mappings hook on
> > InsertLeave, thanks to lh-vim-lib again.
> >
> >
> > HTH,
> >
> > [1] the source code that'll interest you is here:
> >
> http://code.google.com/p/lh-vim/source/browse/mu-template/trunk/autoload/lh/mut.vim
> >
> > --
> > Luc Hermitte
> > http://lh-vim.googlecode.com/
> > http://hermitte.free.fr/vim/
>
> --
> You received this message from the "vim_use" maillist.
> Do not top-post! Type your reply below the text you are replying to.
> For more information, visit http://www.vim.org/maillist.php
>

-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Reply via email to