import Data.Default
import qualified Data.HashMap.Strict as HM
import qualified Data.Text as T
+import Control.Applicative.Combinators
import Control.Concurrent
import Control.Monad.IO.Class
import Control.Monad
import Language.Haskell.LSP.Test
import Language.Haskell.LSP.Test.Replay
import Language.Haskell.LSP.Types.Capabilities
-import Language.Haskell.LSP.Types hiding (message, capabilities)
+import Language.Haskell.LSP.Types hiding (capabilities, message)
import System.Timeout
+{-# ANN module ("HLint: ignore Reduce duplication" :: String) #-}
+{-# ANN module ("HLint: ignore Unnecessary hiding" :: String) #-}
+
main = hspec $ do
describe "Session" $ do
it "fails a test" $
noDiagnostics
contents <- documentContents doc
- liftIO $ contents `shouldBe` "main :: IO Int\nmain = return 42"
+ liftIO $ contents `shouldBe` "main :: IO Int\nmain = return 42\n"
describe "getDocumentEdit" $
it "automatically consumes applyedit requests" $
reqParams = ExecuteCommandParams "applyrefact:applyOne" (Just (List [args]))
sendRequest_ WorkspaceExecuteCommand reqParams
contents <- getDocumentEdit doc
- liftIO $ contents `shouldBe` "main :: IO Int\nmain = return 42"
+ liftIO $ contents `shouldBe` "main :: IO Int\nmain = return 42\n"
noDiagnostics
describe "getAllCodeActions" $