Skip to content
This repository has been archived by the owner on Oct 7, 2020. It is now read-only.

Annoying popup in Sublime and vsCode #391

Open
nponeccop opened this issue Dec 6, 2017 · 15 comments
Open

Annoying popup in Sublime and vsCode #391

nponeccop opened this issue Dec 6, 2017 · 15 comments

Comments

@nponeccop
Copy link
Contributor

No description provided.

@nponeccop
Copy link
Contributor Author

nponeccop commented Dec 6, 2017

@xldenis wrote:

So far no luck! I've removed the cabal helpers and nothing changed. I'm currently rebuilding from latest master as my previous version was:

Version 0.1.0.0, Git revision 04af8885a89402168cf464b119697d2539df1e61 (1071 commits) x86_64

I'm building with stack build --stack-yaml=stack-8.2.1.yaml and that produces a binary:

Version 0.1.0.0, Git revision 358c6489eb1724b5d29698fe28fc389c12cdc10f (1096 commits) x86_64

Wow! it doesn't crash now but leads to an almost worse error...
image

Pops up everytime I save! Strictly speaking that error message is correct they aren't in other-modules they are in exposed-modules I don't know what could be causing this though.

Initial research shows that this could be a problem for cabal files that specify multiple targets (ie: app + lib) ?

@xldenis wrote:

Here is a log of me booting up HIE in sublime and waiting for diagnostics to pop up.

LSP: global clients: hie=True
LSP: starting active= /Users/xavier/Code/xldenis/ill/src/Ill/Codegen.hs other= 0
LSP: starting in /Users/xavier/Code/xldenis/ill
LSP: starting ['stack', 'exec', '/Users/xavier/.local/bin/hie', '--', '--lsp', '--debug', '--vomit']
LSP:  --> initialize
2017-12-04 22:42:22.249127 [ThreadId 11] - Setting home directory:/Users/xavier:
2017-12-04 22:42:22.250429 [ThreadId 11] - run entered for HIE Version 0.1.0.0, Git revision 358c6489eb1724b5d29698fe28fc389c12cdc10f (1096 commits) x86_64:
2017-12-04 22:42:22.251145 [ThreadId 11] - Current directory:/Users/xavier:
2017-12-04 22:42:22.251493 [ThreadId 11] -:
:
:
:
:
haskell-lsp:Starting up server ...:
2017-12-04 22:42:22.252539 [ThreadId 11] - ---> {"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"processId": 17492, "capabilities": {"workspace": {"applyEdit": true}, "textDocument": {"synchronization": {"didSave": true}, "completion": {"completionItem": {"snippetSupport": true}}}}, "rootPath": "/Users/xavier/Code/xldenis/ill", "rootUri": "file:///Users/xavier/Code/xldenis/ill"}}:
2017-12-04 22:42:22.254333 [ThreadId 11] - haskell-lsp:initializeRequestHandler: setting current dir to project root:/Users/xavier/Code/xldenis/ill:
LSP:  --> initialized
LSP: hie client registered for window 2
2017-12-04 22:42:22.25524 [ThreadId 12] - <--2--{"result":{"capabilities":{"textDocumentSync":{"openClose":true,"change":2,"willSave":false,"willSaveWaitUinntfiol:" :Ffoaulnsde ,S"tsaacvke "p:r{o"jiencctl uadte:T e/xUts"e:rfsa/lxsaev}i}e,r"/hCoovdeer/Pxrlodveindiesr/"i:ltlr:
LSP:  --> textDocument/didOpen
ue,"completionProvider":{"resolveProvideirn"f:ot:r uSeT,A"CtKr_iEggXeEr Csheatr,a cptreerfse"r:r[i"n.g" ]S}t,a"cdke fpirnoijteicotn:
Provider":true,"referencesProvider":true,"documentHighlightProvider":true,"documentSymbolProvider":true,"codeActionProvider":true,"documentFormattingProvider":true,"documentRangeFormattingProvider":true,"renameProvider":true,"executeCommandProvider":{"commands":["applyrefact:applyOne","hare:demote"]}}},"jsonrpc":"2.0","id":1}:
2017-12-04 22:42:22.255989 [ThreadId 11] - ---> {"jsonrpc": "2.0", "method": "initialized", "params": {}}:
2017-12-04 22:42:22.261944 [ThreadId 11] - ---> {"jsonrpc": "2.0", "method": "textDocument/didOpen", "params": {"textDocument": {"version": 0, "text": "{-# LANGUAGE RecursiveDo, OverloadedStrings #-}\nmodule Ill.Codegen where\n\nimport Ill.Syntax.Core\nimport Ill.Syntax.Type\nimport Ill.Syntax.Name\n\nimport IRBuilder.Monad\nimport IRBuilder.Instruction\nimport qualified LLVM.AST.Type as T\nimport LLVM.AST.AddrSpace\n\nimport LLVM.Pretty\n\nimport Data.String\nimport ModuleBuilder\n\nimport Control.Monad (forM)\nimport qualified Control.Monad as M\n\n\nprettyModule mod = ppllvm $ compileModule mod\n\ncompileModule mod = buildModule \"example\" $ mdo\n  forM (constructors mod) compileConstructor\n  forM (filter isLambda $ bindings mod) compileBinding\n  where\n  isLambda (NonRec _ (Lambda{})) = True\n  isLambda _ = False\n\ncompileConstructor :: MonadModuleBuilder m => (Name, (Int, Type Name)) -> m ()\ncompileConstructor (nm, (_, ty)) = do\n  typedef (fromString nm) (Just $ T.StructureType False $ llvmArgTys)\n  where\n  llvmArgTys = map typeToLlvmType argTys\n  argTys = init (unwrapFnType ty)\n\nptr x = T.PointerType x (AddrSpace 0)\ntypeToLlvmType = ptr . typeToLlvmType'\ntypeToLlvmType' (TVar nm) = T.NamedTypeReference (fromString nm)\ntypeToLlvmType' (Arrow a b) = T.FunctionType (typeToLlvmType' b) [typeToLlvmType' a] False\ntypeToLlvmType' (TAp (TAp (TConstructor \"->\") a) b) = T.FunctionType (typeToLlvmType' b) [typeToLlvmType' a] False\ntypeToLlvmType' (TConstructor nm) = T.NamedTypeReference (fromString nm)\ntypeToLlvmType' t = T.void\n\n\ncompileBinding :: MonadModuleBuilder m => Bind Var -> m ()\ncompileBinding (NonRec nm l@(Lambda _ _)) = M.void . function (fromString $ varName nm) args ret $ \\args -> mdo\n  block `named` \"entry\" ; do\n    unreachable\n  pure ()\n\n  where\n  args = map (\\var -> (typeToLlvmType (idTy var), fromString $ varName var)) argVars\n  ret  = T.void\n  (body, argVars) = unwrapLambda l\n  unwrapLambda :: Core Var -> (Core Var, [Var])\n  unwrapLambda (Lambda b@(Id{}) e) = (b :) <$> unwrapLambda e\n  unwrapLambda (Lambda _ e) = unwrapLambda e\n  unwrapLambda e = (e, [])\n-- compileBinding exp = unreachable -- error $ show exp\n\ncompileBody exp = error $ show exp\n", "languageId": "haskell", "uri": "file:///Users/xavier/Code/xldenis/ill/src/Ill/Codegen.hs"}}}:
2017-12-04 22:42:22.262031 [ThreadId 15] - ****** reactor: processing Initialized Notification:
LSP: <--  client/registerCapability
LSP: Unhandled request client/registerCapability
2017-12-04 22:42:22.289626 [ThreadId 15] - ****** reactor: processing NotDidOpenTextDocument:
2017-12-04 22:42:22.289768 [ThreadId 12] - <--2--{"jsonrpc":"2.0","id":0,"method":"client/registerCapability","params":{"registrations":[{"registerOptions":{"documentSelector":{"language":"haskell"}},"method":"workspace/executeCommand","id":"hare:demote"}]}}:
info: Using Stack project at: /Users/xavier/Code/xldenis/ill:
2017-12-04 22:42:22.393041 [ThreadId 14] - dispatcherP: top of loop:
2017-12-04 22:42:22.393404 [ThreadId 14] - got request with id: Nothing:
Using hoogle db at: /Users/xavier/.hoogle/default-haskell-5.0.13.hoo:
2017-12-04 22:42:22.393943 [ThreadId 14] - dispatcherP: top of loop:
2017-12-04 22:42:22.394071 [ThreadId 12] - <--2--{"jsonrpc":"2.0","method":"window/logMessage","params":{"type":4,"message":"Using hoogle db at: /Users/xavier/.hoogle/default-haskell-5.0.13.hoo"}}:
2017-12-04 22:42:22.394278 [ThreadId 14] - got request with id: Nothing:
info: Found Stack project at: /Users/xavier/Code/xldenis/ill:
info: STACK_EXE set, preferring Stack project:
info: Using Stack project at: /Users/xavier/Code/xldenis/ill:
2017-12-04 22:42:22.540884 [ThreadId 14] - dispatcherP: top of loop:
2017-12-04 22:42:22.54123 [ThreadId 14] - got request with id: Nothing:
2017-12-04 22:42:22.541559 [ThreadId 14] - Processing request as version matches:
2017-12-04 22:42:22.59522 [ThreadId 14] - dispatcherP: top of loop:
2017-12-04 22:42:22.595483 [ThreadId 14] - got request with id: Nothing:
2017-12-04 22:42:22.595717 [ThreadId 14] - Processing request as version matches:
DEBUG: reading cache: /Users/xavier/Code/xldenis/ill/.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/setup-config.ghc-mod.cabal-components:
DEBUG: resolveEntrypoint::
["-i","-i.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build","-isrc","-i.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/autogen","-i.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/global-autogen","-I.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/autogen","-I.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/global-autogen","-I.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build","-optP-include","-optP.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/autogen/cabal_macros.h"]:
DEBUG: resolveEntrypoint::
LSP: <--  textDocument/publishDiagnostics
["-i","-i.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/buil2d0/1i7l-l1-2t-e0s4t /2i2l:l4-2t:e2s2t.-7t0m1p9"9,2" -[iTtherseta"d,I"d- i1.2s]t a-c k<--w-o2r-k-/{d"ijssto/nxr8p6c_"6:4"-2o.s0x"/,C"ambeatlh-o2d."0:."0t.e2x/tbDuoicludm/einltl/-ptuebslti/sahuDtioaggenno"s,t"i-cis."s,t"apcakr-awmosr"k:/{d"iusrti/"x:8"6f_i6l4e-:o/s/x//UCsaebrasl/-x2a.v0i.e0r./2C/obduei/lxdl/dgelnoibsa/li-lalu/tsorgce/nI"l,l"/-CIo.dsetgaecnk.-hwso"r,k"/ddiiasgtn/oxs8t6i_c6s4"-:o[s{x"/sCeavbearli-t2y."0:.30,."2r/abnugiel"d:/{i"lslt-atrets"t:/{a"ultiongee"n:"2,7",-"Ic.hsatraacckt-ewro"r:k2/1d}i,s"te/nxd8"6:_{6"4l-ionsex"/:C2a7b,a"lc-h2a.r0a.c0t.e2r/"b:u3i1l}d}/,g"lsoobuarlc-ea"u:t"ohgleinn"t,"",-"Im.esstsaacgke-"w:o"rRke/dduinsdta/nxt8 6b_r6a4c-koestx\/nCFaobuanld-:2\.n0 . 0(.L2a/mbbudial{d}/)i\lnlW-htye snto/ti:l\ln- t eLsatm-btdmap{"},\"n-"o}p,t{P"-sienvcelruidtey"",:"3-,o"prtaPn.gset"a:c{k"-swtoarrkt/"d:i{s"tl/ixn8e6"_:6341-,o"scxh/aCraabcatle-r2".:03.50}.,2"/ebnudi"l:d{/"illiln-et"e:s3t2/,a"ucthoagreanc/tcearb"a:l6_9m}a}c,r"osso.uhr"c]e:
":"hlint","message":"Redundant do\nFound:\n  do typedef (fromString nm)\n     (Just $ T.StructureType False $ llvmArgTys)\nWhy not:\n  typedef (fromString nm) (Just $ T.StructureType False $ llvmArgTys)\n"},{"severity":4,"range":{"start":{"line":32,"character":34},"end":{"line":32,"character":68}},"source":"hlint","message":"Redundant $\nFound:\n  T.StructureType False $ llvmArgTys\nWhy not:\n  T.StructureType False llvmArgTys\n"},{"severity":3,"range":{"start":{"line":48,"character":26},"end":{"line":49,"character":15}},"source":"hlint","message":"Redundant do\nFound:\n  do unreachable\nWhy not:\n  unreachable\n"},{"severity":3,"range":{"start":{"line":57,"character":25},"end":{"line":57,"character":31}},"source":"hlint","message":"Redundant bracket\nFound:\n  (Id{})\nWhy not:\n  Id{}\n"}]}}:
DEBUG: resolveEntrypoint::
["-i","-i.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/ill/ill-tmp","-iapp","-i.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/ill/autogen","-i.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/global-autogen","-I.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/ill/autogen","-I.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/global-autogen","-I.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/ill/ill-tmp","-optP-include","-optP.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/ill/autogen/cabal_macros.h"]:
DEBUG: resolveEntrypoint: []:
DEBUG: making sure autogen files exist:
DEBUG: reading cache: .stack-work/dist/x86_64-osx/Cabal-2.0.0.2/setup-config.ghc-mod.resolved-components:
VOMIT: Using the following mapped files: "/Users/xavier/Code/xldenis/ill/src/Ill/Codegen.hs":
VOMIT: Initializing GHC session with following options: "-fbuilding-cabal-package" "-O" "-outputdir" ".stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build" "-odir" ".stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build" "-hidir" ".stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build" "-stubdir" ".stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build" "-i" "-i.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build" "-isrc" "-i.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/autogen" "-i.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/global-autogen" "-I.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/autogen" "-I.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/global-autogen" "-I.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build" "-optP-include" "-optP.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/autogen/cabal_macros.h" "-this-unit-id" "ill-0.1.0.0-1Uwl6pTjVI3I7AGzQZvALi" "-hide-all-packages" "-Wmissing-home-modules" "-no-user-package-db" "-package-db" "/Users/xavier/.stack/snapshots/x86_64-osx/nightly-2017-10-31/8.2.1/pkgdb" "-package-db" "/Users/xavier/Code/xldenis/ill/.stack-work/install/x86_64-osx/nightly-2017-10-31/8.2.1/pkgdb" "-package-id" "megaparsec-6.2.0-FFfCVvl3couBaRbvjJAQlq" "-package-id" "text-1.2.2.2-Ja5vhWvrB3PHMSPwq0buEf" "-package-id" "base-4.10.0.0" "-package-id" "mtl-2.2.1-19EL8AGBsN3DnnOhrC9xY3" "-package-id" "free-4.12.4-8ba9GYDKZ8aHvmBcbKiAb" "-package-id" "comonad-5.0.2-AJkdorM0Eq34gBAfIhPSf6" "-package-id" "prettyprinter-1.1-64OylnBtbolEhArGDFcs7V" "-package-id" "prettyprinter-ansi-terminal-1.1-Bi4FIWRfLV883xIdkAAKX2" "-package-id" "lens-4.15.4-9nqBRPiZXNvCeZCsneO73P" "-package-id" "unordered-containers-0.2.8.0-Gyt5v4dJjM77pHzycDWM9B" "-package-id" "containers-0.5.10.2" "-package-id" "bifunctors-5.4.2-3X2cod1XF1V8VJmfcxAWhz" "-package-id" "llvm-hs-5.1.0-Kyabbjt1Hxf26NyJ9r37QY" "-package-id" "llvm-hs-pure-5.1.0-BBpjVHHU6l71hhxpLDYYdg" "-package-id" "llvm-hs-pretty-0.1.0.0-DY4O4ahFkjS6lNjHdrnMoh" "-package-id" "irbuilder-0.1.0.0-1MasmLgS3RbJFq45Mfjtc2" "-package-id" "bytestring-0.10.8.2" "-XHaskell2010" "-XFlexibleContexts" "-fwarn-incomplete-uni-patterns" "-fdiagnostics-color=always" "-O0":
DEBUG: initSession: Session not initialized, creating new one:
VOMIT: Using the following targets: "/Users/xavier/Code/xldenis/ill/src/Ill/Codegen.hs":
DEBUG: loadTargets::
Loading: /private/var/folders/zd/cdf056jn17s14wlrp527whgw0000gn/T/ghc-mod17493/Codegen17492-0.hs:
DEBUG: loadTargets: filterModSums: True:
info: loadTargets::
Target needs interpeter, switching to LinkInMemory/HscInterpreted. Perfectly normal if anything is using TemplateHaskell, QuasiQuotes or PatternSynonyms.:
DEBUG: loadTargets: Loading done:
2017-12-04 22:42:24.254251 [ThreadId 14] - dispatcherP: top of loop:LSP: <--  window/showMessage

2017-12-04 22:42:24.254393 [ThreadId 12] - <--2--{"jsonrpc":"2.0","method":"window/showMessage","params":{"type":1,"message":"Got error while processing diagnostics: These modules are needed for compilation but not listed in your .cabal file's other-modules: Control.Monad.Fresh\n                                                                                             Control.Monad.Unify\n                                                                                             Ill.Syntax.Core\n                                                                                             Ill.Syntax.Kind\n                                                                                             Ill.Syntax.Literal\n                                                                                             Ill.Syntax.Name\n                                                                                             Ill.Syntax.Pretty\n                                                                                             Ill.Syntax.Type"}}:
2017-12-04 22:42:24.257518 [ThreadId 12] - <--2--{"jsonrpc":"2.0","method":"window/showMessage","params":{"type":1,"message":"Got error while processing diagnostics: These modules are needed for compilation but not listed in your .cabal file's other-modules: Control.Monad.Fresh\n                                                                                             Control.Monad.Unify\n                                                                                             Ill.Syntax.Core\n                                                                                             Ill.Syntax.Kind\n                                                                                             Ill.Syntax.Literal\n                                                                                             Ill.Syntax.Name\n                                                                                             Ill.Syntax.Pretty\n                                                                                             Ill.Syntax.Type"}}:
2017-12-04 22:42:24.260181 [ThreadId 12] - <--2--{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///Users/xavier/Code/xldenis/ill/src/Ill/Codegen.hs","diagnostics":[{"severity":3,"range":{"start":{"line":27,"character":21},"end":{"line":27,"character":31}},"source":"hlint","message":"Redundant bracket\nFound:\n  (Lambda{})\nWhy not:\n  Lambda{}\n"},{"severity":3,"range":{"start":{"line":31,"character":35},"end":{"line":32,"character":69}},"source":"hlint","message":"Redundant do\nFound:\n  do typedef (fromString nm)\n     (Just $ T.StructureType False $ llvmArgTys)\nWhy not:\n  typedef (fromString nm) (Just $ T.StructureType False $ llvmArgTys)\n"},{"severity":4,"range":{"start":{"line":32,"character":34},"end":{"line":32,"character":68}},"source":"hlint","message":"Redundant $\nFound:\n  T.StructureType False $ llvmArgTys\nWhy not:\n  T.StructureType False llvmArgTys\n"},{"severity":3,"range":{"start":{"line":48,"character":26},"end":{"line":49,"character":15}},"source":"hlint","message":"Redundant do\nFound:\n  do unreachable\nWhy not:\n  unreachable\n"},{"severity":3,"range":{"start":{"line":57,"character":25},"end":{"line":57,"character":31}},"source":"hlint","message":"Redundant bracket\nFound:\n  (Id{})\nWhy not:\n  Id{}\n"}]}}:
Package Control: Skipping automatic upgrade, last run at 2017-12-04 22:29:01, next run at 2017-12-04 23:29:01 or after
LSP: <--  window/showMessage
LSP: <--  textDocument/publishDiagnostics

This is amazing though, it appears as if code actions work and hits pop up! I can even hover over terms to get type information 😄 . Once that annoying popup issue is solved I can finally use HIE!

@nponeccop
Copy link
Contributor Author

nponeccop commented Dec 6, 2017

From messages like

ue,"completionProvider":{"resolveProvideirn"f:ot:r uSeT,A"CtKr_iEggXeEr Csheatr,a cptreerfse"r:r[i"n.g" ]S}t,a"cdke fpirnoijteicotn:

it seems we have a racing condition. Hopefully it's just the logger.

The popups come from these lines:

2017-12-04 22:42:24.254393 [ThreadId 12] - <--2--{"jsonrpc":"2.0","method":"window/showMessage","params":{"type":1,"message":"Got error while processing diagnostics: These modules are needed for compilation but not listed in your .cabal file's other-modules: Control.Monad.Fresh\n                                                                                             Control.Monad.Unify\n                                                                                             Ill.Syntax.Core\n                                                                                             Ill.Syntax.Kind\n                                                                                             Ill.Syntax.Literal\n                                                                                             Ill.Syntax.Name\n                                                                                             Ill.Syntax.Pretty\n                                                                                             Ill.Syntax.Type"}}:

The showMessage is emitted from here:

https://github.com/haskell/haskell-ide-engine/blob/master/src/Haskell/Ide/Engine/Transport/LspStdio.hs#L826

and it's sort of failed assertion, so it's good that it's so loud in Sublime.

The message about "these modules" originates from GHC itself:

ghc/ghc@b0c9f34#diff-cba18dd33a1f0755b737e26ed3bf08e9R200

@xldenis
Copy link

xldenis commented Dec 6, 2017

My suspicion is that it's improperly building the executable as if it's the only target. That would seem to explain why it complains about those other modules.

@nponeccop
Copy link
Contributor Author

How do you build the project (stack, cabal etc) and does the message appear during the normal build?

My impression from looking at the hie code was that the messages were legitimate but we don't handle this type of messages correctly so they end as popups.

@xldenis
Copy link

xldenis commented Dec 6, 2017

I build my project iwht stack build and the error never happens. I think the errors are legitimate (ie: ghc is correct in reporting them), but I think that whatever process is triggering the build is doing so incorrectly. (ie: ghc-mod? hie? cabal?).

If you'd like to try it out yourself feel free to clone the project at https://github.com/xldenis/ill and run stack build.

Let me know if I can run any more tests for you though.

@fonghou
Copy link

fonghou commented Dec 18, 2017

Same problem in VS Code. I'm using stack 1.6.1 with ghc 8.2.2.

Really a blocker to use HIE, which is awesome! Hope it'll be resolved soon.

Thanks

@srid
Copy link

srid commented Dec 19, 2017

screen shot 2017-12-19 at 3 35 41 pm

I get the same popup in VS Code and it is really annoying as it pops up on every edit.

@srid
Copy link

srid commented Dec 19, 2017

VS Code UI doesn't necessarily lend well to issues like this: microsoft/vscode-go#998

@nponeccop
Copy link
Contributor Author

In this case it's a diagnostic which is mistakenly reported to vscode as a message. So it's our guilt, not theirs.

@nponeccop nponeccop changed the title Giant popup in Sublime Annoying popup in Sublime and vsCode Dec 19, 2017
@nponeccop
Copy link
Contributor Author

nponeccop commented Dec 19, 2017

Can someone replace fmServerShowMessageNotification with fmServerLogMessageNotification and report if it helped?

reactorSend $
fmServerShowMessageNotification J.MtError
$ "Got error while processing diagnostics: " <> e
let ds = Map.toList $ S.toList <$> pd

This is really a serious error in hie itself, not mere misconfiguration/user error, so the screaming annoying reporting of it was correct.

@srid
Copy link

srid commented Dec 19, 2017

@nponeccop Yes, that removed the popup for me.

@mzr
Copy link

mzr commented Dec 22, 2017

@nponeccop Confirmed. It works.

@jchia
Copy link
Contributor

jchia commented Dec 31, 2017

@nponeccop The workaround works for me, too.

@dniku
Copy link

dniku commented Jun 27, 2018

I suppose a fix for the latest version should be

diff --git a/src/Haskell/Ide/Engine/Transport/LspStdio.hs b/src/Haskell/Ide/Engine/Transport/LspStdio.hs
index 02fc890..02fdb47 100644
--- a/src/Haskell/Ide/Engine/Transport/LspStdio.hs
+++ b/src/Haskell/Ide/Engine/Transport/LspStdio.hs
@@ -839,8 +839,8 @@ requestDiagnostics tn cin file ver = do
                $ GhcMod.setTypecheckedModule file
       callbackg (pd, errs) = do
         forM_ errs $ \e -> do
-          reactorSend $ NotShowMessage $
-            fmServerShowMessageNotification J.MtError
+          reactorSend $ NotLogMessage $
+            fmServerLogMessageNotification J.MtError
               $ "Got error while processing diagnostics: " <> e
         let ds = Map.toList $ S.toList <$> pd
         case ds of

@alanz
Copy link
Collaborator

alanz commented Dec 24, 2018

Is this still a problem? If so, please provide an example that I can test against (preferably a git repo or some such)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

9 participants