summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cider-compat.el18
1 files changed, 18 insertions, 0 deletions
diff --git a/cider-compat.el b/cider-compat.el
index 3449a94e..87a5324f 100644
--- a/cider-compat.el
+++ b/cider-compat.el
@@ -153,5 +153,23 @@ to bind a single value, BINDINGS can just be a plain tuple."
(declare (indent 1) (debug if-let))
(list 'if-let bindings (macroexp-progn body)))))
+(eval-and-compile
+ (unless (fboundp 'string-trim)
+ (defsubst string-trim-left (string)
+ "Remove leading whitespace from STRING."
+ (if (string-match "\\`[ \t\n\r]+" string)
+ (replace-match "" t t string)
+ string))
+
+ (defsubst string-trim-right (string)
+ "Remove trailing whitespace from STRING."
+ (if (string-match "[ \t\n\r]+\\'" string)
+ (replace-match "" t t string)
+ string))
+
+ (defsubst string-trim (string)
+ "Remove leading and trailing whitespace from STRING."
+ (string-trim-left (string-trim-right string)))))
+
(provide 'cider-compat)
;;; cider-compat.el ends here