mirror of
https://github.com/haskell/haskell-ide-engine.git
synced 2024-09-11 11:05:30 +03:00
Merge pull request #1794 from bubba/fix-configuration-section-name
Rename configuration section languageServerHaskell => haskell
This commit is contained in:
commit
e4972ff44c
@ -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": {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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"))
|
||||
|
Loading…
Reference in New Issue
Block a user