From 0081f81c78f4723a2a2810a106d9240d52126fac Mon Sep 17 00:00:00 2001 From: Sameer Rahmani Date: Thu, 24 Dec 2020 13:54:05 +0000 Subject: [PATCH 1/4] Replace default ivy and ido with selectrum and ctrlf --- config/fg42.user.el | 2 +- lib/extensions/editor.el | 5 +++++ lib/extensions/editor/init.el | 11 +++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/config/fg42.user.el b/config/fg42.user.el index 06f3fb0..ea88e78 100644 --- a/config/fg42.user.el +++ b/config/fg42.user.el @@ -13,7 +13,7 @@ ;; ABILITIES ;; ========= ;; Disable abilities which you don't want. -(disable 'rbenv 'helm 'spell 'linum 'tabbar +(disable 'rbenv 'helm 'spell 'linum 'tabbar 'ido 'ivy 'smart-mode-line 'desktop-mode 'jedi 'dired+ 'guru 'emoji 'elpy 'github 'versioned-backup) diff --git a/lib/extensions/editor.el b/lib/extensions/editor.el index f31c6fe..29bcc23 100644 --- a/lib/extensions/editor.el +++ b/lib/extensions/editor.el @@ -50,6 +50,11 @@ (depends-on 'ivy) (depends-on 'counsel)) +(with-ability selectrum + (depends-on 'selectrum) + (depends-on 'selectrum-prescient) + (depends-on 'ctrlf)) + (with-ability ido (depends-on 'ido) (depends-on 'ido-completing-read+) diff --git a/lib/extensions/editor/init.el b/lib/extensions/editor/init.el index 10d1294..39a402c 100644 --- a/lib/extensions/editor/init.el +++ b/lib/extensions/editor/init.el @@ -300,6 +300,17 @@ (setq ido-enable-flex-matching t) (ido-vertical-mode 1)) + (ability selectrum () + "Selectrum is a better replacement for IDO and Ivy" + (require 'selectrum) + (require 'selectrum-prescient) + (require 'ctrlf) + + (selectrum-mode +1) + (selectrum-prescient-mode +1) + (prescient-persist-mode +1) + (ctrlf-mode +1) + (setq prescient-filter-method '(literal fuzzy regexp initialism))) (ability ivy () "Completion using ivy." From 81cf504c324602867c3baae873f4d48370263529 Mon Sep 17 00:00:00 2001 From: Pouya Abbassi Date: Sat, 26 Dec 2020 22:17:18 +0330 Subject: [PATCH 2/4] Contract Region key-binding --- lib/extensions/editor/init.el | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/extensions/editor/init.el b/lib/extensions/editor/init.el index 10d1294..8a88dd7 100644 --- a/lib/extensions/editor/init.el +++ b/lib/extensions/editor/init.el @@ -248,6 +248,7 @@ ;; expand-region ------------------------------------------- (global-set-key (kbd "C-=") 'er/expand-region) + (global-set-key (kbd "C-+") 'er/contract-region) ;; Multiple cursor ----------------------------------------- ;; multiple cursor configurations From f8ae98f1bfb0de8fb90e86d40d0a5c8a1c7a8bd9 Mon Sep 17 00:00:00 2001 From: Sameer Rahmani Date: Mon, 4 Jan 2021 20:52:11 +0000 Subject: [PATCH 3/4] Wrap the ctrlf mode in a when-not-wm --- lib/extensions/editor/init.el | 5 +++-- lib/extensions/serene/serene-simple-mode.el | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/extensions/editor/init.el b/lib/extensions/editor/init.el index 39a402c..25b4117 100644 --- a/lib/extensions/editor/init.el +++ b/lib/extensions/editor/init.el @@ -304,12 +304,13 @@ "Selectrum is a better replacement for IDO and Ivy" (require 'selectrum) (require 'selectrum-prescient) - (require 'ctrlf) (selectrum-mode +1) (selectrum-prescient-mode +1) (prescient-persist-mode +1) - (ctrlf-mode +1) + (when-not-wm + (require 'ctrlf) + (ctrlf-mode +1)) (setq prescient-filter-method '(literal fuzzy regexp initialism))) (ability ivy () diff --git a/lib/extensions/serene/serene-simple-mode.el b/lib/extensions/serene/serene-simple-mode.el index be2b421..e43850d 100644 --- a/lib/extensions/serene/serene-simple-mode.el +++ b/lib/extensions/serene/serene-simple-mode.el @@ -41,12 +41,13 @@ :group 'simple-serene-mode) (defvar serene-simple-mode-special-forms - '("do" "let" "def" "fn" "quote" "cond" "if")) + '("do" "let" "def" "fn" "quote" "cond" "if" + "defn" "defmacro" "list" "ns")) (defconst serene-simple-mode-builtin-fns '("=" ">" "<" ">=" "<=" "and" "or" "not" "first" "rest" "println" - "quit" "+" "*" "/" "-" "conj" "mod" "new")) + "quit" "+" "*" "/" "-" "conj" "mod" "new" "pr" "prn" "print")) (defconst serene-simple-mode-builtin-types From 65c7f31473ad0f6e676466a2cf95514f59a235c3 Mon Sep 17 00:00:00 2001 From: Sameer Rahmani Date: Tue, 26 Jan 2021 16:19:21 +0000 Subject: [PATCH 4/4] Add s-SPC as the keybinding for other-window in wm mode --- lib/fg42/wm.el | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/fg42/wm.el b/lib/fg42/wm.el index 3f3c732..4868d06 100644 --- a/lib/fg42/wm.el +++ b/lib/fg42/wm.el @@ -84,6 +84,7 @@ ;; Bind "s-r" to exit char-mode and fullscreen mode. ([?\s-r] . exwm-reset) ([?\s-g] . keyboard-quit) + ([8388640] . other-window) ;; Bind "s-w" to switch workspace interactively. ([?\s-w] . exwm-workspace-switch) ;; Bind "s-0" to "s-9" to switch to a workspace by its index.