ghcide: The core of an IDE

[ apache, development, library ] [ Propose Tags ] [ Report a vulnerability ]

A library for building Haskell IDE's on top of the GHC API.


[Skip to Readme]

Modules

[Last Documentation]

  • Control
    • Concurrent
      • Control.Concurrent.Strict
  • Development
    • Development.IDE
      • Core
        • Development.IDE.Core.Actions
        • Development.IDE.Core.Compile
        • Development.IDE.Core.Debouncer
        • Development.IDE.Core.FileStore
        • Development.IDE.Core.FileUtils
        • Development.IDE.Core.IdeConfiguration
        • Development.IDE.Core.LookupMod
        • Development.IDE.Core.OfInterest
        • Development.IDE.Core.PluginUtils
        • Development.IDE.Core.PositionMapping
        • Development.IDE.Core.Preprocessor
        • Development.IDE.Core.ProgressReporting
        • Development.IDE.Core.RuleTypes
        • Development.IDE.Core.Rules
        • Development.IDE.Core.Service
        • Development.IDE.Core.Shake
        • Development.IDE.Core.Tracing
        • Development.IDE.Core.UseStale
        • Development.IDE.Core.WorkerThread
      • GHC
        • Development.IDE.GHC.Compat
          • Development.IDE.GHC.Compat.CmdLine
          • Development.IDE.GHC.Compat.Core
          • Development.IDE.GHC.Compat.Driver
          • Development.IDE.GHC.Compat.Env
          • Development.IDE.GHC.Compat.Error
          • Development.IDE.GHC.Compat.Iface
          • Development.IDE.GHC.Compat.Logger
          • Development.IDE.GHC.Compat.Outputable
          • Development.IDE.GHC.Compat.Parser
          • Development.IDE.GHC.Compat.Plugins
          • Development.IDE.GHC.Compat.Units
          • Development.IDE.GHC.Compat.Util
        • Development.IDE.GHC.CoreFile
        • Development.IDE.GHC.Error
        • Development.IDE.GHC.Orphans
        • Development.IDE.GHC.Util
      • Import
        • Development.IDE.Import.DependencyInformation
        • Development.IDE.Import.FindImports
      • LSP
        • Development.IDE.LSP.HoverDefinition
        • Development.IDE.LSP.LanguageServer
        • Development.IDE.LSP.Notifications
        • Development.IDE.LSP.Outline
        • Development.IDE.LSP.Server
      • Development.IDE.Main
        • Development.IDE.Main.HeapStats
      • Monitoring
        • Development.IDE.Monitoring.OpenTelemetry
      • Development.IDE.Plugin
        • Development.IDE.Plugin.Completions
          • Development.IDE.Plugin.Completions.Logic
          • Development.IDE.Plugin.Completions.Types
        • Development.IDE.Plugin.HLS
          • Development.IDE.Plugin.HLS.GhcIde
        • Development.IDE.Plugin.Test
        • Development.IDE.Plugin.TypeLenses
      • Development.IDE.Session
        • Development.IDE.Session.Diagnostics
        • Development.IDE.Session.Implicit
      • Spans
        • Development.IDE.Spans.AtPoint
        • Development.IDE.Spans.Common
        • Development.IDE.Spans.Documentation
        • Development.IDE.Spans.LocalBindings
        • Development.IDE.Spans.Pragmas
      • Types
        • Development.IDE.Types.Diagnostics
        • Development.IDE.Types.Exports
        • Development.IDE.Types.HscEnvEq
        • Development.IDE.Types.KnownTargets
        • Development.IDE.Types.Location
        • Development.IDE.Types.Monitoring
        • Development.IDE.Types.Options
        • Development.IDE.Types.Shake
  • Generics
    • SYB
      • Generics.SYB.GHC
  • Text
    • Fuzzy
      • Text.Fuzzy.Levenshtein
      • Text.Fuzzy.Parallel

Flags

Manual Flags

NameDescriptionDefault
pedantic

Enable -Werror

Disabled
Automatic Flags
NameDescriptionDefault
executable

Build the ghcide executable

Enabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Versions [RSS] 0.0.1, 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6, 0.1.0, 0.2.0, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 0.6.0.1, 0.6.0.2, 0.7.0.0, 0.7.1.0, 0.7.2.0, 0.7.3.0, 0.7.4.0, 0.7.5.0, 1.0.0.0, 1.1.0.0, 1.2.0.0, 1.2.0.1, 1.2.0.2, 1.3.0.0, 1.4.0.1, 1.4.0.2, 1.4.0.3, 1.4.1.0, 1.4.2.0, 1.4.2.1, 1.4.2.2, 1.4.2.3, 1.5.0, 1.5.0.1, 1.6.0.0, 1.6.0.1, 1.7.0.0, 1.8.0.0, 1.9.0.0, 1.9.1.0, 1.10.0.0, 2.0.0.0, 2.0.0.1, 2.1.0.0, 2.2.0.0, 2.3.0.0, 2.4.0.0, 2.5.0.0, 2.6.0.0, 2.7.0.0, 2.8.0.0, 2.9.0.0, 2.9.0.1, 2.10.0.0, 2.11.0.0, 2.12.0.0, 2.13.0.0 (info)
Change log CHANGELOG.md
Dependencies aeson, array, async, base (>=4.16 && <5), base16-bytestring (>=0.1.1 && <1.1), binary, bytestring, case-insensitive, co-log-core, containers, cryptohash-sha1 (>=0.11.100 && <0.12), data-default, deepseq, dependent-map, dependent-sum, Diff (>=0.5 && <0.6 || >=1.0.0 && <1.1), directory, dlist, edit-distance, enummapset, exceptions, extra (>=1.7.14), filepath, fingertree, focus (>=1.0.3.2), ghc (>=9.2), ghc-boot, ghc-boot-th, ghc-trace-events, ghcide, gitrev, Glob, haddock-library (>=1.8 && <1.12), hashable, hie-bios (>=0.17.0 && <0.18), hiedb (>=0.7.0.0 && <0.8), hls-graph (==2.13.0.0), hls-plugin-api (==2.13.0.0), implicit-hie (>=0.1.4.0 && <0.1.5), lens, lens-aeson, list-t, lsp (>=2.7 && <2.8), lsp-types (>=2.3 && <2.4), mtl, opentelemetry (>=0.6.1), optparse-applicative, os-string, parallel, prettyprinter (>=1.7), prettyprinter-ansi-terminal, process, random, regex-tdfa (>=1.3.1.0), safe-exceptions, sorted-list, sqlite-simple, stm, stm-containers, syb, text, text-rope, time, transformers, unix, unliftio (>=0.2.6), unliftio-core, unordered-containers (>=0.2.10.0), vector, Win32 [details]
Tested with ghc ==9.12.2 || ==9.10.1 || ==9.8.4 || ==9.6.7
License Apache-2.0
Copyright Digital Asset and Ghcide contributors 2018-2020
Author Digital Asset and Ghcide contributors
Maintainer Ghcide contributors
Uploaded by hls_team at 2026-01-16T15:51:57Z
Category Development
Home page https://github.com/haskell/haskell-language-server/tree/master/ghcide#readme
Bug tracker https://github.com/haskell/haskell-language-server/issues
Source repo head: git clone https://github.com/haskell/haskell-language-server.git
Distributions Arch:2.2.0.0, NixOS:2.12.0.0
Reverse Dependencies 39 direct, 0 indirect [details]
Executables ghcide
Downloads 25851 total (227 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs pending
Build status unknown [no reports yet]

Readme for ghcide-2.13.0.0

[back to package description]

ghcide - A library for building Haskell IDE tooling

Using it

ghcide is not an end-user tool, don't use ghcide directly (more about the rationale here).

haskell-language-server is an LSP server built on top of ghcide with additional features and a user friendly deployment model. To get it, simply install the Haskell extension in VS Code, or download prebuilt binaries from the haskell-language-server project page.

Set-up and usage instructions can be found on haskell-language-server documentation