emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: "Eric Schulte" <schulte.eric@gmail.com>
To: Carsten Dominik <dominik@science.uva.nl>
Cc: emacs-orgmode@gnu.org
Subject: Re: ido's flex matching in org-refile
Date: Sun, 16 Nov 2008 12:07:48 -0800	[thread overview]
Message-ID: <87myfzph7v.fsf@gmail.com> (raw)
In-Reply-To: <77A67AB4-322B-428A-BB70-CD615E32FC65@uva.nl> (Carsten Dominik's message of "Mon, 10 Nov 2008 09:14:29 +0100")

Carsten Dominik <dominik@science.uva.nl> writes:

> Hi Sam,
>
> if you get this to wrok correctly with outline-path-completion,
> that would make me consider to put in some time to make Org more
> ido compatible.
>
> - Carsten
>

Hi,

I tried changing completing-reads in org-mode so that they will use
ido-mode speedups when ido-mode is available and has been set by the
user's global configuration.

There is one difference between ido-completing-read and completing-read,
namely the second argument must be a list in ido-completing-read, rather
than the more general options in regular completing-read so this
limitation is also considered when deciding which completing read
function to use.  All completing reads are now handled through the
following simple function.

(defun org-ido-completing-read (&rest args)
  "Completing-read using `ido-mode' speedups if available"
  (if (and ido-mode (listp (second args)))
      (apply 'ido-completing-read args)
    (apply 'completing-read args)))

This does mean that for some of the fancier org-mode completing reads
(like in `org-refile') ido-completing-read will not be used.

Since the changes span many files, I posted them up here as a whole
repository rather than just attaching patches.

http://github.com/eschulte/org-mode/tree/master

I haven't tested this exhaustively, but it works in every case I've
tried, and when used the ido-mode speedups are very nice.

Cheers -- Eric

>
> On Nov 10, 2008, at 3:11 AM, Samuel Wales wrote:
>
>> For those who don't know, flex matching in ido is really
>> something else.  Just a few characters uniquely specify a
>> target.
>>
>> For those who want to experiment with ido's flex matching
>> for org-refile, here is how I did it.
>>
>>  1.  In org.el's org-refile-get-location, substitute
>>      ido-completing-read for completing-read.
>>
>>  2.  M-C-x.
>>
>>  3.  Settings.
>>
>> ;;these enable ido for other stuff
>> (ido-mode 1)
>> (ido-everywhere 1)
>>
>> (setf ido-confirm-unique-completion t)
>> (setf ido-enable-flex-matching t)
>>
>> ;;season to taste.  for me, this is fast.
>> (setq org-refile-targets '((org-agenda-files . (:maxlevel . 2))))
>> ;;i didn't get it to work with this as t, but it probably is
>> ;;pretty easy.  this is the next thing that should be done.
>> (setf org-refile-use-outline-path nil)
>>
>>  4.  Get into an org file.
>>
>>  5.  Call org-refile.
>>
>> By the way, this should also work for headline jumping and
>> any other part of org that uses completing-read.  See
>> http://www.emacswiki.org/emacs/InteractivelyDoThings for
>> background.
>>
>> Anybody who wants to take this over is welcome.
>>
>> -- 
>> For financial gain, professional myalgic encephalomyelitis deniers are
>> knowingly causing further suffering and death by opposing biomedical
>> research into this fast-spreading serious disease.    Care about the
>> world?  Learn and get active:
>> http://www.meactionuk.org.uk/What_Is_ME_What_Is_CFS.htm
>>
>>
>> _______________________________________________
>> Emacs-orgmode mailing list
>> Remember: use `Reply All' to send replies to the list.
>> Emacs-orgmode@gnu.org
>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Remember: use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode

  parent reply	other threads:[~2008-11-16 20:07 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-10  2:11 ido's flex matching in org-refile Samuel Wales
2008-11-10  8:14 ` Carsten Dominik
2008-11-15  6:10   ` Samuel Wales
2008-11-16 20:07   ` Eric Schulte [this message]
2008-11-16 20:26     ` Carsten Dominik
2008-11-16 22:07       ` Bernt Hansen
2008-11-17  2:33         ` Eric Schulte
2008-11-17  6:56     ` Carsten Dominik
2008-11-21 11:23       ` Rick Moynihan
2008-11-21 11:34         ` Carsten Dominik
2008-11-21 14:06           ` Rick Moynihan

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

  List information: https://www.orgmode.org/

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

  git send-email \
    --in-reply-to=87myfzph7v.fsf@gmail.com \
    --to=schulte.eric@gmail.com \
    --cc=dominik@science.uva.nl \
    --cc=emacs-orgmode@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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).