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

Possible configuration mechanism #25

Open
alanz opened this issue Nov 6, 2015 · 2 comments
Open

Possible configuration mechanism #25

alanz opened this issue Nov 6, 2015 · 2 comments

Comments

@alanz
Copy link
Collaborator

alanz commented Nov 6, 2015

At the moment HIE has a list of dependencies in its cabal file, for plugins available to it.
Then in the MainHIE.hs it has a variable of type Plugins which enumerates the plugins to be available.

plugins :: Plugins
plugins = Map.fromList
  [
    -- Note: statically including known plugins. In future this map could be set
    -- up via a config file of some kind.
    ("eg2",  example2Descriptor)
  , ("hare", hareDescriptor)
    -- The base plugin, able to answer questions about the IDE Engine environment.
  , ("base", baseDescriptor)
  ]

A possible future configuration process would be to have a separate exe that can read a HIE config file, containing a list of (plugin name,plugin descriptor,originating package). This exe would then generate a cabal file and Main.hs that calls for the packages to be installed, and sets up the plugins variable.

Hence a local configuration can have whatever plugins are required. This can work since we assume we are doing haskell dev, and have a compiler on hand.

@alanz
Copy link
Collaborator Author

alanz commented Nov 6, 2015

This process could be used for frontend listeners too, to provide aribtrary protocol adapters to the various IDEs

@alanz
Copy link
Collaborator Author

alanz commented Dec 24, 2018

See also #904

@alanz alanz added this to the Some time milestone Dec 24, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant