diff options
Diffstat (limited to 'elisp')
-rw-r--r-- | elisp/geiser-edit.el | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/elisp/geiser-edit.el b/elisp/geiser-edit.el index 0f2b080..df4231c 100644 --- a/elisp/geiser-edit.el +++ b/elisp/geiser-edit.el @@ -298,13 +298,22 @@ With prefix, asks for the symbol to locate." (when marker (xref-push-marker-stack marker)) t))) +(geiser-custom--defcustom geiser-insert-actual-lambda t + "Whether geiser-insert-lambda should insert \"λ\" or \"lambda\"." + :type 'boolean) + (defun geiser-insert-lambda (&optional full) - "Insert λ at point. With prefix, inserts (λ ())." + "Insert λ or lambda at point. With prefix, inserts (λ ()) or (lambda ()). + +See also `geiser-insert-actual-lambda'." (interactive "P") - (if (not full) - (insert (make-char 'greek-iso8859-7 107)) - (insert "(" (make-char 'greek-iso8859-7 107) " ())") - (backward-char 2))) + (let ((sym (if geiser-insert-actual-lambda + (make-char 'greek-iso8859-7 107) + "lambda"))) + (if (not full) + (insert sym) + (insert "(" sym " ())") + (backward-char 2)))) (defun geiser-squarify (n) "Toggle between () and [] for current form. |