General refactors & comment revision

This commit is contained in:
Henrik Lissner 2019-12-19 14:49:17 -05:00
parent e3a1b0bbe3
commit a999a0ddd6
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
5 changed files with 41 additions and 23 deletions

View file

@ -93,6 +93,7 @@ Accepts the same arguments as `message'."
ARGS is a list of the last N arguments to pass to FUN. The result is a new
function which does the same as FUN, except that the last N arguments are fixed
at the values with which this function was called."
(declare (pure t) (side-effect-free t))
(lambda (&rest pre-args)
(apply fn (append pre-args args))))
@ -104,7 +105,7 @@ at the values with which this function was called."
"Expands to (lambda () (interactive) ,@body).
A factory for quickly producing interaction commands, particularly for keybinds
or aliases."
(declare (doc-string 1))
(declare (doc-string 1) (pure t) (side-effect-free t))
`(lambda () (interactive) ,@body))
(defalias 'lambda! 'λ!)
@ -112,7 +113,7 @@ or aliases."
"Expands to a command that interactively calls COMMAND with prefix ARG.
A factory for quickly producing interactive, prefixed commands for keybinds or
aliases."
(declare (doc-string 1))
(declare (doc-string 1) (pure t) (side-effect-free t))
(lambda () (interactive)
(let ((current-prefix-arg arg))
(call-interactively command))))
@ -419,10 +420,9 @@ DOCSTRING and BODY are as in `defun'.
where-alist))
`(progn
(defun ,symbol ,arglist ,docstring ,@body)
,(when where-alist
`(dolist (targets (list ,@(nreverse where-alist)))
(dolist (target (cdr targets))
(advice-add target (car targets) #',symbol)))))))
(dolist (targets (list ,@(nreverse where-alist)))
(dolist (target (cdr targets))
(advice-add target (car targets) #',symbol))))))
(provide 'core-lib)
;;; core-lib.el ends here

View file

@ -44,6 +44,21 @@ Emacs.")
:config
(projectile-mode +1)
;; Projectile runs four functions to determine the root (in this order):
;;
;; + `projectile-root-local' -> consults the `projectile-project-root'
;; variable for an explicit path.
;; + `projectile-root-bottom-up' -> consults
;; `projectile-project-root-files-bottom-up'; searches from / to your
;; current directory for certain files (including .project and .git)
;; + `projectile-root-top-down' -> consults `projectile-project-root-files';
;; searches from the current directory down to / for certain project
;; markers, like package.json, setup.py, or Cargo.toml
;; + `projectile-root-top-down-recurring' -> consults
;; `projectile-project-root-files-top-down-recurring'; searches from the
;; current directory down to / for a directory that has .svn or Makefile but
;; doesn't have a parent with one of those files.
;;
;; In the interest of performance, we reduce the number of project root marker
;; files/directories projectile searches for when resolving the project root.
(setq projectile-project-root-files-bottom-up

View file

@ -320,7 +320,8 @@ treat Emacs as a non-application window."
;; always avoid GUI
(setq use-dialog-box nil)
;; Don't display floating tooltips; display their contents in the echo-area.
(if (bound-and-true-p tooltip-mode) (tooltip-mode -1))
(when (bound-and-true-p tooltip-mode)
(tooltip-mode -1))
;; native linux tooltips are ugly
(when IS-LINUX
(setq x-gtk-use-system-tooltips nil))