Skip to content
This repository was archived by the owner on Oct 7, 2020. It is now read-only.

Commit aa0f0c5

Browse files
committed
Remove Base plugin
1 parent d3bce65 commit aa0f0c5

File tree

7 files changed

+20
-90
lines changed

7 files changed

+20
-90
lines changed

app/HieWrapper.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import HIE.Bios
1313
import Haskell.Ide.Engine.MonadFunctions
1414
import Haskell.Ide.Engine.Cradle (findLocalCradle)
1515
import Haskell.Ide.Engine.Options
16-
import Haskell.Ide.Engine.Plugin.Base
16+
import Haskell.Ide.Engine.Version
1717
import qualified Language.Haskell.LSP.Core as Core
1818
import Options.Applicative.Simple
1919
import qualified Paths_haskell_ide_engine as Meta
@@ -44,7 +44,7 @@ main = do
4444
-- Parse the options and run
4545
(global, ()) <-
4646
simpleOptions
47-
version
47+
hieVersion
4848
"hie-wrapper - Launch the appropriate haskell-ide-engine for a given project"
4949
""
5050
(numericVersion <*> compiler <*> globalOptsParser)
@@ -68,7 +68,7 @@ run opts = do
6868

6969

7070
progName <- getProgName
71-
logm $ "run entered for hie-wrapper(" ++ progName ++ ") " ++ version
71+
logm $ "run entered for hie-wrapper(" ++ progName ++ ") " ++ hieVersion
7272
d <- getCurrentDirectory
7373
logm $ "Current directory:" ++ d
7474
logm $ "Operating system:" ++ os

app/MainHie.hs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Haskell.Ide.Engine.MonadTypes
1010
import Haskell.Ide.Engine.Options
1111
import Haskell.Ide.Engine.Scheduler
1212
import Haskell.Ide.Engine.Server
13+
import Haskell.Ide.Engine.Version
1314
import qualified Language.Haskell.LSP.Core as Core
1415
import Options.Applicative.Simple
1516
import qualified Paths_haskell_ide_engine as Meta
@@ -23,7 +24,6 @@ import System.IO
2324
-- plugins
2425

2526
import Haskell.Ide.Engine.Plugin.ApplyRefact
26-
import Haskell.Ide.Engine.Plugin.Base
2727
import Haskell.Ide.Engine.Plugin.Brittany
2828
import Haskell.Ide.Engine.Plugin.Example2
2929
import Haskell.Ide.Engine.Plugin.Bios
@@ -48,7 +48,6 @@ plugins includeExamples = pluginDescToIdePlugins allPlugins
4848
else basePlugins
4949
basePlugins =
5050
[ applyRefactDescriptor "applyrefact"
51-
, baseDescriptor "base"
5251
, brittanyDescriptor "brittany"
5352
, haddockDescriptor "haddock"
5453
-- , hareDescriptor "hare"
@@ -85,7 +84,7 @@ main = do
8584
-- Parse the options and run
8685
(global, ()) <-
8786
simpleOptions
88-
version
87+
hieVersion
8988
"haskell-ide-engine - Provide a common engine to power any Haskell IDE"
9089
""
9190
(numericVersion <*> compiler <*> globalOptsParser)
@@ -111,7 +110,7 @@ run opts = do
111110
maybe (pure ()) setCurrentDirectory $ projectRoot opts
112111

113112
progName <- getProgName
114-
logm $ "Run entered for HIE(" ++ progName ++ ") " ++ version
113+
logm $ "Run entered for HIE(" ++ progName ++ ") " ++ hieVersion
115114
logm $ "Current directory:" ++ origDir
116115
args <- getArgs
117116
logm $ "args:" ++ show args

haskell-ide-engine.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ library
2222
exposed-modules: Haskell.Ide.Engine.Channel
2323
Haskell.Ide.Engine.CodeActions
2424
Haskell.Ide.Engine.Completions
25-
Haskell.Ide.Engine.Plugin.Base
2625
Haskell.Ide.Engine.Reactor
2726
Haskell.Ide.Engine.Options
2827
Haskell.Ide.Engine.Plugin.ApplyRefact
@@ -46,6 +45,7 @@ library
4645
Haskell.Ide.Engine.Support.HieExtras
4746
Haskell.Ide.Engine.Server
4847
Haskell.Ide.Engine.Types
48+
Haskell.Ide.Engine.Version
4949
other-modules: Paths_haskell_ide_engine
5050
build-depends: Cabal >= 1.22
5151
, Diff

src/Haskell/Ide/Engine/Server.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,14 @@ import Haskell.Ide.Engine.Reactor
4747
import Haskell.Ide.Engine.MonadFunctions
4848
import Haskell.Ide.Engine.MonadTypes
4949
import qualified Haskell.Ide.Engine.Plugin.ApplyRefact as ApplyRefact
50-
import Haskell.Ide.Engine.Plugin.Base
5150
-- import qualified Haskell.Ide.Engine.Plugin.HaRe as HaRe
5251
import qualified Haskell.Ide.Engine.Support.Hoogle as Hoogle
5352
import Haskell.Ide.Engine.PluginUtils
5453
import qualified Haskell.Ide.Engine.Scheduler as Scheduler
5554
import qualified Haskell.Ide.Engine.Support.HieExtras as Hie
5655
import Haskell.Ide.Engine.Types
5756
import qualified Haskell.Ide.Engine.Plugin.Bios as BIOS
57+
import Haskell.Ide.Engine.Version
5858
import qualified Language.Haskell.LSP.Control as CTRL
5959
import qualified Language.Haskell.LSP.Core as Core
6060
import Language.Haskell.LSP.Diagnostics
@@ -395,7 +395,7 @@ reactor inp diagIn = do
395395
reactorSend $ ReqRegisterCapability $ fmServerRegisterCapabilityRequest rid registrations
396396

397397
reactorSend $ NotLogMessage $
398-
fmServerLogMessageNotification J.MtLog $ "Using hie version: " <> T.pack version
398+
fmServerLogMessageNotification J.MtLog $ "Using hie version: " <> T.pack hieVersion
399399

400400
lspRootDir <- asksLspFuncs Core.rootPath
401401
currentDir <- liftIO getCurrentDirectory

src/Haskell/Ide/Engine/Plugin/Base.hs renamed to src/Haskell/Ide/Engine/Version.hs

Lines changed: 10 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1,93 +1,26 @@
1-
{-# LANGUAGE CPP #-}
2-
{-# LANGUAGE DataKinds #-}
3-
{-# LANGUAGE GADTs #-}
4-
{-# LANGUAGE OverloadedStrings #-}
5-
{-# LANGUAGE PartialTypeSignatures #-}
6-
{-# LANGUAGE TemplateHaskell #-}
7-
module Haskell.Ide.Engine.Plugin.Base where
1+
{-# LANGUAGE CPP, TemplateHaskell, OverloadedStrings #-}
2+
-- | Information and display strings for HIE's version
3+
-- and the current project's version
4+
module Haskell.Ide.Engine.Version where
85

96
import Control.Exception
10-
import Data.Aeson
11-
import Data.Foldable
12-
import qualified Data.Map as Map
137
import Data.Maybe
14-
import qualified Data.Text as T
15-
import qualified Data.Versions as V
168
import Development.GitRev (gitCommitCount)
179
import Distribution.System (buildArch)
1810
import Distribution.Text (display)
19-
import Haskell.Ide.Engine.MonadTypes
11+
import Options.Applicative.Simple (simpleVersion)
2012
import Haskell.Ide.Engine.Cradle (isStackCradle)
2113
import qualified HIE.Bios.Types as BIOS
22-
import Options.Applicative.Simple (simpleVersion)
2314
import qualified Paths_haskell_ide_engine as Meta
24-
15+
import qualified System.Log.Logger as L
16+
import qualified Data.Text as T
17+
import qualified Data.Versions as V
2518
import System.Directory
2619
import System.Info
2720
import System.Process
28-
import qualified System.Log.Logger as L
29-
30-
-- ---------------------------------------------------------------------
31-
32-
baseDescriptor :: PluginId -> PluginDescriptor
33-
baseDescriptor plId = PluginDescriptor
34-
{ pluginId = plId
35-
, pluginName = "HIE Base"
36-
, pluginDesc = "Commands for HIE itself"
37-
, pluginCommands =
38-
[ PluginCommand "version" "return HIE version" versionCmd
39-
, PluginCommand "plugins" "list available plugins" pluginsCmd
40-
, PluginCommand "commands" "list available commands for a given plugin" commandsCmd
41-
, PluginCommand "commandDetail" "list parameters required for a given command" commandDetailCmd
42-
]
43-
, pluginCodeActionProvider = Nothing
44-
, pluginDiagnosticProvider = Nothing
45-
, pluginHoverProvider = Nothing
46-
, pluginSymbolProvider = Nothing
47-
, pluginFormattingProvider = Nothing
48-
}
49-
50-
-- ---------------------------------------------------------------------
51-
52-
versionCmd :: CommandFunc () T.Text
53-
versionCmd = CmdSync $ \_ -> return $ IdeResultOk (T.pack version)
54-
55-
pluginsCmd :: CommandFunc () IdePlugins
56-
pluginsCmd = CmdSync $ \_ ->
57-
IdeResultOk <$> getPlugins
58-
59-
commandsCmd :: CommandFunc T.Text [CommandName]
60-
commandsCmd = CmdSync $ \p -> do
61-
IdePlugins plugins <- getPlugins
62-
case Map.lookup p plugins of
63-
Nothing -> return $ IdeResultFail $ IdeError
64-
{ ideCode = UnknownPlugin
65-
, ideMessage = "Can't find plugin:" <> p
66-
, ideInfo = toJSON p
67-
}
68-
Just pl -> return $ IdeResultOk $ map commandName $ pluginCommands pl
69-
70-
commandDetailCmd :: CommandFunc (T.Text, T.Text) T.Text
71-
commandDetailCmd = CmdSync $ \(p,command) -> do
72-
IdePlugins plugins <- getPlugins
73-
case Map.lookup p plugins of
74-
Nothing -> return $ IdeResultFail $ IdeError
75-
{ ideCode = UnknownPlugin
76-
, ideMessage = "Can't find plugin:" <> p
77-
, ideInfo = toJSON p
78-
}
79-
Just pl -> case find (\cmd -> command == commandName cmd) (pluginCommands pl) of
80-
Nothing -> return $ IdeResultFail $ IdeError
81-
{ ideCode = UnknownCommand
82-
, ideMessage = "Can't find command:" <> command
83-
, ideInfo = toJSON command
84-
}
85-
Just detail -> return $ IdeResultOk (commandDesc detail)
86-
87-
-- ---------------------------------------------------------------------
8821

89-
version :: String
90-
version =
22+
hieVersion :: String
23+
hieVersion =
9124
let commitCount = $gitCommitCount
9225
in concat $ concat
9326
[ [$(simpleVersion Meta.version)]

test/dispatcher/Main.hs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ import System.IO
3131
-- plugins
3232

3333
import Haskell.Ide.Engine.Plugin.ApplyRefact
34-
import Haskell.Ide.Engine.Plugin.Base
3534
import Haskell.Ide.Engine.Plugin.Example2
3635
-- import Haskell.Ide.Engine.Plugin.HaRe
3736
import Haskell.Ide.Engine.Plugin.Bios
@@ -66,7 +65,6 @@ plugins = pluginDescToIdePlugins
6665
[applyRefactDescriptor "applyrefact"
6766
,example2Descriptor "eg2"
6867
,biosDescriptor "bios"
69-
,baseDescriptor "base"
7068
]
7169

7270
startServer :: IO (Scheduler IO, TChan LogVal, ThreadId)

test/wrapper/HieWrapper.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ module Main where
22

33
import Control.Monad.IO.Class (liftIO)
44
import Haskell.Ide.Engine.Cradle (findLocalCradle)
5-
import Haskell.Ide.Engine.Plugin.Base
5+
import Haskell.Ide.Engine.Version
66
import Test.Hspec
77
import System.Directory
88
import System.FilePath

0 commit comments

Comments
 (0)