File tree 1 file changed +13
-4
lines changed 1 file changed +13
-4
lines changed Original file line number Diff line number Diff line change @@ -211,12 +211,21 @@ Key bindings:
211
211
(setf (cdddr state) (list (length buffer)))
212
212
nil )))
213
213
:complete (lambda (state response )
214
- (if haskell-interactive-mode-eval-mode
215
- (haskell-interactive-mode-eval-as-mode (car state) response)
216
- (when haskell-interactive-mode-eval-pretty
217
- (haskell-interactive-mode-eval-pretty-result (car state) response)))
214
+ (cond
215
+ (haskell-interactive-mode-eval-mode
216
+ (haskell-interactive-mode-eval-as-mode (car state) response))
217
+ ((haskell-interactive-mode-line-is-query (elt state 2 ))
218
+ (let ((haskell-interactive-mode-eval-mode 'haskell-mode ))
219
+ (haskell-interactive-mode-eval-as-mode (car state) response)))
220
+ (haskell-interactive-mode-eval-pretty
221
+ (haskell-interactive-mode-eval-pretty-result (car state) response)))
218
222
(haskell-interactive-mode-prompt (car state)))))))))
219
223
224
+ (defun haskell-interactive-mode-line-is-query (line )
225
+ " Is LINE actually a :t/:k/:i?"
226
+ (and (string-match " ^:[itk] " line)
227
+ t ))
228
+
220
229
(defun haskell-interactive-jump-to-error-line ()
221
230
" Jump to the error line."
222
231
(let ((orig-line (buffer-substring-no-properties (line-beginning-position )
You can’t perform that action at this time.
0 commit comments