emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/hyperbole def42d7: Add binding for shift tab in orgtbl


From: ELPA Syncer
Subject: [elpa] externals/hyperbole def42d7: Add binding for shift tab in orgtbl map to allow demote of tree (#131)
Date: Tue, 9 Nov 2021 13:57:25 -0500 (EST)

branch: externals/hyperbole
commit def42d746fc98a3485f8768f32e9ef7f080d05d4
Author: Mats Lidell <mats.lidell@lidells.se>
Commit: GitHub <noreply@github.com>

    Add binding for shift tab in orgtbl map to allow demote of tree (#131)
---
 ChangeLog                 |  9 +++++++++
 kotl/kotl-mode.el         | 15 +++++++++------
 test/kotl-orgtbl-tests.el | 41 +++++++++++++++++++++++++++++++++++++++--
 3 files changed, 57 insertions(+), 8 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index b31f37c..95ea3d7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2021-11-08  Mats Lidell  <matsl@gnu.org>
+
+* test/kotl-orgtbl-tests.el 
(kotl-orgtbl-action-key-on-vertical-bar-toggles-orgtbl-mode)
+    (kotl-orgtbl-shift-tab-demotes-tree-outside-table): Add tests.
+
+* kotl/kotl-mode.el (kotl-mode): Change binding for orgtbl C-d to use new
+    uniq command name, add binding for orgtbl shift tab to provide demote
+    tree outside of table.
+
 2021-11-07  Bob Weiner  <rsw@gnu.org>
 
 * hypb.el (hypb:mark): Remove and use builtin mark function.
diff --git a/kotl/kotl-mode.el b/kotl/kotl-mode.el
index 3fa6bff..d0944ba 100644
--- a/kotl/kotl-mode.el
+++ b/kotl/kotl-mode.el
@@ -176,14 +176,17 @@ It provides the following keys:
   ;; same funcitonality when in a table, but may also be invoked from
   ;; a mouse button.
   (org-defkey orgtbl-mode-map "\M-\C-m"
-             (orgtbl-make-binding 'orgtbl-meta-return 105
-                                  "\M-\C-m" [(meta return)]))
+              (orgtbl-make-binding 'orgtbl-meta-return 105
+                                  "\M-\C-m" [(meta return)]))
   (org-defkey orgtbl-mode-map [(meta return)]
-             (orgtbl-make-binding 'orgtbl-meta-return 106
-                                  [(meta return)] "\M-\C-m"))
+              (orgtbl-make-binding 'orgtbl-meta-return 106
+                                  [(meta return)] "\M-\C-m"))
   (org-defkey orgtbl-mode-map "\C-d"
-             (orgtbl-make-binding 'kotl-mode:delete-char 107
-                                  "\C-d"))
+              (orgtbl-make-binding 'kotl-mode:delete-char 201
+                                  "\C-d"))
+  (org-defkey orgtbl-mode-map [(shift iso-lefttab)]
+              (orgtbl-make-binding 'org-shifttab 202
+                                  [(shift iso-lefttab)] [backtab] [(shift 
tab)]))
   (run-hooks 'kotl-mode-hook)
   (add-hook 'change-major-mode-hook #'kotl-mode:show-all nil t))
 
diff --git a/test/kotl-orgtbl-tests.el b/test/kotl-orgtbl-tests.el
index 9fd6c4d..3e95516 100644
--- a/test/kotl-orgtbl-tests.el
+++ b/test/kotl-orgtbl-tests.el
@@ -25,8 +25,8 @@
                                                  default-directory))))
 (declare-function hy-test-helpers:consume-input-events "hy-test-helpers")
 
-(ert-deftest kotl-orgtbl-enabled-uses-kotl-mode-delete-char-ouside-of-table ()
-  "kotl-mode:detele-char is used ouside of org table."
+(ert-deftest kotl-orgtbl-enabled-uses-kotl-mode-delete-char-outside-of-table ()
+  "kotl-mode:detele-char is used outside of org table."
   (let ((kotl-file (make-temp-file "hypb" nil ".kotl")))
     (unwind-protect
         (progn
@@ -50,5 +50,42 @@
             (:success (ert-fail "C-d shall fail when deleting at the end of a 
cell."))))
       (delete-file kotl-file))))
 
+(ert-deftest kotl-orgtbl-action-key-on-vertical-bar-toggles-orgtbl-mode ()
+  "Action key on vertical bar toggles orgtbl-mode."
+  (let ((kotl-file (make-temp-file "hypb" nil ".kotl")))
+    (unwind-protect
+        (progn
+          (find-file kotl-file)
+          (should orgtbl-mode)
+
+          ;; Create an org table
+          (should (hact 'kbd-key "RET |-| RET"))
+          (hy-test-helpers:consume-input-events)
+
+          (left-char 1)
+          (action-key)
+          (should-not orgtbl-mode)
+          (action-key)
+          (should orgtbl-mode))
+      (delete-file kotl-file))))
+
+(ert-deftest kotl-orgtbl-shift-tab-demotes-tree-outside-table ()
+  "Shift tab demotes tree outside of org table."
+  (let ((kotl-file (make-temp-file "hypb" nil ".kotl")))
+    (unwind-protect
+        (progn
+          (find-file kotl-file)
+          (should orgtbl-mode)
+
+          (kotl-mode:add-child)
+          (should (string= (kcell-view:label (point)) "1a"))
+
+          (should (hact 'kbd-key "<S-iso-lefttab>"))
+          (hy-test-helpers:consume-input-events)
+
+          (should (equal (kcell-view:level) 1))
+          (should (string= (kcell-view:label (point)) "2")))
+      (delete-file kotl-file))))
+
 (provide 'kotl-orgtbl-tests)
 ;;; kotl-orgtbl-tests.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]