diff options
Diffstat (limited to 'emacs/.emacs.d/wpc/string.el')
-rw-r--r-- | emacs/.emacs.d/wpc/string.el | 63 |
1 files changed, 23 insertions, 40 deletions
diff --git a/emacs/.emacs.d/wpc/string.el b/emacs/.emacs.d/wpc/string.el index c6145c907f23..9d18029690f5 100644 --- a/emacs/.emacs.d/wpc/string.el +++ b/emacs/.emacs.d/wpc/string.el @@ -1,5 +1,9 @@ ;; string.el --- Library for working with strings -*- lexical-binding: t -*- + ;; Author: William Carroll <wpcarro@gmail.com> +;; Version: 0.0.1 +;; URL: https://git.wpcarro.dev/wpcarro/briefcase +;; Package-Requires: ((emacs "24")) ;;; Commentary: ;; Library for working with string. @@ -19,56 +23,53 @@ ;; Library ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(defconst string/test? t - "When t, run the tests.") - -(defun string/contains? (c x) +(defun string-contains? (c x) "Return t if X is in C." (s-contains? c x)) -(defun string/hookify (x) +(defun string-hookify (x) "Append \"-hook\" to X." (s-append "-hook" x)) -(defun string/split (y x) +(defun string-split (y x) "Map string X into a list of strings that were separated by Y." (s-split y x)) -(defun string/ensure-hookified (x) +(defun string-ensure-hookified (x) "Ensure that X has \"-hook\" appended to it." (if (s-ends-with? "-hook" x) x - (string/hookify x))) + (string-hookify x))) -(defun string/format (x &rest args) +(defun string-format (x &rest args) "Format template string X with ARGS." (apply #'format (cons x args))) -(defun string/concat (&rest strings) +(defun string-concat (&rest strings) "Joins `STRINGS' into onto string." (apply #'s-concat strings)) -(defun string/->symbol (string) +(defun string-->symbol (string) "Maps `STRING' to a symbol." (intern string)) -(defun string/<-symbol (symbol) +(defun string-<-symbol (symbol) "Maps `SYMBOL' into a string." (symbol-name symbol)) -(defun string/prepend (prefix x) +(defun string-prepend (prefix x) "Prepend `PREFIX' onto `X'." (s-concat prefix x)) -(defun string/append (postfix x) +(defun string-append (postfix x) "Appen `POSTFIX' onto `X'." (s-concat x postfix)) -(defun string/surround (s x) +(defun string-surround (s x) "Surrounds `X' one each side with `S'." (->> x - (string/prepend s) - (string/append s))) + (string-prepend s) + (string-append s))) ;; TODO: Define a macro for defining a function and a test. @@ -76,25 +77,25 @@ ;; Casing ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(defun string/caps->kebab (x) +(defun string-caps->kebab (x) "Change the casing of `X' from CAP_CASE to kebab-case." (->> x s-downcase (s-replace "_" "-"))) -(defun string/kebab->caps (x) +(defun string-kebab->caps (x) "Change the casing of X from CAP_CASE to kebab-case." (->> x s-upcase (s-replace "-" "_"))) -(defun string/lower->caps (x) +(defun string-lower->caps (x) "Change the casing of X from lowercase to CAPS_CASE." (->> x s-upcase (s-replace " " "_"))) -(defun string/lower->kebab (x) +(defun string-lower->kebab (x) "Change the casing of `X' from lowercase to kebab-case." (s-replace " " "-" x)) @@ -102,27 +103,9 @@ ;; Predicates ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(defun string/instance? (x) +(defun string-instance? (x) "Return t if X is a string." (stringp x)) -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Tests -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; (when string/test? -;; (prelude-assert -;; (string= -;; (string/surround "-*-" "surround") -;; "-*-surround-*-")) -;; (prelude-assert -;; (string= -;; (string/caps->kebab "CAPS_CASE_STRING") -;; "caps-case-string")) -;; (prelude-assert -;; (string= -;; (string/kebab->caps "kebab-case-string") -;; "KEBAB_CASE_STRING"))) - (provide 'string) ;;; string.el ends here |