emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Carsten Dominik <dominik@science.uva.nl>
To: Eric Schulte <schulte.eric@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: ido's flex matching in org-refile
Date: Mon, 17 Nov 2008 07:56:22 +0100	[thread overview]
Message-ID: <E5DD3775-0EA6-48BD-AD7F-B254A455488E@uva.nl> (raw)
In-Reply-To: <87myfzph7v.fsf@gmail.com>

Hi,

I have applied Erics patch, with two changes:

1. There is an additonal option you need to set:
     `org-completion-use-ido'.

2. For a test period, each prompt using ido completion will be  
prefixed with "i:", so that we can easily identify areas where using  
ido's completion may not work well for Org.

I'd appreciate if some of your could turn this on and test it  
extensively.

Thanks in advance for testing, and thanks to Samuel and Eric for the  
implementation.

- Carsten



On Nov 16, 2008, at 9:07 PM, Eric Schulte wrote:

> 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-17  7:46 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
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 [this message]
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=E5DD3775-0EA6-48BD-AD7F-B254A455488E@uva.nl \
    --to=dominik@science.uva.nl \
    --cc=emacs-orgmode@gnu.org \
    --cc=schulte.eric@gmail.com \
    /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).