Comments (10)
LOG
2020-01-23 01:13:13.9190259 [ThreadId 3] - run entered for hie-wrapper(hie-wrapper) Version 1.0.0.0, Git revision b7ce8b8f2fc4a071db2119516aa1dcffc577dca0 (dirty) (3541 commits) x86_64 ghc-8.6.5
2020-01-23 01:13:13.9210265 [ThreadId 3] - Current directory:c:\Projects
2020-01-23 01:13:13.9220294 [ThreadId 3] - Operating system:mingw32
2020-01-23 01:13:13.9220294 [ThreadId 3] - args:["--lsp","-d","--vomit"]
2020-01-23 01:13:13.9250175 [ThreadId 3] - Cabal-Helper found these projects: []
2020-01-23 01:13:13.9260257 [ThreadId 3] - These projects have the build tools installed: []
2020-01-23 01:13:13.9260257 [ThreadId 3] - Could not find a Project for file: c:\Projects\File.hs
2020-01-23 01:13:13.9270221 [ThreadId 3] - Module "c:\Projects\File.hs" is loaded by Cradle: Cradle {cradleRootDir = "c:\\Projects", cradleOptsProg = CradleAction: Direct}
2020-01-23 01:13:13.9270221 [ThreadId 3] - Cradle directory:c:\Projects
2020-01-23 01:13:13.9280259 [ThreadId 3] - Use Plain GHC
2020-01-23 01:13:14.0010161 [ThreadId 3] - GHC Output: "Just "8.6.5""
2020-01-23 01:13:14.0020186 [ThreadId 3] - Project GHC version:8.6.5
2020-01-23 01:13:14.0020186 [ThreadId 3] - hie exe candidates :["hie-8.6.5.exe","hie-8.6.exe","hie.exe"]
2020-01-23 01:13:14.0060199 [ThreadId 3] - found hie exe at:C:\Users\nikita\AppData\Roaming\local\bin\hie.exe
2020-01-23 01:13:14.0070545 [ThreadId 3] - args:["--lsp","-d","--vomit"]
2020-01-23 01:13:14.0070545 [ThreadId 3] - launching ....
2020-01-23 01:13:14.033059 [ThreadId 3] - Run entered for HIE(hie.exe) Version 1.0.0.0, Git revision b7ce8b8f2fc4a071db2119516aa1dcffc577dca0 (dirty) (3541 commits) x86_64 ghc-8.6.5
2020-01-23 01:13:14.0350576 [ThreadId 3] - Operating as a LSP server on stdio
2020-01-23 01:13:14.0350576 [ThreadId 3] - Current directory:c:\Projects
2020-01-23 01:13:14.0350576 [ThreadId 3] - Operating system:mingw32
2020-01-23 01:13:14.0350576 [ThreadId 3] - args:["--lsp","-d","--vomit"]
2020-01-23 01:13:14.0350576 [ThreadId 3] - Enabling verbose mode for hie-bios. This option currently doesn't do anything.
2020-01-23 01:13:14.0350576 [ThreadId 3] -
haskell-lsp:Starting up server ...
2020-01-23 01:13:14.0370182 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":2788,"clientInfo":{"name":"vscode","version":"1.41.1"},"rootPath":"c:\\Projects","rootUri":"file:///c%3A/Projects","capabilities":{"workspace":{"applyEdit":true,"workspaceEdit":{"documentChanges":true,"resourceOperations":["create","rename","delete"],"failureHandling":"textOnlyTransactional"},"didChangeConfiguration":{"dynamicRegistration":true},"didChangeWatchedFiles":{"dynamicRegistration":true},"symbol":{"dynamicRegistration":true,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]}},"executeCommand":{"dynamicRegistration":true},"configuration":true,"workspaceFolders":true},"textDocument":{"publishDiagnostics":{"relatedInformation":true,"tagSupport":{"valueSet":[1,2]}},"synchronization":{"dynamicRegistration":true,"willSave":true,"willSaveWaitUntil":true,"didSave":true},"completion":{"dynamicRegistration":true,"contextSupport":true,"completionItem":{"snippetSupport":true,"commitCharactersSupport":true,"documentationFormat":["markdown","plaintext"],"deprecatedSupport":true,"preselectSupport":true,"tagSupport":{"valueSet":[1]}},"completionItemKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]}},"hover":{"dynamicRegistration":true,"contentFormat":["markdown","plaintext"]},"signatureHelp":{"dynamicRegistration":true,"signatureInformation":{"documentationFormat":["markdown","plaintext"],"parameterInformation":{"labelOffsetSupport":true}},"contextSupport":true},"definition":{"dynamicRegistration":true,"linkSupport":true},"references":{"dynamicRegistration":true},"documentHighlight":{"dynamicRegistration":true},"documentSymbol":{"dynamicRegistration":true,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]},"hierarchicalDocumentSymbolSupport":true},"codeAction":{"dynamicRegistration":true,"isPreferredSupport":true,"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}}},"codeLens":{"dynamicRegistration":true},"formatting":{"dynamicRegistration":true},"rangeFormatting":{"dynamicRegistration":true},"onTypeFormatting":{"dynamicRegistration":true},"rename":{"dynamicRegistration":true,"prepareSupport":true},"documentLink":{"dynamicRegistration":true,"tooltipSupport":true},"typeDefinition":{"dynamicRegistration":true,"linkSupport":true},"implementation":{"dynamicRegistration":true,"linkSupport":true},"colorProvider":{"dynamicRegistration":true},"foldingRange":{"dynamicRegistration":true,"rangeLimit":5000,"lineFoldingOnly":true},"declaration":{"dynamicRegistration":true,"linkSupport":true},"selectionRange":{"dynamicRegistration":true},"callHierarchy":{"dynamicRegistration":true}},"window":{"workDoneProgress":true}},"trace":"off","workspaceFolders":[{"uri":"file:///c%3A/Projects","name":"Projects"}]}}
2020-01-23 01:13:14.0390276 [ThreadId 3] - haskell-lsp:initializeRequestHandler: setting current dir to project root:c:\Projects
2020-01-23 01:13:14.116019 [ThreadId 3] - Dummy Cradle file result: c:\Projects\File.hs
2020-01-23 01:13:14.1170202 [ThreadId 3] - Cabal-Helper found these projects: []
2020-01-23 01:13:14.1170202 [ThreadId 3] - These projects have the build tools installed: []
2020-01-23 01:13:14.1170202 [ThreadId 3] - Could not find a Project for file: c:\Projects\File.hs
2020-01-23 01:13:14.1170202 [ThreadId 3] - Module "c:\Projects\File.hs" is loaded by Cradle: Cradle {cradleRootDir = "c:\\Projects", cradleOptsProg = CradleAction: Direct}
2020-01-23 01:13:14.1180183 [ThreadId 3] - Use Plain GHC
2020-01-23 01:13:14.1970202 [ThreadId 3] - GHC Output: "Just "8.6.5""
2020-01-23 01:13:14.1980186 [ThreadId 8] - Use Plain GHC
2020-01-23 01:13:14.1980186 [ThreadId 9] - ****** reactor: top of loop
2020-01-23 01:13:14.2050189 [ThreadId 4] - <--2--{"result":{"capabilities":{"typeDefinitionProvider":true,"foldingRangeProvider":false,"textDocumentSync":{"openClose":true,"change":2,"willSave":false,"willSaveWaitUntil":false,"save":{"includeText":false}},"workspace":{},"implementationProvider":true,"documentRangeFormattingProvider":true,"documentHighlightProvider":true,"executeCommandProvider":{"commands":["7052:applyrefact:applyOne","7052:applyrefact:applyAll","7052:generic:type","7052:ghcmod:check","7052:ghcmod:type","7052:ghcmod:casesplit","7052:hsimport:import","7052:package:add","7052:pragmas:addPragma"]},"renameProvider":false,"colorProvider":false,"definitionProvider":true,"hoverProvider":true,"codeActionProvider":true,"completionProvider":{"triggerCharacters":["."],"resolveProvider":true},"documentSymbolProvider":true,"documentFormattingProvider":true,"referencesProvider":true}},"jsonrpc":"2.0","id":0}
2020-01-23 01:13:14.217017 [ThreadId 3] - ---> {"jsonrpc":"2.0","method":"initialized","params":{}}
2020-01-23 01:13:14.217017 [ThreadId 3] - ---> {"jsonrpc":"2.0","method":"workspace/didChangeConfiguration","params":{"settings":{"languageServerHaskell":{"hlintOn":true,"maxNumberOfProblems":100,"diagnosticsOnChange":true,"liquidOn":false,"completionSnippetsOn":true,"formatOnImportOn":true,"formattingProvider":"brittany","hieExecutablePath":"","useCustomHieWrapper":false,"useCustomHieWrapperPath":"","noLspParam":false,"showTypeForSelection":{"onHover":true,"command":{"location":"dropdown"}},"trace":{"server":"verbose"},"logFile":"","enableHIE":true}}}}
2020-01-23 01:13:14.2180202 [ThreadId 3] - ---> {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///c%3A/Projects/Boids/app/Main.hs","languageId":"haskell","version":1,"text":"import Control.Monad ( unless )\nimport System.Exit ( exitWith, ExitCode(ExitSuccess) )\nimport Graphics.UI.GLUT hiding ( initialize )\n\n--------------------------------------------------------------------------------\n-- Setup GLUT and OpenGL, drop into the event loop.\n--------------------------------------------------------------------------------\nmain :: IO ()\nmain = do\n -- Setup the basic GLUT stuff\n _ <- getArgsAndInitialize\n initialDisplayMode $=\n [ DoubleBuffered\n , WithDepthBuffer\n , WithSamplesPerPixel 4\n ]\n\n -- Create the window\n initialWindowSize $= Size 1024 768\n initialWindowPosition $= Position 100 150\n _ <- createWindow \"BOGLGP - Chapter 1 - Simple\"\n\n initialize\n\n -- Register the event callback functions\n displayCallback $= display\n reshapeCallback $= Just reshape\n keyboardMouseCallback $= Just keyboardMouseHandler\n -- No need for an idle callback here, this would just hog the CPU\n -- without any visible effect\n\n -- At this point, control is relinquished to the GLUT event handler.\n -- Control is returned as events occur, via the callback functions.\n mainLoop\n\n--------------------------------------------------------------------------------\n-- One time setup, including creating menus, creating a light, setting the\n-- shading mode and clear color, and loading textures.\n--------------------------------------------------------------------------------\ninitialize :: IO ()\ninitialize = do\n -- set up the only meny\n attachMenu RightButton (Menu [MenuEntry \"Exit\" (exitWith ExitSuccess)])\n\n depthFunc $= Just Less\n\n\n--------------------------------------------------------------------------------\n-- Handle mouse and keyboard events. For this simple demo, just exit on a\n-- left click or when q is pressed.\n--------------------------------------------------------------------------------\nkeyboardMouseHandler :: KeyboardMouseCallback\n--keyboardMouseHandler (MouseButton LeftButton)_ _ _ = exitWith ExitSuccess\nkeyboardMouseHandler (Char 'q') _ _ _ = exitWith ExitSuccess\nkeyboardMouseHandler _ _ _ _ = postRedisplay Nothing\n\n--------------------------------------------------------------------------------\n-- Reset the viewport for window changes.\n--------------------------------------------------------------------------------\nreshape :: ReshapeCallback\nreshape size@(Size width height) =\n unless (height == 0) $ do\n viewport $= (Position 0 0, size)\n matrixMode $= Projection\n loadIdentity\n perspective 90 (fromIntegral width / fromIntegral height) 1 100\n\n matrixMode $= Modelview 0\n\n--------------------------------------------------------------------------------\n-- Clear and redraw the scene.\n--------------------------------------------------------------------------------\ndisplay :: DisplayCallback\ndisplay = do\n -- set up the camera\n loadIdentity\n lookAt (Vertex3 0 1 6) (Vertex3 0 0 0) (Vector3 0 1 0)\n\n -- clear the screen\n clear [ ColorBuffer, DepthBuffer ]\n\n -- resolve overloading, not needed in \"real\" programs\n let color3f = color :: Color3 GLfloat -> IO ()\n vertex3f = vertex :: Vertex3 GLfloat -> IO ()\n\n -- draw a triangle\n renderPrimitive Triangles $ do\n color3f $ Color3 ( 1 ) ( 0 ) ( 0 )\n vertex3f $ Vertex3 ( 2 ) ( 2.5) ( -1 )\n\n color3f $ Color3 ( 0 ) ( 1 ) ( 0 )\n vertex3f $ Vertex3 ( -3.5) ( -2.5) ( -1 )\n\n color3f $ Color3 ( 0 ) ( 0 ) ( 1 )\n vertex3f $ Vertex3 ( 2 ) ( -4 ) ( 0 )\n\n color3f $ Color3 ( 0 ) ( 1 ) ( 1 )\n vertex3f $ Vertex3 ( 2 ) ( 2.5) ( 1 )\n\n color3f $ Color3 ( 1 ) ( 0 ) ( 1 )\n vertex3f $ Vertex3 ( -3.5) ( -2.5) ( 1 )\n\n color3f $ Color3 ( 1 ) ( 1 ) ( 2 )\n vertex3f $ Vertex3 ( 2 ) ( -4 ) ( 0 )\n\n -- draw a polygon\n renderPrimitive Polygon $ do\n color3f (Color3 1 1 1)\n vertex3f (Vertex3 (-1) 2 0)\n color3f (Color3 1 1 0)\n vertex3f (Vertex3 (-3) (-0.5) 0)\n color3f (Color3 0 1 1)\n vertex3f (Vertex3 (-1.5) (-3) 0)\n color3f (Color3 0 0 0)\n vertex3f (Vertex3 1 (-2) 0)\n color3f (Color3 1 0 1)\n vertex3f (Vertex3 1 1 0)\n\n -- draw everything and swap the display buffer\n swapBuffers"}}}
2020-01-23 01:13:14.219022 [ThreadId 9] - ****** reactor: got message number:0
2020-01-23 01:13:14.219022 [ThreadId 9] - ****** reactor: processing Initialized Notification
2020-01-23 01:13:14.219022 [ThreadId 9] - ****** reactor: top of loop
2020-01-23 01:13:14.219022 [ThreadId 9] - ****** reactor: got message number:1
2020-01-23 01:13:14.219022 [ThreadId 9] - reactor:didChangeConfiguration notification:NotificationMessage {_jsonrpc = "2.0", _method = WorkspaceDidChangeConfiguration, _params = DidChangeConfigurationParams {_settings = Object (fromList [("languageServerHaskell",Object (fromList [("useCustomHieWrapper",Bool False),("useCustomHieWrapperPath",String ""),("logFile",String ""),("hlintOn",Bool True),("formatOnImportOn",Bool True),("noLspParam",Bool False),("hieExecutablePath",String ""),("enableHIE",Bool True),("liquidOn",Bool False),("showTypeForSelection",Object (fromList [("onHover",Bool True),("command",Object (fromList [("location",String "dropdown")]))])),("diagnosticsOnChange",Bool True),("completionSnippetsOn",Bool True),("maxNumberOfProblems",Number 100.0),("formattingProvider",String "brittany"),("trace",Object (fromList [("server",String "verbose")]))]))])}}
2020-01-23 01:13:14.2200159 [ThreadId 9] - reactor:didChangeConfiguration diagsOn:True
2020-01-23 01:13:14.2200159 [ThreadId 9] - ****** reactor: top of loop
2020-01-23 01:13:14.2200159 [ThreadId 9] - ****** reactor: got message number:2
2020-01-23 01:13:14.2200159 [ThreadId 9] - ****** reactor: processing NotDidOpenTextDocument
2020-01-23 01:13:14.2200159 [ThreadId 9] - requestDiagnostics: no diagFunc for:DiagnosticOnOpen
2020-01-23 01:13:14.2200159 [ThreadId 9] - ****** reactor: top of loop
2020-01-23 01:13:14.2200159 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"type":4,"message":"Using hie version: Version 1.0.0.0, Git revision b7ce8b8f2fc4a071db2119516aa1dcffc577dca0 (dirty) (3541 commits) x86_64 ghc-8.6.5"},"method":"window/logMessage"}
Using hie version: Version 1.0.0.0, Git revision b7ce8b8f2fc4a071db2119516aa1dcffc577dca0 (dirty) (3541 commits) x86_64 ghc-8.6.5
2020-01-23 01:13:14.2310177 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":1,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///c%3A/Projects/Boids/app/Main.hs"}}}
2020-01-23 01:13:14.2310177 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":2,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///c%3A/Projects/Boids/app/Main.hs"},"range":{"start":{"line":111,"character":28},"end":{"line":111,"character":28}},"context":{"diagnostics":[]}}}
2020-01-23 01:13:14.2310177 [ThreadId 9] - ****** reactor: got message number:3
2020-01-23 01:13:14.2310177 [ThreadId 9] - reactor:got Document symbol request:RequestMessage {_jsonrpc = "2.0", _id = IdInt 1, _method = TextDocumentDocumentSymbol, _params = DocumentSymbolParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"}}, _workDoneToken = Nothing}}
2020-01-23 01:13:14.2320202 [ThreadId 9] - ****** reactor: top of loop
2020-01-23 01:13:14.2320202 [ThreadId 9] - ****** reactor: got message number:4
2020-01-23 01:13:14.2320202 [ThreadId 9] - reactor:got CodeActionRequest:RequestMessage {_jsonrpc = "2.0", _id = IdInt 2, _method = TextDocumentCodeAction, _params = CodeActionParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"}}, _range = Range {_start = Position {_line = 111, _character = 28}, _end = Position {_line = 111, _character = 28}}, _context = CodeActionContext {_diagnostics = List [], only = Nothing}, _workDoneToken = Nothing}}
2020-01-23 01:13:14.2330206 [ThreadId 9] - ****** reactor: top of loop
2020-01-23 01:13:14.3290158 [ThreadId 8] - GHC Output: "Just "C:\\Tools\\HaskellPlatform\\8.6.5\\lib""
2020-01-23 01:13:14.3300193 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:14.3300193 [ThreadId 15] - ideDispatcher: got request 3 with id: IdInt 1
2020-01-23 01:13:14.3300193 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:14.3300193 [ThreadId 15] - ideDispatcher: got request 4 with id: IdInt 2
2020-01-23 01:13:14.3300193 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:14.3300193 [ThreadId 15] - ideDispatcher: got request 4 with id: IdInt 2
2020-01-23 01:13:14.3300193 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:14.3310157 [ThreadId 15] - ideDispatcher: got request 4 with id: IdInt 2
2020-01-23 01:13:14.3310157 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:14.3310157 [ThreadId 15] - ideDispatcher: got request 4 with id: IdInt 2
2020-01-23 01:13:14.3310157 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:14.3310157 [ThreadId 15] - ideDispatcher: got request 4 with id: IdInt 2
2020-01-23 01:13:14.3310157 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:14.3310157 [ThreadId 15] - ideDispatcher: got request 4 with id: IdInt 2
2020-01-23 01:13:14.3310157 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:14.3310157 [ThreadId 4] - <--2--{"result":[],"jsonrpc":"2.0","id":2}
2020-01-23 01:13:14.3370198 [ThreadId 14] - ghcDispatcher: top of loop
2020-01-23 01:13:14.3370198 [ThreadId 14] - ghcDispatcher:got request 0 with id: Nothing
2020-01-23 01:13:14.3380188 [ThreadId 14] - ghcDispatcher: top of loop
2020-01-23 01:13:14.3380188 [ThreadId 14] - ghcDispatcher:got request 2 with id: Nothing
2020-01-23 01:13:14.3380188 [ThreadId 14] - ghcDispatcher:Processing request as version matches
2020-01-23 01:13:14.3390885 [ThreadId 14] - New cradle: C:\Projects\Boids\app\Main.hs
2020-01-23 01:13:14.3410521 [ThreadId 14] - Found "C:\Projects\Boids\hie.yaml" for "C:\Projects\Boids\app\Main.hs"
Using hoogle db at: C:\Users\nikita\AppData\Roaming\hoogle\default-haskell-5.0.17.hoo
2020-01-23 01:13:14.3410521 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"type":4,"message":"Using hoogle db at: C:\\Users\\nikita\\AppData\\Roaming\\hoogle\\default-haskell-5.0.17.hoo"},"method":"window/logMessage"}
2020-01-23 01:13:14.3430341 [ThreadId 14] - Module "C:\Projects\Boids\app\Main.hs" is loaded by Cradle: Cradle {cradleRootDir = "C:\\Projects\\Boids", cradleOptsProg = CradleAction: stack}
2020-01-23 01:13:14.3430341 [ThreadId 14] - Found cradle: Cradle {cradleRootDir = "C:\\Projects\\Boids", cradleOptsProg = CradleAction: stack}
2020-01-23 01:13:14.3440283 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"token":0},"method":"window/workDoneProgress/create","id":0}
2020-01-23 01:13:14.3440283 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"begin","cancellable":false,"title":"Initializing Stack project","percentage":0},"token":0},"method":"$/progress"}
2020-01-23 01:13:14.347033 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":0,"result":null}
2020-01-23 01:13:14.347033 [ThreadId 3] - haskell-lsp:Got reply message:"{\"jsonrpc\":\"2.0\",\"id\":0,\"result\":null}"
2020-01-23 01:13:14.3540809 [ThreadId 9] - ****** reactor: got message number:5
2020-01-23 01:13:14.3540809 [ThreadId 9] - reactor:got RspFromClient:ResponseMessage {_jsonrpc = "2.0", _id = IdRspInt 0, _result = Just Null, _error = Nothing}
2020-01-23 01:13:14.3540809 [ThreadId 9] - ****** reactor: top of loop
2020-01-23 01:13:15.4094999 [ThreadId 22] - �[0mBuilding all executables for `Boids' once. After a successful build of all of them, only specified executables will be rebuilt.�[0m
2020-01-23 01:13:15.4115425 [ThreadId 22] - �[0mBoids> initial-build-steps (lib + exe)�[0m
2020-01-23 01:13:15.7769865 [ThreadId 22] - �[0mConfiguring GHCi with the following packages: Boids�[0m
2020-01-23 01:13:16.5973533 [ThreadId 30] - C:\Projects\Boids\.stack-work\install\b6d93af8\pkgdb;C:\sr\snapshots\47eed6bc\pkgdb;C:\Tools\HaskellPlatform\8.6.5\lib\package.conf.d
2020-01-23 01:13:17.2933555 [ThreadId 18] - Modules in the cradle: ["C:\\Projects\\Boids\\src\\Lib.hs"]
2020-01-23 01:13:17.2933555 [ThreadId 18] - Cradle set succesfully
2020-01-23 01:13:17.294314 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"report","percentage":1,"message":"Lib"},"token":0},"method":"$/progress"}
2020-01-23 01:13:17.2953167 [ThreadId 18] - haskell-lsp:persistFileVFS: Writing virtual file: uri = NormalizedUri "file:///C:/Projects/Boids/app/Main.hs", virtual file = "C:\\Users\\nikita\\AppData\\Local\\Temp\\haskell-lsp7052\\Main.hs-00000--393093572.hs"
2020-01-23 01:13:17.3923216 [ThreadId 14] - ghcDispatcher: top of loop
2020-01-23 01:13:17.3923216 [ThreadId 14] - ghcDispatcher:got request 2 with id: Nothing
2020-01-23 01:13:17.3923216 [ThreadId 14] - ghcDispatcher:Processing request as version matches
2020-01-23 01:13:17.3923216 [ThreadId 14] - New cradle: C:\Projects\Boids\app\Main.hs
2020-01-23 01:13:17.3933182 [ThreadId 14] - Found "C:\Projects\Boids\hie.yaml" for "C:\Projects\Boids\app\Main.hs"
2020-01-23 01:13:17.3933182 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"end"},"token":0},"method":"$/progress"}
2020-01-23 01:13:17.3933182 [ThreadId 14] - Module "C:\Projects\Boids\app\Main.hs" is loaded by Cradle: Cradle {cradleRootDir = "C:\\Projects\\Boids", cradleOptsProg = CradleAction: stack}
2020-01-23 01:13:17.4443109 [ThreadId 14] - Found cradle: Cradle {cradleRootDir = "C:\\Projects\\Boids", cradleOptsProg = CradleAction: stack}
2020-01-23 01:13:17.6093618 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"uri":"file:///C:/Projects/Boids/app/Main.hs","diagnostics":[{"severity":3,"range":{"start":{"line":42,"character":51},"end":{"line":42,"character":71}},"code":"Use exitSuccess","source":"hlint","message":"Use exitSuccess\nFound:\n exitWith ExitSuccess\nWhy not:\n exitSuccess\n"},{"severity":3,"range":{"start":{"line":53,"character":53},"end":{"line":53,"character":73}},"code":"Use exitSuccess","source":"hlint","message":"Use exitSuccess\nFound:\n exitWith ExitSuccess\nWhy not:\n exitSuccess\n"},{"severity":3,"range":{"start":{"line":87,"character":25},"end":{"line":87,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":87,"character":33},"end":{"line":87,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":87,"character":41},"end":{"line":87,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":88,"character":25},"end":{"line":88,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":88,"character":33},"end":{"line":88,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2.5)\nWhy not:\n 2.5\n"},{"severity":3,"range":{"start":{"line":90,"character":25},"end":{"line":90,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":90,"character":33},"end":{"line":90,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":90,"character":41},"end":{"line":90,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":93,"character":25},"end":{"line":93,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":93,"character":33},"end":{"line":93,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":93,"character":41},"end":{"line":93,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":94,"character":25},"end":{"line":94,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":94,"character":41},"end":{"line":94,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":96,"character":25},"end":{"line":96,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":96,"character":33},"end":{"line":96,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":96,"character":41},"end":{"line":96,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":97,"character":25},"end":{"line":97,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":97,"character":33},"end":{"line":97,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2.5)\nWhy not:\n 2.5\n"},{"severity":3,"range":{"start":{"line":97,"character":41},"end":{"line":97,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":99,"character":25},"end":{"line":99,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":99,"character":33},"end":{"line":99,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":99,"character":41},"end":{"line":99,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":100,"character":41},"end":{"line":100,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":102,"character":25},"end":{"line":102,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":102,"character":33},"end":{"line":102,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":102,"character":41},"end":{"line":102,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":103,"character":25},"end":{"line":103,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":103,"character":41},"end":{"line":103,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"}]},"method":"textDocument/publishDiagnostics"}
2020-01-23 01:13:17.6103144 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"token":1},"method":"window/workDoneProgress/create","id":1}
2020-01-23 01:13:17.6103144 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"begin","cancellable":false,"title":"Initializing Stack project","percentage":0},"token":1},"method":"$/progress"}
2020-01-23 01:13:17.6133137 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":1,"result":null}
2020-01-23 01:13:17.6133137 [ThreadId 3] - haskell-lsp:Got reply message:"{\"jsonrpc\":\"2.0\",\"id\":1,\"result\":null}"
2020-01-23 01:13:17.6133137 [ThreadId 9] - ****** reactor: got message number:6
2020-01-23 01:13:17.6133137 [ThreadId 9] - reactor:got RspFromClient:ResponseMessage {_jsonrpc = "2.0", _id = IdRspInt 1, _result = Just Null, _error = Nothing}
2020-01-23 01:13:17.6133137 [ThreadId 9] - ****** reactor: top of loop
2020-01-23 01:13:17.8713536 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":3,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///c%3A/Projects/Boids/app/Main.hs"},"range":{"start":{"line":111,"character":28},"end":{"line":111,"character":28}},"context":{"diagnostics":[]}}}
2020-01-23 01:13:17.8723146 [ThreadId 9] - ****** reactor: got message number:7
2020-01-23 01:13:17.8723146 [ThreadId 9] - reactor:got CodeActionRequest:RequestMessage {_jsonrpc = "2.0", _id = IdInt 3, _method = TextDocumentCodeAction, _params = CodeActionParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"}}, _range = Range {_start = Position {_line = 111, _character = 28}, _end = Position {_line = 111, _character = 28}}, _context = CodeActionContext {_diagnostics = List [], only = Nothing}, _workDoneToken = Nothing}}
2020-01-23 01:13:17.8723146 [ThreadId 9] - ****** reactor: top of loop
2020-01-23 01:13:17.8723146 [ThreadId 15] - ideDispatcher: got request 7 with id: IdInt 3
2020-01-23 01:13:17.8723146 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:17.8723146 [ThreadId 15] - ideDispatcher: got request 7 with id: IdInt 3
2020-01-23 01:13:17.8723146 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:17.8723146 [ThreadId 15] - ideDispatcher: got request 7 with id: IdInt 3
2020-01-23 01:13:17.8723146 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:17.8733221 [ThreadId 15] - ideDispatcher: got request 7 with id: IdInt 3
2020-01-23 01:13:17.8733221 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:17.8733221 [ThreadId 15] - ideDispatcher: got request 7 with id: IdInt 3
2020-01-23 01:13:17.8733221 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:17.8733221 [ThreadId 15] - ideDispatcher: got request 7 with id: IdInt 3
2020-01-23 01:13:17.8733221 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:17.8733221 [ThreadId 4] - <--2--{"result":[],"jsonrpc":"2.0","id":3}
2020-01-23 01:13:18.4129937 [ThreadId 50] - �[0mBuilding all executables for `Boids' once. After a successful build of all of them, only specified executables will be rebuilt.�[0m
2020-01-23 01:13:18.4160378 [ThreadId 50] - �[0mBoids> initial-build-steps (lib + exe)�[0m
2020-01-23 01:13:18.8017873 [ThreadId 50] - �[0mConfiguring GHCi with the following packages: Boids�[0m
2020-01-23 01:13:19.1170184 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":4,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///c%3A/Projects/Boids/app/Main.hs"},"position":{"line":94,"character":23}}}
2020-01-23 01:13:19.1170184 [ThreadId 9] - ****** reactor: got message number:8
2020-01-23 01:13:19.1170184 [ThreadId 9] - reactor:got HoverRequest:RequestMessage {_jsonrpc = "2.0", _id = IdInt 4, _method = TextDocumentHover, _params = TextDocumentPositionParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"}}, _position = Position {_line = 94, _character = 23}, _workDoneToken = Nothing}}
2020-01-23 01:13:19.1170184 [ThreadId 9] - reactor:HoverRequest done
2020-01-23 01:13:19.1170184 [ThreadId 9] - ****** reactor: top of loop
2020-01-23 01:13:19.1170184 [ThreadId 15] - ideDispatcher: got request 8 with id: IdInt 4
2020-01-23 01:13:19.1190228 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:19.1190228 [ThreadId 4] - <--2--{"result":null,"jsonrpc":"2.0","id":4}
2020-01-23 01:13:19.5109772 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":5,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///c%3A/Projects/Boids/app/Main.hs"},"position":{"line":94,"character":21}}}
2020-01-23 01:13:19.5109772 [ThreadId 9] - ****** reactor: got message number:9
2020-01-23 01:13:19.5109772 [ThreadId 9] - reactor:got HoverRequest:RequestMessage {_jsonrpc = "2.0", _id = IdInt 5, _method = TextDocumentHover, _params = TextDocumentPositionParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"}}, _position = Position {_line = 94, _character = 21}, _workDoneToken = Nothing}}
2020-01-23 01:13:19.5109772 [ThreadId 9] - reactor:HoverRequest done
2020-01-23 01:13:19.5119806 [ThreadId 9] - ****** reactor: top of loop
2020-01-23 01:13:19.5119806 [ThreadId 15] - ideDispatcher: got request 9 with id: IdInt 5
2020-01-23 01:13:19.5129795 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:19.5129795 [ThreadId 4] - <--2--{"result":null,"jsonrpc":"2.0","id":5}
2020-01-23 01:13:19.6329792 [ThreadId 55] - C:\Projects\Boids\.stack-work\install\b6d93af8\pkgdb;C:\sr\snapshots\47eed6bc\pkgdb;C:\Tools\HaskellPlatform\8.6.5\lib\package.conf.d
2020-01-23 01:13:19.6699762 [ThreadId 44] - Modules in the cradle: ["C:\\Projects\\Boids\\src\\Lib.hs"]
2020-01-23 01:13:19.6699762 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"report","percentage":1,"message":"Lib"},"token":1},"method":"$/progress"}
2020-01-23 01:13:19.6699762 [ThreadId 44] - Cradle set succesfully
2020-01-23 01:13:19.67098 [ThreadId 44] - setTypecheckedModule: before ghc-mod
2020-01-23 01:13:19.6719793 [ThreadId 44] - Loading file
2020-01-23 01:13:19.6719793 [ThreadId 44] - setTypecheckedModule: before ghc-mod
2020-01-23 01:13:19.6719793 [ThreadId 44] - Loading file
2020-01-23 01:13:19.6779759 [ThreadId 63] - setTargets: [("c:\\Projects\\Boids\\app\\Main.hs","C:\\Users\\nikita\\AppData\\Local\\Temp\\haskell-lsp7052\\Main.hs-00000--393093572.hs")]
2020-01-23 01:13:19.6779759 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"token":2},"method":"window/workDoneProgress/create","id":2}
2020-01-23 01:13:19.6789791 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":2,"result":null}
2020-01-23 01:13:19.6789791 [ThreadId 3] - haskell-lsp:Got reply message:"{\"jsonrpc\":\"2.0\",\"id\":2,\"result\":null}"
2020-01-23 01:13:19.6789791 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"begin","cancellable":false,"title":"loading","percentage":0},"token":2},"method":"$/progress"}
2020-01-23 01:13:19.6849757 [ThreadId 63] - modGraph: [ModLocation {ml_hs_file = Just "C:\\Users\\nikita\\AppData\\Local\\Temp\\haskell-lsp7052\\Main.hs-00000--393093572.hs", ml_hi_file = "C:\\Users\\nikita\\AppData\\Local\\hie-bios\\8ed636ee1f4a6490296367eef335fc800daad02b\\Main.hi", ml_obj_file = "C:\\Projects\\Boids\\.stack-work\\odir\\Main.o"}]
2020-01-23 01:13:19.6849757 [ThreadId 63] - init-plugins(loaded):0
2020-01-23 01:13:19.6849757 [ThreadId 63] - init-plugins(specified):0
2020-01-23 01:13:19.6870191 [ThreadId 9] - ****** reactor: got message number:10
2020-01-23 01:13:19.6870191 [ThreadId 9] - reactor:got RspFromClient:ResponseMessage {_jsonrpc = "2.0", _id = IdRspInt 2, _result = Just Null, _error = Nothing}
2020-01-23 01:13:19.6870191 [ThreadId 9] - ****** reactor: top of loop
2020-01-23 01:13:19.6879802 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"report","percentage":1,"message":"Main"},"token":2},"method":"$/progress"}
2020-01-23 01:13:19.9250023 [ThreadId 63] - loaded c:\Projects\Boids\app\Main.hs - C:\Users\nikita\AppData\Local\Temp\haskell-lsp7052\Main.hs-00000--393093572.hs
2020-01-23 01:13:19.9250023 [ThreadId 63] - Typechecked modules for: Just "C:\\Users\\nikita\\AppData\\Local\\Temp\\haskell-lsp7052\\Main.hs-00000--393093572.hs"
2020-01-23 01:13:19.9289773 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"end"},"token":2},"method":"$/progress"}
2020-01-23 01:13:19.9309769 [ThreadId 44] - File, loaded
2020-01-23 01:13:19.931979 [ThreadId 44] - setTypecheckedModule: after ghc-mod
2020-01-23 01:13:19.931979 [ThreadId 44] - Diags: fromList []
2020-01-23 01:13:19.9330226 [ThreadId 44] - setTypecheckedModule: Did get typechecked module for: "c:\\Projects\\Boids\\app\\Main.hs"
2020-01-23 01:13:19.9559831 [ThreadId 44] - setTypecheckedModule: done
2020-01-23 01:13:19.9559831 [ThreadId 14] - Diags: [(NormalizedUri "file:///C:/Projects/Boids/app/Main.hs",[])]
2020-01-23 01:13:19.9569794 [ThreadId 14] - ghcDispatcher: top of loop
2020-01-23 01:13:19.9569794 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"end"},"token":1},"method":"$/progress"}
2020-01-23 01:13:19.9569794 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"uri":"file:///C:/Projects/Boids/app/Main.hs","diagnostics":[{"severity":3,"range":{"start":{"line":42,"character":51},"end":{"line":42,"character":71}},"code":"Use exitSuccess","source":"hlint","message":"Use exitSuccess\nFound:\n exitWith ExitSuccess\nWhy not:\n exitSuccess\n"},{"severity":3,"range":{"start":{"line":53,"character":53},"end":{"line":53,"character":73}},"code":"Use exitSuccess","source":"hlint","message":"Use exitSuccess\nFound:\n exitWith ExitSuccess\nWhy not:\n exitSuccess\n"},{"severity":3,"range":{"start":{"line":87,"character":25},"end":{"line":87,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":87,"character":33},"end":{"line":87,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":87,"character":41},"end":{"line":87,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":88,"character":25},"end":{"line":88,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":88,"character":33},"end":{"line":88,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2.5)\nWhy not:\n 2.5\n"},{"severity":3,"range":{"start":{"line":90,"character":25},"end":{"line":90,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":90,"character":33},"end":{"line":90,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":90,"character":41},"end":{"line":90,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":93,"character":25},"end":{"line":93,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":93,"character":33},"end":{"line":93,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":93,"character":41},"end":{"line":93,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":94,"character":25},"end":{"line":94,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":94,"character":41},"end":{"line":94,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":96,"character":25},"end":{"line":96,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":96,"character":33},"end":{"line":96,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":96,"character":41},"end":{"line":96,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":97,"character":25},"end":{"line":97,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":97,"character":33},"end":{"line":97,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2.5)\nWhy not:\n 2.5\n"},{"severity":3,"range":{"start":{"line":97,"character":41},"end":{"line":97,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":99,"character":25},"end":{"line":99,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":99,"character":33},"end":{"line":99,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":99,"character":41},"end":{"line":99,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":100,"character":41},"end":{"line":100,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":102,"character":25},"end":{"line":102,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":102,"character":33},"end":{"line":102,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":102,"character":41},"end":{"line":102,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":103,"character":25},"end":{"line":103,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":103,"character":41},"end":{"line":103,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"}]},"method":"textDocument/publishDiagnostics"}
2020-01-23 01:13:20.2164157 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":6,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///c%3A/Projects/Boids/app/Main.hs"},"range":{"start":{"line":111,"character":28},"end":{"line":111,"character":28}},"context":{"diagnostics":[]}}}
2020-01-23 01:13:20.2164157 [ThreadId 9] - ****** reactor: got message number:11
2020-01-23 01:13:20.2164157 [ThreadId 9] - reactor:got CodeActionRequest:RequestMessage {_jsonrpc = "2.0", _id = IdInt 6, _method = TextDocumentCodeAction, _params = CodeActionParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"}}, _range = Range {_start = Position {_line = 111, _character = 28}, _end = Position {_line = 111, _character = 28}}, _context = CodeActionContext {_diagnostics = List [], only = Nothing}, _workDoneToken = Nothing}}
2020-01-23 01:13:20.2164157 [ThreadId 9] - ****** reactor: top of loop
2020-01-23 01:13:20.2164157 [ThreadId 15] - ideDispatcher: got request 11 with id: IdInt 6
2020-01-23 01:13:20.2164157 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:20.2164157 [ThreadId 15] - ideDispatcher: got request 11 with id: IdInt 6
2020-01-23 01:13:20.2164157 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:20.2164157 [ThreadId 15] - ideDispatcher: got request 11 with id: IdInt 6
2020-01-23 01:13:20.2164157 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:20.2164157 [ThreadId 15] - ideDispatcher: got request 11 with id: IdInt 6
2020-01-23 01:13:20.2164157 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:20.2164157 [ThreadId 15] - ideDispatcher: got request 11 with id: IdInt 6
2020-01-23 01:13:20.2173742 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:20.2173742 [ThreadId 15] - ideDispatcher: got request 11 with id: IdInt 6
2020-01-23 01:13:20.2173742 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:20.2173742 [ThreadId 4] - <--2--{"result":[],"jsonrpc":"2.0","id":6}
2020-01-23 01:13:22.1186721 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":7,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///c%3A/Projects/Boids/app/Main.hs"},"position":{"line":93,"character":22}}}
2020-01-23 01:13:22.1186721 [ThreadId 9] - ****** reactor: got message number:12
2020-01-23 01:13:22.1186721 [ThreadId 9] - reactor:got HoverRequest:RequestMessage {_jsonrpc = "2.0", _id = IdInt 7, _method = TextDocumentHover, _params = TextDocumentPositionParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"}}, _position = Position {_line = 93, _character = 22}, _workDoneToken = Nothing}}
2020-01-23 01:13:22.1186721 [ThreadId 9] - reactor:HoverRequest done
2020-01-23 01:13:22.1186721 [ThreadId 9] - ****** reactor: top of loop
2020-01-23 01:13:22.1186721 [ThreadId 15] - ideDispatcher: got request 12 with id: IdInt 7
2020-01-23 01:13:22.1256729 [ThreadId 15] - newTypeCmd: (Position {_line = 93, _character = 22},Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"})
2020-01-23 01:13:22.1276772 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:22.1286728 [ThreadId 4] - <--2--{"result":{"contents":{"kind":"markdown","value":"\n```haskell\nColor3 :: GLfloat -> GLfloat -> GLfloat -> Color3 GLfloat\n```\n```haskell\nColor3 :: forall a. a -> a -> a -> Color3 a\n```\n\n\n\nOpenGL Graphics.Rendering.OpenGL.GL.VertexAttributes"},"range":{"start":{"line":93,"character":17},"end":{"line":93,"character":23}}},"jsonrpc":"2.0","id":7}
2020-01-23 01:13:26.6751773 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":8,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///c%3A/Projects/Boids/app/Main.hs"},"position":{"line":94,"character":20}}}
2020-01-23 01:13:26.6751773 [ThreadId 9] - ****** reactor: got message number:13
2020-01-23 01:13:26.6751773 [ThreadId 9] - reactor:got HoverRequest:RequestMessage {_jsonrpc = "2.0", _id = IdInt 8, _method = TextDocumentHover, _params = TextDocumentPositionParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"}}, _position = Position {_line = 94, _character = 20}, _workDoneToken = Nothing}}
2020-01-23 01:13:26.6751773 [ThreadId 9] - reactor:HoverRequest done
2020-01-23 01:13:26.6751773 [ThreadId 9] - ****** reactor: top of loop
2020-01-23 01:13:26.6751773 [ThreadId 15] - ideDispatcher: got request 13 with id: IdInt 8
2020-01-23 01:13:26.6761724 [ThreadId 15] - newTypeCmd: (Position {_line = 94, _character = 20},Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"})
2020-01-23 01:13:26.6771768 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:26.6781817 [ThreadId 4] - <--2--{"result":{"contents":{"kind":"markdown","value":"\n```haskell\nVertex3 :: GLfloat -> GLfloat -> GLfloat -> Vertex3 GLfloat\n```\n```haskell\nVertex3 :: forall a. a -> a -> a -> Vertex3 a\n```\n\n\n\nOpenGL Graphics.Rendering.OpenGL.GL.Tensor"},"range":{"start":{"line":94,"character":17},"end":{"line":94,"character":24}}},"jsonrpc":"2.0","id":8}
2020-01-23 01:13:34.46783 [ThreadId 3] - ---> {"jsonrpc":"2.0","method":"textDocument/didSave","params":{"textDocument":{"uri":"file:///c%3A/Projects/Boids/app/Main.hs","version":1}}}
2020-01-23 01:13:34.46783 [ThreadId 9] - ****** reactor: got message number:14
2020-01-23 01:13:34.46783 [ThreadId 9] - ****** reactor: processing NotDidSaveTextDocument
2020-01-23 01:13:34.46783 [ThreadId 9] - requestDiagnostics: got diagFunc for:DiagnosticOnSave
2020-01-23 01:13:34.46783 [ThreadId 9] - requestDiagnostics: calling diagFunc for plugin:PluginId "liquid"
2020-01-23 01:13:34.46783 [ThreadId 9] - ****** reactor: top of loop
2020-01-23 01:13:34.46783 [ThreadId 14] - ghcDispatcher:got request 14 with id: Nothing
2020-01-23 01:13:34.46783 [ThreadId 14] - ghcDispatcher:Processing request as version matches
2020-01-23 01:13:34.4688301 [ThreadId 14] - New cradle: C:\Projects\Boids\app\Main.hs
2020-01-23 01:13:34.4698307 [ThreadId 14] - Found "C:\Projects\Boids\hie.yaml" for "C:\Projects\Boids\app\Main.hs"
2020-01-23 01:13:34.4698307 [ThreadId 14] - Module "C:\Projects\Boids\app\Main.hs" is loaded by Cradle: Cradle {cradleRootDir = "C:\\Projects\\Boids", cradleOptsProg = CradleAction: stack}
2020-01-23 01:13:34.4698307 [ThreadId 14] - Found cradle: Cradle {cradleRootDir = "C:\\Projects\\Boids", cradleOptsProg = CradleAction: stack}
2020-01-23 01:13:34.4708294 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"token":3},"method":"window/workDoneProgress/create","id":3}
2020-01-23 01:13:34.4718305 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"begin","cancellable":false,"title":"Initializing Stack project","percentage":0},"token":3},"method":"$/progress"}
2020-01-23 01:13:34.4728335 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":3,"result":null}
2020-01-23 01:13:34.4728335 [ThreadId 3] - haskell-lsp:Got reply message:"{\"jsonrpc\":\"2.0\",\"id\":3,\"result\":null}"
2020-01-23 01:13:34.4758359 [ThreadId 9] - ****** reactor: got message number:15
2020-01-23 01:13:34.4758359 [ThreadId 9] - reactor:got RspFromClient:ResponseMessage {_jsonrpc = "2.0", _id = IdRspInt 3, _result = Just Null, _error = Nothing}
2020-01-23 01:13:34.4768269 [ThreadId 9] - ****** reactor: top of loop
2020-01-23 01:13:35.5245072 [ThreadId 97] - �[0mBuilding all executables for `Boids' once. After a successful build of all of them, only specified executables will be rebuilt.�[0m
2020-01-23 01:13:35.5265071 [ThreadId 97] - �[0mBoids> initial-build-steps (lib + exe)�[0m
2020-01-23 01:13:35.8942193 [ThreadId 97] - �[0mConfiguring GHCi with the following packages: Boids�[0m
2020-01-23 01:13:36.7471119 [ThreadId 104] - C:\Projects\Boids\.stack-work\install\b6d93af8\pkgdb;C:\sr\snapshots\47eed6bc\pkgdb;C:\Tools\HaskellPlatform\8.6.5\lib\package.conf.d
2020-01-23 01:13:36.7760806 [ThreadId 93] - Modules in the cradle: ["C:\\Projects\\Boids\\src\\Lib.hs"]
2020-01-23 01:13:36.777081 [ThreadId 93] - Cradle set succesfully
2020-01-23 01:13:36.77908 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"report","percentage":1,"message":"Lib"},"token":3},"method":"$/progress"}
2020-01-23 01:13:36.8450816 [ThreadId 14] - ghcDispatcher: top of loop
2020-01-23 01:13:36.8450816 [ThreadId 14] - ghcDispatcher:got request 14 with id: Nothing
2020-01-23 01:13:36.8450816 [ThreadId 14] - ghcDispatcher:Processing request as version matches
2020-01-23 01:13:36.8450816 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"end"},"token":3},"method":"$/progress"}
2020-01-23 01:13:36.8460822 [ThreadId 14] - New cradle: C:\Projects\Boids\app\Main.hs
2020-01-23 01:13:36.8580802 [ThreadId 14] - Found "C:\Projects\Boids\hie.yaml" for "C:\Projects\Boids\app\Main.hs"
2020-01-23 01:13:36.8580802 [ThreadId 14] - Module "C:\Projects\Boids\app\Main.hs" is loaded by Cradle: Cradle {cradleRootDir = "C:\\Projects\\Boids", cradleOptsProg = CradleAction: stack}
2020-01-23 01:13:36.8590847 [ThreadId 14] - Found cradle: Cradle {cradleRootDir = "C:\\Projects\\Boids", cradleOptsProg = CradleAction: stack}
2020-01-23 01:13:36.9480794 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"uri":"file:///C:/Projects/Boids/app/Main.hs","diagnostics":[{"severity":3,"range":{"start":{"line":42,"character":51},"end":{"line":42,"character":71}},"code":"Use exitSuccess","source":"hlint","message":"Use exitSuccess\nFound:\n exitWith ExitSuccess\nWhy not:\n exitSuccess\n"},{"severity":3,"range":{"start":{"line":53,"character":53},"end":{"line":53,"character":73}},"code":"Use exitSuccess","source":"hlint","message":"Use exitSuccess\nFound:\n exitWith ExitSuccess\nWhy not:\n exitSuccess\n"},{"severity":3,"range":{"start":{"line":87,"character":25},"end":{"line":87,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":87,"character":33},"end":{"line":87,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":87,"character":41},"end":{"line":87,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":88,"character":25},"end":{"line":88,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":88,"character":33},"end":{"line":88,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2.5)\nWhy not:\n 2.5\n"},{"severity":3,"range":{"start":{"line":90,"character":25},"end":{"line":90,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":90,"character":33},"end":{"line":90,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":90,"character":41},"end":{"line":90,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":93,"character":25},"end":{"line":93,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":93,"character":33},"end":{"line":93,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":93,"character":41},"end":{"line":93,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":94,"character":25},"end":{"line":94,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":94,"character":41},"end":{"line":94,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":96,"character":25},"end":{"line":96,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":96,"character":33},"end":{"line":96,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":96,"character":41},"end":{"line":96,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":97,"character":25},"end":{"line":97,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":97,"character":33},"end":{"line":97,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2.5)\nWhy not:\n 2.5\n"},{"severity":3,"range":{"start":{"line":97,"character":41},"end":{"line":97,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":99,"character":25},"end":{"line":99,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":99,"character":33},"end":{"line":99,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":99,"character":41},"end":{"line":99,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":100,"character":41},"end":{"line":100,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":102,"character":25},"end":{"line":102,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":102,"character":33},"end":{"line":102,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":102,"character":41},"end":{"line":102,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":103,"character":25},"end":{"line":103,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":103,"character":41},"end":{"line":103,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"}]},"method":"textDocument/publishDiagnostics"}
2020-01-23 01:13:36.9490844 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"token":4},"method":"window/workDoneProgress/create","id":4}
2020-01-23 01:13:36.9490844 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"begin","cancellable":false,"title":"Initializing Stack project","percentage":0},"token":4},"method":"$/progress"}
2020-01-23 01:13:36.9510822 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":4,"result":null}
2020-01-23 01:13:36.9510822 [ThreadId 3] - haskell-lsp:Got reply message:"{\"jsonrpc\":\"2.0\",\"id\":4,\"result\":null}"
2020-01-23 01:13:36.9510822 [ThreadId 9] - ****** reactor: got message number:16
2020-01-23 01:13:36.9510822 [ThreadId 9] - reactor:got RspFromClient:ResponseMessage {_jsonrpc = "2.0", _id = IdRspInt 4, _result = Just Null, _error = Nothing}
2020-01-23 01:13:36.9510822 [ThreadId 9] - ****** reactor: top of loop
2020-01-23 01:13:37.1160825 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":9,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///c%3A/Projects/Boids/app/Main.hs"},"position":{"line":94,"character":20}}}
2020-01-23 01:13:37.1160825 [ThreadId 9] - ****** reactor: got message number:17
2020-01-23 01:13:37.1160825 [ThreadId 9] - reactor:got HoverRequest:RequestMessage {_jsonrpc = "2.0", _id = IdInt 9, _method = TextDocumentHover, _params = TextDocumentPositionParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"}}, _position = Position {_line = 94, _character = 20}, _workDoneToken = Nothing}}
2020-01-23 01:13:37.1160825 [ThreadId 9] - reactor:HoverRequest done
2020-01-23 01:13:37.1160825 [ThreadId 9] - ****** reactor: top of loop
2020-01-23 01:13:37.1170763 [ThreadId 15] - ideDispatcher: got request 17 with id: IdInt 9
2020-01-23 01:13:37.1170763 [ThreadId 15] - newTypeCmd: (Position {_line = 94, _character = 20},Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"})
2020-01-23 01:13:37.126102 [ThreadId 15] - hoogle query: Vertex3 package:OpenGL module:Graphics.Rendering.OpenGL.GL.Tensor is:exact
2020-01-23 01:13:37.1811174 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:37.1820836 [ThreadId 4] - <--2--{"result":{"contents":{"kind":"markdown","value":"\n```haskell\nVertex3 :: GLfloat -> GLfloat -> GLfloat -> Vertex3 GLfloat\n```\n```haskell\ndata Vertex3 a```\n[OpenGL](https://hackage.haskell.org/package/OpenGL) [Graphics.Rendering.OpenGL.GL.Tensor](https://hackage.haskell.org/package/OpenGL/docs/Graphics-Rendering-OpenGL-GL-Tensor.html)\nA vertex with *w*=1.\n\n[More info](https://hackage.haskell.org/package/OpenGL/docs/Graphics-Rendering-OpenGL-GL-Tensor.html#t:Vertex3)\n\nOpenGL Graphics.Rendering.OpenGL.GL.Tensor"},"range":{"start":{"line":94,"character":17},"end":{"line":94,"character":24}}},"jsonrpc":"2.0","id":9}
2020-01-23 01:13:37.207084 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":10,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///c%3A/Projects/Boids/app/Main.hs"},"range":{"start":{"line":111,"character":28},"end":{"line":111,"character":28}},"context":{"diagnostics":[]}}}
2020-01-23 01:13:37.2080778 [ThreadId 9] - ****** reactor: got message number:18
2020-01-23 01:13:37.2080778 [ThreadId 9] - reactor:got CodeActionRequest:RequestMessage {_jsonrpc = "2.0", _id = IdInt 10, _method = TextDocumentCodeAction, _params = CodeActionParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"}}, _range = Range {_start = Position {_line = 111, _character = 28}, _end = Position {_line = 111, _character = 28}}, _context = CodeActionContext {_diagnostics = List [], only = Nothing}, _workDoneToken = Nothing}}
2020-01-23 01:13:37.2080778 [ThreadId 9] - ****** reactor: top of loop
2020-01-23 01:13:37.2080778 [ThreadId 15] - ideDispatcher: got request 18 with id: IdInt 10
2020-01-23 01:13:37.2080778 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:37.2080778 [ThreadId 15] - ideDispatcher: got request 18 with id: IdInt 10
2020-01-23 01:13:37.2080778 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:37.2080778 [ThreadId 15] - ideDispatcher: got request 18 with id: IdInt 10
2020-01-23 01:13:37.2080778 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:37.2080778 [ThreadId 15] - ideDispatcher: got request 18 with id: IdInt 10
2020-01-23 01:13:37.2080778 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:37.2090832 [ThreadId 15] - ideDispatcher: got request 18 with id: IdInt 10
2020-01-23 01:13:37.2090832 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:37.2090832 [ThreadId 15] - ideDispatcher: got request 18 with id: IdInt 10
2020-01-23 01:13:37.2090832 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:37.2090832 [ThreadId 4] - <--2--{"result":[],"jsonrpc":"2.0","id":10}
2020-01-23 01:13:37.8432804 [ThreadId 116] - �[0mBuilding all executables for `Boids' once. After a successful build of all of them, only specified executables will be rebuilt.�[0m
2020-01-23 01:13:37.8452807 [ThreadId 116] - �[0mBoids> initial-build-steps (lib + exe)�[0m
2020-01-23 01:13:38.2153862 [ThreadId 116] - �[0mConfiguring GHCi with the following packages: Boids�[0m
2020-01-23 01:13:39.0598755 [ThreadId 125] - C:\Projects\Boids\.stack-work\install\b6d93af8\pkgdb;C:\sr\snapshots\47eed6bc\pkgdb;C:\Tools\HaskellPlatform\8.6.5\lib\package.conf.d
2020-01-23 01:13:39.0858354 [ThreadId 112] - Modules in the cradle: ["C:\\Projects\\Boids\\src\\Lib.hs"]
2020-01-23 01:13:39.0858354 [ThreadId 112] - Cradle set succesfully
2020-01-23 01:13:39.0858354 [ThreadId 112] - setTypecheckedModule: before ghc-mod
2020-01-23 01:13:39.0868398 [ThreadId 112] - Loading file
2020-01-23 01:13:39.0868398 [ThreadId 112] - setTypecheckedModule: before ghc-mod
2020-01-23 01:13:39.0868398 [ThreadId 112] - Loading file
2020-01-23 01:13:39.0908344 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"report","percentage":1,"message":"Lib"},"token":4},"method":"$/progress"}
2020-01-23 01:13:39.0938346 [ThreadId 132] - setTargets: [("c:\\Projects\\Boids\\app\\Main.hs","C:\\Users\\nikita\\AppData\\Local\\Temp\\haskell-lsp7052\\Main.hs-00000--393093572.hs")]
2020-01-23 01:13:39.0948348 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"token":5},"method":"window/workDoneProgress/create","id":5}
2020-01-23 01:13:39.0948348 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"begin","cancellable":false,"title":"loading","percentage":0},"token":5},"method":"$/progress"}
2020-01-23 01:13:39.0958367 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":5,"result":null}
2020-01-23 01:13:39.0958367 [ThreadId 3] - haskell-lsp:Got reply message:"{\"jsonrpc\":\"2.0\",\"id\":5,\"result\":null}"
2020-01-23 01:13:39.1008361 [ThreadId 132] - modGraph: [ModLocation {ml_hs_file = Just "C:\\Users\\nikita\\AppData\\Local\\Temp\\haskell-lsp7052\\Main.hs-00000--393093572.hs", ml_hi_file = "C:\\Users\\nikita\\AppData\\Local\\hie-bios\\8ed636ee1f4a6490296367eef335fc800daad02b\\Main.hi", ml_obj_file = "C:\\Projects\\Boids\\.stack-work\\odir\\Main.o"}]
2020-01-23 01:13:39.1008361 [ThreadId 132] - init-plugins(loaded):0
2020-01-23 01:13:39.1008361 [ThreadId 132] - init-plugins(specified):0
2020-01-23 01:13:39.103836 [ThreadId 9] - ****** reactor: got message number:19
2020-01-23 01:13:39.103836 [ThreadId 9] - reactor:got RspFromClient:ResponseMessage {_jsonrpc = "2.0", _id = IdRspInt 5, _result = Just Null, _error = Nothing}
2020-01-23 01:13:39.103836 [ThreadId 9] - ****** reactor: top of loop
2020-01-23 01:13:39.1048383 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"report","percentage":1,"message":"Main"},"token":5},"method":"$/progress"}
2020-01-23 01:13:39.2418493 [ThreadId 132] - loaded c:\Projects\Boids\app\Main.hs - C:\Users\nikita\AppData\Local\Temp\haskell-lsp7052\Main.hs-00000--393093572.hs
2020-01-23 01:13:39.2418493 [ThreadId 132] - Typechecked modules for: Just "C:\\Users\\nikita\\AppData\\Local\\Temp\\haskell-lsp7052\\Main.hs-00000--393093572.hs"
2020-01-23 01:13:39.248836 [ThreadId 112] - File, loaded
2020-01-23 01:13:39.2498364 [ThreadId 112] - setTypecheckedModule: after ghc-mod
2020-01-23 01:13:39.2498364 [ThreadId 112] - Diags: fromList []
2020-01-23 01:13:39.2498364 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"end"},"token":5},"method":"$/progress"}
2020-01-23 01:13:39.2498364 [ThreadId 112] - setTypecheckedModule: Did get typechecked module for: "c:\\Projects\\Boids\\app\\Main.hs"
2020-01-23 01:13:39.2778413 [ThreadId 112] - setTypecheckedModule: done
2020-01-23 01:13:39.2778413 [ThreadId 14] - Diags: [(NormalizedUri "file:///C:/Projects/Boids/app/Main.hs",[])]
2020-01-23 01:13:39.2778413 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"end"},"token":4},"method":"$/progress"}
2020-01-23 01:13:39.2788348 [ThreadId 14] - ghcDispatcher: top of loop
2020-01-23 01:13:39.2788348 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"uri":"file:///C:/Projects/Boids/app/Main.hs","diagnostics":[{"severity":3,"range":{"start":{"line":42,"character":51},"end":{"line":42,"character":71}},"code":"Use exitSuccess","source":"hlint","message":"Use exitSuccess\nFound:\n exitWith ExitSuccess\nWhy not:\n exitSuccess\n"},{"severity":3,"range":{"start":{"line":53,"character":53},"end":{"line":53,"character":73}},"code":"Use exitSuccess","source":"hlint","message":"Use exitSuccess\nFound:\n exitWith ExitSuccess\nWhy not:\n exitSuccess\n"},{"severity":3,"range":{"start":{"line":87,"character":25},"end":{"line":87,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":87,"character":33},"end":{"line":87,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":87,"character":41},"end":{"line":87,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":88,"character":25},"end":{"line":88,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":88,"character":33},"end":{"line":88,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2.5)\nWhy not:\n 2.5\n"},{"severity":3,"range":{"start":{"line":90,"character":25},"end":{"line":90,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":90,"character":33},"end":{"line":90,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":90,"character":41},"end":{"line":90,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":93,"character":25},"end":{"line":93,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":93,"character":33},"end":{"line":93,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":93,"character":41},"end":{"line":93,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":94,"character":25},"end":{"line":94,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":94,"character":41},"end":{"line":94,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":96,"character":25},"end":{"line":96,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":96,"character":33},"end":{"line":96,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":96,"character":41},"end":{"line":96,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":97,"character":25},"end":{"line":97,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":97,"character":33},"end":{"line":97,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2.5)\nWhy not:\n 2.5\n"},{"severity":3,"range":{"start":{"line":97,"character":41},"end":{"line":97,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":99,"character":25},"end":{"line":99,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":99,"character":33},"end":{"line":99,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":99,"character":41},"end":{"line":99,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":100,"character":41},"end":{"line":100,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":102,"character":25},"end":{"line":102,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":102,"character":33},"end":{"line":102,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":102,"character":41},"end":{"line":102,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":103,"character":25},"end":{"line":103,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":103,"character":41},"end":{"line":103,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"}]},"method":"textDocument/publishDiagnostics"}
2020-01-23 01:13:39.4353203 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":11,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///c%3A/Projects/Boids/app/Main.hs"},"position":{"line":94,"character":20}}}
2020-01-23 01:13:39.4353203 [ThreadId 9] - ****** reactor: got message number:20
2020-01-23 01:13:39.4353203 [ThreadId 9] - reactor:got HoverRequest:RequestMessage {_jsonrpc = "2.0", _id = IdInt 11, _method = TextDocumentHover, _params = TextDocumentPositionParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"}}, _position = Position {_line = 94, _character = 20}, _workDoneToken = Nothing}}
2020-01-23 01:13:39.4353203 [ThreadId 9] - reactor:HoverRequest done
2020-01-23 01:13:39.4353203 [ThreadId 9] - ****** reactor: top of loop
2020-01-23 01:13:39.4363191 [ThreadId 15] - ideDispatcher: got request 20 with id: IdInt 11
2020-01-23 01:13:39.4453162 [ThreadId 15] - newTypeCmd: (Position {_line = 94, _character = 20},Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"})
2020-01-23 01:13:39.4473179 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:39.4473179 [ThreadId 4] - <--2--{"result":{"contents":{"kind":"markdown","value":"\n```haskell\nVertex3 :: GLfloat -> GLfloat -> GLfloat -> Vertex3 GLfloat\n```\n```haskell\nVertex3 :: forall a. a -> a -> a -> Vertex3 a\n```\n\n\n\nOpenGL Graphics.Rendering.OpenGL.GL.Tensor"},"range":{"start":{"line":94,"character":17},"end":{"line":94,"character":24}}},"jsonrpc":"2.0","id":11}
2020-01-23 01:13:39.5374547 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":12,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///c%3A/Projects/Boids/app/Main.hs"},"range":{"start":{"line":111,"character":28},"end":{"line":111,"character":28}},"context":{"diagnostics":[]}}}
2020-01-23 01:13:39.5374547 [ThreadId 9] - ****** reactor: got message number:21
2020-01-23 01:13:39.5374547 [ThreadId 9] - reactor:got CodeActionRequest:RequestMessage {_jsonrpc = "2.0", _id = IdInt 12, _method = TextDocumentCodeAction, _params = CodeActionParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"}}, _range = Range {_start = Position {_line = 111, _character = 28}, _end = Position {_line = 111, _character = 28}}, _context = CodeActionContext {_diagnostics = List [], only = Nothing}, _workDoneToken = Nothing}}
2020-01-23 01:13:39.5374547 [ThreadId 9] - ****** reactor: top of loop
2020-01-23 01:13:39.5374547 [ThreadId 15] - ideDispatcher: got request 21 with id: IdInt 12
2020-01-23 01:13:39.5374547 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:39.5374547 [ThreadId 15] - ideDispatcher: got request 21 with id: IdInt 12
2020-01-23 01:13:39.5374547 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:39.5374547 [ThreadId 15] - ideDispatcher: got request 21 with id: IdInt 12
2020-01-23 01:13:39.5374547 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:39.5374547 [ThreadId 15] - ideDispatcher: got request 21 with id: IdInt 12
2020-01-23 01:13:39.5374547 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:39.5374547 [ThreadId 15] - ideDispatcher: got request 21 with id: IdInt 12
2020-01-23 01:13:39.5374547 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:39.5374547 [ThreadId 15] - ideDispatcher: got request 21 with id: IdInt 12
2020-01-23 01:13:39.5374547 [ThreadId 15] - ideDispatcher: top of loop
2020-01-23 01:13:39.5384752 [ThreadId 4] - <--2--{"result":[],"jsonrpc":"2.0","id":12}
from haskell-ide-engine.
Interesting, maybe related to #1567?
from haskell-ide-engine.
Yeah, it seems like it.
from haskell-ide-engine.
Can you also try to run in --debug
mode and link the logs of the full process, e.g. first it works, then it doesnt? Either by defining a custom hie-wrapper path that sets the the flag --debug
or by setting in vscode "Haskell Language Server > Language Server Haskell > Trace : Server" to "verbose".
from haskell-ide-engine.
It's normal just as you save, by the time all that logging is finished it's all wrong again.
from haskell-ide-engine.
Also, info still shows sometimes, even after doubling.
from haskell-ide-engine.
The doubling itself is as far as I know alright. It shows you the declared type and the actual type, which in this case is very useful, at least in my opinion.
Missing documentation is a bug.
from haskell-ide-engine.
After doing fresh* install - same stuff.
*(deleting everything that i can and just installing stack; i've even tried to do it with or without haskell platform)
Even on the older version of hie, which is very strange because it didnt happen to me before ;$
from haskell-ide-engine.
So i found a way of "fixing" this - it fixes itself when you switch to another haskell file and go back.
--This is bad result:
2020-01-26 10:41:03.7680314 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":10,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///c%3A/Projects/Boids/app/Main.hs"},"position":{"line":63,"character":6}}}
2020-01-26 10:41:03.7680314 [ThreadId 9] - ****** reactor: got message number:15
2020-01-26 10:41:03.7690303 [ThreadId 9] - reactor:got HoverRequest:RequestMessage {_jsonrpc = "2.0", _id = IdInt 10, _method = TextDocumentHover, _params = TextDocumentPositionParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"}}, _position = Position {_line = 63, _character = 6}, _workDoneToken = Nothing}}
2020-01-26 10:41:03.7690303 [ThreadId 9] - reactor:HoverRequest done
2020-01-26 10:41:03.7690303 [ThreadId 15] - ideDispatcher: got request 15 with id: IdInt 10
2020-01-26 10:41:03.7690303 [ThreadId 9] - ****** reactor: top of loop
2020-01-26 10:41:03.7690303 [ThreadId 15] - newTypeCmd: (Position {_line = 63, _character = 6},Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"})
2020-01-26 10:41:03.7710321 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:41:03.7720312 [ThreadId 4] - <--2--{"result":{"contents":{"kind":"markdown","value":"\n```haskell\nviewport :: StateVar (Position, Size)\n```\n```haskell\nviewport :: StateVar (Position, Size)\n```\n\n\n\nOpenGL Graphics.Rendering.OpenGL.GL.CoordTrans"},"range":{"start":{"line":63,"character":6},"end":{"line":63,"character":14}}},"jsonrpc":"2.0","id":10}
--This is good one:
2020-01-26 10:47:03.0243117 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":10,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///c%3A/Projects/Boids/app/Main.hs"},"position":{"line":63,"character":8}}}
2020-01-26 10:47:03.0253307 [ThreadId 9] - ****** reactor: got message number:19
2020-01-26 10:47:03.0253307 [ThreadId 9] - reactor:got HoverRequest:RequestMessage {_jsonrpc = "2.0", _id = IdInt 10, _method = TextDocumentHover, _params = TextDocumentPositionParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"}}, _position = Position {_line = 63, _character = 8}, _workDoneToken = Nothing}}
2020-01-26 10:47:03.0253307 [ThreadId 9] - reactor:HoverRequest done
2020-01-26 10:47:03.0253307 [ThreadId 9] - ****** reactor: top of loop
2020-01-26 10:47:03.0253307 [ThreadId 15] - ideDispatcher: got request 19 with id: IdInt 10
2020-01-26 10:47:03.0253307 [ThreadId 15] - newTypeCmd: (Position {_line = 63, _character = 8},Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"})
2020-01-26 10:47:03.0263779 [ThreadId 15] - hoogle query: viewport package:OpenGL module:Graphics.Rendering.OpenGL.GL.CoordTrans is:exact
2020-01-26 10:47:03.0773812 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:47:03.0773812 [ThreadId 4] - <--2--{"result":{"contents":{"kind":"markdown","value":"\n```haskell\nviewport :: StateVar (Position, Size)\n```\n```haskell\nviewport :: StateVar (Position, Size)```\n[OpenGL](https://hackage.haskell.org/package/OpenGL) [Graphics.Rendering.OpenGL.GL.CoordTrans](https://hackage.haskell.org/package/OpenGL/docs/Graphics-Rendering-OpenGL-GL-CoordTrans.html)\nControls the affine transformation from normalized device coordinates\nto window coordinates. The viewport state variable consists of the\ncoordinates (*x*, *y*) of the lower left corner of the\nviewport rectangle, (in pixels, initial value (0,0)), and the size\n(*width*, *height*) of the viewport. When a GL context is\nfirst attached to a window, *width* and *height* are set to\nthe dimensions of that window.\n\nLet (*xnd*, *ynd*) be normalized device coordinates. Then\nthe window coordinates (*xw*, *yw*) are computed as follows:\n\n*xw* = (*xnd* + 1) (*width* / 2) + *x*\n\n*yw* = (*ynd* + 1) (*heigth* / 2) + *y*\n\nViewport width and height are silently clamped to a range that depends\non the implementation, see `maxViewportDims`.\n\n[More info](https://hackage.haskell.org/package/OpenGL/docs/Graphics-Rendering-OpenGL-GL-CoordTrans.html#v:viewport)\n\nOpenGL Graphics.Rendering.OpenGL.GL.CoordTrans"},"range":{"start":{"line":63,"character":6},"end":{"line":63,"character":14}}},"jsonrpc":"2.0","id":10}
As you see the only real difference is the result line and this line:
hoogle query: viewport package:OpenGL module:Graphics.Rendering.OpenGL.GL.CoordTrans is:exact
from haskell-ide-engine.
This is log of me:
- opening vs code
- hovering over "viewport" function (its bad at this step)
- switching to another file
- switching to initial file
- hovering over "viewport" function again (its good at this step)
LOG
2020-01-26 10:55:04.3193196 [ThreadId 3] - run entered for hie-wrapper(hie-wrapper) Version 1.0.0.0, Git revision 0fd7e3f7bed42173c671f53b93095c731d16ffbb (3704 commits) x86_64 ghc-8.6.5
2020-01-26 10:55:04.3203191 [ThreadId 3] - Current directory:c:\Projects
2020-01-26 10:55:04.3203191 [ThreadId 3] - Operating system:mingw32
2020-01-26 10:55:04.3203191 [ThreadId 3] - args:["--lsp","-d","--vomit","-l","C:\\log.txt"]
2020-01-26 10:55:04.322317 [ThreadId 3] - Cabal-Helper found these projects: []
2020-01-26 10:55:04.322317 [ThreadId 3] - These projects have the build tools installed: []
2020-01-26 10:55:04.322317 [ThreadId 3] - Could not find a Project for file: c:\Projects\File.hs
2020-01-26 10:55:04.322317 [ThreadId 3] - Module "c:\Projects\File.hs" is loaded by Cradle: Cradle {cradleRootDir = "c:\\Projects", cradleOptsProg = CradleAction: Direct}
2020-01-26 10:55:04.3233156 [ThreadId 3] - Cradle directory:c:\Projects
2020-01-26 10:55:04.3233156 [ThreadId 3] - Executing GHC on path with args: --numeric-version
2020-01-26 10:55:04.4003105 [ThreadId 3] - GHC Output: "Just "8.6.5""
2020-01-26 10:55:04.4003105 [ThreadId 3] - Project GHC version:8.6.5
2020-01-26 10:55:04.4003105 [ThreadId 3] - hie exe candidates :["hie-8.6.5.exe","hie-8.6.exe","hie.exe"]
2020-01-26 10:55:04.4003105 [ThreadId 3] - found hie exe at:C:\Users\nikita\AppData\Roaming\local\bin\hie-8.6.5.exe
2020-01-26 10:55:04.4003105 [ThreadId 3] - args:["--lsp","-d","--vomit","-l","C:\\log.txt"]
2020-01-26 10:55:04.4003105 [ThreadId 3] - launching ....
2020-01-26 10:55:04.4213512 [ThreadId 3] - Run entered for HIE(hie-8.6.5.exe) Version 1.0.0.0, Git revision 0fd7e3f7bed42173c671f53b93095c731d16ffbb (3704 commits) x86_64 ghc-8.6.5
2020-01-26 10:55:04.4213512 [ThreadId 3] - Operating as a LSP server on stdio
2020-01-26 10:55:04.4213512 [ThreadId 3] - Current directory:c:\Projects
2020-01-26 10:55:04.4213512 [ThreadId 3] - Operating system:mingw32
2020-01-26 10:55:04.4223513 [ThreadId 3] - args:["--lsp","-d","--vomit","-l","C:\\log.txt"]
2020-01-26 10:55:04.4223513 [ThreadId 3] - Enabling verbose mode for hie-bios. This option currently doesn't do anything.
2020-01-26 10:55:04.4223513 [ThreadId 3] -
haskell-lsp:Starting up server ...
2020-01-26 10:55:04.4233511 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":9316,"clientInfo":{"name":"vscode","version":"1.41.1"},"rootPath":"c:\\Projects","rootUri":"file:///c%3A/Projects","capabilities":{"workspace":{"applyEdit":true,"workspaceEdit":{"documentChanges":true,"resourceOperations":["create","rename","delete"],"failureHandling":"textOnlyTransactional"},"didChangeConfiguration":{"dynamicRegistration":true},"didChangeWatchedFiles":{"dynamicRegistration":true},"symbol":{"dynamicRegistration":true,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]}},"executeCommand":{"dynamicRegistration":true},"configuration":true,"workspaceFolders":true},"textDocument":{"publishDiagnostics":{"relatedInformation":true,"tagSupport":{"valueSet":[1,2]}},"synchronization":{"dynamicRegistration":true,"willSave":true,"willSaveWaitUntil":true,"didSave":true},"completion":{"dynamicRegistration":true,"contextSupport":true,"completionItem":{"snippetSupport":true,"commitCharactersSupport":true,"documentationFormat":["markdown","plaintext"],"deprecatedSupport":true,"preselectSupport":true,"tagSupport":{"valueSet":[1]}},"completionItemKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]}},"hover":{"dynamicRegistration":true,"contentFormat":["markdown","plaintext"]},"signatureHelp":{"dynamicRegistration":true,"signatureInformation":{"documentationFormat":["markdown","plaintext"],"parameterInformation":{"labelOffsetSupport":true}},"contextSupport":true},"definition":{"dynamicRegistration":true,"linkSupport":true},"references":{"dynamicRegistration":true},"documentHighlight":{"dynamicRegistration":true},"documentSymbol":{"dynamicRegistration":true,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]},"hierarchicalDocumentSymbolSupport":true},"codeAction":{"dynamicRegistration":true,"isPreferredSupport":true,"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}}},"codeLens":{"dynamicRegistration":true},"formatting":{"dynamicRegistration":true},"rangeFormatting":{"dynamicRegistration":true},"onTypeFormatting":{"dynamicRegistration":true},"rename":{"dynamicRegistration":true,"prepareSupport":true},"documentLink":{"dynamicRegistration":true,"tooltipSupport":true},"typeDefinition":{"dynamicRegistration":true,"linkSupport":true},"implementation":{"dynamicRegistration":true,"linkSupport":true},"colorProvider":{"dynamicRegistration":true},"foldingRange":{"dynamicRegistration":true,"rangeLimit":5000,"lineFoldingOnly":true},"declaration":{"dynamicRegistration":true,"linkSupport":true},"selectionRange":{"dynamicRegistration":true},"callHierarchy":{"dynamicRegistration":true}},"window":{"workDoneProgress":true}},"trace":"off","workspaceFolders":[{"uri":"file:///c%3A/Projects","name":"Projects"},{"uri":"file:///c%3A/Program%20Files%20%28x86%29/Adobe/qwqwq","name":"qwqwq"}]}}
2020-01-26 10:55:04.4913174 [ThreadId 3] - haskell-lsp:initializeRequestHandler: setting current dir to project root:c:\Projects
2020-01-26 10:55:04.4913174 [ThreadId 3] - Dummy Cradle file result: c:\Projects\File.hs
2020-01-26 10:55:04.4923512 [ThreadId 3] - Cabal-Helper found these projects: []
2020-01-26 10:55:04.4923512 [ThreadId 3] - These projects have the build tools installed: []
2020-01-26 10:55:04.4933118 [ThreadId 3] - Could not find a Project for file: c:\Projects\File.hs
2020-01-26 10:55:04.4933118 [ThreadId 3] - Module "c:\Projects\File.hs" is loaded by Cradle: Cradle {cradleRootDir = "c:\\Projects", cradleOptsProg = CradleAction: Direct}
2020-01-26 10:55:04.4933118 [ThreadId 3] - Executing GHC on path with args: --numeric-version
2020-01-26 10:55:04.5643114 [ThreadId 3] - GHC Output: "Just "8.6.5""
2020-01-26 10:55:04.5643114 [ThreadId 8] - Executing GHC on path with args: --print-libdir
2020-01-26 10:55:04.5643114 [ThreadId 9] - ****** reactor: top of loop
2020-01-26 10:55:04.5713491 [ThreadId 4] - <--2--{"result":{"capabilities":{"typeDefinitionProvider":true,"foldingRangeProvider":false,"textDocumentSync":{"openClose":true,"change":2,"willSave":false,"willSaveWaitUntil":false,"save":{"includeText":false}},"workspace":{},"implementationProvider":true,"documentRangeFormattingProvider":true,"documentHighlightProvider":true,"executeCommandProvider":{"commands":["8216:applyrefact:applyOne","8216:applyrefact:applyAll","8216:generic:type","8216:ghcmod:check","8216:ghcmod:type","8216:ghcmod:casesplit","8216:hsimport:import","8216:package:add","8216:pragmas:addPragma"]},"renameProvider":false,"colorProvider":false,"definitionProvider":true,"hoverProvider":true,"codeActionProvider":true,"completionProvider":{"triggerCharacters":["."],"resolveProvider":true},"documentSymbolProvider":true,"documentFormattingProvider":true,"referencesProvider":true}},"jsonrpc":"2.0","id":0}
2020-01-26 10:55:04.583325 [ThreadId 3] - ---> {"jsonrpc":"2.0","method":"initialized","params":{}}
2020-01-26 10:55:04.583325 [ThreadId 3] - ---> {"jsonrpc":"2.0","method":"workspace/didChangeConfiguration","params":{"settings":{"languageServerHaskell":{"hlintOn":true,"maxNumberOfProblems":100,"diagnosticsOnChange":true,"liquidOn":false,"completionSnippetsOn":true,"formatOnImportOn":true,"formattingProvider":"brittany","hieExecutablePath":"","useCustomHieWrapper":false,"useCustomHieWrapperPath":"","noLspParam":false,"showTypeForSelection":{"onHover":true,"command":{"location":"dropdown"}},"trace":{"server":"verbose"},"logFile":"C:\\log.txt","enableHIE":true}}}}
2020-01-26 10:55:04.583325 [ThreadId 9] - ****** reactor: got message number:0
2020-01-26 10:55:04.583325 [ThreadId 3] - ---> {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///c%3A/Projects/Boids/app/Main.hs","languageId":"haskell","version":1,"text":"import Control.Monad ( unless )\nimport System.Exit ( exitWith, ExitCode(ExitSuccess) )\nimport Graphics.UI.GLUT hiding ( initialize )\n\n--------------------------------------------------------------------------------\n-- Setup GLUT and OpenGL, drop into the event loop.\n--------------------------------------------------------------------------------\nmain :: IO ()\nmain = do\n -- Setup the basic GLUT stuff\n _ <- getArgsAndInitialize\n initialDisplayMode $=\n [ DoubleBuffered\n , WithDepthBuffer\n , WithSamplesPerPixel 4\n ]\n\n\n -- Create the window\n initialWindowSize $= Size 1024 768\n initialWindowPosition $= Position 100 150\n _ <- createWindow \"BOGLGP - Chapter 1 - Simple\"\n\n initialize\n\n -- Register the event callback functions\n displayCallback $= display\n reshapeCallback $= Just reshape\n keyboardMouseCallback $= Just keyboardMouseHandler\n -- No need for an idle callback here, this would just hog the CPU\n -- without any visible effect\n\n -- At this point, control is relinquished to the GLUT event handler.\n -- Control is returned as events occur, via the callback functions.\n mainLoop\n\n--------------------------------------------------------------------------------\n-- One time setup, including creating menus, creating a light, setting the\n-- shading mode and clear color, and loading textures.\n--------------------------------------------------------------------------------\ninitialize :: IO ()\ninitialize = do\n -- set up the only meny\n attachMenu RightButton (Menu [MenuEntry \"Exit\" (exitWith ExitSuccess)])\n\n depthFunc $= Just Less\n\n\n--------------------------------------------------------------------------------\n-- Handle mouse and keyboard events. For this simple demo, just exit on a\n-- left click or when q is pressed.\n--------------------------------------------------------------------------------\nkeyboardMouseHandler :: KeyboardMouseCallback\n--keyboardMouseHandler (MouseButton LeftButton)_ _ _ = exitWith ExitSuccess\nkeyboardMouseHandler (Char 'q') _ _ _ = exitWith ExitSuccess\nkeyboardMouseHandler _ _ _ _ = postRedisplay Nothing\n\n--------------------------------------------------------------------------------\n-- Reset the viewport for window changes.\n--------------------------------------------------------------------------------\nreshape :: ReshapeCallback\nreshape size@(Size width height) =\n unless (height == 0) $ do\n viewport $= (Position 0 0, size)\n matrixMode $= Projection\n loadIdentity\n perspective 90 (fromIntegral width / fromIntegral height) 1 100\n\n matrixMode $= Modelview 0\n\n--------------------------------------------------------------------------------\n-- Clear and redraw the scene.\n--------------------------------------------------------------------------------\ndisplay :: DisplayCallback\ndisplay = do\n -- set up the camera\n loadIdentity\n lookAt (Vertex3 0 1 6) (Vertex3 0 0 0) (Vector3 0 1 0)\n\n -- clear the screen\n clear [ ColorBuffer, DepthBuffer ]\n\n -- resolve overloading, not needed in \"real\" programs\n let color3f = color :: Color3 GLfloat -> IO ()\n vertex3f = vertex :: Vertex3 GLfloat -> IO ()\n\n -- draw a triangle\n renderPrimitive Triangles $ do\n color3f $ Color3 ( 1 ) ( 0 ) ( 0 )\n vertex3f $ Vertex3 ( 2 ) ( 2.5) ( -1 )\n\n color3f $ Color3 ( 0 ) ( 1 ) ( 0 )\n vertex3f $ Vertex3 ( -3.5) ( -2.5) ( -1 )\n\n color3f $ Color3 ( 0 ) ( 0 ) ( 1 )\n vertex3f $ Vertex3 ( 2 ) ( -4 ) ( 0 )\n\n color3f $ Color3 ( 0 ) ( 1 ) ( 1 )\n vertex3f $ Vertex3 ( 2 ) ( 2.5) ( 1 )\n\n color3f $ Color3 ( 1 ) ( 0 ) ( 1 )\n vertex3f $ Vertex3 ( -3.5) ( -2.5) ( 1 )\n\n color3f $ Color3 ( 1 ) ( 1 ) ( 2 )\n vertex3f $ Vertex3 ( 2 ) ( -4 ) ( 0 )\n\n -- draw a polygon\n renderPrimitive Polygon $ do\n color3f (Color3 1 1 1)\n vertex3f (Vertex3 (-1) 2 0)\n color3f (Color3 1 1 0)\n vertex3f (Vertex3 (-3) (-0.5) 0)\n color3f (Color3 0 1 1)\n vertex3f (Vertex3 (-1.5) (-3) 0)\n color3f (Color3 0 0 0)\n vertex3f (Vertex3 1 (-2) 0)\n color3f (Color3 1 0 1)\n vertex3f (Vertex3 1 1 0)\n\n -- draw everything and swap the display buffer\n swapBuffers"}}}
2020-01-26 10:55:04.584314 [ThreadId 9] - ****** reactor: processing Initialized Notification
2020-01-26 10:55:04.584314 [ThreadId 9] - ****** reactor: top of loop
2020-01-26 10:55:04.5853118 [ThreadId 9] - ****** reactor: got message number:1
2020-01-26 10:55:04.5853118 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"type":4,"message":"Using hie version: Version 1.0.0.0, Git revision 0fd7e3f7bed42173c671f53b93095c731d16ffbb (3704 commits) x86_64 ghc-8.6.5"},"method":"window/logMessage"}
2020-01-26 10:55:04.5853118 [ThreadId 9] - reactor:didChangeConfiguration notification:NotificationMessage {_jsonrpc = "2.0", _method = WorkspaceDidChangeConfiguration, _params = DidChangeConfigurationParams {_settings = Object (fromList [("languageServerHaskell",Object (fromList [("useCustomHieWrapper",Bool False),("useCustomHieWrapperPath",String ""),("logFile",String "C:\\log.txt"),("hlintOn",Bool True),("formatOnImportOn",Bool True),("noLspParam",Bool False),("hieExecutablePath",String ""),("enableHIE",Bool True),("liquidOn",Bool False),("showTypeForSelection",Object (fromList [("onHover",Bool True),("command",Object (fromList [("location",String "dropdown")]))])),("diagnosticsOnChange",Bool True),("completionSnippetsOn",Bool True),("maxNumberOfProblems",Number 100.0),("formattingProvider",String "brittany"),("trace",Object (fromList [("server",String "verbose")]))]))])}}
2020-01-26 10:55:04.5853118 [ThreadId 9] - reactor:didChangeConfiguration diagsOn:True
2020-01-26 10:55:04.5853118 [ThreadId 9] - ****** reactor: top of loop
2020-01-26 10:55:04.5853118 [ThreadId 9] - ****** reactor: got message number:2
2020-01-26 10:55:04.5853118 [ThreadId 9] - ****** reactor: processing NotDidOpenTextDocument
2020-01-26 10:55:04.5853118 [ThreadId 9] - requestDiagnostics: no diagFunc for:DiagnosticOnOpen
2020-01-26 10:55:04.5853118 [ThreadId 9] - ****** reactor: top of loop
2020-01-26 10:55:04.5933344 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":1,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///c%3A/Projects/Boids/app/Main.hs"}}}
2020-01-26 10:55:04.5943201 [ThreadId 9] - ****** reactor: got message number:3
2020-01-26 10:55:04.5943201 [ThreadId 9] - reactor:got Document symbol request:RequestMessage {_jsonrpc = "2.0", _id = IdInt 1, _method = TextDocumentDocumentSymbol, _params = DocumentSymbolParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"}}, _workDoneToken = Nothing}}
2020-01-26 10:55:04.5943201 [ThreadId 9] - ****** reactor: top of loop
2020-01-26 10:55:04.6872637 [ThreadId 8] - GHC Output: "Just "C:\\Tools\\8.6.5\\HaskellPlatform\\lib""
2020-01-26 10:55:04.6872637 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:04.6882605 [ThreadId 15] - ideDispatcher: got request 3 with id: IdInt 1
2020-01-26 10:55:04.6882605 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:04.6942649 [ThreadId 14] - ghcDispatcher: top of loop
2020-01-26 10:55:04.6942649 [ThreadId 14] - ghcDispatcher:got request 0 with id: Nothing
2020-01-26 10:55:04.6952645 [ThreadId 14] - ghcDispatcher: top of loop
2020-01-26 10:55:04.6952645 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"type":4,"message":"Using hoogle db at: C:\\Users\\nikita\\AppData\\Roaming\\hoogle\\default-haskell-5.0.17.hoo"},"method":"window/logMessage"}
2020-01-26 10:55:04.6952645 [ThreadId 14] - ghcDispatcher:got request 2 with id: Nothing
2020-01-26 10:55:04.6952645 [ThreadId 14] - ghcDispatcher:Processing request as version matches
2020-01-26 10:55:04.6952645 [ThreadId 14] - New cradle: C:\Projects\Boids\app\Main.hs
2020-01-26 10:55:04.6962655 [ThreadId 14] - Found "C:\Projects\Boids\hie.yaml" for "C:\Projects\Boids\app\Main.hs"
2020-01-26 10:55:04.6962655 [ThreadId 14] - Module "C:\Projects\Boids\app\Main.hs" is loaded by Cradle: Cradle {cradleRootDir = "C:\\Projects\\Boids", cradleOptsProg = CradleAction: stack}
2020-01-26 10:55:04.6972647 [ThreadId 14] - Found cradle: Cradle {cradleRootDir = "C:\\Projects\\Boids", cradleOptsProg = CradleAction: stack}
2020-01-26 10:55:04.6972647 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"token":0},"method":"window/workDoneProgress/create","id":0}
2020-01-26 10:55:04.6972647 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"begin","cancellable":false,"title":"Initializing Stack project","percentage":0},"token":0},"method":"$/progress"}
2020-01-26 10:55:04.6982659 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":0,"result":null}
2020-01-26 10:55:04.6992648 [ThreadId 3] - haskell-lsp:Got reply message:"{\"jsonrpc\":\"2.0\",\"id\":0,\"result\":null}"
2020-01-26 10:55:04.6992648 [ThreadId 9] - ****** reactor: got message number:4
2020-01-26 10:55:04.6992648 [ThreadId 9] - reactor:got RspFromClient:ResponseMessage {_jsonrpc = "2.0", _id = IdRspInt 0, _result = Just Null, _error = Nothing}
2020-01-26 10:55:04.6992648 [ThreadId 9] - ****** reactor: top of loop
2020-01-26 10:55:04.8073262 [ThreadId 22] - 'stty' is not recognized as an internal or external command,
2020-01-26 10:55:04.8073262 [ThreadId 22] - operable program or batch file.
2020-01-26 10:55:05.7723776 [ThreadId 22] - �[0mBoids> initial-build-steps (lib + exe)�[0m
2020-01-26 10:55:06.1189907 [ThreadId 22] - �[0mConfiguring GHCi with the following packages: Boids�[0m
2020-01-26 10:55:06.3190469 [ThreadId 27] - 'stty' is not recognized as an internal or external command,
2020-01-26 10:55:06.3190469 [ThreadId 27] - operable program or batch file.
2020-01-26 10:55:06.9240455 [ThreadId 29] - C:\Projects\Boids\.stack-work\install\68c08424\pkgdb;C:\sr\snapshots\9447f691\pkgdb;C:\Tools\8.6.5\HaskellPlatform\lib\package.conf.d
2020-01-26 10:55:07.5990795 [ThreadId 16] - Modules in the cradle: ["C:\\Projects\\Boids\\src\\Lib.hs"]
2020-01-26 10:55:07.600077 [ThreadId 16] - Cradle set succesfully
2020-01-26 10:55:07.600077 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"report","percentage":1,"message":"Lib"},"token":0},"method":"$/progress"}
2020-01-26 10:55:07.601079 [ThreadId 16] - haskell-lsp:persistFileVFS: Writing virtual file: uri = NormalizedUri "file:///C:/Projects/Boids/app/Main.hs", virtual file = "C:\\Users\\nikita\\AppData\\Local\\Temp\\haskell-lsp8216\\Main.hs-00000--393093572.hs"
2020-01-26 10:55:07.8730389 [ThreadId 14] - ghcDispatcher: top of loop
2020-01-26 10:55:07.8730389 [ThreadId 14] - ghcDispatcher:got request 2 with id: Nothing
2020-01-26 10:55:07.8730389 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"end"},"token":0},"method":"$/progress"}
2020-01-26 10:55:07.8730389 [ThreadId 14] - ghcDispatcher:Processing request as version matches
2020-01-26 10:55:07.8880369 [ThreadId 14] - New cradle: C:\Projects\Boids\app\Main.hs
2020-01-26 10:55:07.8890389 [ThreadId 14] - Found "C:\Projects\Boids\hie.yaml" for "C:\Projects\Boids\app\Main.hs"
2020-01-26 10:55:07.8900387 [ThreadId 14] - Module "C:\Projects\Boids\app\Main.hs" is loaded by Cradle: Cradle {cradleRootDir = "C:\\Projects\\Boids", cradleOptsProg = CradleAction: stack}
2020-01-26 10:55:07.8920416 [ThreadId 14] - Found cradle: Cradle {cradleRootDir = "C:\\Projects\\Boids", cradleOptsProg = CradleAction: stack}
2020-01-26 10:55:07.9870468 [ThreadId 47] - 'stty' is not recognized as an internal or external command,
2020-01-26 10:55:07.9870468 [ThreadId 47] - operable program or batch file.
2020-01-26 10:55:08.1630455 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"uri":"file:///C:/Projects/Boids/app/Main.hs","diagnostics":[{"severity":3,"range":{"start":{"line":43,"character":51},"end":{"line":43,"character":71}},"code":"Use exitSuccess","source":"hlint","message":"Use exitSuccess\nFound:\n exitWith ExitSuccess\nWhy not:\n exitSuccess\n"},{"severity":3,"range":{"start":{"line":54,"character":53},"end":{"line":54,"character":73}},"code":"Use exitSuccess","source":"hlint","message":"Use exitSuccess\nFound:\n exitWith ExitSuccess\nWhy not:\n exitSuccess\n"},{"severity":3,"range":{"start":{"line":88,"character":25},"end":{"line":88,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":88,"character":33},"end":{"line":88,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":88,"character":41},"end":{"line":88,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":89,"character":25},"end":{"line":89,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":89,"character":33},"end":{"line":89,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2.5)\nWhy not:\n 2.5\n"},{"severity":3,"range":{"start":{"line":91,"character":25},"end":{"line":91,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":91,"character":33},"end":{"line":91,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":91,"character":41},"end":{"line":91,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":94,"character":25},"end":{"line":94,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":94,"character":33},"end":{"line":94,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":94,"character":41},"end":{"line":94,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":95,"character":25},"end":{"line":95,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":95,"character":41},"end":{"line":95,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":97,"character":25},"end":{"line":97,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":97,"character":33},"end":{"line":97,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":97,"character":41},"end":{"line":97,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":98,"character":25},"end":{"line":98,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":98,"character":33},"end":{"line":98,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2.5)\nWhy not:\n 2.5\n"},{"severity":3,"range":{"start":{"line":98,"character":41},"end":{"line":98,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":100,"character":25},"end":{"line":100,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":100,"character":33},"end":{"line":100,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":100,"character":41},"end":{"line":100,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":101,"character":41},"end":{"line":101,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":103,"character":25},"end":{"line":103,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":103,"character":33},"end":{"line":103,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":103,"character":41},"end":{"line":103,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":104,"character":25},"end":{"line":104,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":104,"character":41},"end":{"line":104,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"}]},"method":"textDocument/publishDiagnostics"}
2020-01-26 10:55:08.1640412 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"token":1},"method":"window/workDoneProgress/create","id":1}
2020-01-26 10:55:08.1640412 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"begin","cancellable":false,"title":"Initializing Stack project","percentage":0},"token":1},"method":"$/progress"}
2020-01-26 10:55:08.1680401 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":1,"result":null}
2020-01-26 10:55:08.1680401 [ThreadId 3] - haskell-lsp:Got reply message:"{\"jsonrpc\":\"2.0\",\"id\":1,\"result\":null}"
2020-01-26 10:55:08.1680401 [ThreadId 9] - ****** reactor: got message number:5
2020-01-26 10:55:08.1680401 [ThreadId 9] - reactor:got RspFromClient:ResponseMessage {_jsonrpc = "2.0", _id = IdRspInt 1, _result = Just Null, _error = Nothing}
2020-01-26 10:55:08.1680401 [ThreadId 9] - ****** reactor: top of loop
2020-01-26 10:55:08.8529739 [ThreadId 47] - �[0mBoids> initial-build-steps (lib + exe)�[0m
2020-01-26 10:55:09.2061397 [ThreadId 47] - �[0mConfiguring GHCi with the following packages: Boids�[0m
2020-01-26 10:55:09.3953837 [ThreadId 52] - 'stty' is not recognized as an internal or external command,
2020-01-26 10:55:09.3963817 [ThreadId 52] - operable program or batch file.
2020-01-26 10:55:10.0013789 [ThreadId 54] - C:\Projects\Boids\.stack-work\install\68c08424\pkgdb;C:\sr\snapshots\9447f691\pkgdb;C:\Tools\8.6.5\HaskellPlatform\lib\package.conf.d
2020-01-26 10:55:10.0413808 [ThreadId 43] - Modules in the cradle: ["C:\\Projects\\Boids\\src\\Lib.hs"]
2020-01-26 10:55:10.0413808 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"report","percentage":1,"message":"Lib"},"token":1},"method":"$/progress"}
2020-01-26 10:55:10.0423835 [ThreadId 43] - Cradle set succesfully
2020-01-26 10:55:10.0423835 [ThreadId 43] - setTypecheckedModule: before ghc-mod
2020-01-26 10:55:10.0423835 [ThreadId 43] - Loading file
2020-01-26 10:55:10.0433813 [ThreadId 43] - setTypecheckedModule: before ghc-mod
2020-01-26 10:55:10.0433813 [ThreadId 43] - Loading file
2020-01-26 10:55:10.049381 [ThreadId 62] - setTargets: [("c:\\Projects\\Boids\\app\\Main.hs","C:\\Users\\nikita\\AppData\\Local\\Temp\\haskell-lsp8216\\Main.hs-00000--393093572.hs")]
2020-01-26 10:55:10.049381 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"token":2},"method":"window/workDoneProgress/create","id":2}
2020-01-26 10:55:10.049381 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"begin","cancellable":false,"title":"loading","percentage":0},"token":2},"method":"$/progress"}
2020-01-26 10:55:10.0514145 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":2,"result":null}
2020-01-26 10:55:10.0533809 [ThreadId 3] - haskell-lsp:Got reply message:"{\"jsonrpc\":\"2.0\",\"id\":2,\"result\":null}"
2020-01-26 10:55:10.0553879 [ThreadId 9] - ****** reactor: got message number:6
2020-01-26 10:55:10.0553879 [ThreadId 9] - reactor:got RspFromClient:ResponseMessage {_jsonrpc = "2.0", _id = IdRspInt 2, _result = Just Null, _error = Nothing}
2020-01-26 10:55:10.0553879 [ThreadId 9] - ****** reactor: top of loop
2020-01-26 10:55:10.057396 [ThreadId 62] - modGraph: [ModLocation {ml_hs_file = Just "C:\\Users\\nikita\\AppData\\Local\\Temp\\haskell-lsp8216\\Main.hs-00000--393093572.hs", ml_hi_file = "C:\\Users\\nikita\\AppData\\Local\\hie-bios\\9db70a1ced0fa24443aa0b2a71e2645395b3c50c\\Main.hi", ml_obj_file = "C:\\Projects\\Boids\\.stack-work\\odir\\Main.o"}]
2020-01-26 10:55:10.057396 [ThreadId 62] - init-plugins(loaded):0
2020-01-26 10:55:10.057396 [ThreadId 62] - init-plugins(specified):0
2020-01-26 10:55:10.0593878 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"report","percentage":1,"message":"Main"},"token":2},"method":"$/progress"}
2020-01-26 10:55:10.3153841 [ThreadId 62] - loaded c:\Projects\Boids\app\Main.hs - C:\Users\nikita\AppData\Local\Temp\haskell-lsp8216\Main.hs-00000--393093572.hs
2020-01-26 10:55:10.3153841 [ThreadId 62] - Typechecked modules for: Just "C:\\Users\\nikita\\AppData\\Local\\Temp\\haskell-lsp8216\\Main.hs-00000--393093572.hs"
2020-01-26 10:55:10.3213845 [ThreadId 43] - File, loaded
2020-01-26 10:55:10.3223874 [ThreadId 43] - setTypecheckedModule: after ghc-mod
2020-01-26 10:55:10.3223874 [ThreadId 43] - Diags: fromList []
2020-01-26 10:55:10.3223874 [ThreadId 43] - setTypecheckedModule: Did get typechecked module for: "c:\\Projects\\Boids\\app\\Main.hs"
2020-01-26 10:55:10.337396 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"end"},"token":2},"method":"$/progress"}
2020-01-26 10:55:10.3463854 [ThreadId 43] - setTypecheckedModule: done
2020-01-26 10:55:10.3473867 [ThreadId 14] - Diags: [(NormalizedUri "file:///C:/Projects/Boids/app/Main.hs",[])]
2020-01-26 10:55:10.3473867 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"end"},"token":1},"method":"$/progress"}
2020-01-26 10:55:10.3473867 [ThreadId 14] - ghcDispatcher: top of loop
2020-01-26 10:55:10.3473867 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"uri":"file:///C:/Projects/Boids/app/Main.hs","diagnostics":[{"severity":3,"range":{"start":{"line":43,"character":51},"end":{"line":43,"character":71}},"code":"Use exitSuccess","source":"hlint","message":"Use exitSuccess\nFound:\n exitWith ExitSuccess\nWhy not:\n exitSuccess\n"},{"severity":3,"range":{"start":{"line":54,"character":53},"end":{"line":54,"character":73}},"code":"Use exitSuccess","source":"hlint","message":"Use exitSuccess\nFound:\n exitWith ExitSuccess\nWhy not:\n exitSuccess\n"},{"severity":3,"range":{"start":{"line":88,"character":25},"end":{"line":88,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":88,"character":33},"end":{"line":88,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":88,"character":41},"end":{"line":88,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":89,"character":25},"end":{"line":89,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":89,"character":33},"end":{"line":89,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2.5)\nWhy not:\n 2.5\n"},{"severity":3,"range":{"start":{"line":91,"character":25},"end":{"line":91,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":91,"character":33},"end":{"line":91,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":91,"character":41},"end":{"line":91,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":94,"character":25},"end":{"line":94,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":94,"character":33},"end":{"line":94,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":94,"character":41},"end":{"line":94,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":95,"character":25},"end":{"line":95,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":95,"character":41},"end":{"line":95,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":97,"character":25},"end":{"line":97,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":97,"character":33},"end":{"line":97,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":97,"character":41},"end":{"line":97,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":98,"character":25},"end":{"line":98,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":98,"character":33},"end":{"line":98,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2.5)\nWhy not:\n 2.5\n"},{"severity":3,"range":{"start":{"line":98,"character":41},"end":{"line":98,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":100,"character":25},"end":{"line":100,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":100,"character":33},"end":{"line":100,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"},{"severity":3,"range":{"start":{"line":100,"character":41},"end":{"line":100,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":101,"character":41},"end":{"line":101,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":103,"character":25},"end":{"line":103,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":103,"character":33},"end":{"line":103,"character":40}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (1)\nWhy not:\n 1\n"},{"severity":3,"range":{"start":{"line":103,"character":41},"end":{"line":103,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":104,"character":25},"end":{"line":104,"character":32}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (2)\nWhy not:\n 2\n"},{"severity":3,"range":{"start":{"line":104,"character":41},"end":{"line":104,"character":48}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (0)\nWhy not:\n 0\n"}]},"method":"textDocument/publishDiagnostics"}
2020-01-26 10:55:16.6710902 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":2,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///c%3A/Projects/Boids/app/Main.hs"},"position":{"line":63,"character":9}}}
2020-01-26 10:55:16.6710902 [ThreadId 9] - ****** reactor: got message number:7
2020-01-26 10:55:16.6710902 [ThreadId 9] - reactor:got HoverRequest:RequestMessage {_jsonrpc = "2.0", _id = IdInt 2, _method = TextDocumentHover, _params = TextDocumentPositionParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"}}, _position = Position {_line = 63, _character = 9}, _workDoneToken = Nothing}}
2020-01-26 10:55:16.6710902 [ThreadId 9] - reactor:HoverRequest done
2020-01-26 10:55:16.6710902 [ThreadId 9] - ****** reactor: top of loop
2020-01-26 10:55:16.6710902 [ThreadId 15] - ideDispatcher: got request 7 with id: IdInt 2
2020-01-26 10:55:16.6770871 [ThreadId 15] - newTypeCmd: (Position {_line = 63, _character = 9},Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"})
2020-01-26 10:55:16.6790919 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:16.6800423 [ThreadId 4] - <--2--{"result":{"contents":{"kind":"markdown","value":"\n```haskell\nviewport :: StateVar (Position, Size)\n```\n```haskell\nviewport :: StateVar (Position, Size)\n```\n\n\n\nOpenGL Graphics.Rendering.OpenGL.GL.CoordTrans"},"range":{"start":{"line":63,"character":6},"end":{"line":63,"character":14}}},"jsonrpc":"2.0","id":2}
2020-01-26 10:55:19.7522553 [ThreadId 3] - ---> {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///c%3A/Projects/sasaa/hask.hs","languageId":"haskell","version":1,"text":"{-- {-# OPTIONS_GHC\r\n -Wall\r\n -Wincomplete-uni-patterns\r\n -Wincomplete-record-updates\r\n -Wcompat\r\n -Widentities\r\n -Wredundant-constraints\r\n -Wmissing-import-lists\r\n -Wmissing-export-lists\r\n -Wmissing-home-modules\r\n -Wpartial-fields\r\n -Wredundant-constraints\r\n -Werror\r\n -fhide-source-paths\r\n -freverse-errors #-} --}\r\n\r\nmodule Main (main) where\r\nimport Data.Maybe\r\nimport Control.Concurrent\r\nimport Control.Monad\r\nimport Data.List\r\nimport Data.Ord\r\nimport Data.Char\r\nimport qualified Data.List as DL\r\n\r\n_fac :: (Num a, Enum a) => a -> a\r\n_fac n = product [1 .. n]\r\n\r\n_exp' :: (Fractional b, Enum b) => b -> [b]\r\n_exp' x = scanl (*) 1 $ map (x /) [1 ..]\r\n\r\n_logBase10 :: (Integral a, Num b, Enum b) => a -> b\r\n_logBase10 n = fst $ until ((< 10) . snd) (\\(a,b) -> (succ a, b `div` 10)) (0, n)\r\n\r\nfizz :: Integral a => a -> Maybe String\r\nfizz n\r\n | n `mod` 3 == 0 = Just \"Fizz\"\r\n | otherwise = Nothing\r\n\r\nbuzz :: Integral a => a -> Maybe String\r\nbuzz n\r\n | n `mod` 5 == 0 = Just \"Buzz\"\r\n | otherwise = Nothing\r\n\r\nfizzBuzz :: [String]\r\nfizzBuzz = map ((fromMaybe . show) <*> (fizz <> buzz)) ([1..]::[Integer])\r\n\r\nhellW :: IO ThreadId\r\nhellW = forkIO $ putStr \"Hello world!\"\r\n\r\n\r\ndata ZPhi = ZPhi !Integer !Integer deriving (Eq)\r\ninstance Num ZPhi where (ZPhi a b) * (ZPhi c d) = ZPhi (a*c+b*d) (a*d+b*c+b*d)\r\nfib n = let ZPhi _ x = (ZPhi 0 1)^n in x\r\n\r\nfib' n = afib' !! n\r\n where afib' = 0 : 1 : zipWith (+) afib' (tail afib')\r\n\r\nfib'' n = afib'' !! n\r\n where afib'' = 0 : scanl (+) 1 afib''\r\n\r\n\r\n\r\nthread n = do\r\n done <- newEmptyMVar\r\n mapM_ (forkIO . (>> putMVar done ()) . putStr . show . fib) [1..n]\r\n replicateM_ n (takeMVar done)\r\n\r\n-- main :: IO ()\r\n-- main = do\r\n-- print $ fib 1000\r\n-- return ()\r\n\r\n\r\n--ghc 8.6.5\r\nhours = [\"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"ten\", \"eleven\", \"twelve\"]\r\n\r\n\r\nsplitWithStr :: Eq a => [a] -> [a] -> [[a]]\r\nsplitWithStr x y = func x y []\r\n where\r\n func x [] z = reverse $ map (reverse) z\r\n func x (y:ys) (z:zs)\r\n | take (length x) (y:ys) == x = func x (drop (length x) (y:ys)) ([]:(z:zs))\r\n | otherwise = func x ys ((y:z):zs)\r\n\r\nsolve = map getUpperWord\r\n where\r\n getUpperWord wrd = intercalate (map toUpper wrd) $ map (map (const '_')) $ splitWithStr wrd ss\r\n ss = \"twoneightwelveleveninesevensixfivefourthreeten\"\r\n\r\nmain = putStrLn $ unlines $ solve hours\r\n\r\n--twoneightwelveleveninesevensixfivefourthreeten"}}}
2020-01-26 10:55:19.753253 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":3,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///c%3A/Projects/sasaa/hask.hs"},"range":{"start":{"line":0,"character":0},"end":{"line":0,"character":0}},"context":{"diagnostics":[]}}}
2020-01-26 10:55:19.753253 [ThreadId 9] - ****** reactor: got message number:8
2020-01-26 10:55:19.753253 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":4,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///c%3A/Projects/sasaa/hask.hs"}}}
2020-01-26 10:55:19.753253 [ThreadId 9] - ****** reactor: processing NotDidOpenTextDocument
2020-01-26 10:55:19.7542584 [ThreadId 9] - requestDiagnostics: no diagFunc for:DiagnosticOnOpen
2020-01-26 10:55:19.7542584 [ThreadId 14] - ghcDispatcher:got request 8 with id: Nothing
2020-01-26 10:55:19.7542584 [ThreadId 9] - ****** reactor: top of loop
2020-01-26 10:55:19.7542584 [ThreadId 14] - ghcDispatcher:Processing request as version matches
2020-01-26 10:55:19.7542584 [ThreadId 9] - ****** reactor: got message number:9
2020-01-26 10:55:19.7552556 [ThreadId 14] - New cradle: C:\Projects\sasaa\hask.hs
2020-01-26 10:55:19.7552556 [ThreadId 9] - reactor:got CodeActionRequest:RequestMessage {_jsonrpc = "2.0", _id = IdInt 3, _method = TextDocumentCodeAction, _params = CodeActionParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///c%3A/Projects/sasaa/hask.hs"}}, _range = Range {_start = Position {_line = 0, _character = 0}, _end = Position {_line = 0, _character = 0}}, _context = CodeActionContext {_diagnostics = List [], only = Nothing}, _workDoneToken = Nothing}}
2020-01-26 10:55:19.7582598 [ThreadId 14] - Cabal-Helper found these projects: []
2020-01-26 10:55:19.7582598 [ThreadId 9] - ****** reactor: top of loop
2020-01-26 10:55:19.7582598 [ThreadId 15] - ideDispatcher: got request 9 with id: IdInt 3
2020-01-26 10:55:19.7592579 [ThreadId 14] - These projects have the build tools installed: []
2020-01-26 10:55:19.7592579 [ThreadId 9] - ****** reactor: got message number:10
2020-01-26 10:55:19.7592579 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:19.7592579 [ThreadId 14] - Could not find a Project for file: C:\Projects\sasaa\hask.hs
2020-01-26 10:55:19.7592579 [ThreadId 9] - reactor:got Document symbol request:RequestMessage {_jsonrpc = "2.0", _id = IdInt 4, _method = TextDocumentDocumentSymbol, _params = DocumentSymbolParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///c%3A/Projects/sasaa/hask.hs"}}, _workDoneToken = Nothing}}
2020-01-26 10:55:19.7592579 [ThreadId 15] - ideDispatcher: got request 9 with id: IdInt 3
2020-01-26 10:55:19.7592579 [ThreadId 14] - Module "C:\Projects\sasaa\hask.hs" is loaded by Cradle: Cradle {cradleRootDir = "C:\\Projects\\Boids", cradleOptsProg = CradleAction: Direct}
2020-01-26 10:55:19.7602557 [ThreadId 9] - ****** reactor: top of loop
2020-01-26 10:55:19.7602557 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:19.7602557 [ThreadId 14] - Found cradle: Cradle {cradleRootDir = "C:\\Projects\\Boids", cradleOptsProg = CradleAction: Direct}
2020-01-26 10:55:19.7602557 [ThreadId 15] - ideDispatcher: got request 10 with id: IdInt 4
2020-01-26 10:55:19.7602557 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"token":3},"method":"window/workDoneProgress/create","id":3}
2020-01-26 10:55:19.7622662 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":3,"result":null}
2020-01-26 10:55:19.7632579 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:19.7642571 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"begin","cancellable":false,"title":"Initializing GHC session","percentage":0},"token":3},"method":"$/progress"}
2020-01-26 10:55:19.7662561 [ThreadId 3] - haskell-lsp:Got reply message:"{\"jsonrpc\":\"2.0\",\"id\":3,\"result\":null}"
2020-01-26 10:55:19.7792876 [ThreadId 15] - ideDispatcher: got request 9 with id: IdInt 3
2020-01-26 10:55:19.7892582 [ThreadId 9] - ****** reactor: got message number:11
2020-01-26 10:55:19.7892582 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:19.7942568 [ThreadId 9] - reactor:got RspFromClient:ResponseMessage {_jsonrpc = "2.0", _id = IdRspInt 3, _result = Just Null, _error = Nothing}
2020-01-26 10:55:19.7952594 [ThreadId 15] - ideDispatcher: got request 9 with id: IdInt 3
2020-01-26 10:55:19.7952594 [ThreadId 9] - ****** reactor: top of loop
2020-01-26 10:55:19.7962607 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:19.7982567 [ThreadId 15] - ideDispatcher: got request 9 with id: IdInt 3
2020-01-26 10:55:19.7982567 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:19.7982567 [ThreadId 15] - ideDispatcher: got request 9 with id: IdInt 3
2020-01-26 10:55:19.8012565 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:19.8032581 [ThreadId 4] - <--2--{"result":[],"jsonrpc":"2.0","id":3}
2020-01-26 10:55:19.8692572 [ThreadId 94] - Modules in the cradle: ["C:\\Projects\\sasaa\\hask.hs"]
2020-01-26 10:55:19.8692572 [ThreadId 94] - Cradle set succesfully
2020-01-26 10:55:19.8702579 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"report","percentage":1,"message":"Main"},"token":3},"method":"$/progress"}
2020-01-26 10:55:19.8712595 [ThreadId 94] - haskell-lsp:persistFileVFS: Writing virtual file: uri = NormalizedUri "file:///C:/Projects/sasaa/hask.hs", virtual file = "C:\\Users\\nikita\\AppData\\Local\\Temp\\haskell-lsp8216\\hask.hs-00000-1716459822.hs"
2020-01-26 10:55:19.9032591 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":5,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///c%3A/Projects/sasaa/hask.hs"},"range":{"start":{"line":47,"character":20},"end":{"line":47,"character":20}},"context":{"diagnostics":[]}}}
2020-01-26 10:55:19.9232634 [ThreadId 9] - ****** reactor: got message number:12
2020-01-26 10:55:19.9242636 [ThreadId 9] - reactor:got CodeActionRequest:RequestMessage {_jsonrpc = "2.0", _id = IdInt 5, _method = TextDocumentCodeAction, _params = CodeActionParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///c%3A/Projects/sasaa/hask.hs"}}, _range = Range {_start = Position {_line = 47, _character = 20}, _end = Position {_line = 47, _character = 20}}, _context = CodeActionContext {_diagnostics = List [], only = Nothing}, _workDoneToken = Nothing}}
2020-01-26 10:55:19.9262708 [ThreadId 9] - ****** reactor: top of loop
2020-01-26 10:55:19.9422609 [ThreadId 15] - ideDispatcher: got request 12 with id: IdInt 5
2020-01-26 10:55:19.9422609 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:19.9422609 [ThreadId 15] - ideDispatcher: got request 12 with id: IdInt 5
2020-01-26 10:55:19.9432968 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:19.9442954 [ThreadId 15] - ideDispatcher: got request 12 with id: IdInt 5
2020-01-26 10:55:19.9442954 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:19.9452976 [ThreadId 15] - ideDispatcher: got request 12 with id: IdInt 5
2020-01-26 10:55:19.9452976 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:19.9462953 [ThreadId 15] - ideDispatcher: got request 12 with id: IdInt 5
2020-01-26 10:55:19.9472952 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:19.9472952 [ThreadId 15] - ideDispatcher: got request 12 with id: IdInt 5
2020-01-26 10:55:19.9482565 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:19.9632634 [ThreadId 4] - <--2--{"result":[],"jsonrpc":"2.0","id":5}
2020-01-26 10:55:20.1192558 [ThreadId 14] - ghcDispatcher: top of loop
2020-01-26 10:55:20.1192558 [ThreadId 14] - ghcDispatcher:got request 8 with id: Nothing
2020-01-26 10:55:20.1202617 [ThreadId 14] - ghcDispatcher:Processing request as version matches
2020-01-26 10:55:20.1202617 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"end"},"token":3},"method":"$/progress"}
2020-01-26 10:55:20.121261 [ThreadId 14] - Reusing cradle
2020-01-26 10:55:20.1232553 [ThreadId 14] - setTypecheckedModule: before ghc-mod
2020-01-26 10:55:20.1242596 [ThreadId 14] - Loading file
2020-01-26 10:55:20.1262577 [ThreadId 14] - setTypecheckedModule: before ghc-mod
2020-01-26 10:55:20.1272595 [ThreadId 14] - Loading file
2020-01-26 10:55:20.1342556 [ThreadId 113] - setTargets: [("c:\\Projects\\sasaa\\hask.hs","C:\\Users\\nikita\\AppData\\Local\\Temp\\haskell-lsp8216\\hask.hs-00000-1716459822.hs")]
2020-01-26 10:55:20.1482924 [ThreadId 113] - modGraph: [ModLocation {ml_hs_file = Just "C:\\Users\\nikita\\AppData\\Local\\Temp\\haskell-lsp8216\\hask.hs-00000-1716459822.hs", ml_hi_file = "C:\\Users\\nikita\\AppData\\Local\\hie-bios\\722784005a943dc1e95d809be99b5092c29b04f4\\Main.hi", ml_obj_file = "C:\\Users\\nikita\\AppData\\Local\\Temp\\haskell-lsp8216\\hask.hs-00000-1716459822.o"}]
2020-01-26 10:55:20.1492549 [ThreadId 113] - init-plugins(loaded):0
2020-01-26 10:55:20.1512574 [ThreadId 113] - init-plugins(specified):0
2020-01-26 10:55:20.2343019 [ThreadId 113] - srcSpan2Loc: mapped file is C:\Users\nikita\AppData\Local\Temp\haskell-lsp8216\hask.hs-00000-1716459822.hs
2020-01-26 10:55:20.2352953 [ThreadId 113] - reverseMapFile: mapped file is C:\Users\nikita\AppData\Local\Temp\haskell-lsp8216\hask.hs-00000-1716459822.hs
2020-01-26 10:55:20.2352953 [ThreadId 113] - reverseMapFile: original is C:\Projects\sasaa\hask.hs
2020-01-26 10:55:20.2363017 [ThreadId 113] - reverseMapFile: Canonicalized original is C:\Projects\sasaa\hask.hs
2020-01-26 10:55:20.2372954 [ThreadId 113] - srcSpan2Loc: Original file is C:\Projects\sasaa\hask.hs
2020-01-26 10:55:20.2372954 [ThreadId 113] - Diagnostics at Location: (RealSrcSpan SrcSpanOneLine "C:\\Users\\nikita\\AppData\\Local\\Temp\\haskell-lsp8216\\hask.hs-00000-1716459822.hs" 53 10 18,Right (Location {_uri = Uri {getUri = "file:///C:/Projects/sasaa/hask.hs"}, _range = Range {_start = Position {_line = 52, _character = 9}, _end = Position {_line = 52, _character = 17}}}))
2020-01-26 10:55:20.2372954 [ThreadId 113] - Writing diag Diagnostic {_range = Range {_start = Position {_line = 52, _character = 9}, _end = Position {_line = 52, _character = 17}}, _severity = Just DsWarning, _code = Nothing, _source = Just "bios", _message = "* No explicit implementation for\n `+', `abs', `signum', `fromInteger', and (either `negate' or `-')\n* In the instance declaration for `Num ZPhi'", _relatedInformation = Nothing}
2020-01-26 10:55:20.2682955 [ThreadId 113] - loaded c:\Projects\sasaa\hask.hs - C:\Users\nikita\AppData\Local\Temp\haskell-lsp8216\hask.hs-00000-1716459822.hs
2020-01-26 10:55:20.2682955 [ThreadId 113] - Typechecked modules for: Just "C:\\Users\\nikita\\AppData\\Local\\Temp\\haskell-lsp8216\\hask.hs-00000-1716459822.hs"
2020-01-26 10:55:20.2852962 [ThreadId 14] - File, loaded
2020-01-26 10:55:20.2852962 [ThreadId 14] - setTypecheckedModule: after ghc-mod
2020-01-26 10:55:20.2862983 [ThreadId 14] - Diags: fromList [(NormalizedUri "file:///C:/Projects/sasaa/hask.hs",fromList [Diagnostic {_range = Range {_start = Position {_line = 52, _character = 9}, _end = Position {_line = 52, _character = 17}}, _severity = Just DsWarning, _code = Nothing, _source = Just "bios", _message = "* No explicit implementation for\n `+', `abs', `signum', `fromInteger', and (either `negate' or `-')\n* In the instance declaration for `Num ZPhi'", _relatedInformation = Nothing}])]
2020-01-26 10:55:20.2862983 [ThreadId 14] - setTypecheckedModule: Did get typechecked module for: "c:\\Projects\\sasaa\\hask.hs"
2020-01-26 10:55:20.3232676 [ThreadId 14] - setTypecheckedModule: done
2020-01-26 10:55:20.3242546 [ThreadId 14] - Diags: [(NormalizedUri "file:///C:/Projects/sasaa/hask.hs",[Diagnostic {_range = Range {_start = Position {_line = 52, _character = 9}, _end = Position {_line = 52, _character = 17}}, _severity = Just DsWarning, _code = Nothing, _source = Just "bios", _message = "* No explicit implementation for\n `+', `abs', `signum', `fromInteger', and (either `negate' or `-')\n* In the instance declaration for `Num ZPhi'", _relatedInformation = Nothing}])]
2020-01-26 10:55:20.3242546 [ThreadId 14] - ghcDispatcher: top of loop
2020-01-26 10:55:20.3292978 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"uri":"file:///C:/Projects/sasaa/hask.hs","diagnostics":[{"severity":4,"range":{"start":{"line":53,"character":23},"end":{"line":53,"character":35}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (ZPhi 0 1) ^ n\nWhy not:\n ZPhi 0 1 ^ n\n"},{"severity":3,"range":{"start":{"line":81,"character":36},"end":{"line":81,"character":45}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (reverse)\nWhy not:\n reverse\n"}]},"method":"textDocument/publishDiagnostics"}
2020-01-26 10:55:20.3292978 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"token":4},"method":"window/workDoneProgress/create","id":4}
2020-01-26 10:55:20.3292978 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"begin","cancellable":false,"title":"loading","percentage":0},"token":4},"method":"$/progress"}
2020-01-26 10:55:20.3292978 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"report","percentage":1,"message":"Main"},"token":4},"method":"$/progress"}
2020-01-26 10:55:20.330296 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"end"},"token":4},"method":"$/progress"}
2020-01-26 10:55:20.330296 [ThreadId 4] - <--2--{"jsonrpc":"2.0","params":{"uri":"file:///C:/Projects/sasaa/hask.hs","diagnostics":[{"severity":2,"range":{"start":{"line":52,"character":9},"end":{"line":52,"character":17}},"source":"bios","message":"* No explicit implementation for\n `+', `abs', `signum', `fromInteger', and (either `negate' or `-')\n* In the instance declaration for `Num ZPhi'"},{"severity":4,"range":{"start":{"line":53,"character":23},"end":{"line":53,"character":35}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (ZPhi 0 1) ^ n\nWhy not:\n ZPhi 0 1 ^ n\n"},{"severity":3,"range":{"start":{"line":81,"character":36},"end":{"line":81,"character":45}},"code":"Redundant bracket","source":"hlint","message":"Redundant bracket\nFound:\n (reverse)\nWhy not:\n reverse\n"}]},"method":"textDocument/publishDiagnostics"}
2020-01-26 10:55:20.331256 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":4,"result":null}
2020-01-26 10:55:20.331256 [ThreadId 3] - haskell-lsp:Got reply message:"{\"jsonrpc\":\"2.0\",\"id\":4,\"result\":null}"
2020-01-26 10:55:20.331256 [ThreadId 9] - ****** reactor: got message number:13
2020-01-26 10:55:20.331256 [ThreadId 9] - reactor:got RspFromClient:ResponseMessage {_jsonrpc = "2.0", _id = IdRspInt 4, _result = Just Null, _error = Nothing}
2020-01-26 10:55:20.331256 [ThreadId 9] - ****** reactor: top of loop
2020-01-26 10:55:20.5877395 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":6,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///c%3A/Projects/sasaa/hask.hs"},"range":{"start":{"line":47,"character":20},"end":{"line":47,"character":20}},"context":{"diagnostics":[]}}}
2020-01-26 10:55:20.5877395 [ThreadId 9] - ****** reactor: got message number:14
2020-01-26 10:55:20.5877395 [ThreadId 9] - reactor:got CodeActionRequest:RequestMessage {_jsonrpc = "2.0", _id = IdInt 6, _method = TextDocumentCodeAction, _params = CodeActionParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///c%3A/Projects/sasaa/hask.hs"}}, _range = Range {_start = Position {_line = 47, _character = 20}, _end = Position {_line = 47, _character = 20}}, _context = CodeActionContext {_diagnostics = List [], only = Nothing}, _workDoneToken = Nothing}}
2020-01-26 10:55:20.5877395 [ThreadId 9] - ****** reactor: top of loop
2020-01-26 10:55:20.5877395 [ThreadId 15] - ideDispatcher: got request 14 with id: IdInt 6
2020-01-26 10:55:20.5877395 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:20.5877395 [ThreadId 15] - ideDispatcher: got request 14 with id: IdInt 6
2020-01-26 10:55:20.5877395 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:20.5877395 [ThreadId 15] - ideDispatcher: got request 14 with id: IdInt 6
2020-01-26 10:55:20.5877395 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:20.5887827 [ThreadId 15] - ideDispatcher: got request 14 with id: IdInt 6
2020-01-26 10:55:20.5887827 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:20.5887827 [ThreadId 15] - ideDispatcher: got request 14 with id: IdInt 6
2020-01-26 10:55:20.5887827 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:20.5887827 [ThreadId 15] - ideDispatcher: got request 14 with id: IdInt 6
2020-01-26 10:55:20.5887827 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:20.5887827 [ThreadId 4] - <--2--{"result":[],"jsonrpc":"2.0","id":6}
2020-01-26 10:55:24.6677055 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":7,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"file:///c%3A/Projects/Boids/app/Main.hs"},"range":{"start":{"line":0,"character":0},"end":{"line":0,"character":0}},"context":{"diagnostics":[]}}}
2020-01-26 10:55:24.668674 [ThreadId 9] - ****** reactor: got message number:15
2020-01-26 10:55:24.668674 [ThreadId 9] - reactor:got CodeActionRequest:RequestMessage {_jsonrpc = "2.0", _id = IdInt 7, _method = TextDocumentCodeAction, _params = CodeActionParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"}}, _range = Range {_start = Position {_line = 0, _character = 0}, _end = Position {_line = 0, _character = 0}}, _context = CodeActionContext {_diagnostics = List [], only = Nothing}, _workDoneToken = Nothing}}
2020-01-26 10:55:24.668674 [ThreadId 9] - ****** reactor: top of loop
2020-01-26 10:55:24.668674 [ThreadId 15] - ideDispatcher: got request 15 with id: IdInt 7
2020-01-26 10:55:24.668674 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:24.668674 [ThreadId 15] - ideDispatcher: got request 15 with id: IdInt 7
2020-01-26 10:55:24.668674 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:24.668674 [ThreadId 15] - ideDispatcher: got request 15 with id: IdInt 7
2020-01-26 10:55:24.668674 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:24.668674 [ThreadId 15] - ideDispatcher: got request 15 with id: IdInt 7
2020-01-26 10:55:24.668674 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:24.668674 [ThreadId 15] - ideDispatcher: got request 15 with id: IdInt 7
2020-01-26 10:55:24.668674 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:24.668674 [ThreadId 15] - ideDispatcher: got request 15 with id: IdInt 7
2020-01-26 10:55:24.668674 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:24.668674 [ThreadId 4] - <--2--{"result":[],"jsonrpc":"2.0","id":7}
2020-01-26 10:55:27.0805817 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":8,"method":"textDocument/hover","params":{"textDocument":{"uri":"file:///c%3A/Projects/Boids/app/Main.hs"},"position":{"line":63,"character":7}}}
2020-01-26 10:55:27.0815716 [ThreadId 9] - ****** reactor: got message number:16
2020-01-26 10:55:27.0815716 [ThreadId 9] - reactor:got HoverRequest:RequestMessage {_jsonrpc = "2.0", _id = IdInt 8, _method = TextDocumentHover, _params = TextDocumentPositionParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"}}, _position = Position {_line = 63, _character = 7}, _workDoneToken = Nothing}}
2020-01-26 10:55:27.0815716 [ThreadId 9] - reactor:HoverRequest done
2020-01-26 10:55:27.0815716 [ThreadId 9] - ****** reactor: top of loop
2020-01-26 10:55:27.0815716 [ThreadId 15] - ideDispatcher: got request 16 with id: IdInt 8
2020-01-26 10:55:27.0815716 [ThreadId 15] - newTypeCmd: (Position {_line = 63, _character = 7},Uri {getUri = "file:///c%3A/Projects/Boids/app/Main.hs"})
2020-01-26 10:55:27.0836147 [ThreadId 15] - hoogle query: viewport package:OpenGL module:Graphics.Rendering.OpenGL.GL.CoordTrans is:exact
2020-01-26 10:55:27.1336136 [ThreadId 15] - ideDispatcher: top of loop
2020-01-26 10:55:27.13462 [ThreadId 4] - <--2--{"result":{"contents":{"kind":"markdown","value":"\n```haskell\nviewport :: StateVar (Position, Size)\n```\n```haskell\nviewport :: StateVar (Position, Size)```\n[OpenGL](https://hackage.haskell.org/package/OpenGL) [Graphics.Rendering.OpenGL.GL.CoordTrans](https://hackage.haskell.org/package/OpenGL/docs/Graphics-Rendering-OpenGL-GL-CoordTrans.html)\nControls the affine transformation from normalized device coordinates\nto window coordinates. The viewport state variable consists of the\ncoordinates (*x*, *y*) of the lower left corner of the\nviewport rectangle, (in pixels, initial value (0,0)), and the size\n(*width*, *height*) of the viewport. When a GL context is\nfirst attached to a window, *width* and *height* are set to\nthe dimensions of that window.\n\nLet (*xnd*, *ynd*) be normalized device coordinates. Then\nthe window coordinates (*xw*, *yw*) are computed as follows:\n\n*xw* = (*xnd* + 1) (*width* / 2) + *x*\n\n*yw* = (*ynd* + 1) (*heigth* / 2) + *y*\n\nViewport width and height are silently clamped to a range that depends\non the implementation, see `maxViewportDims`.\n\n[More info](https://hackage.haskell.org/package/OpenGL/docs/Graphics-Rendering-OpenGL-GL-CoordTrans.html#v:viewport)\n\nOpenGL Graphics.Rendering.OpenGL.GL.CoordTrans"},"range":{"start":{"line":63,"character":6},"end":{"line":63,"character":14}}},"jsonrpc":"2.0","id":8}
2020-01-26 10:55:31.8087834 [ThreadId 3] - ---> {"jsonrpc":"2.0","id":9,"method":"shutdown","params":null}
2020-01-26 10:55:31.8087834 [ThreadId 4] - <--2--{"result":null,"jsonrpc":"2.0","id":9}
2020-01-26 10:55:31.8167818 [ThreadId 3] - ---> {"jsonrpc":"2.0","method":"exit","params":null}
2020-01-26 10:55:31.8177834 [ThreadId 3] - haskell-lsp:Got exit, exiting
from haskell-ide-engine.
Related Issues (20)
- hie only loads the full suite of tests when configured without specifying the root file `Spec.hs` HOT 1
- HIE stops reporting messages to coc.nvim HOT 1
- Build fails on Windows: "realgcc.exe: error: CreateProcess: No such file or directory" HOT 13
- stack build failing on Windows and ghc-8.8.3: Access violation in generated code HOT 2
- Is HIE working with cabal script files? HOT 1
- can't load .so/.DLL for libHSghc-prim-0.5.3-ghc8.6.5.so HOT 9
- bad module error handling with hlint enabled HOT 4
- unable to install on windows10 build 2004 HOT 2
- Fail on initialisation for. Could not obtain flags for HOT 2
- Self-dependency in test suite fails with hie HOT 3
- Can't install due to OFD issue
- Windows 10 build fail. HOT 2
- HLint needs to be called using `-X QuasiQuotes` when they are enabled
- Conflict between running cabal manually and using hie HOT 1
- macOS Big Sur beta build fail. HOT 3
- Can not parse platformConstants HOT 5
- Multiple stack.yaml files HOT 2
- Cannot use hie-wrapper and so on the language server cannot be initialized HOT 4
- macos failure to build package primitive HOT 2
- Fail to stack install with RedownloadHttpError HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from haskell-ide-engine.