Giter Club home page Giter Club logo

Comments (10)

kanashimia avatar kanashimia commented on June 8, 2024 1
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.

fendor avatar fendor commented on June 8, 2024

Interesting, maybe related to #1567?

from haskell-ide-engine.

kanashimia avatar kanashimia commented on June 8, 2024

Yeah, it seems like it.

from haskell-ide-engine.

fendor avatar fendor commented on June 8, 2024

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.

kanashimia avatar kanashimia commented on June 8, 2024

It's normal just as you save, by the time all that logging is finished it's all wrong again.

from haskell-ide-engine.

kanashimia avatar kanashimia commented on June 8, 2024

Also, info still shows sometimes, even after doubling.

HMM

from haskell-ide-engine.

fendor avatar fendor commented on June 8, 2024

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.

kanashimia avatar kanashimia commented on June 8, 2024

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.

kanashimia avatar kanashimia commented on June 8, 2024

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.

kanashimia avatar kanashimia commented on June 8, 2024

This is log of me:

  1. opening vs code
  2. hovering over "viewport" function (its bad at this step)
  3. switching to another file
  4. switching to initial file
  5. 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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.