[Top][All Lists]

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

RE: find-file-project

From: Drew Adams
Subject: RE: find-file-project
Date: Wed, 20 Jan 2016 16:08:09 -0800 (PST)

> > Maybe you meant `try-completion'?  And even that uses `completion-styles',
> > which is pretty flexible (not in the way that I wanted, but at least it
> > allows for different kinds of completion).
> completion-styles are too slow. We want to be able to delegate matching
> to an external program.

The question is why you need to break stuff to be able to do that.

> Maybe try reading the thread next time, before jumping in?

Maybe try explaining why you need to break `all-completions' and
`minibuffer-completion-table'.  Don't suggest breaking it and I
probably won't jump in at all.

Why can't you build your shiny new feature outside the existing
completion framework, if it doesn't suit your purpose?  Why do
you (think you) need to break it?

> > So don't use `completion-at-point-functions', if they don't give you
> > what you want.  I don't use them.  That shouldn't mean that you need
> > to screw `all-completions' or `minibuffer-completion-table'.
> completion-at-point-functions are fine. The completion tables, as
> currently defined, are insufficiently powerful.

So use whatever alternative you (think you) need, but outside the
current framework - instead of just breaking that framework to fit
what you want to do.

If `minibuffer-completion-table' is not your cup of tea, leave it
alone and go make your own, "sufficiently powerful".  But leave it
alone.  That's all I'm asking: add (if really necessary); don't break.

> We also want to use the new kind of completion tables for e.g.
> project-find-file, which does use the minibuffer.

So what?  There are lots of ways to use the minibuffer.  And you
can add to them if they aren't enough for you.  You should not
need to break existing ways of using it just to add your own way.

New this, new that, insufficiently powerful this, more powerful that...

My point is that you can just do what you (think you) need to do
without sacrificing what already exists.

> > `completion-at-point-functions', too limited or not, is fairly recent.
> > `all-completions' and `minibuffer-completion-table' are decades old.
> > They are solid, basic tools.
> Emacs should improve over time.

You can improve Emacs (or even change it in other ways that you
might think are improvements) without breaking the longstanding
completion framework.  Just add another one, for your "sufficiently
powerful" enhancements, if the existing one doesn't suit your needs.

reply via email to

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