all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: dont.spam.earl@gmail.com
To: help-gnu-emacs@gnu.org
Subject: Re: Looking for universal completion with simple UI
Date: Tue, 7 Oct 2014 08:38:11 -0700 (PDT)	[thread overview]
Message-ID: <30188c0f-ed06-4dda-ab75-6aec7722b63a@googlegroups.com> (raw)
In-Reply-To: <mailman.10546.1412571788.1147.help-gnu-emacs@gnu.org>

Great - thanks for the pointer! I see it appears to occupy the same niche as Company. While both are being actively developed on github, searching doesn't uncover any recent comparisons of the two.

How would you compare them? And why Helm over Company?


On Sunday, October 5, 2014 10:02:44 PM UTC-7, Eric Abrahamsen wrote:
> dont.spam.earl writes:
> 
> 
> 
> > 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.?
> 
> 
> 
> I think "helm" is becoming the standard response to this question -- it
> 
> does all the minibuffer stuff, and provides a unified completion
> 
> mechanism over find/grep/kill-ring/mark-ring, etc etc. People have made
> 
> backends for an astonishing amount of stuff. You can also use it for
> 
> in-buffer text completion by using the auto-complete backend.
> 
> 
> 
> > On Sunday, October 5, 2014 8:28:54 PM UTC-7, Drew Adams wrote:
> 
> >> > I'm posting to ask about a completion model I have in mind. Before I
> 
> >> 
> 
> >> > code it up myself I'm trying to find any packages that already
> 
> >> 
> 
> >> > implement most or all of this functionality.
> 
> >> 
> 
> >> > 
> 
> >> 
> 
> >> > The Emacs Wiki Category page for Completion lists packages for
> 
> >> 
> 
> >> > minibuffer completion and text completion:
> 
> >> 
> 
> >> > http://www.emacswiki.org/emacs/CategoryCompletion
> 
> >> 
> 
> >> > 
> 
> >> 
> 
> >> > I want a package for completion both INSIDE and OUTSIDE of the
> 
> >> 
> 
> >> > minibuffer with a universal UI:
> 
> >> 
> 
> >> > - Minibuffer Input Completion:
> 
> >> 
> 
> >> >   - finding files
> 
> >> 
> 
> >> >   - switching buffers
> 
> >> 
> 
> >> >   - apropos for functions and variables
> 
> >> 
> 
> >> >   - and any other minibuffer history lists
> 
> >> 
> 
> >> > - Text Completion in a Buffer:
> 
> >> 
> 
> >> >   - code completion
> 
> >> 
> 
> >> >   - executables/commands at a comint prompt
> 
> >> 
> 
> >> >   - i-searching in the current buffer
> 
> >> 
> 
> >> >   - cycling through killed text for yanking
> 
> >> 
> 
> >> > 
> 
> >> 
> 
> >> > Further, I want to navigate via a couple "dimensions" of context,
> 
> >> 
> 
> >> > both historical (previous inputs I've entered), and alphabetical
> 
> >> 
> 
> >> > (previous and next alphabetically, as in files in a directory).
> 
> >> 
> 
> >> > 
> 
> >> 
> 
> >> > The UI model and keybindings for this might be as simple as:
> 
> >> 
> 
> >> > - show prefix candidates with TAB
> 
> >> 
> 
> >> > - show substring candidates with S-TAB
> 
> >> 
> 
> >> > - with candidates already shown, the second TAB/S-TAB would select
> 
> >> 
> 
> >> >   the first candidate
> 
> >> 
> 
> >> > - navigate candidates alphabetically with C-r, C-s
> 
> >> 
> 
> >> > - navigate candidates historically with C-p, C-n
> 
> >> 
> 
> >> > 
> 
> >> 
> 
> >> > Do any packages implement this already?
> 
> >> 
> 
> >> 
> 
> >> 
> 
> >> I think you will find that several packages support much or even
> 
> >> 
> 
> >> all of what you request.  Even vanilla Emacs supports much of it.
> 
> >> 
> 
> >> 
> 
> >> 
> 
> >> I can't speak for other packages (others will), but Icicles
> 
> >> 
> 
> >> supports pretty much all of what you mention.
> 
> >> 
> 
> >> 
> 
> >> 
> 
> >> Icicle features apply mainly to the minibuffer.
> 
> >> 
> 
> >> 
> 
> >> 
> 
> >> For in-buffer text (code) completion, whenever there are
> 
> >> 
> 
> >> multiple candidates matching the buffer text to be completed,
> 
> >> 
> 
> >> Icicles extends some vanilla commands to let you use its
> 
> >> 
> 
> >> minibuffer completion features (regexp or substring matching,
> 
> >> 
> 
> >> multiple-pattern matching, candidate sorting, cycling, etc.)
> 
> >> 
> 
> >> 
> 
> >> 
> 
> >> So for text completion, instead of cycling among multiple
> 
> >> 
> 
> >> candidates in place, Icicles uses the minibuffer and shows
> 
> >> 
> 
> >> the candidates in `*Completions*'.  When there is only one
> 
> >> 
> 
> >> candidate, text completion in Icicles reverts to vanilla,
> 
> >> 
> 
> >> in-place completion.
> 
> >> 
> 
> >> 
> 
> >> 
> 
> >> Apart from Emacs Lisp, Icicles offers nothing particular for
> 
> >> 
> 
> >> code completion that is language-specific.  But its completion
> 
> >> 
> 
> >> features are automatically available for any code-specific
> 
> >> 
> 
> >> completion that uses `completing-read'.
> 
> >> 
> 
> >> 
> 
> >> 
> 
> >> You can download Icicles from Emacs Wiki or MELPA, to try it.
> 
> >> 
> 
> >> http://www.emacswiki.org/Icicles


  parent reply	other threads:[~2014-10-07 15:38 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-05 20:26 Looking for universal completion with simple UI dont.spam.earl
2014-10-06  3:28 ` Drew Adams
     [not found] ` <mailman.10545.1412566158.1147.help-gnu-emacs@gnu.org>
2014-10-06  4:40   ` dont.spam.earl
2014-10-06  5:02     ` Eric Abrahamsen
2014-10-06  5:53     ` Drew Adams
     [not found]     ` <mailman.10546.1412571788.1147.help-gnu-emacs@gnu.org>
2014-10-07 15:38       ` dont.spam.earl [this message]
2014-10-07 16:51         ` Eric Abrahamsen
     [not found]     ` <mailman.10548.1412574805.1147.help-gnu-emacs@gnu.org>
2014-10-07 15:39       ` dont.spam.earl
2014-10-08 16:49         ` Drew Adams
     [not found]         ` <mailman.10751.1412786977.1147.help-gnu-emacs@gnu.org>
2014-10-17 15:19           ` dont.spam.earl
2014-10-17 16:31             ` Drew Adams
2014-10-20 21:48               ` Drew Adams
     [not found]               ` <mailman.11604.1413841750.1147.help-gnu-emacs@gnu.org>
2014-10-30 21:09                 ` dont.spam.earl
2014-10-08  5:42 ` Tu, Do
2014-10-17 15:18   ` dont.spam.earl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=30188c0f-ed06-4dda-ab75-6aec7722b63a@googlegroups.com \
    --to=dont.spam.earl@gmail.com \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.