Skip to content

Commit c693c48

Browse files
committed
meow-shims: add shim for ddskk (meow-prev)
Adds a shim for ddskk so that meow-prev works. meow-prev calls C-p which is overriden by ddskk. Fixes #540. See this issue for details.
1 parent 0d74ccf commit c693c48

File tree

1 file changed

+25
-2
lines changed

1 file changed

+25
-2
lines changed

meow-shims.el

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,27 @@ Argument ENABLE non-nil means turn on."
302302
(advice-add 'quail-input-method :around 'meow--input-method-advice)
303303
(advice-remove 'quail-input-method 'meow--input-method-advice)))
304304

305+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
306+
;; ddskk
307+
308+
(defvar meow--ddskk-setup nil)
309+
(defun meow--ddskk-skk-previous-candidate-advice (fnc &optional arg)
310+
(if (and (not (eq skk-henkan-mode 'active))
311+
(not (eq last-command 'skk-kakutei-henkan))
312+
last-command-event
313+
(eq last-command-event
314+
(seq-first (car (where-is-internal
315+
'meow-prev
316+
meow-normal-state-keymap)))))
317+
(previous-line)
318+
(funcall func arg)))
319+
320+
(defun meow--setup-ddskk (enable)
321+
(setq meow--ddskk-setup enable)
322+
(if enable
323+
(advice-add 'skk-previous-candidate :around
324+
'meow--ddskk-skk-previous-candidate-advice)))
325+
305326
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
306327
;; polymode
307328

@@ -348,7 +369,8 @@ Argument ENABLE non-nil means turn on."
348369
(eval-after-load "which-key" (lambda () (meow--setup-which-key t)))
349370
(eval-after-load "undo-tree" (lambda () (meow--setup-undo-tree t)))
350371
(eval-after-load "diff-hl" (lambda () (meow--setup-diff-hl t)))
351-
(eval-after-load "quail" (lambda () (meow--setup-input-method t))))
372+
(eval-after-load "quail" (lambda () (meow--setup-input-method t)))
373+
(eval-after-load "skk" (lambda () (meow--setup-ddskk t))))
352374

353375
(defun meow--disable-shims ()
354376
"Remove shim setups."
@@ -363,7 +385,8 @@ Argument ENABLE non-nil means turn on."
363385
(when meow--cider-setup (meow--setup-cider nil))
364386
(when meow--which-key-setup (meow--setup-which-key nil))
365387
(when meow--diff-hl-setup (meow--setup-diff-hl nil))
366-
(when meow--input-method-setup (meow--setup-input-method nil)))
388+
(when meow--input-method-setup (meow--setup-input-method nil))
389+
(when meow--ddskk-setup (meow--setup-ddskk nil)))
367390

368391
;;; meow-shims.el ends here
369392
(provide 'meow-shims)

0 commit comments

Comments
 (0)