Skip to content

Commit 375869f

Browse files
committed
Make keymap definition more consistent
1 parent 22b8e3a commit 375869f

9 files changed

+41
-31
lines changed

haskell-debug.el

+15-11
Original file line numberDiff line numberDiff line change
@@ -72,21 +72,25 @@
7272
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
7373
;; Mode
7474

75+
(defvar haskell-debug-mode-map
76+
(let ((map (make-sparse-keymap)))
77+
(define-key map (kbd "g") 'haskell-debug/refresh)
78+
(define-key map (kbd "s") 'haskell-debug/step)
79+
(define-key map (kbd "t") 'haskell-debug/trace)
80+
(define-key map (kbd "d") 'haskell-debug/delete)
81+
(define-key map (kbd "b") 'haskell-debug/break-on-function)
82+
(define-key map (kbd "a") 'haskell-debug/abandon)
83+
(define-key map (kbd "c") 'haskell-debug/continue)
84+
(define-key map (kbd "p") 'haskell-debug/previous)
85+
(define-key map (kbd "n") 'haskell-debug/next)
86+
(define-key map (kbd "RET") 'haskell-debug/select)
87+
map)
88+
"Keymap for `haskell-debug-mode'.")
89+
7590
(define-derived-mode haskell-debug-mode
7691
text-mode "Debug"
7792
"Major mode for debugging Haskell via GHCi.")
7893

79-
(define-key haskell-debug-mode-map (kbd "g") 'haskell-debug/refresh)
80-
(define-key haskell-debug-mode-map (kbd "s") 'haskell-debug/step)
81-
(define-key haskell-debug-mode-map (kbd "t") 'haskell-debug/trace)
82-
(define-key haskell-debug-mode-map (kbd "d") 'haskell-debug/delete)
83-
(define-key haskell-debug-mode-map (kbd "b") 'haskell-debug/break-on-function)
84-
(define-key haskell-debug-mode-map (kbd "a") 'haskell-debug/abandon)
85-
(define-key haskell-debug-mode-map (kbd "c") 'haskell-debug/continue)
86-
(define-key haskell-debug-mode-map (kbd "p") 'haskell-debug/previous)
87-
(define-key haskell-debug-mode-map (kbd "n") 'haskell-debug/next)
88-
(define-key haskell-debug-mode-map (kbd "RET") 'haskell-debug/select)
89-
9094
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
9195
;; Globals
9296

haskell-indent.el

+2-3
Original file line numberDiff line numberDiff line change
@@ -1524,9 +1524,8 @@ One indentation cycle is used."
15241524
(let ((map (current-local-map)))
15251525
(while (and map (not (eq map haskell-indent-map)))
15261526
(setq map (keymap-parent map)))
1527-
(if map
1528-
;; haskell-indent-map is already active: nothing to do.
1529-
nil
1527+
;; if haskell-indent-map is already active: there's nothing to do.
1528+
(unless map
15301529
;; Put our keymap on top of the others. We could also put it in
15311530
;; second place, or in a minor-mode. The minor-mode approach would be
15321531
;; easier, but it's harder for the user to override it. This approach

haskell-indentation.el

+5-4
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,11 @@ positions are allowed."
8989
:group 'haskell-indentation)
9090

9191
(defconst haskell-indentation-mode-map
92-
(let ((keymap (make-sparse-keymap)))
93-
(define-key keymap (kbd "RET") 'haskell-indentation-newline-and-indent)
94-
(define-key keymap (kbd "<backtab>") 'haskell-indentation-indent-backwards)
95-
keymap))
92+
(let ((map (make-sparse-keymap)))
93+
(define-key map (kbd "RET") 'haskell-indentation-newline-and-indent)
94+
(define-key map (kbd "<backtab>") 'haskell-indentation-indent-backwards)
95+
map)
96+
"Keymap for `haskell-indentation-mode'.")
9697

9798
;;;###autoload
9899
(define-minor-mode haskell-indentation-mode

haskell-interactive-mode.el

+1-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ interference with prompts that look like haskell expressions."
8181
(define-key map (kbd "TAB") 'haskell-interactive-mode-tab)
8282
(define-key map (kbd "<C-S-backspace>") 'haskell-interactive-mode-kill-whole-line)
8383
map)
84-
"Interactive Haskell mode map.")
84+
"Keymap used in `haskell-interactive-mode'")
8585

8686
(define-derived-mode haskell-interactive-mode fundamental-mode "Interactive-Haskell"
8787
"Interactive mode for Haskell.

haskell-menu.el

+8-3
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,14 @@
4848
(switch-to-buffer-other-window (get-buffer haskell-menu-buffer-name))
4949
(haskell-menu-revert-function nil nil))
5050

51+
(defvar haskell-menu-mode-map
52+
(let ((map (make-sparse-keymap)))
53+
(define-key map (kbd "n") 'next-line)
54+
(define-key map (kbd "p") 'previous-line)
55+
(define-key map (kbd "RET") 'haskell-menu-mode-ret)
56+
map)
57+
"Keymap for `haskell-menu-mode'.")
58+
5159
(define-derived-mode haskell-menu-mode special-mode "Haskell Session Menu"
5260
"Major mode for managing Haskell sessions.
5361
Each line describes one session.
@@ -59,9 +67,6 @@ Letters do not insert themselves; instead, they are commands."
5967
(haskell-menu-revert-function nil t))
6068

6169
(suppress-keymap haskell-menu-mode-map t)
62-
(define-key haskell-menu-mode-map (kbd "n") 'next-line)
63-
(define-key haskell-menu-mode-map (kbd "p") 'previous-line)
64-
(define-key haskell-menu-mode-map (kbd "RET") 'haskell-menu-mode-ret)
6570

6671
(defun haskell-menu-revert-function (_arg1 _arg2)
6772
"Function to refresh the display."

haskell-mode.el

+1-1
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ be set to the preferred literate style."
208208
(define-key map (kbd "C-c C-i") 'haskell-mode-enable-process-minor-mode)
209209
(define-key map (kbd "C-c C-s") 'haskell-mode-toggle-scc-at-point)
210210
map)
211-
"Keymap used in Haskell mode.")
211+
"Keymap used in `haskell-mode'.")
212212

213213

214214
(defvar haskell-ghc-supported-extensions

haskell-presentation-mode.el

+7-6
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,13 @@
2828
(require 'haskell-mode)
2929
(require 'haskell-session)
3030

31+
(defvar haskell-presentation-mode-map
32+
(let ((map (make-sparse-keymap)))
33+
(define-key map (kbd "q") 'quit-window)
34+
(define-key map (kbd "c") 'haskell-presentation-clear)
35+
map)
36+
"Keymap for `haskell-presentation-mode'.")
37+
3138
(define-derived-mode haskell-presentation-mode
3239
haskell-mode "Presentation"
3340
"Major mode for viewing Haskell snippets.
@@ -42,12 +49,6 @@
4249
"-- Hit `q' to close this window; `c' to clear.\n\n"
4350
"Hint message appered in Haskell Presentation buffer.")
4451

45-
(easy-mmode-defmap
46-
haskell-presentation-mode-map
47-
`(("q" . quit-window)
48-
("c" . haskell-presentation-clear))
49-
"The base key map for `haskell-presentation-mode'.")
50-
5152
(defun haskell-presentation-buffer ()
5253
"Return Haskell Presentaion buffer.
5354
Return current presenation buffer or create new one if absent.

haskell.el

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
(define-key map (kbd "M-p") 'haskell-goto-prev-error)
6060
(define-key map (kbd "C-c M-p") 'haskell-goto-first-error)
6161
map)
62-
"Keymap for using haskell-interactive-mode.")
62+
"Keymap for using `interactive-haskell-mode'.")
6363

6464
;;;###autoload
6565
(define-minor-mode interactive-haskell-mode

inf-haskell.el

+1-1
Original file line numberDiff line numberDiff line change
@@ -816,7 +816,7 @@ we load it."
816816
(define-key map (kbd "C-c C-d") 'inferior-haskell-find-haddock)
817817
(define-key map (kbd "C-c C-v") 'haskell-check)
818818
map)
819-
"Keymap for using inf-haskell.")
819+
"Keymap for using `inf-haskell-mode'.")
820820

821821
;;;###autoload
822822
(define-minor-mode inf-haskell-mode

0 commit comments

Comments
 (0)