From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Dominik Subject: Re: ido's flex matching in org-refile Date: Mon, 17 Nov 2008 07:56:22 +0100 Message-ID: References: <20524da70811091811r51fcbfdaue35fa583e35ec361@mail.gmail.com> <77A67AB4-322B-428A-BB70-CD615E32FC65@uva.nl> <87myfzph7v.fsf@gmail.com> Mime-Version: 1.0 (Apple Message framework v929.2) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L1yon-0002ND-Qg for emacs-orgmode@gnu.org; Mon, 17 Nov 2008 02:46:45 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L1yon-0002Mj-8I for emacs-orgmode@gnu.org; Mon, 17 Nov 2008 02:46:45 -0500 Received: from [199.232.76.173] (port=57235 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L1yon-0002MZ-2v for emacs-orgmode@gnu.org; Mon, 17 Nov 2008 02:46:45 -0500 Received: from ug-out-1314.google.com ([66.249.92.168]:41794) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1L1yom-0006Hl-GA for emacs-orgmode@gnu.org; Mon, 17 Nov 2008 02:46:44 -0500 Received: by ug-out-1314.google.com with SMTP id 36so407351uga.17 for ; Sun, 16 Nov 2008 23:46:44 -0800 (PST) In-Reply-To: <87myfzph7v.fsf@gmail.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Eric Schulte Cc: emacs-orgmode@gnu.org 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 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