From 38234b491df1739bee3150b1dd81efb18722316f Mon Sep 17 00:00:00 2001 From: Jethro Kuan Date: Sat, 22 Aug 2020 20:21:01 +0800 Subject: [PATCH] (feat): add case sensitivity for Org-roam completions (#1056) Completions are now case-insensitive by default. `org-roam-completion-case-sensitive` can be set to `t` to allow case-sensitive completions. --- org-roam.el | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/org-roam.el b/org-roam.el index be52d53..2aee3f4 100644 --- a/org-roam.el +++ b/org-roam.el @@ -1112,6 +1112,11 @@ This function hooks into `org-open-at-point' via nil))))) ;;; Completion at point +(defcustom org-roam-completion-case-sensitive nil + "If t, completions for Org-roam become case sensitive." + :group 'org-roam + :type 'boolean) + (defconst org-roam-fuzzy-link-regexp (rx (seq "[[" (group @@ -1160,7 +1165,10 @@ This function hooks into `org-open-at-point' via (if (functionp collection) (completion-table-dynamic (lambda (_) - (cl-remove-if (apply-partially 'string= prefix) (funcall collection)))) + (cl-remove-if (if org-roam-completion-case-sensitive + (apply-partially 'string= prefix) + (lambda (s) (string-collate-equalp prefix s nil t))) + (funcall collection)))) collection) :exit-function exit-fn)))))