[slime-devel] slime-fuzzy-complete-symbol

Antonio Menezes Leitao aml at gia.ist.utl.pt
Mon May 8 15:08:12 UTC 2006


Hi,

"Levente Mészáros" <levente.meszaros at gmail.com> writes:

> Hi,
>
> I'm wondering how others use slime-fuzzy-complete-symbol? Do you use
> it at all? Do you use it with the default user interface or do you
> have customized it?

I added the following function (just a minor change on
slime-fuzzy-select):

(defun slime-fuzzy-select-and-space ()
  "Selects the current completion, making sure that it is inserted
into the target buffer with an extra space.  This tells the connected
Lisp what completion was selected."
  (interactive)
  (when slime-fuzzy-target-buffer
    (let ((buff slime-fuzzy-target-buffer))
      (slime-fuzzy-select)
      (with-current-buffer buff
        (insert-and-inherit " ")))))

and changed the completion map:

(defvar slime-fuzzy-completions-map  
  (let* ((map (make-sparse-keymap)))
    
    ...
    (define-key map " " 'slime-fuzzy-select-and-space)
    ...)
  "Keymap for slime-fuzzy-completions-mode.")

This takes advantage of the fact that, in most cases, fuzzy completion
places the cursor on the correct completion so I don't really look at
the completions window because the correct completion was also placed
on my buffer.  Then, I press a space and (because the focus was on the
completion window, the command confirms the choice, and I keep
writing.

This small change is, IMHO, a good improvement for fuzzy completion
usability.

Best regards,

António Leitão.



More information about the slime-devel mailing list