[Emacs] Add two new custom functions
This commit is contained in:
parent
3909031ae2
commit
43b8263702
@ -1504,6 +1504,26 @@ the ~$HOME~ (~/home/<username>/~) directory to a simple =~=.
|
|||||||
(t (error "Invalid argument %s, neither stringp nor listp" $path))))
|
(t (error "Invalid argument %s, neither stringp nor listp" $path))))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
*** ~phundrak/all?~
|
||||||
|
:PROPERTIES:
|
||||||
|
:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-all-0655600c
|
||||||
|
:END:
|
||||||
|
This function is inspired by dash’s ~-all?~ function: it will test all the
|
||||||
|
elements of the list ~seq~ against the predicate ~fn~ which should return either
|
||||||
|
~t~ or ~nil~. If all of them return something else than ~nil~, then it is a
|
||||||
|
success, otherwise it is a failure. Note that empty lists will always return
|
||||||
|
~t~.
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(defun phundrak/all? (fn seq)
|
||||||
|
"Check if all members of `SEQ' satisfy predicate `FN'. Note that
|
||||||
|
it will return t if `SEQ' is nil."
|
||||||
|
(declare (pure t) (side-effect-free t))
|
||||||
|
(if seq
|
||||||
|
(and (funcall fn (car seq))
|
||||||
|
(phundrak/all? fn (cdr seq)))
|
||||||
|
t))
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
*** ~phundrak/add-all-to-list~
|
*** ~phundrak/add-all-to-list~
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-add-all-to-list-a8b2680d
|
:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-add-all-to-list-a8b2680d
|
||||||
@ -1683,6 +1703,24 @@ the root of the git repository, else it will return ~nil~.
|
|||||||
(phundrak/git-repo-root (f-parent $path)))))
|
(phundrak/git-repo-root (f-parent $path)))))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
*** ~phundrak/none?~
|
||||||
|
:PROPERTIES:
|
||||||
|
:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-none-463dee26
|
||||||
|
:END:
|
||||||
|
In the same vein as ~phundrak/all?~, ~phundrak/none?~ checks if all elements of
|
||||||
|
~seq~ do not satify the predicate ~fn~. Again, if the list is empty, it will
|
||||||
|
return ~t~.
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(defun phundrak/none? (fn seq)
|
||||||
|
"Check if all members of `SEQ' do not satisfy predicate `FN'.
|
||||||
|
Note that it will return t if `SEQ' is nil."
|
||||||
|
(declare (pure t) (side-effect-free t))
|
||||||
|
(if seq
|
||||||
|
(and (not (funcall fn (car seq)))
|
||||||
|
(phundrak/none? fn (cdr seq)))
|
||||||
|
t))
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
*** ~phundrak/prompt-toggle-abbreviation~
|
*** ~phundrak/prompt-toggle-abbreviation~
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-prompt-toggle-abbreviation-753ca549
|
:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-prompt-toggle-abbreviation-753ca549
|
||||||
|
Loading…
Reference in New Issue
Block a user