Skip to content

Commit e768a17

Browse files
committed
allow change parent-mode of chat
Fixes #111
1 parent d7fadb6 commit e768a17

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

eca-chat.el

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@
2424

2525
;; Variables
2626

27+
(eval-and-compile
28+
(defcustom eca-chat-parent-mode 'gfm-view-mode
29+
"The parent mode to eca-chat-mode inheirit."
30+
:type 'symbol
31+
:group 'eca))
32+
2733
(defcustom eca-chat-mode-hook '()
2834
"Hooks to run after entering in eca chat mode hook."
2935
:type 'hook
@@ -1641,9 +1647,15 @@ string."
16411647
(eca-chat--insert " "))
16421648
(eca-chat--insert text)))
16431649

1650+
(defmacro eca-chat-define-derived-mode (child name &optional docstring &rest body)
1651+
"Wrapper for `define-derived-mode' with support for custom parent mode.
1652+
CHILD, NAME, DOCSTRING and BODY are passed down."
1653+
(declare (indent defun))
1654+
`(define-derived-mode ,child ,eca-chat-parent-mode ,name ,docstring ,@body))
1655+
16441656
;; Public
16451657

1646-
(define-derived-mode eca-chat-mode gfm-view-mode "eca-chat"
1658+
(eca-chat-define-derived-mode eca-chat-mode "eca-chat"
16471659
"Major mode for ECA chat sessions.
16481660
\\{eca-chat-mode-map}"
16491661
:group 'eca

0 commit comments

Comments
 (0)