Merge commit '327451036dfab82ebe2020aa1757d92c6e5879bc'

This commit is contained in:
Daniel Gröber 2015-08-31 03:45:36 +02:00
commit 393095005f
5 changed files with 17 additions and 12 deletions

View File

@ -28,11 +28,12 @@ package is called `ghc` there, not `ghc-mod`) and install the
### Nix & NixOS
The installation is a little more involved in this environment as Nix needs some
ugly hacks to get packages using the GHC API to work, please refer to this
stackoverflow answer:
http://stackoverflow.com/a/24228830
`ghc-mod` works fine for users of Nix who follow a recent version of the
package database such as the `nixos-15.09` or `nixos-unstable` channel. Just
include the package `ghc-mod` into your `ghcWithPackages` environment like any
other library. The [Nixpkgs Haskell User's
Guide](http://hydra.nixos.org/job/nixpkgs/trunk/manual/latest/download-by-type/doc/manual#users-guide-to-the-haskell-infrastructure)
covers this subject in gret detail.
## Using the development version

View File

@ -53,7 +53,7 @@
(let ((inhibit-field-text-motion t))
(sort-subr nil 'forward-line 'end-of-line
(lambda ()
(re-search-forward "^import\\( *qualified\\)? *" nil t)
(re-search-forward "^import +\\(qualified\\)? *" nil t)
nil)
'end-of-line))
(ghc-merge-lines))))
@ -64,7 +64,7 @@
(while (not (eolp))
;; qualified modlues are not merged at this moment.
;; fixme if it is improper.
(if (looking-at "^import *\\([A-Z][^ \n]+\\) *(\\(.*\\))$")
(if (looking-at "^import +\\([A-Z][^ \n]+\\) *(\\(.*\\))$")
(let ((mod (match-string-no-properties 1))
(syms (match-string-no-properties 2))
(beg (point)))
@ -73,7 +73,7 @@
(forward-line)))))
(defun ghc-merge-line (beg mod syms)
(let ((regex (concat "^import *" (regexp-quote mod) " *(\\(.*\\))$"))
(let ((regex (concat "^import +" (regexp-quote mod) " *(\\(.*\\))$"))
duplicated)
(while (looking-at regex)
(setq duplicated t)

View File

@ -265,7 +265,7 @@ unloaded modules are loaded")
(let (ret)
(save-excursion
(goto-char (point-min))
(while (re-search-forward "^import\\( *qualified\\)? +\\([^\n ]+\\)" nil t)
(while (re-search-forward "^import +\\(qualified\\)? *\\([^\n ]+\\)" nil t)
(ghc-add ret (match-string-no-properties 2))
(forward-line)))
ret))

View File

@ -56,7 +56,7 @@
(defun ghc-goto-module-position ()
(goto-char (point-max))
(if (re-search-backward "^import" nil t)
(if (re-search-backward "^import +" nil t)
(ghc-goto-empty-line)
(if (not (re-search-backward "^module" nil t))
(goto-char (point-min))

View File

@ -138,7 +138,8 @@
(el-ver ghc-version)
(ghc-ver (ghc-run-ghc-mod '("--version") "ghc"))
(ghc-mod-ver (ghc-run-ghc-mod '("version")))
(path (getenv "PATH")))
(path (getenv "PATH"))
(debug (ghc-run-ghc-mod '("debug")))) ;; before switching buffers.
(switch-to-buffer (get-buffer-create "**GHC Debug**"))
(erase-buffer)
(insert "Path: check if you are using intended programs.\n")
@ -150,7 +151,10 @@
(insert (format "\t %s\n" ghc-mod-ver))
(insert (format "\t%s\n" ghc-ver))
(insert "\nEnvironment variables:\n")
(insert (format "\tPATH=%s\n" path))))
(insert (format "\tPATH=%s\n" path))
(insert "\nThe result of \"ghc-mod debug\":\n")
(insert debug)
(goto-char (point-min))))
(defun ghc-insert-template-or-signature (&optional flag)
(interactive "P")