help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Looking for universal completion with simple UI


From: dont . spam . earl
Subject: Re: Looking for universal completion with simple UI
Date: Tue, 7 Oct 2014 08:39:15 -0700 (PDT)
User-agent: G2/1.0

Yes, these are important UI considerations that I hadn't thought through yet. 
Thanks for outlining the possibilities. 

I see now how Icicles does indeed provide much of the functionality I'd like 
including supporting comint inputs, search history, etc.

Drew - The one unresolved issue for me is simplicity: the documentation for 
Icicles spans dozens of pages on emacswiki.org. Even after using it for a few 
months, I'm still surprised and turned-off by some of the defaults. I can 
envision an "Emacs Starter Kit"-style layer on top of icicles that provides a 
simpler interface and smoother learning curve. This might come at the cost of 
some of the advanced features and configurability however. If it were to have a 
different name yet acknowledge Icicles in its documentation, is that something 
you'd oppose?

Thanks,
Earl







On Sunday, October 5, 2014 10:53:01 PM UTC-7, Drew Adams wrote:
> > Drew - thanks for the response. Yes, Icicles is the most
> 
> > comprehensive package for completion I've found, particularly for
> 
> > the mini buffer. I found it especially helpful to read you
> 
> > explaining the philosophy here:
> 
> > http://stackoverflow.com/questions/2100166/making-sense-out-of-
> 
> > emacs-completion-mode-choices
> 
> > 
> 
> > It appears Icicles is focused on mini-buffer completion though.
> 
> > Any tips for the various forms of in-buffer completion: searching,
> 
> > cycling through killed text, etc.?
> 
> 
> 
> One consideration is where you type the text to be completed, i.e.,
> 
> whether you type it first in the minibuffer or you type it directly
> 
> in the destination buffer.
> 
> 
> 
> IOW, even if you are completing text that you type into a buffer
> 
> (e.g., code), completion can use the minibuffer for (temporary)
> 
> text entry and another buffer (e.g. `*Completions*') for candidate
> 
> display. (Or it could, Ido-style, use the minibuffer for both input
> 
> and candidate display.)
> 
> 
> 
> To complete text in a buffer it is more common that you type there
> 
> and hit a key to complete there, without opening a minibuffer for
> 
> temporary text entry.  But where you enter the text is relevant
> 
> only to UI convenience, not to what kinds of completion are
> 
> available, for what contexts, etc.  Typing directly into the buffer
> 
> does have the advantage that you need not temporarily move your eye elsewhere 
> (i.e., to the minibuffer or to `*Completions*').
> 
> 
> 
> It is true that Icicles does not have a lot of direct, particular
> 
> support for completing different kinds of buffer text.  It supports 
> 
> general, dynamic text completion (`dabbrev', `completion.el'). It supports 
> BBDB text completion, comint (shell) text completion, and
> 
> Lisp symbol completion.  Other than those, it does not offer
> 
> anything special completing different kinds of text.
> 
> 
> 
> But if another library uses `completing-read' to provide a
> 
> particular form of text completion (e.g., completion for terms
> 
> in a particular programming language), then you can take
> 
> advantage of Icicles completion.  Most do not, AFAIK - they tend
> 
> to use in-buffer prefix entry and in-place cycling of completion
> 
> candidates.
> 
> 
> 
> Wrt which packages provide particular support for different
> 
> programming languages, others will no doubt chime in with
> 
> suggestions.  For vanilla Emacs there are CEDET and Semantic,
> 
> and various programming-language modes should offer some text
> 
> completion.
> 
> 
> 
> If you look at the code for the Icicles versions of `dabbrev'
> 
> etc. completion (command `icicle-dabbrev-completion'), you will
> 
> see that it is essentially the vanilla code with Icicles
> 
> completion added to handle the multiple-candidates case.
> 
> 
> 
> This means that if you have some existing text-completion code,
> 
> you can likely convert it easily to take advantage of Icicles
> 
> completion for the multiple-candidates case.
> 
> 
> 
> (Dunno what you mean by "searching, cycling through killed text"
> 
> as "forms of in-buffer completion".  Icicles provides completion
> 
> for searching; for yanking kill-ring text; and for navigating
> 
> using Imenu, bookmarks, the mark-ring, tag files, Info nodes,
> 
> grep or occur hits, buffer narrowings, etc.  But I don't really
> 
> see such things as being forms of "in-buffer completion".)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]