Add delq! and pushnew! macros

And move projectile configs to their respective modules (and out of
package configs).
This commit is contained in:
Henrik Lissner
2019-04-08 23:01:30 -04:00
parent f934f38627
commit 742687a51e
5 changed files with 33 additions and 21 deletions

View File

@@ -135,6 +135,20 @@ Accepts the same arguments as `message'."
(defalias 'lambda! 'λ!)
(defmacro pushnew! (place &rest values)
"Like `cl-pushnew', but will prepend VALUES to PLACE.
The order VALUES is preserved."
`(dolist (--value-- (nreverse (list ,@values)))
(cl-pushnew --value-- ,place)))
(defmacro delq! (elt list &optional fetcher)
"Delete ELT from LIST in-place."
`(setq ,list
(delq ,(if fetcher
`(funcall ,fetcher ,elt ,list)
elt)
,list)))
(defmacro defer-until! (condition &rest body)
"Run BODY when CONDITION is true (checks on `after-load-functions'). Meant to
serve as a predicated alternative to `after!'."

View File

@@ -39,18 +39,7 @@ Emacs.")
(global-set-key [remap find-tag] #'projectile-find-tag)
;; a more generic project root file
(push ".project" projectile-project-root-files-bottom-up)
(setq projectile-globally-ignored-directories
(append projectile-globally-ignored-directories
(list (abbreviate-file-name doom-local-dir) ".sync"
"node_modules" "flow-typed"))
projectile-other-file-alist
(append projectile-other-file-alist
'(("css" "scss" "sass" "less" "styl")
("scss" "css")
("sass" "css")
("less" "css")
(push ".project" projectile-project-root-files-bottom-up)
(push (abbreviate-file-name doom-local-dir) projectile-globally-ignored-directories)
;; Accidentally indexing big directories like $HOME or / will massively bloat