emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [Orgmode] ido's flex matching in org-refile


From: Eric Schulte
Subject: Re: [Orgmode] ido's flex matching in org-refile
Date: Sun, 16 Nov 2008 12:07:48 -0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

Carsten Dominik <address@hidden> 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.
>> address@hidden
>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Remember: use `Reply All' to send replies to the list.
> address@hidden
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode




reply via email to

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