Skip to content

Commit 9623545

Browse files
committed
Provide a sane version of C-a in haskell-interactive-mode
Fixes #1666, see #1611
1 parent 5c69e57 commit 9623545

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

haskell-interactive-mode.el

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ interference with prompts that look like haskell expressions."
6363
(define-key map (kbd "RET") 'haskell-interactive-mode-return)
6464
(define-key map (kbd "SPC") 'haskell-interactive-mode-space)
6565
(define-key map (kbd "C-j") 'haskell-interactive-mode-newline-indent)
66+
(define-key map [remap move-beginning-of-line] 'haskell-interactive-mode-bol)
6667
(define-key map (kbd "<home>") 'haskell-interactive-mode-beginning)
6768
(define-key map (kbd "C-c C-k") 'haskell-interactive-mode-clear)
6869
(define-key map (kbd "C-c C-c") 'haskell-process-interrupt)
@@ -214,6 +215,15 @@ is at the prompt."
214215
haskell-interactive-mode-prompt-start
215216
nil))
216217

218+
(defun haskell-interactive-mode-bol ()
219+
"Go to beginning of current line, but after current prompt if any."
220+
(interactive)
221+
(let ((beg (line-beginning-position))
222+
(end (line-end-position)))
223+
(goto-char (if (>= end haskell-interactive-mode-prompt-start beg)
224+
haskell-interactive-mode-prompt-start
225+
beg))))
226+
217227
(define-derived-mode haskell-error-mode
218228
special-mode "Error"
219229
"Major mode for viewing Haskell compile errors.")

0 commit comments

Comments
 (0)