branch: elpa/casual
commit 4db2371ec6c7915453efeb4e92f62deb6383b6b0
Merge: f478f82a9c cdc0ffd2a8
Author: Charles Choi <[email protected]>
Commit: GitHub <[email protected]>
Merge pull request #207 from
kickingvegas/merge-development-to-main-20250519_091237
Merge development to main 20250519_091237
---
docs/editkit.org | 2 +-
.../casual-editkit-emoji-symbols-screenshot.png | Bin 143252 -> 147538 bytes
docs/images/casual-re-builder-screenshot.png | Bin 392891 -> 146213 bytes
lisp/Makefile-calc.make | 13 ++++++++++++-
lisp/Makefile-calendar.make | 7 +++++++
lisp/casual-agenda-utils.el | 13 ++++++-------
lisp/casual-calc-utils.el | 8 ++++----
lisp/casual-calendar-constants.el | 14 ++++++--------
lisp/casual-editkit-constants.el | 12 ++++++------
lisp/casual-editkit-utils.el | 8 +++++++-
lisp/casual-re-builder-utils.el | 12 ++++++++++++
lisp/casual-re-builder.el | 3 +++
lisp/casual.el | 2 +-
tests/test-casual-editkit-utils.el | 4 +++-
tests/test-casual-re-builder.el | 1 +
15 files changed, 69 insertions(+), 30 deletions(-)
diff --git a/docs/editkit.org b/docs/editkit.org
index 7de190f0dc..7c24d640e7 100644
--- a/docs/editkit.org
+++ b/docs/editkit.org
@@ -158,7 +158,7 @@ Commands edit, add, or jump to a bookmark are captured in
this menu.
** Emoji & Symbol Insertion (~casual-editkit-emoji-symbol-tmenu~)
-Insert emoji and symbol characters with this menu. Smart quotes are also
supported by this menu and can be applied to a text region.
+Insert emoji and symbol characters with this menu. Smart quotes are also
supported by this menu and can be applied to a text region. This menu also
offers the command ~electric-quote-mode~ which is bound to ~Q~.w
[[file:images/casual-editkit-emoji-symbols-screenshot.png]]
diff --git a/docs/images/casual-editkit-emoji-symbols-screenshot.png
b/docs/images/casual-editkit-emoji-symbols-screenshot.png
index 44b22e588c..e75940a853 100644
Binary files a/docs/images/casual-editkit-emoji-symbols-screenshot.png and
b/docs/images/casual-editkit-emoji-symbols-screenshot.png differ
diff --git a/docs/images/casual-re-builder-screenshot.png
b/docs/images/casual-re-builder-screenshot.png
index 0fa797de00..f34f8a6bbd 100644
Binary files a/docs/images/casual-re-builder-screenshot.png and
b/docs/images/casual-re-builder-screenshot.png differ
diff --git a/lisp/Makefile-calc.make b/lisp/Makefile-calc.make
index bf6be3608f..2021e916e4 100644
--- a/lisp/Makefile-calc.make
+++ b/lisp/Makefile-calc.make
@@ -48,6 +48,17 @@ casual-calc-symbolic.el
ELISP_TEST_INCLUDES=casual-calc-test-utils.el
-PACKAGE_PATHS=-L $(CASUAL_LIB_LISP_DIR)
+PACKAGE_PATHS= \
+-L $(EMACS_ELPA_DIR)/compat-current \
+-L $(EMACS_ELPA_DIR)/seq-current \
+-L $(EMACS_ELPA_DIR)/transpose-frame-current \
+-L $(EMACS_ELPA_DIR)/transient-current \
+-L $(EMACS_ELPA_DIR)/magit-current \
+-L $(EMACS_ELPA_DIR)/magit-section-current \
+-L $(EMACS_ELPA_DIR)/dash-current \
+-L $(EMACS_ELPA_DIR)/with-editor-current \
+-L $(EMACS_ELPA_DIR)/symbol-overlay-current \
+-L $(CASUAL_LIB_LISP_DIR)
+
include Makefile--rules.make
diff --git a/lisp/Makefile-calendar.make b/lisp/Makefile-calendar.make
index 88a07a2eec..01caf35f33 100644
--- a/lisp/Makefile-calendar.make
+++ b/lisp/Makefile-calendar.make
@@ -25,7 +25,14 @@ ELISP_TEST_INCLUDES=casual-calendar-test-utils.el
PACKAGE_PATHS= \
-L $(EMACS_ELPA_DIR)/compat-current \
-L $(EMACS_ELPA_DIR)/seq-current \
+-L $(EMACS_ELPA_DIR)/transpose-frame-current \
-L $(EMACS_ELPA_DIR)/transient-current \
+-L $(EMACS_ELPA_DIR)/magit-current \
+-L $(EMACS_ELPA_DIR)/magit-section-current \
+-L $(EMACS_ELPA_DIR)/dash-current \
+-L $(EMACS_ELPA_DIR)/with-editor-current \
+-L $(EMACS_ELPA_DIR)/symbol-overlay-current \
-L $(CASUAL_LIB_LISP_DIR)
+
include Makefile--rules.make
diff --git a/lisp/casual-agenda-utils.el b/lisp/casual-agenda-utils.el
index c9772a84cb..8f5e6ec2d7 100644
--- a/lisp/casual-agenda-utils.el
+++ b/lisp/casual-agenda-utils.el
@@ -55,16 +55,17 @@ is non-nil, then the Unicode symbol is returned, otherwise a
plain ASCII-range string."
(casual-lib-unicode-db-get key casual-agenda-unicode-db))
-(defconst casual-agenda-navigation-group
+;; Casual Agenda menu navigation group.
+(transient-define-group casual-agenda-navigation-group
[:class transient-row
(casual-lib-quit-one)
("RET" "Open" org-agenda-switch-to)
("." "Now" casual-agenda-goto-now :transient t)
("C-/" "Undo" org-agenda-undo :transient t)
- (casual-lib-quit-all)]
- "Casual Agenda menu navigation group.")
+ (casual-lib-quit-all)])
-(defconst casual-agenda-agenda-navigation-group
+;; Casual Agenda navigation group within an Agenda.
+(transient-define-group casual-agenda-agenda-navigation-group
["Navigation"
["Line"
("p" "↑" org-agenda-previous-line
@@ -117,9 +118,7 @@ plain ASCII-range string."
("M-j" "🚀 ⏰" org-agenda-clock-goto
:inapt-if-not org-clocking-p
:description (lambda () (format "%s…" (casual-agenda-unicode-get
:jumpclocked)))
- :transient t)]]
- "Casual Agenda navigation group within an Agenda.")
-
+ :transient t)]])
(defun casual-agenda-goto-now ()
"Redo agenda view and move point to current time \"now\"."
diff --git a/lisp/casual-calc-utils.el b/lisp/casual-calc-utils.el
index 89a76a14e8..4eef9ff4c3 100644
--- a/lisp/casual-calc-utils.el
+++ b/lisp/casual-calc-utils.el
@@ -122,7 +122,7 @@ Invokes command `calc-roll-down'."
(interactive)
(call-interactively #'calc-roll-down))
-(defconst casual-calc-operators-group
+(transient-define-group casual-calc-operators-group
["Operators"
("+" "add" casual-calc--plus :transient t)
("-" "sub" casual-calc--minus :transient t)
@@ -130,7 +130,7 @@ Invokes command `calc-roll-down'."
("/" "div" casual-calc--divide :transient t)
("%" "mod" casual-calc--mod :transient t)])
-(defconst casual-calc-operators-group-row
+(transient-define-group casual-calc-operators-group-row
["Operators"
:class transient-row
("+" "add" casual-calc--plus :transient t)
@@ -139,14 +139,14 @@ Invokes command `calc-roll-down'."
("/" "div" casual-calc--divide :transient t)
("%" "mod" casual-calc--mod :transient t)])
-(defconst casual-calc-basic-operators-group
+(transient-define-group casual-calc-basic-operators-group
["Operators"
("+" "add" casual-calc--plus :transient t)
("-" "sub" casual-calc--minus :transient t)
("*" "mul" casual-calc--times :transient t)
("/" "div" casual-calc--divide :transient t)])
-(defconst casual-calc-navigation-group
+(transient-define-group casual-calc-navigation-group
[:class transient-row
(casual-lib-quit-one)
(casual-calc-algebraic-entry)
diff --git a/lisp/casual-calendar-constants.el
b/lisp/casual-calendar-constants.el
index e7f532c1f3..5463519286 100644
--- a/lisp/casual-calendar-constants.el
+++ b/lisp/casual-calendar-constants.el
@@ -57,8 +57,8 @@ is non-nil, then the Unicode symbol is returned, otherwise a
plain ASCII-range string."
(casual-lib-unicode-db-get key casual-calendar-unicode-db))
-
-(defconst casual-calendar--navigation-group
+;; Transient navigation group for calendar.
+(transient-define-group casual-calendar--navigation-group
["Navigation"
["Day"
("b" "Behind" calendar-backward-day
@@ -137,16 +137,14 @@ plain ASCII-range string."
:transient t)
("C-l" "Redraw" calendar-redraw
:description (lambda () (casual-calendar-unicode-get :redraw))
- :transient t)]]
- "Transient navigation group for calendar.")
-
+ :transient t)]])
-(defconst casual-calendar--menu-navigation-group
+;; Transient menu navigation group for calendar.
+(transient-define-group casual-calendar--menu-navigation-group
[:class transient-row
(casual-lib-quit-one)
("RET" "Dismiss" transient-quit-all)
- (casual-lib-quit-all)]
- "Transient menu navigation group for calendar.")
+ (casual-lib-quit-all)])
(provide 'casual-calendar-constants)
;;; casual-calendar-constants.el ends here
diff --git a/lisp/casual-editkit-constants.el b/lisp/casual-editkit-constants.el
index cdd96f9b3d..eb5a663d4b 100644
--- a/lisp/casual-editkit-constants.el
+++ b/lisp/casual-editkit-constants.el
@@ -57,21 +57,21 @@ is non-nil, then the Unicode symbol is returned, otherwise a
plain ASCII-range string."
(casual-lib-unicode-db-get key casual-editkit-unicode-db))
-(defconst casual-editkit-navigation-group
+;; Transient navigation group for Casual EditKit menus.
+(transient-define-group casual-editkit-navigation-group
[:class transient-row
(casual-lib-quit-one)
("U" "Undo" undo :transient t)
- (casual-lib-quit-all)]
- "Transient navigation group for Casual EditKit menus.")
+ (casual-lib-quit-all)])
-(defconst casual-editkit-cursor-navigation-group
+;; Transient cursor navigation group for Casual EditKit menus.
+(transient-define-group casual-editkit-cursor-navigation-group
["Cursor"
:class transient-row
("<left>" "←" backward-char :transient t)
("<right>" "→" forward-char :transient t)
("<up>" "↑" previous-line :transient t)
- ("<down>" "↓" next-line :transient t)]
- "Transient cursor navigation group for Casual EditKit menus.")
+ ("<down>" "↓" next-line :transient t)])
(provide 'casual-editkit-constants)
;;; casual-editkit-constants.el ends here
diff --git a/lisp/casual-editkit-utils.el b/lisp/casual-editkit-utils.el
index 5e2fc56f19..c19d0f1150 100644
--- a/lisp/casual-editkit-utils.el
+++ b/lisp/casual-editkit-utils.el
@@ -29,6 +29,7 @@
(require 'simple)
(require 'text-mode)
(require 'tabify)
+(require 'electric)
(require 'casual-editkit-constants)
(require 'casual-editkit-settings)
@@ -270,7 +271,12 @@ inserting common miscellaneous symbols."
("\"" "“double”" casual-editkit-smart-double-quote-dwim)
("_" "„low”" casual-editkit-smart-low-quote-dwim)
("c" "«comillas»" casual-editkit-smart-comillas-quote-dwim)
- ("a" "’" (lambda () (interactive) (insert "’")))]
+ ("a" "’" (lambda () (interactive) (insert "’")))
+ ("Q" "Electric Quote"
+ electric-quote-mode
+ :description
+ (lambda () (casual-lib-checkbox-label
+ electric-quote-mode "Electric Quote")))]
["Misc"
:class transient-row
diff --git a/lisp/casual-re-builder-utils.el b/lisp/casual-re-builder-utils.el
index 37772655bc..87ca1a58f1 100644
--- a/lisp/casual-re-builder-utils.el
+++ b/lisp/casual-re-builder-utils.el
@@ -108,5 +108,17 @@ This is useful for commands such as `dired-do-find-regexp'
and
(interactive)
(info "(elisp) Rx Notation"))
+(defun casual-reb-occur ()
+ "Run `occur' with the current `reb-regexp' in the `re-builder' target buffer.
+
+This code is taken from Argletrough post on Reddit.
+URL
`https://www.reddit.com/r/emacs/comments/1j2qs3f/integration_of_rebuilder_and_occur_use_rx_syntax/'"
+ (interactive)
+ (let ((target-buffer reb-target-buffer)
+ (regexp (with-current-buffer reb-target-buffer reb-regexp)))
+ (reb-quit)
+ (switch-to-buffer target-buffer)
+ (occur regexp)))
+
(provide 'casual-re-builder-utils)
;;; casual-re-builder-utils.el ends here
diff --git a/lisp/casual-re-builder.el b/lisp/casual-re-builder.el
index b7249e8ad1..e31502d843 100644
--- a/lisp/casual-re-builder.el
+++ b/lisp/casual-re-builder.el
@@ -83,6 +83,9 @@ regexp interactively.
("s" "Subexp mode" reb-enter-subexp-mode)
("f" "Force update" reb-force-update :transient t)]]
+ ["Misc"
+ ("o" "Occur" casual-reb-occur)]
+
[:class transient-row
(casual-lib-quit-one)
("i" "ⓘ Regexp Syntax" casual-re-builder-regexp-info
diff --git a/lisp/casual.el b/lisp/casual.el
index a05a8b81f4..f8eaa015a4 100644
--- a/lisp/casual.el
+++ b/lisp/casual.el
@@ -5,7 +5,7 @@
;; Author: Charles Choi <[email protected]>
;; URL: https://github.com/kickingvegas/casual
;; Keywords: tools, wp
-;; Version: 2.4.2
+;; Version: 2.4.3-rc.1
;; Package-Requires: ((emacs "29.1") (transient "0.6.0"))
;; This program is free software; you can redistribute it and/or modify
diff --git a/tests/test-casual-editkit-utils.el
b/tests/test-casual-editkit-utils.el
index 504cef3f50..5268f88fce 100644
--- a/tests/test-casual-editkit-utils.el
+++ b/tests/test-casual-editkit-utils.el
@@ -142,7 +142,8 @@
(let ((tmpfile "casual-editkit-emoji-symbols-tmenu.txt"))
(casualt-editkit-setup tmpfile)
(emacs-lisp-mode)
- (cl-letf ((casualt-mock #'emoji-search))
+ (cl-letf ((casualt-mock #'emoji-search)
+ (casualt-mock #'electric-quote-mode))
(let ((test-vectors
'((:binding "e😀" :command emoji-search)
(:binding "l" :command emoji-list)
@@ -154,6 +155,7 @@
(:binding "\"" :command casual-editkit-smart-double-quote-dwim)
(:binding "_" :command casual-editkit-smart-low-quote-dwim)
(:binding "c" :command casual-editkit-smart-comillas-quote-dwim)
+ (:binding "Q" :command electric-quote-mode)
;;(:binding "i" :command insert-char)
)))
diff --git a/tests/test-casual-re-builder.el b/tests/test-casual-re-builder.el
index e724453c88..170975a0f4 100644
--- a/tests/test-casual-re-builder.el
+++ b/tests/test-casual-re-builder.el
@@ -45,6 +45,7 @@
(push (casualt-suffix-test-vector "," #'casual-re-builder-settings-tmenu)
test-vectors)
(push (casualt-suffix-test-vector "i" #'casual-re-builder-regexp-info)
test-vectors)
(push (casualt-suffix-test-vector "q" #'reb-quit) test-vectors)
+ (push (casualt-suffix-test-vector "o" #'casual-reb-occur) test-vectors)
(casualt-suffix-testbench-runner test-vectors
#'casual-re-builder-tmenu
'(lambda () (random 5000))))