branch: elpa/haskell-tng-mode commit 88bad65aa31a7d338fde0478d1fea51bdc447457 Author: Tseen She <ts33n....@gmail.com> Commit: Tseen She <ts33n....@gmail.com>
visually distinguish compile errors and warnings --- haskell-tng-compile.el | 20 +++++++++++--------- test/compile/ghc-8.4.4-error.compile.faceup | 2 +- test/compile/ghc-8.4.4-errorspan.compile.faceup | 4 ++-- test/compile/ghc-8.4.4-warning.compile.faceup | 2 +- test/compile/ghc-8.4.4-warningspan.compile.faceup | 4 ++-- 5 files changed, 17 insertions(+), 15 deletions(-) diff --git a/haskell-tng-compile.el b/haskell-tng-compile.el index 39b23f9..8b8528e 100644 --- a/haskell-tng-compile.el +++ b/haskell-tng-compile.el @@ -19,16 +19,18 @@ (defvar haskell-tng-compilation-error-regexp-alist (let ((file '(: (group (+ any) ".hs"))) - (num '(: (group (+ digit))))) + (num '(: (group (+ digit)))) + (err '(: ": " (group "error") ":")) + (war '(: ": " (group "warning") ":"))) `(;; ghc errors / warnings (including -ferror-spans) - (,(rx-to-string `(: bol ,file ":" ,num ":" ,num (? "-" ,num) ": error:")) - 1 2 (3 . 4) 2 1) - (,(rx-to-string `(: bol ,file ":" ,num ":" ,num (? "-" ,num) ": warning:")) - 1 2 (3 . 4) 1 1) - (,(rx-to-string `(: bol ,file ":(" ,num "," ,num ")-(" ,num "," ,num ")" ": error:")) - 1 (2 . 4) (3 . 5) 2 1) - (,(rx-to-string `(: bol ,file ":(" ,num "," ,num ")-(" ,num "," ,num ")" ": warning:")) - 1 (2 . 4) (3 . 5) 1 1) + (,(rx-to-string `(: bol ,file ":" ,num ":" ,num (? "-" ,num) ,err)) + 1 2 (3 . 4) 2 1 (5 'compilation-error)) + (,(rx-to-string `(: bol ,file ":" ,num ":" ,num (? "-" ,num) ,war)) + 1 2 (3 . 4) 1 1 (5 'compilation-warning)) + (,(rx-to-string `(: bol ,file ":(" ,num "," ,num ")-(" ,num "," ,num ")" ,err)) + 1 (2 . 4) (3 . 5) 2 1 (6 'compilation-error)) + (,(rx-to-string `(: bol ,file ":(" ,num "," ,num ")-(" ,num "," ,num ")" ,war)) + 1 (2 . 4) (3 . 5) 1 1 (6 'compilation-warning)) ;; hspec (,(rx-to-string `(: bol (+ space) ,file ":" ,num ":" ,num ":")) diff --git a/test/compile/ghc-8.4.4-error.compile.faceup b/test/compile/ghc-8.4.4-error.compile.faceup index 1c9e51d..cb65688 100644 --- a/test/compile/ghc-8.4.4-error.compile.faceup +++ b/test/compile/ghc-8.4.4-error.compile.faceup @@ -10,7 +10,7 @@ Building library for stackage-to-hackage-1.1.0.. [1 of 2] Compiling StackageToHackage.Stackage ( lib/StackageToHackage/Stackage.hs, /home/tseenshe/stack2cabal/dist-newstyle/build/x86_64-linux/ghc-8.4.4/stackage-to-hackage-1.1.0/noopt/build/StackageToHackage/Stackage.o ) [2 of 2] Compiling StackageToHackage.Hackage ( lib/StackageToHackage/Hackage.hs, /home/tseenshe/stack2cabal/dist-newstyle/build/x86_64-linux/ghc-8.4.4/stackage-to-hackage-1.1.0/noopt/build/StackageToHackage/Hackage.o ) -«U:«:compilation-error:lib/StackageToHackage/Hackage.hs»»:«:compilation-line-number:33»:«:compilation-column-number:16»: error: +«U:«:compilation-error:lib/StackageToHackage/Hackage.hs»»:«:compilation-line-number:33»:«:compilation-column-number:16»: «:compilation-error:error»: parse error on input ‘=’ Perhaps you need a 'let' in a 'do' block? e.g. 'let x = 5' instead of 'x = 5' diff --git a/test/compile/ghc-8.4.4-errorspan.compile.faceup b/test/compile/ghc-8.4.4-errorspan.compile.faceup index 57c8640..24c543d 100644 --- a/test/compile/ghc-8.4.4-errorspan.compile.faceup +++ b/test/compile/ghc-8.4.4-errorspan.compile.faceup @@ -10,7 +10,7 @@ Building library for stackage-to-hackage-1.1.0.. [1 of 2] Compiling StackageToHackage.Stackage [2 of 2] Compiling StackageToHackage.Hackage -«U:«:compilation-error:lib/StackageToHackage/Hackage.hs»»:«:compilation-line-number:13»:«:compilation-column-number:1»-«:compilation-column-number:53»: error: +«U:«:compilation-error:lib/StackageToHackage/Hackage.hs»»:«:compilation-line-number:13»:«:compilation-column-number:1»-«:compilation-column-number:53»: «:compilation-error:error»: Could not find module ‘Data.ByteStrong’ Perhaps you meant Data.ByteString (from bytestring-0.10.8.2) Use -v to see a list of the files searched for. @@ -18,7 +18,7 @@ Building library for stackage-to-hackage-1.1.0.. 13 | import qualified Data.ByteStrong as BS | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -«U:«:compilation-error:lib/StackageToHackage/Hackage.hs»»:(«:compilation-line-number:19»,«:compilation-column-number:1»)-(«:compilation-line-number:20»,«:compilation-column-number:56»): error: +«U:«:compilation-error:lib/StackageToHackage/Hackage.hs»»:(«:compilation-line-number:19»,«:compilation-column-number:1»)-(«:compilation-line-number:20»,«:compilation-column-number:56»): «:compilation-error:error»: Could not find module ‘Data.Moybe’ Perhaps you meant Data.Maybe (from base-4.11.1.0) Use -v to see a list of the files searched for. diff --git a/test/compile/ghc-8.4.4-warning.compile.faceup b/test/compile/ghc-8.4.4-warning.compile.faceup index 9f652e5..d8baa6c 100644 --- a/test/compile/ghc-8.4.4-warning.compile.faceup +++ b/test/compile/ghc-8.4.4-warning.compile.faceup @@ -10,7 +10,7 @@ Building library for stackage-to-hackage-1.1.0.. [1 of 2] Compiling StackageToHackage.Stackage ( lib/StackageToHackage/Stackage.hs, /home/tseenshe/stack2cabal/dist-newstyle/build/x86_64-linux/ghc-8.4.4/stackage-to-hackage-1.1.0/noopt/build/StackageToHackage/Stackage.o ) [2 of 2] Compiling StackageToHackage.Hackage ( lib/StackageToHackage/Hackage.hs, /home/tseenshe/stack2cabal/dist-newstyle/build/x86_64-linux/ghc-8.4.4/stackage-to-hackage-1.1.0/noopt/build/StackageToHackage/Hackage.o ) -«U:«:compilation-warning:lib/StackageToHackage/Hackage.hs»»:«:compilation-line-number:13»:«:compilation-column-number:1»: warning: [-Wunused-imports] +«U:«:compilation-warning:lib/StackageToHackage/Hackage.hs»»:«:compilation-line-number:13»:«:compilation-column-number:1»: «:compilation-warning:warning»: [-Wunused-imports] The qualified import of ‘Data.ByteString’ is redundant except perhaps to import instances from ‘Data.ByteString’ To import instances alone, use: import Data.ByteString() diff --git a/test/compile/ghc-8.4.4-warningspan.compile.faceup b/test/compile/ghc-8.4.4-warningspan.compile.faceup index 25cc994..9e2d866 100644 --- a/test/compile/ghc-8.4.4-warningspan.compile.faceup +++ b/test/compile/ghc-8.4.4-warningspan.compile.faceup @@ -10,7 +10,7 @@ Building library for stackage-to-hackage-1.1.0.. [1 of 2] Compiling StackageToHackage.Stackage [2 of 2] Compiling StackageToHackage.Hackage -«U:«:compilation-warning:lib/StackageToHackage/Hackage.hs»»:«:compilation-line-number:13»:«:compilation-column-number:1»-«:compilation-column-number:53»: warning: [-Wunused-imports] +«U:«:compilation-warning:lib/StackageToHackage/Hackage.hs»»:«:compilation-line-number:13»:«:compilation-column-number:1»-«:compilation-column-number:53»: «:compilation-warning:warning»: [-Wunused-imports] The qualified import of ‘Data.ByteString’ is redundant except perhaps to import instances from ‘Data.ByteString’ To import instances alone, use: import Data.ByteString() @@ -18,7 +18,7 @@ Building library for stackage-to-hackage-1.1.0.. 13 | import qualified Data.ByteString as BS | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -«U:«:compilation-warning:lib/StackageToHackage/Hackage.hs»»:(«:compilation-line-number:19»,«:compilation-column-number:1»)-(«:compilation-line-number:20»,«:compilation-column-number:56»): warning: [-Wunused-imports] +«U:«:compilation-warning:lib/StackageToHackage/Hackage.hs»»:(«:compilation-line-number:19»,«:compilation-column-number:1»)-(«:compilation-line-number:20»,«:compilation-column-number:56»): «:compilation-warning:warning»: [-Wunused-imports] The import of ‘isJust’ from module ‘Data.Maybe’ is redundant | 19 | import Data.Maybe (fromMaybe, mapMaybe,