diff --git a/elisp/ghc-ins-mod.el b/elisp/ghc-ins-mod.el index 3ac8cb7..4dffc98 100644 --- a/elisp/ghc-ins-mod.el +++ b/elisp/ghc-ins-mod.el @@ -10,27 +10,22 @@ (defvar ghc-hoogle-command "hoogle") -(defvar ghc-hoogle-keywords '("data" "server" "combine" "convert" "test" "dump" "rank" "log")) - (defun ghc-insert-module () (interactive) (if (not (ghc-which ghc-hoogle-command)) (message "\"%s\" not found" ghc-hoogle-command) (let* ((expr0 (thing-at-point 'symbol)) (expr (ghc-read-expression expr0))) - (if (member expr ghc-hoogle-keywords) - (message "\"%s\" not allowed" expr) - (let ((mods (ghc-function-to-modules expr))) - (if (null mods) - (message "No module guessed") - (let* ((first (car mods)) - (ini (cons first 0)) - (mod (if (= (length mods) 1) - first - (completing-read "Module name: " mods nil t ini)))) - (save-excursion - (ghc-goto-module-position) - (insert "import " mod "\n"))))))))) + (let ((mods (ghc-function-to-modules expr))) + (if (null mods) + (message "No module guessed") + (let* ((first (car mods)) + (mod (if (= (length mods) 1) + first + (completing-read "Module name: " mods nil t first)))) + (save-excursion + (ghc-goto-module-position) + (insert "import " mod "\n")))))))) (defun ghc-goto-module-position () (goto-char (point-max)) @@ -42,7 +37,7 @@ (defun ghc-function-to-modules (fn) (with-temp-buffer - (call-process ghc-hoogle-command nil t nil fn) + (call-process ghc-hoogle-command nil t nil "search" fn) (goto-char (point-min)) (let ((regex (concat "^\\([a-zA-Z0-9.]+\\) " fn " ")) ret)