diff --git a/haskell-hoogle.el b/haskell-hoogle.el index 62aaaaad7..433020fca 100644 --- a/haskell-hoogle.el +++ b/haskell-hoogle.el @@ -2,6 +2,7 @@ ;; Copyright © 2015 Steve Purcell ;; 2016 Arthur Fayzrakhmanov +;; 2018 Torstein Sørnes ;; Author: Steve Purcell ;; Keywords: docs @@ -46,6 +47,7 @@ If nil, use the Hoogle web-site." (const :tag "haskell-org" "http://haskell.org/hoogle/?q=%s") (const :tag "fp-complete" "https://www.stackage.org/lts/hoogle?q=%s") (const :tag "hayoo" "http://hayoo.fh-wedel.de/?query=%s") + (const :tag "local" (format "http://localhost:%i/?hoogle=%s" haskell-hoogle-port-number)) string)) ;;;###autoload @@ -94,6 +96,17 @@ is asked to show extra info for the items matching QUERY.." "hoogle" "server" "-p" (number-to-string haskell-hoogle-port-number)))) (error "\"hoogle\" executable not found"))) +(defun haskell-hoogle-start-stack-server () + "Start hoogle local server using the local Stack configuration." + (interactive) + (unless (haskell-hoogle-server-live-p) + (set 'haskell-hoogle-server-process + (start-process + haskell-hoogle-server-process-name + (get-buffer-create haskell-hoogle-server-buffer-name) + "stack" "hoogle" "--setup" "--" "server" "-p" (number-to-string haskell-hoogle-port-number)))) + ) + (defun haskell-hoogle-server-live-p () "Whether the hoogle server process is live." (condition-case _err