This repository was archived by the owner on Oct 7, 2020. It is now read-only.
This repository was archived by the owner on Oct 7, 2020. It is now read-only.
HIE returns snippets even when the client doesn't support them. #1444
Closed
Description
Hello, I'm a maintainer of a LSP client that doesn't support snippets and we don't advertise that capability.
Even if a client doesn't support snippets, haskell-ide-engine returns them on completion.
Initialize request/response:
2019-11-10 17:28:04,411 - DEBUG - TX: Sending message: b'Content-Length: 712\r\n\r\n{"id":1,"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{"textDocument":{"completion":{"completionItem":{"documentationFormat":["plaintext","markdown"]},"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":{"contentFormat":["plaintext","markdown"]},"signatureHelp":{"signatureInformation":{"documentationFormat":["plaintext","markdown"],"parameterInformation":{"labelOffsetSupport":false}}}}},"initializationOptions":{"languageServerHaskell":{}},"processId":20788,"rootPath":"/home/bstaletic/aur/haskell-ide-engine/src/haskell-ide-engine-0.13.0.0","rootUri":"file:///home/bstaletic/aur/haskell-ide-engine/src/haskell-ide-engine-0.13.0.0"}}'
2019-11-10 17:28:06,085 - DEBUG - RX: Received message: b'{"result":{"capabilities":{"typeDefinitionProvider":true,"textDocumentSync":{"openClose":true,"change":2,"willSave":false,"willSaveWaitUntil":false,"save":{"includeText":false}},"workspace":{},"documentRangeFormattingProvider":true,"documentHighlightProvider":true,"executeCommandProvider":{"commands":["20873:applyrefact:applyOne","20873:applyrefact:applyAll","20873:applyrefact:lint","20873:base:version","20873:base:plugins","20873:base:commands","20873:base:commandDetail","20873:build:prepare","20873:build:isConfigured","20873:build:configure","20873:build:listTargets","20873:build:listFlags","20873:build:buildDirectory","20873:build:buildTarget","20873:ghcmod:check","20873:ghcmod:type","20873:ghcmod:casesplit","20873:hare:demote","20873:hare:dupdef","20873:hare:iftocase","20873:hare:liftonelevel","20873:hare:lifttotoplevel","20873:hare:rename","20873:hare:deletedef","20873:hare:genapplicative","20873:hare:casesplit","20873:hoogle:info","20873:hoogle:lookup","20873:hsimport:import","20873:liquid:sayHello","20873:liquid:sayHelloTo","20873:package:add","20873:pragmas:addPragma"]},"definitionProvider":true,"hoverProvider":true,"codeActionProvider":true,"completionProvider":{"triggerCharacters":["."],"resolveProvider":true},"documentSymbolProvider":true,"documentFormattingProvider":true,"referencesProvider":true}},"jsonrpc":"2.0","id":1}'
Completion request/response:
2019-11-10 17:28:11,659 - DEBUG - TX: Sending message: b'Content-Length: 247\r\n\r\n{"id":2,"jsonrpc":"2.0","method":"textDocument/completion","params":{"position":{"character":16,"line":57},"textDocument":{"uri":"file:///home/bstaletic/aur/haskell-ide-engine/src/haskell-ide-engine-0.13.0.0/src/Haskell/Ide/Engine/Scheduler.hs"}}}'
2019-11-10 17:28:11,687 - DEBUG - RX: Received message: b'{"result":[{"kind":9,"data":{"name_details":null,"hoogle_query":"module:STM"},"label":"STM"},{"kind":9,"data":{"name_details":null,"hoogle_query":"module:Control.Monad.IO.Class"},"label":"Control.Monad.IO.Class"},{"kind":9,"data":{"name_details":null,"hoogle_query":"module:Control.Monad.Reader.Class"},"label":"Control.Monad.Reader.Class"},{"kind":9,"data":{"name_details":null,"hoogle_query":"module:Control.Monad.Trans.Class"},"label":"Control.Monad.Trans.Class"},{"kind":9,"data":{"name_details":null,"hoogle_query":"module:Control.Monad"},"label":"Control.Monad"},{"kind":9,"data":{"name_details":null,"hoogle_query":"module:Map"},"label":"Map"},{"kind":9,"data":{"name_details":null,"hoogle_query":"module:Haskell.Ide.Engine.GhcModuleCache"},"label":"Haskell.Ide.Engine.GhcModuleCache"},{"kind":9,"data":{"name_details":null,"hoogle_query":"module:Haskell.Ide.Engine.PluginsIdeMonads"},"label":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":9,"data":{"name_details":null,"hoogle_query":"module:Haskell.Ide.Engine.MonadFunctions"},"label":"Haskell.Ide.Engine.MonadFunctions"},{"kind":9,"data":{"name_details":null,"hoogle_query":"module:Haskell.Ide.Engine.MonadTypes"},"label":"Haskell.Ide.Engine.MonadTypes"},{"kind":4,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","c","GhcModuleCache"],"hoogle_query":"GhcModuleCache module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"GhcModuleCache","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":4,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","c","GhcModuleCache"],"hoogle_query":"GhcModuleCache module:Haskell.Ide.Engine.GhcModuleCache is:exact"},"insertTextFormat":1,"label":"GhcModuleCache","detail":"Haskell.Ide.Engine.GhcModuleCache"},{"kind":4,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","c","BlVomit"],"hoogle_query":"BlVomit module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"BlVomit","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":4,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","c","BlVomit"],"hoogle_query":"BlVomit module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"BlVomit","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":4,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","c","CmdSync"],"hoogle_query":"CmdSync module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"CmdSync","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":4,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","c","CmdSync"],"hoogle_query":"CmdSync module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"CmdSync","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":4,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","c","FormatRange"],"hoogle_query":"FormatRange module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"FormatRange","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":4,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","c","FormatRange"],"hoogle_query":"FormatRange module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"FormatRange","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":4,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","c","FormatText"],"hoogle_query":"FormatText module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"FormatText","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":4,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","c","FormatText"],"hoogle_query":"FormatText module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"FormatText","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":4,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","c","ParameterError"],"hoogle_query":"ParameterError module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"ParameterError","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":4,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","c","ParameterError"],"hoogle_query":"ParameterError module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"ParameterError","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":4,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","c","PluginCommand"],"hoogle_query":"PluginCommand module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"PluginCommand","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":4,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","c","PluginCommand"],"hoogle_query":"PluginCommand module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"PluginCommand","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":4,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","c","UnknownCommand"],"hoogle_query":"UnknownCommand module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"UnknownCommand","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":4,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","c","UnknownCommand"],"hoogle_query":"UnknownCommand module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"UnknownCommand","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":4,"data":{"name_details":["Language.Haskell.LSP.Types.DataTypesJSON","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","c","FormattingOptions"],"hoogle_query":"FormattingOptions module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"FormattingOptions","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":4,"data":{"name_details":["Language.Haskell.LSP.Types.DataTypesJSON","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","c","FormattingOptions"],"hoogle_query":"FormattingOptions module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"FormattingOptions","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":4,"data":{"name_details":["Language.Haskell.LSP.Types.DataTypesJSON","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","c","PublishDiagnosticsParams"],"hoogle_query":"PublishDiagnosticsParams module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"PublishDiagnosticsParams","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":4,"data":{"name_details":["Language.Haskell.LSP.Types.DataTypesJSON","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","c","PublishDiagnosticsParams"],"hoogle_query":"PublishDiagnosticsParams module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"PublishDiagnosticsParams","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":4,"data":{"name_details":["Language.Haskell.LSP.Types.TextDocument","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","c","TextDocumentIdentifier"],"hoogle_query":"TextDocumentIdentifier module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"TextDocumentIdentifier","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":4,"data":{"name_details":["Language.Haskell.LSP.Types.TextDocument","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","c","TextDocumentIdentifier"],"hoogle_query":"TextDocumentIdentifier module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"TextDocumentIdentifier","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":4,"data":{"name_details":["Language.Haskell.LSP.Types.TextDocument","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","c","TextDocumentPositionParams"],"hoogle_query":"TextDocumentPositionParams module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"TextDocumentPositionParams","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":4,"data":{"name_details":["Language.Haskell.LSP.Types.TextDocument","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","c","TextDocumentPositionParams"],"hoogle_query":"TextDocumentPositionParams module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"TextDocumentPositionParams","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":null,"hoogle_query":"makeRequest module:Haskell.Ide.Engine.Scheduler is:exact"},"insertTextFormat":1,"label":"makeRequest","detail":"(MonadReader env m, MonadIO m, HasScheduler env m2) =>\\nPluginRequest m2 -> m ()\\nHaskell.Ide.Engine.Scheduler"},{"kind":3,"data":{"name_details":null,"hoogle_query":"updateDocumentRequest module:Haskell.Ide.Engine.Scheduler is:exact"},"insertTextFormat":1,"label":"updateDocumentRequest","detail":"(MonadReader env m, MonadIO m, HasScheduler env m2) =>\\nUri -> Int -> PluginRequest m2 -> m ()\\nHaskell.Ide.Engine.Scheduler"},{"kind":3,"data":{"name_details":["GHC.Base","base","v","mempty"],"hoogle_query":"mempty module:Prelude is:exact"},"insertTextFormat":1,"label":"mempty","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Base","base","v","mappend"],"hoogle_query":"mappend module:Prelude is:exact"},"insertTextFormat":1,"label":"mappend","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Base","base","v","mconcat"],"hoogle_query":"mconcat module:Prelude is:exact"},"insertTextFormat":1,"label":"mconcat","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Real","base","v","fromRational"],"hoogle_query":"fromRational module:Prelude is:exact"},"insertTextFormat":1,"label":"fromRational","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Num","base","v","fromInteger"],"hoogle_query":"fromInteger module:Prelude is:exact"},"insertTextFormat":1,"label":"fromInteger","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Real","base","v","fromIntegral"],"hoogle_query":"fromIntegral module:Prelude is:exact"},"insertTextFormat":1,"label":"fromIntegral","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Enum","base","v","enumFrom"],"hoogle_query":"enumFrom module:Prelude is:exact"},"insertTextFormat":1,"label":"enumFrom","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Enum","base","v","enumFromThen"],"hoogle_query":"enumFromThen module:Prelude is:exact"},"insertTextFormat":1,"label":"enumFromThen","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Enum","base","v","enumFromThenTo"],"hoogle_query":"enumFromThenTo module:Prelude is:exact"},"insertTextFormat":1,"label":"enumFromThenTo","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Enum","base","v","enumFromTo"],"hoogle_query":"enumFromTo module:Prelude is:exact"},"insertTextFormat":1,"label":"enumFromTo","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Base","base","v","fmap"],"hoogle_query":"fmap module:Control.Monad is:exact"},"insertTextFormat":1,"label":"fmap","detail":"Control.Monad"},{"kind":3,"data":{"name_details":["GHC.Base","base","v","fmap"],"hoogle_query":"fmap module:Prelude is:exact"},"insertTextFormat":1,"label":"fmap","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Base","base","v","map"],"hoogle_query":"map module:Prelude is:exact"},"insertTextFormat":1,"label":"map","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Base","base","v","liftM"],"hoogle_query":"liftM module:Control.Monad is:exact"},"insertTextFormat":1,"label":"liftM","detail":"Control.Monad"},{"kind":3,"data":{"name_details":["Data.Foldable","base","v","concatMap"],"hoogle_query":"concatMap module:Prelude is:exact"},"insertTextFormat":1,"label":"concatMap","detail":"Prelude"},{"kind":3,"data":{"name_details":["Data.Foldable","base","v","elem"],"hoogle_query":"elem module:Prelude is:exact"},"insertTextFormat":1,"label":"elem","detail":"Prelude"},{"kind":3,"data":{"name_details":["Data.Foldable","base","v","foldMap"],"hoogle_query":"foldMap module:Prelude is:exact"},"insertTextFormat":1,"label":"foldMap","detail":"Prelude"},{"kind":3,"data":{"name_details":["Data.Foldable","base","v","mapM_"],"hoogle_query":"mapM_ module:Control.Monad is:exact"},"insertTextFormat":1,"label":"mapM_","detail":"Control.Monad"},{"kind":3,"data":{"name_details":["Data.Foldable","base","v","mapM_"],"hoogle_query":"mapM_ module:Prelude is:exact"},"insertTextFormat":1,"label":"mapM_","detail":"Prelude"},{"kind":3,"data":{"name_details":["Data.Foldable","base","v","maximum"],"hoogle_query":"maximum module:Prelude is:exact"},"insertTextFormat":1,"label":"maximum","detail":"Prelude"},{"kind":3,"data":{"name_details":["Data.Foldable","base","v","minimum"],"hoogle_query":"minimum module:Prelude is:exact"},"insertTextFormat":1,"label":"minimum","detail":"Prelude"},{"kind":3,"data":{"name_details":["Data.Foldable","base","v","notElem"],"hoogle_query":"notElem module:Prelude is:exact"},"insertTextFormat":1,"label":"notElem","detail":"Prelude"},{"kind":3,"data":{"name_details":["Data.Foldable","base","v","sum"],"hoogle_query":"sum module:Prelude is:exact"},"insertTextFormat":1,"label":"sum","detail":"Prelude"},{"kind":3,"data":{"name_details":["Data.Maybe","base","v","maybe"],"hoogle_query":"maybe module:Prelude is:exact"},"insertTextFormat":1,"label":"maybe","detail":"Prelude"},{"kind":3,"data":{"name_details":["Data.Traversable","base","v","mapM"],"hoogle_query":"mapM module:Control.Monad is:exact"},"insertTextFormat":1,"label":"mapM","detail":"Control.Monad"},{"kind":3,"data":{"name_details":["Data.Traversable","base","v","mapM"],"hoogle_query":"mapM module:Prelude is:exact"},"insertTextFormat":1,"label":"mapM","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Enum","base","v","fromEnum"],"hoogle_query":"fromEnum module:Prelude is:exact"},"insertTextFormat":1,"label":"fromEnum","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Enum","base","v","maxBound"],"hoogle_query":"maxBound module:Prelude is:exact"},"insertTextFormat":1,"label":"maxBound","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Enum","base","v","minBound"],"hoogle_query":"minBound module:Prelude is:exact"},"insertTextFormat":1,"label":"minBound","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Enum","base","v","toEnum"],"hoogle_query":"toEnum module:Prelude is:exact"},"insertTextFormat":1,"label":"toEnum","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Float","base","v","isDenormalized"],"hoogle_query":"isDenormalized module:Prelude is:exact"},"insertTextFormat":1,"label":"isDenormalized","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Num","base","v","signum"],"hoogle_query":"signum module:Prelude is:exact"},"insertTextFormat":1,"label":"signum","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Real","base","v","divMod"],"hoogle_query":"divMod module:Prelude is:exact"},"insertTextFormat":1,"label":"divMod","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Real","base","v","lcm"],"hoogle_query":"lcm module:Prelude is:exact"},"insertTextFormat":1,"label":"lcm","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Real","base","v","mod"],"hoogle_query":"mod module:Prelude is:exact"},"insertTextFormat":1,"label":"mod","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Real","base","v","quotRem"],"hoogle_query":"quotRem module:Prelude is:exact"},"insertTextFormat":1,"label":"quotRem","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Real","base","v","rem"],"hoogle_query":"rem module:Prelude is:exact"},"insertTextFormat":1,"label":"rem","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Classes","ghc-prim","v","compare"],"hoogle_query":"compare module:Prelude is:exact"},"insertTextFormat":1,"label":"compare","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Classes","ghc-prim","v","max"],"hoogle_query":"max module:Prelude is:exact"},"insertTextFormat":1,"label":"max","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Classes","ghc-prim","v","min"],"hoogle_query":"min module:Prelude is:exact"},"insertTextFormat":1,"label":"min","detail":"Prelude"},{"kind":3,"data":{"name_details":["GHC.Base","base","v","liftM2"],"hoogle_query":"liftM2 module:Control.Monad is:exact"},"insertTextFormat":1,"label":"liftM2","detail":"Control.Monad"},{"kind":3,"data":{"name_details":["GHC.Base","base","v","liftM3"],"hoogle_query":"liftM3 module:Control.Monad is:exact"},"insertTextFormat":1,"label":"liftM3","detail":"Control.Monad"},{"kind":3,"data":{"name_details":["GHC.Base","base","v","liftM4"],"hoogle_query":"liftM4 module:Control.Monad is:exact"},"insertTextFormat":1,"label":"liftM4","detail":"Control.Monad"},{"kind":3,"data":{"name_details":["GHC.Base","base","v","liftM5"],"hoogle_query":"liftM5 module:Control.Monad is:exact"},"insertTextFormat":1,"label":"liftM5","detail":"Control.Monad"},{"kind":3,"data":{"name_details":["GHC.Base","base","v","mplus"],"hoogle_query":"mplus module:Control.Monad is:exact"},"insertTextFormat":1,"label":"mplus","detail":"Control.Monad"},{"kind":3,"data":{"name_details":["GHC.Base","base","v","mzero"],"hoogle_query":"mzero module:Control.Monad is:exact"},"insertTextFormat":1,"label":"mzero","detail":"Control.Monad"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.Types","haskell-ide-engine-0.13.0.0-CxPiYhc4SpF1SlbEYnHLwt","v","pinMsgNum"],"hoogle_query":"pinMsgNum module:Haskell.Ide.Engine.Types is:exact"},"insertTextFormat":1,"label":"pinMsgNum","detail":"Haskell.Ide.Engine.Types"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.Types","haskell-ide-engine-0.13.0.0-CxPiYhc4SpF1SlbEYnHLwt","v","pureMsgNum"],"hoogle_query":"pureMsgNum module:Haskell.Ide.Engine.Types is:exact"},"insertTextFormat":1,"label":"pureMsgNum","detail":"Haskell.Ide.Engine.Types"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","cachedPsMod"],"hoogle_query":"cachedPsMod module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"cachedPsMod","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","cachedPsMod"],"hoogle_query":"cachedPsMod module:Haskell.Ide.Engine.GhcModuleCache is:exact"},"insertTextFormat":1,"label":"cachedPsMod","detail":"Haskell.Ide.Engine.GhcModuleCache"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","cachedTcMod"],"hoogle_query":"cachedTcMod module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"cachedTcMod","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","cachedTcMod"],"hoogle_query":"cachedTcMod module:Haskell.Ide.Engine.GhcModuleCache is:exact"},"insertTextFormat":1,"label":"cachedTcMod","detail":"Haskell.Ide.Engine.GhcModuleCache"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","defMap"],"hoogle_query":"defMap module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"defMap","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","defMap"],"hoogle_query":"defMap module:Haskell.Ide.Engine.GhcModuleCache is:exact"},"insertTextFormat":1,"label":"defMap","detail":"Haskell.Ide.Engine.GhcModuleCache"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","emptyModuleCache"],"hoogle_query":"emptyModuleCache module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"emptyModuleCache","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","emptyModuleCache"],"hoogle_query":"emptyModuleCache module:Haskell.Ide.Engine.GhcModuleCache is:exact"},"insertTextFormat":1,"label":"emptyModuleCache","detail":"Haskell.Ide.Engine.GhcModuleCache"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","fromUriCache"],"hoogle_query":"fromUriCache module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"fromUriCache","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","fromUriCache"],"hoogle_query":"fromUriCache module:Haskell.Ide.Engine.GhcModuleCache is:exact"},"insertTextFormat":1,"label":"fromUriCache","detail":"Haskell.Ide.Engine.GhcModuleCache"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","getModuleCache"],"hoogle_query":"getModuleCache module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"getModuleCache","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","getModuleCache"],"hoogle_query":"getModuleCache module:Haskell.Ide.Engine.GhcModuleCache is:exact"},"insertTextFormat":1,"label":"getModuleCache","detail":"Haskell.Ide.Engine.GhcModuleCache"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","locMap"],"hoogle_query":"locMap module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"locMap","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","locMap"],"hoogle_query":"locMap module:Haskell.Ide.Engine.GhcModuleCache is:exact"},"insertTextFormat":1,"label":"locMap","detail":"Haskell.Ide.Engine.GhcModuleCache"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","moduleMap"],"hoogle_query":"moduleMap module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"moduleMap","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","moduleMap"],"hoogle_query":"moduleMap module:Haskell.Ide.Engine.GhcModuleCache is:exact"},"insertTextFormat":1,"label":"moduleMap","detail":"Haskell.Ide.Engine.GhcModuleCache"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","revMap"],"hoogle_query":"revMap module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"revMap","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","revMap"],"hoogle_query":"revMap module:Haskell.Ide.Engine.GhcModuleCache is:exact"},"insertTextFormat":1,"label":"revMap","detail":"Haskell.Ide.Engine.GhcModuleCache"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","setModuleCache"],"hoogle_query":"setModuleCache module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"setModuleCache","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","setModuleCache"],"hoogle_query":"setModuleCache module:Haskell.Ide.Engine.GhcModuleCache is:exact"},"insertTextFormat":1,"label":"setModuleCache","detail":"Haskell.Ide.Engine.GhcModuleCache"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","typeMap"],"hoogle_query":"typeMap module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"typeMap","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.GhcModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","typeMap"],"hoogle_query":"typeMap module:Haskell.Ide.Engine.GhcModuleCache is:exact"},"insertTextFormat":1,"label":"typeMap","detail":"Haskell.Ide.Engine.GhcModuleCache"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.ModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","cacheModule"],"hoogle_query":"cacheModule module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"cacheModule","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.ModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","deleteCachedModule"],"hoogle_query":"deleteCachedModule module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"deleteCachedModule","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.ModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","failModule"],"hoogle_query":"failModule module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"failModule","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.ModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","ifCachedModule"],"hoogle_query":"ifCachedModule module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"ifCachedModule","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.ModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","ifCachedModuleAndData"],"hoogle_query":"ifCachedModuleAndData module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"ifCachedModuleAndData","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.ModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","modifyCache"],"hoogle_query":"modifyCache module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"modifyCache","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.ModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","withCachedModule"],"hoogle_query":"withCachedModule module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"withCachedModule","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.ModuleCache","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","withCachedModuleAndData"],"hoogle_query":"withCachedModuleAndData module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"withCachedModuleAndData","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.MultiThreadState","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","modifyMTS"],"hoogle_query":"modifyMTS module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"modifyMTS","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.MultiThreadState","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","modifyMTState"],"hoogle_query":"modifyMTState module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"modifyMTState","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.MultiThreadState","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","readMTS"],"hoogle_query":"readMTS module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"readMTS","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.MultiThreadState","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","readMTState"],"hoogle_query":"readMTState module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"readMTState","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.MultiThreadState","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","runMTState"],"hoogle_query":"runMTState module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"runMTState","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.MultiThreadState","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","writeMTS"],"hoogle_query":"writeMTS module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"writeMTS","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","allLspCmdIds"],"hoogle_query":"allLspCmdIds module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"allLspCmdIds","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","allLspCmdIds"],"hoogle_query":"allLspCmdIds module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"allLspCmdIds","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","commandDesc"],"hoogle_query":"commandDesc module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"commandDesc","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","commandDesc"],"hoogle_query":"commandDesc module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"commandDesc","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","commandFunc"],"hoogle_query":"commandFunc module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"commandFunc","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","commandFunc"],"hoogle_query":"commandFunc module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"commandFunc","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","commandName"],"hoogle_query":"commandName module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"commandName","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","commandName"],"hoogle_query":"commandName module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"commandName","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","fromDynJSON"],"hoogle_query":"fromDynJSON module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"fromDynJSON","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","fromDynJSON"],"hoogle_query":"fromDynJSON module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"fromDynJSON","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","ideMessage"],"hoogle_query":"ideMessage module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"ideMessage","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","ideMessage"],"hoogle_query":"ideMessage module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"ideMessage","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","ipMap"],"hoogle_query":"ipMap module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"ipMap","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","ipMap"],"hoogle_query":"ipMap module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"ipMap","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","mkGhcModOptions"],"hoogle_query":"mkGhcModOptions module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"mkGhcModOptions","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","mkGhcModOptions"],"hoogle_query":"mkGhcModOptions module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"mkGhcModOptions","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","mkLspCmdId"],"hoogle_query":"mkLspCmdId module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"mkLspCmdId","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","mkLspCmdId"],"hoogle_query":"mkLspCmdId module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"mkLspCmdId","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","mkLspCommand"],"hoogle_query":"mkLspCommand module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"mkLspCommand","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","mkLspCommand"],"hoogle_query":"mkLspCommand module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"mkLspCommand","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","moduleCache"],"hoogle_query":"moduleCache module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"moduleCache","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","moduleCache"],"hoogle_query":"moduleCache module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"moduleCache","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","pluginCommands"],"hoogle_query":"pluginCommands module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"pluginCommands","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","pluginCommands"],"hoogle_query":"pluginCommands module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"pluginCommands","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","pluginFormattingProvider"],"hoogle_query":"pluginFormattingProvider module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"pluginFormattingProvider","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","pluginFormattingProvider"],"hoogle_query":"pluginFormattingProvider module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"pluginFormattingProvider","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","pluginName"],"hoogle_query":"pluginName module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"pluginName","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","pluginName"],"hoogle_query":"pluginName module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"pluginName","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","pluginSymbolProvider"],"hoogle_query":"pluginSymbolProvider module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"pluginSymbolProvider","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","pluginSymbolProvider"],"hoogle_query":"pluginSymbolProvider module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"pluginSymbolProvider","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","runIdeGhcM"],"hoogle_query":"runIdeGhcM module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"runIdeGhcM","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","runIdeGhcM"],"hoogle_query":"runIdeGhcM module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"runIdeGhcM","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","runIdeGhcMBare"],"hoogle_query":"runIdeGhcMBare module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"runIdeGhcMBare","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","runIdeGhcMBare"],"hoogle_query":"runIdeGhcMBare module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"runIdeGhcMBare","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","runIdeM"],"hoogle_query":"runIdeM module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"runIdeM","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","runIdeM"],"hoogle_query":"runIdeM module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"runIdeM","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","runPluginCommand"],"hoogle_query":"runPluginCommand module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"runPluginCommand","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.PluginsIdeMonads","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","runPluginCommand"],"hoogle_query":"runPluginCommand module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"runPluginCommand","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Language.Haskell.LSP.Types.DataTypesJSON","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","v","$sel:_insertSpaces:FormattingOptions"],"hoogle_query":"_insertSpaces module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"_insertSpaces","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Language.Haskell.LSP.Types.DataTypesJSON","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","v","$sel:_insertSpaces:FormattingOptions"],"hoogle_query":"_insertSpaces module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"_insertSpaces","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Language.Haskell.LSP.Types.DataTypesJSON","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","v","$sel:_tabSize:FormattingOptions"],"hoogle_query":"_tabSize module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"_tabSize","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Language.Haskell.LSP.Types.DataTypesJSON","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","v","$sel:_tabSize:FormattingOptions"],"hoogle_query":"_tabSize module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"_tabSize","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Language.Haskell.LSP.Types.DataTypesJSON","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","v","$sel:_diagnostics:PublishDiagnosticsParams"],"hoogle_query":"_diagnostics module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"_diagnostics","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Language.Haskell.LSP.Types.DataTypesJSON","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","v","$sel:_diagnostics:PublishDiagnosticsParams"],"hoogle_query":"_diagnostics module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"_diagnostics","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Language.Haskell.LSP.Types.TextDocument","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","v","$sel:_uri:TextDocumentIdentifier"],"hoogle_query":"_uri module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"_uri","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Language.Haskell.LSP.Types.TextDocument","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","v","$sel:_uri:TextDocumentIdentifier"],"hoogle_query":"_uri module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"_uri","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Language.Haskell.LSP.Types.DataTypesJSON","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","v","$sel:_uri:PublishDiagnosticsParams"],"hoogle_query":"_uri module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"_uri","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Language.Haskell.LSP.Types.DataTypesJSON","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","v","$sel:_uri:PublishDiagnosticsParams"],"hoogle_query":"_uri module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"_uri","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Language.Haskell.LSP.Types.Diagnostic","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","v","$sel:_message:Diagnostic"],"hoogle_query":"_message module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"_message","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Language.Haskell.LSP.Types.Diagnostic","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","v","$sel:_message:Diagnostic"],"hoogle_query":"_message module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"_message","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Language.Haskell.LSP.Types.Diagnostic","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","v","$sel:_relatedInformation:Diagnostic"],"hoogle_query":"_relatedInformation module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"_relatedInformation","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Language.Haskell.LSP.Types.Diagnostic","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","v","$sel:_relatedInformation:Diagnostic"],"hoogle_query":"_relatedInformation module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"_relatedInformation","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Language.Haskell.LSP.Types.TextDocument","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","v","$sel:_position:TextDocumentPositionParams"],"hoogle_query":"_position module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"_position","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Language.Haskell.LSP.Types.TextDocument","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","v","$sel:_position:TextDocumentPositionParams"],"hoogle_query":"_position module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"_position","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Language.Haskell.LSP.Types.TextDocument","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","v","$sel:_textDocument:TextDocumentPositionParams"],"hoogle_query":"_textDocument module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"_textDocument","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Language.Haskell.LSP.Types.TextDocument","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","v","$sel:_textDocument:TextDocumentPositionParams"],"hoogle_query":"_textDocument module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"_textDocument","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Language.Haskell.LSP.Types.TextDocument","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","v","$sel:_workDoneToken:TextDocumentPositionParams"],"hoogle_query":"_workDoneToken module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"_workDoneToken","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Language.Haskell.LSP.Types.TextDocument","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","v","$sel:_workDoneToken:TextDocumentPositionParams"],"hoogle_query":"_workDoneToken module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"_workDoneToken","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Language.Haskell.LSP.Types.WorkspaceEdit","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","v","$sel:_documentChanges:WorkspaceEdit"],"hoogle_query":"_documentChanges module:Haskell.Ide.Engine.MonadTypes is:exact"},"insertTextFormat":1,"label":"_documentChanges","detail":"Haskell.Ide.Engine.MonadTypes"},{"kind":3,"data":{"name_details":["Language.Haskell.LSP.Types.WorkspaceEdit","haskell-lsp-types-0.17.0.0-GoWWXV5jL6RGDjfL5Ry1cO","v","$sel:_documentChanges:WorkspaceEdit"],"hoogle_query":"_documentChanges module:Haskell.Ide.Engine.PluginsIdeMonads is:exact"},"insertTextFormat":1,"label":"_documentChanges","detail":"Haskell.Ide.Engine.PluginsIdeMonads"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.MonadFunctions","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","modify"],"hoogle_query":"modify module:Haskell.Ide.Engine.MonadFunctions is:exact"},"insertTextFormat":1,"label":"modify","detail":"Haskell.Ide.Engine.MonadFunctions"},{"kind":3,"data":{"name_details":["Control.Monad","base","v","mapAndUnzipM"],"hoogle_query":"mapAndUnzipM module:Control.Monad is:exact"},"insertTextFormat":1,"label":"mapAndUnzipM","detail":"Control.Monad"},{"kind":3,"data":{"name_details":["Control.Monad","base","v","filterM"],"hoogle_query":"filterM module:Control.Monad is:exact"},"insertTextFormat":1,"label":"filterM","detail":"Control.Monad"},{"kind":3,"data":{"name_details":["Control.Monad","base","v","foldM"],"hoogle_query":"foldM module:Control.Monad is:exact"},"insertTextFormat":1,"label":"foldM","detail":"Control.Monad"},{"kind":3,"data":{"name_details":["Control.Monad","base","v","foldM_"],"hoogle_query":"foldM_ module:Control.Monad is:exact"},"insertTextFormat":1,"label":"foldM_","detail":"Control.Monad"},{"kind":3,"data":{"name_details":["Data.Traversable","base","v","forM"],"hoogle_query":"forM module:Control.Monad is:exact"},"insertTextFormat":1,"label":"forM","detail":"Control.Monad"},{"kind":3,"data":{"name_details":["Data.Foldable","base","v","forM_"],"hoogle_query":"forM_ module:Control.Monad is:exact"},"insertTextFormat":1,"label":"forM_","detail":"Control.Monad"},{"kind":3,"data":{"name_details":["Control.Monad","base","v","replicateM"],"hoogle_query":"replicateM module:Control.Monad is:exact"},"insertTextFormat":1,"label":"replicateM","detail":"Control.Monad"},{"kind":3,"data":{"name_details":["Control.Monad","base","v","zipWithM"],"hoogle_query":"zipWithM module:Control.Monad is:exact"},"insertTextFormat":1,"label":"zipWithM","detail":"Control.Monad"},{"kind":3,"data":{"name_details":["Control.Monad","base","v","zipWithM_"],"hoogle_query":"zipWithM_ module:Control.Monad is:exact"},"insertTextFormat":1,"label":"zipWithM_","detail":"Control.Monad"},{"kind":3,"data":{"name_details":null,"hoogle_query":"documentVersions module:Haskell.Ide.Engine.Scheduler is:exact"},"insertTextFormat":1,"label":"documentVersions","detail":"Scheduler m -> TVar (Map Uri Int)\\nHaskell.Ide.Engine.Scheduler"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.MonadFunctions","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","debugm"],"hoogle_query":"debugm module:Haskell.Ide.Engine.MonadFunctions is:exact"},"insertTextFormat":1,"label":"debugm","detail":"Haskell.Ide.Engine.MonadFunctions"},{"kind":3,"data":{"name_details":null,"hoogle_query":"completedReq module:Haskell.Ide.Engine.Scheduler is:exact"},"insertTextFormat":1,"label":"completedReq","detail":"DispatcherEnv -> LspId -> IO ()\\nHaskell.Ide.Engine.Scheduler"},{"kind":3,"data":{"name_details":["Data.Foldable","base","v","msum"],"hoogle_query":"msum module:Control.Monad is:exact"},"insertTextFormat":1,"label":"msum","detail":"Control.Monad"},{"kind":3,"data":{"name_details":["Control.Monad","base","v","replicateM_"],"hoogle_query":"replicateM_ module:Control.Monad is:exact"},"insertTextFormat":1,"label":"replicateM_","detail":"Control.Monad"},{"kind":3,"data":{"name_details":["Control.Monad","base","v","mfilter"],"hoogle_query":"mfilter module:Control.Monad is:exact"},"insertTextFormat":1,"label":"mfilter","detail":"Control.Monad"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.MonadFunctions","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","logm"],"hoogle_query":"logm module:Haskell.Ide.Engine.MonadFunctions is:exact"},"insertTextFormat":1,"label":"logm","detail":"Haskell.Ide.Engine.MonadFunctions"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.Config","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","completionSnippetsOn"],"hoogle_query":"completionSnippetsOn module:Haskell.Ide.Engine.Config is:exact"},"insertTextFormat":1,"label":"completionSnippetsOn","detail":"Haskell.Ide.Engine.Config"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.Config","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","formatOnImportOn"],"hoogle_query":"formatOnImportOn module:Haskell.Ide.Engine.Config is:exact"},"insertTextFormat":1,"label":"formatOnImportOn","detail":"Haskell.Ide.Engine.Config"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.Config","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","formattingProvider"],"hoogle_query":"formattingProvider module:Haskell.Ide.Engine.Config is:exact"},"insertTextFormat":1,"label":"formattingProvider","detail":"Haskell.Ide.Engine.Config"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.Config","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","maxNumberOfProblems"],"hoogle_query":"maxNumberOfProblems module:Haskell.Ide.Engine.Config is:exact"},"insertTextFormat":1,"label":"maxNumberOfProblems","detail":"Haskell.Ide.Engine.Config"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.Config","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","getConfigFromNotification"],"hoogle_query":"getConfigFromNotification module:Haskell.Ide.Engine.Config is:exact"},"insertTextFormat":1,"label":"getConfigFromNotification","detail":"Haskell.Ide.Engine.Config"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.MonadFunctions","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","errorm"],"hoogle_query":"errorm module:Haskell.Ide.Engine.MonadFunctions is:exact"},"insertTextFormat":1,"label":"errorm","detail":"Haskell.Ide.Engine.MonadFunctions"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.MonadFunctions","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","remove"],"hoogle_query":"remove module:Haskell.Ide.Engine.MonadFunctions is:exact"},"insertTextFormat":1,"label":"remove","detail":"Haskell.Ide.Engine.MonadFunctions"},{"kind":3,"data":{"name_details":["Haskell.Ide.Engine.MonadFunctions","hie-plugin-api-0.13.0.0-4SB0Lp4twNvKpAUGdylmpI","v","warningm"],"hoogle_query":"warningm module:Haskell.Ide.Engine.MonadFunctions is:exact"},"insertTextFormat":1,"label":"warningm","detail":"Haskell.Ide.Engine.MonadFunctions"}],"jsonrpc":"2.0","id":2}'
Note that in the above response insertTextFormat
is always 1, which should indicate plain text completion, however...
completionItem/resolve
request/response:
2019-11-10 17:28:11,698 - DEBUG - TX: Sending message: b'Content-Length: 346\r\n\r\n{"id":3,"jsonrpc":"2.0","method":"completionItem/resolve","params":{"data":{"hoogle_query":"makeRequest module:Haskell.Ide.Engine.Scheduler is:exact","name_details":null},"detail":"(MonadReader env m, MonadIO m, HasScheduler env m2) =>\\nPluginRequest m2 -> m ()\\nHaskell.Ide.Engine.Scheduler","insertTextFormat":1,"kind":3,"label":"makeRequest"}}'
2019-11-10 17:28:11,712 - DEBUG - RX: Received message: b'{"result":{"kind":3,"data":{"name_details":null,"hoogle_query":"makeRequest module:Haskell.Ide.Engine.Scheduler is:exact"},"insertTextFormat":2,"label":"makeRequest","detail":"(MonadReader env m, MonadIO m, HasScheduler env m2) =>\\nPluginRequest m2 -> m ()\\nHaskell.Ide.Engine.Scheduler"},"jsonrpc":"2.0","id":3}'
This is where the protocol is breached. insertionTextFormat
is 2, which indicates a snippet and assertion failure in ycmd.
Metadata
Metadata
Assignees
Labels
No labels