;;; -*- lexical-binding: t -*- ;; ;; -------------------------------------------------------------------------- (require 'luki-lisp) ;; -------------------------------------------------------------------------- (-> 'apropos) (-> 'debug) (-> 'help-fns) (-> 'help-mode) (-> 'll-close) (-> 'll-scroll) (-> 'simple) (-> 'view) ;; -------------------------------------------------------------------------- (setq suggest-key-bindings 0) (setq extended-command-suggest-shorter nil) ;; -------------------------------------------------------------------------- (defun special-mode-hook-f () (set-close-key special-mode-map)) (add-hook 'special-mode-hook #'special-mode-hook-f) (defun view-mode-hook-f () (set-close-key view-mode-map)) (add-hook 'view-mode-hook #'view-mode-hook-f) ;; -------------------------------------------------------------------------- (remove-hook 'help-fns-describe-function-functions #'help-fns--mention-first-release) (setq help-fns-describe-variable-functions (cl-set-difference help-fns-describe-variable-functions '(help-fns--customize-variable help-fns--customize-variable-version help-fns--mention-first-release help-fns--var-file-local help-fns--var-ignored-local help-fns--var-risky help-fns--var-safe-local))) (defun switch-to-help-buffer () (i) (switch-to-buffer "*Help*")) (defun help-back () (i) (help-xref-go-back (current-buffer))) (defun help-forward () (i) (help-xref-go-forward (current-buffer))) (defun describe-variable-short (var) (interactive (let* ((v (variable-at-point)) (var-at-point (!z v)) (v-name (when var-at-point (let ((name (symbol-name v))) (kill-new name) name))) (v-final (completing-read (@f " variable%s: " (if var-at-point (@f " (default %s)" v) "")) obarray (lambda (vv) (or (get vv 'variable-documentation) (boundp vv))) t ; require match nil ; no text insert nil ; no history v-name))) `(,(intern v-final)))) ($ " %s: %s" (symbol-name var) (symbol-value var))) ;; -------------------------------------------------------------------------- (let ((kmap completion-list-mode-map)) (set-scroll-keys kmap) (set-close-key kmap)) (let ((kmap help-mode-map)) (set-scroll-keys kmap) (set-bury-keys kmap) (keymap-set kmap "b" #'help-back) (keymap-set kmap "f" #'help-forward)) ;; -------------------------------------------------------------------------- (setq apropos-sort-by-scores t) (defun apropos-mode-hook-f () (let ((kmap apropos-mode-map)) (set-scroll-keys kmap) (set-close-key kmap))) (add-hook 'apropos-mode-hook #'apropos-mode-hook-f) ;; -------------------------------------------------------------------------- (defun debugger-mode-hook-f () (let ((kmap debugger-mode-map)) (set-scroll-keys kmap) (set-close-key kmap))) (add-hook 'debugger-mode-hook #'debugger-mode-hook-f) ;; -------------------------------------------------------------------------- (<- 'll-help)