Powiedzmy, że mam funkcję, która wygląda następująco (jak to często bywa przy drukowaniu wyników w elisp).
(defun my-example-function () (let ((a (do-something)) (b (do-something))) (setq someone me) (with-current-buffer b (do-that (or this (and that those))) (format "%s" a))))
Chciałbym polecenia, które może zmienić to w coś, co napisałby człowiek, na przykład następujące.
(defun my-example-function ()
(let ((a (do-something))
(b (do-something)))
(setq someone me)
(with-current-buffer b
(do-that (or this (and that those)))
(format "%s" a))))
Rozumiem, że istnieje więcej niż jeden sposób sformatowania fragmentu kodu elisp , a różni ludzie robią to inaczej. Ponadto rozumiem, że jest to nieco subiektywne. Ale powinno być dość łatwo wymyślić zestaw reguł, które powodują, że kod jest co najmniej przyzwoity.
Właściwie to kiedyś próbowałem to zrobić, ale pomyślałem, że lepiej zapytać, zanim ponownie wymyślę koło.
Uwaga, znam funkcję pp , ale nie do końca się tam dostanie:
(defun my-example-function nil
(let
((a
(do-something))
(b
(do-something)))
(setq someone me)
(with-current-buffer b
(do-that
(or this
(and that those)))
(format "%s" a))))
pp
.