insert module hack.
This commit is contained in:
parent
4e87e389e5
commit
cc6a2d7070
@ -94,6 +94,11 @@
|
|||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
(defun ghc-things-at-point ()
|
||||||
|
(thing-at-point 'sexp))
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
(defun ghc-keyword-number-pair (spec)
|
(defun ghc-keyword-number-pair (spec)
|
||||||
(let ((len (length spec)) key ret)
|
(let ((len (length spec)) key ret)
|
||||||
(dotimes (i len (nreverse ret))
|
(dotimes (i len (nreverse ret))
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
(ghc-show-type0 ask modname)))))
|
(ghc-show-type0 ask modname)))))
|
||||||
|
|
||||||
(defun ghc-show-type0 (ask modname)
|
(defun ghc-show-type0 (ask modname)
|
||||||
(let* ((expr0 (thing-at-point 'symbol))
|
(let* ((expr0 (ghc-things-at-point))
|
||||||
(expr (if ask (ghc-read-expression expr0) expr0))
|
(expr (if ask (ghc-read-expression expr0) expr0))
|
||||||
(cdir default-directory)
|
(cdir default-directory)
|
||||||
(file (buffer-name)))
|
(file (buffer-name)))
|
||||||
@ -40,7 +40,7 @@
|
|||||||
(ghc-show-info0 ask modname)))))
|
(ghc-show-info0 ask modname)))))
|
||||||
|
|
||||||
(defun ghc-show-info0 (ask modname)
|
(defun ghc-show-info0 (ask modname)
|
||||||
(let* ((expr0 (thing-at-point 'symbol))
|
(let* ((expr0 (ghc-things-at-point))
|
||||||
(expr (if ask (ghc-read-expression expr0) expr0))
|
(expr (if ask (ghc-read-expression expr0) expr0))
|
||||||
(cdir default-directory)
|
(cdir default-directory)
|
||||||
(file (buffer-name))
|
(file (buffer-name))
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
(interactive)
|
(interactive)
|
||||||
(if (not (ghc-which ghc-hoogle-command))
|
(if (not (ghc-which ghc-hoogle-command))
|
||||||
(message "\"%s\" not found" ghc-hoogle-command)
|
(message "\"%s\" not found" ghc-hoogle-command)
|
||||||
(let* ((expr0 (thing-at-point 'symbol))
|
(let* ((expr0 (ghc-things-at-point))
|
||||||
(expr (ghc-read-expression expr0)))
|
(expr (ghc-read-expression expr0)))
|
||||||
(let ((mods (ghc-function-to-modules expr)))
|
(let ((mods (ghc-function-to-modules expr)))
|
||||||
(if (null mods)
|
(if (null mods)
|
||||||
@ -30,11 +30,15 @@
|
|||||||
(defun ghc-goto-module-position ()
|
(defun ghc-goto-module-position ()
|
||||||
(goto-char (point-max))
|
(goto-char (point-max))
|
||||||
(if (re-search-backward "^import" nil t)
|
(if (re-search-backward "^import" nil t)
|
||||||
(forward-line)
|
(ghc-goto-empty-line)
|
||||||
(if (re-search-backward "^module" nil t)
|
(if (re-search-backward "^module" nil t)
|
||||||
(forward-line)
|
(ghc-goto-empty-line)
|
||||||
(goto-char (point-min)))))
|
(goto-char (point-min)))))
|
||||||
|
|
||||||
|
(defun ghc-goto-empty-line ()
|
||||||
|
(unless (re-search-forward "^$" nil t)
|
||||||
|
(forward-line)))
|
||||||
|
|
||||||
(defun ghc-function-to-modules (fn)
|
(defun ghc-function-to-modules (fn)
|
||||||
(with-temp-buffer
|
(with-temp-buffer
|
||||||
(call-process ghc-hoogle-command nil t nil "search" fn)
|
(call-process ghc-hoogle-command nil t nil "search" fn)
|
||||||
|
Loading…
Reference in New Issue
Block a user