Skip to content
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
@bstaletic

Description

@bstaletic

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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions