lang/emacs-lisp: reformat autoloads
This commit is contained in:
parent
84dce5d4ea
commit
037345cfd9
1 changed files with 61 additions and 64 deletions
|
@ -67,6 +67,9 @@ library/userland functions"
|
||||||
(byte-compile #'+emacs-lisp-highlight-vars-and-faces)))
|
(byte-compile #'+emacs-lisp-highlight-vars-and-faces)))
|
||||||
|
|
||||||
|
|
||||||
|
;;
|
||||||
|
;;; Handlers
|
||||||
|
|
||||||
(defun +emacs-lisp--module-at-point ()
|
(defun +emacs-lisp--module-at-point ()
|
||||||
(let ((origin (point)))
|
(let ((origin (point)))
|
||||||
(save-excursion
|
(save-excursion
|
||||||
|
@ -126,11 +129,52 @@ if it's callable, `apropos' otherwise."
|
||||||
(thing (helpful-symbol (intern thing)))
|
(thing (helpful-symbol (intern thing)))
|
||||||
((call-interactively #'helpful-at-point))))
|
((call-interactively #'helpful-at-point))))
|
||||||
|
|
||||||
;; FIXME
|
;;;###autoload
|
||||||
;; (defun +emacs-lisp-lookup-file (thing)
|
(defun +emacs-lisp-indent-function (indent-point state)
|
||||||
;; (when-let (module (+emacs-lisp--module-at-point thing))
|
"A replacement for `lisp-indent-function'.
|
||||||
;; (doom/help-modules (car module) (cadr module) 'visit-dir)
|
|
||||||
;; t))
|
Indents plists more sensibly. Adapted from
|
||||||
|
https://emacs.stackexchange.com/questions/10230/how-to-indent-keywords-aligned"
|
||||||
|
(let ((normal-indent (current-column))
|
||||||
|
(orig-point (point))
|
||||||
|
;; TODO Refactor `target' usage (ew!)
|
||||||
|
target)
|
||||||
|
(goto-char (1+ (elt state 1)))
|
||||||
|
(parse-partial-sexp (point) calculate-lisp-indent-last-sexp 0 t)
|
||||||
|
(cond ((and (elt state 2)
|
||||||
|
(or (not (looking-at-p "\\sw\\|\\s_"))
|
||||||
|
(eq (char-after) ?:)))
|
||||||
|
(unless (> (save-excursion (forward-line 1) (point))
|
||||||
|
calculate-lisp-indent-last-sexp)
|
||||||
|
(goto-char calculate-lisp-indent-last-sexp)
|
||||||
|
(beginning-of-line)
|
||||||
|
(parse-partial-sexp (point) calculate-lisp-indent-last-sexp 0 t))
|
||||||
|
(backward-prefix-chars)
|
||||||
|
(current-column))
|
||||||
|
((and (save-excursion
|
||||||
|
(goto-char indent-point)
|
||||||
|
(skip-syntax-forward " ")
|
||||||
|
(not (eq (char-after) ?:)))
|
||||||
|
(save-excursion
|
||||||
|
(goto-char orig-point)
|
||||||
|
(and (eq (char-after) ?:)
|
||||||
|
(eq (char-before) ?\()
|
||||||
|
(setq target (current-column)))))
|
||||||
|
(save-excursion
|
||||||
|
(move-to-column target t)
|
||||||
|
target))
|
||||||
|
((let* ((function (buffer-substring (point) (progn (forward-sexp 1) (point))))
|
||||||
|
(method (or (function-get (intern-soft function) 'lisp-indent-function)
|
||||||
|
(get (intern-soft function) 'lisp-indent-hook))))
|
||||||
|
(cond ((or (eq method 'defun)
|
||||||
|
(and (null method)
|
||||||
|
(> (length function) 3)
|
||||||
|
(string-match-p "\\`def" function)))
|
||||||
|
(lisp-indent-defform state indent-point))
|
||||||
|
((integerp method)
|
||||||
|
(lisp-indent-specform method state indent-point normal-indent))
|
||||||
|
(method
|
||||||
|
(funcall method indent-point state))))))))
|
||||||
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
@ -170,6 +214,18 @@ if it's callable, `apropos' otherwise."
|
||||||
load-path)))
|
load-path)))
|
||||||
(buttercup-run-discover)))
|
(buttercup-run-discover)))
|
||||||
|
|
||||||
|
;;;###autoload
|
||||||
|
(defun +emacs-lisp/edebug-instrument-defun-on ()
|
||||||
|
"Toggle on instrumentalisation for the function under `defun'."
|
||||||
|
(interactive)
|
||||||
|
(eval-defun 'edebugit))
|
||||||
|
|
||||||
|
;;;###autoload
|
||||||
|
(defun +emacs-lisp/edebug-instrument-defun-off ()
|
||||||
|
"Toggle off instrumentalisation for the function under `defun'."
|
||||||
|
(interactive)
|
||||||
|
(eval-defun nil))
|
||||||
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
;;; Hooks
|
;;; Hooks
|
||||||
|
@ -234,62 +290,3 @@ verbosity when editing a file in `doom-private-dir' or `doom-emacs-dir'."
|
||||||
(when (and start finish)
|
(when (and start finish)
|
||||||
(put-text-property start finish 'display "...")))))
|
(put-text-property start finish 'display "...")))))
|
||||||
nil)
|
nil)
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun +emacs-lisp-indent-function (indent-point state)
|
|
||||||
"A replacement for `lisp-indent-function'.
|
|
||||||
|
|
||||||
Indents plists more sensibly. Adapted from
|
|
||||||
https://emacs.stackexchange.com/questions/10230/how-to-indent-keywords-aligned"
|
|
||||||
(let ((normal-indent (current-column))
|
|
||||||
(orig-point (point))
|
|
||||||
;; TODO Refactor `target' usage (ew!)
|
|
||||||
target)
|
|
||||||
(goto-char (1+ (elt state 1)))
|
|
||||||
(parse-partial-sexp (point) calculate-lisp-indent-last-sexp 0 t)
|
|
||||||
(cond ((and (elt state 2)
|
|
||||||
(or (not (looking-at-p "\\sw\\|\\s_"))
|
|
||||||
(eq (char-after) ?:)))
|
|
||||||
(unless (> (save-excursion (forward-line 1) (point))
|
|
||||||
calculate-lisp-indent-last-sexp)
|
|
||||||
(goto-char calculate-lisp-indent-last-sexp)
|
|
||||||
(beginning-of-line)
|
|
||||||
(parse-partial-sexp (point) calculate-lisp-indent-last-sexp 0 t))
|
|
||||||
(backward-prefix-chars)
|
|
||||||
(current-column))
|
|
||||||
((and (save-excursion
|
|
||||||
(goto-char indent-point)
|
|
||||||
(skip-syntax-forward " ")
|
|
||||||
(not (eq (char-after) ?:)))
|
|
||||||
(save-excursion
|
|
||||||
(goto-char orig-point)
|
|
||||||
(and (eq (char-after) ?:)
|
|
||||||
(eq (char-before) ?\()
|
|
||||||
(setq target (current-column)))))
|
|
||||||
(save-excursion
|
|
||||||
(move-to-column target t)
|
|
||||||
target))
|
|
||||||
((let* ((function (buffer-substring (point) (progn (forward-sexp 1) (point))))
|
|
||||||
(method (or (function-get (intern-soft function) 'lisp-indent-function)
|
|
||||||
(get (intern-soft function) 'lisp-indent-hook))))
|
|
||||||
(cond ((or (eq method 'defun)
|
|
||||||
(and (null method)
|
|
||||||
(> (length function) 3)
|
|
||||||
(string-match-p "\\`def" function)))
|
|
||||||
(lisp-indent-defform state indent-point))
|
|
||||||
((integerp method)
|
|
||||||
(lisp-indent-specform method state indent-point normal-indent))
|
|
||||||
(method
|
|
||||||
(funcall method indent-point state))))))))
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun +emacs-lisp/edebug-instrument-defun-on ()
|
|
||||||
"Toggle on instrumentalisation for the function under `defun'."
|
|
||||||
(interactive)
|
|
||||||
(eval-defun 'edebugit))
|
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun +emacs-lisp/edebug-instrument-defun-off ()
|
|
||||||
"Toggle off instrumentalisation for the function under `defun'."
|
|
||||||
(interactive)
|
|
||||||
(eval-defun nil))
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue