Merge pull request #1794 from bubba/fix-configuration-section-name

Rename configuration section languageServerHaskell => haskell
This commit is contained in:
Luke Lau 2020-08-05 12:18:23 +01:00 committed by GitHub
commit e4972ff44c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 14 deletions

View File

@ -314,8 +314,8 @@ Wrapper script will analyze your project, find suitable version of HIE and launc
Enable it by editing VS Code settings like this:
```json
"languageServerHaskell.useCustomHieWrapper": true,
"languageServerHaskell.useCustomHieWrapperPath": "hie-wrapper",
"haskell.useCustomHieWrapper": true,
"haskell.useCustomHieWrapperPath": "hie-wrapper",
```
## Configuration
@ -323,7 +323,7 @@ There are some settings that can be configured via a `settings.json` file:
```
{
"languageServerHaskell": {
"haskell": {
"hlintOn": Boolean,
"maxNumberOfProblems": Number
"diagnosticsDebounceDuration" : Number
@ -582,7 +582,7 @@ Then issue `:CocConfig` and add the following to your Coc config file.
"haskell"
],
"initializationOptions": {
"languageServerHaskell": {
"haskell": {
}
}
}

View File

@ -1,6 +1,7 @@
{-# LANGUAGE OverloadedStrings #-}
module Haskell.Ide.Engine.Config where
import Control.Applicative
import Data.Aeson
import Data.Default
import qualified Data.Text as T
@ -54,7 +55,7 @@ instance Default Config where
-- TODO: Add API for plugins to expose their own LSP config options
instance FromJSON Config where
parseJSON = withObject "Config" $ \v -> do
s <- v .: "languageServerHaskell"
s <- v .: "haskell" <|> v.: "languageServerHaskell"
flip (withObject "Config.settings") s $ \o -> Config
<$> o .:? "hlintOn" .!= hlintOn def
<*> o .:? "diagnosticsOnChange" .!= diagnosticsOnChange def
@ -65,17 +66,17 @@ instance FromJSON Config where
<*> o .:? "formatOnImportOn" .!= formatOnImportOn def
<*> o .:? "formattingProvider" .!= formattingProvider def
-- 2017-10-09 23:22:00.710515298 [ThreadId 11] - ---> {"jsonrpc":"2.0","method":"workspace/didChangeConfiguration","params":{"settings":{"languageServerHaskell":{"maxNumberOfProblems":100,"hlintOn":true}}}}
-- 2017-10-09 23:22:00.710515298 [ThreadId 11] - ---> {"jsonrpc":"2.0","method":"workspace/didChangeConfiguration","params":{"settings":{"haskell":{"maxNumberOfProblems":100,"hlintOn":true}}}}
-- 2017-10-09 23:22:00.710667381 [ThreadId 15] - reactor:got didChangeConfiguration notification:
-- NotificationMessage
-- {_jsonrpc = "2.0"
-- , _method = WorkspaceDidChangeConfiguration
-- , _params = DidChangeConfigurationParams
-- {_settings = Object (fromList [("languageServerHaskell",Object (fromList [("hlintOn",Bool True)
-- {_settings = Object (fromList [("haskell",Object (fromList [("hlintOn",Bool True)
-- ,("maxNumberOfProblems",Number 100.0)]))])}}
instance ToJSON Config where
toJSON (Config h diag m d l c f fp) = object [ "languageServerHaskell" .= r ]
toJSON (Config h diag m d l c f fp) = object [ "haskell" .= r ]
where
r = object [ "hlintOn" .= h
, "diagnosticsOnChange" .= diag

View File

@ -330,7 +330,7 @@ spec = describe "completions" $ do
doc <- openDoc "Completion.hs" "haskell"
_ <- count 2 $ skipManyTill loggingNotification noDiagnostics
let config = object ["languageServerHaskell" .= (object ["completionSnippetsOn" .= False])]
let config = object ["haskell" .= (object ["completionSnippetsOn" .= False])]
sendNotification WorkspaceDidChangeConfiguration (DidChangeConfigurationParams config)

View File

@ -33,7 +33,7 @@ spec = do
describe "formatting provider" $ do
let formatLspConfig provider =
object [ "languageServerHaskell" .= object ["formattingProvider" .= (provider :: Value)] ]
object [ "haskell" .= object ["formattingProvider" .= (provider :: Value)] ]
formatConfig provider = defaultConfig { lspConfig = Just (formatLspConfig provider) }
it "respects none" $ runSessionWithConfig (formatConfig "none") hieCommand fullCaps "test/testdata" $ do
@ -94,7 +94,7 @@ spec = do
describe "ormolu" $ do
let formatLspConfig provider =
object [ "languageServerHaskell" .= object ["formattingProvider" .= (provider :: Value)] ]
object [ "haskell" .= object ["formattingProvider" .= (provider :: Value)] ]
it "formats correctly" $ runSession hieCommand fullCaps "test/testdata" $ do
sendNotification WorkspaceDidChangeConfiguration (DidChangeConfigurationParams (formatLspConfig "ormolu"))