MyNixOS website logo
Description

Currated set of plugins for REPL based development.

Currated set of plugins for REPL based development providing some IDE-like functionality

repl-alliance

An aggregation of GHC plugins, all of which enhance REPL based development workflows by providing IDE-like functionality, with little to no overhead.

Includes

  • pinned-warnings
    • View warnings for the current GHCi session on demand
    • Automatically fix redundant import warnings
  • auto-split
    • Automatic case splitting
    • Enumerate all fields in record construction
  • auto-import
    • Automatically add import statements based on configuration
  • auto-extract
    • Extract a segment of code as a top level function declaration
  • auto-export
    • Add a declaration to the module export list
  • ghci-quickfix
    • Generate a file containing diagnostics produced during compilation for use with vim's quickfix system
    • This plugin is disabled by default, you must enable it by passing -fplugin-opt ReplAlliance:--quickfix or alternatively set the environment variable GHCI_QUICKFIX_ENABLED=true.

Usage

This plugin is intended to be used with GHCi or adjacent utilities such as ghcid and ghciwatch as a development tool, not as a package dependency.

Stack Projects

To use with a stack project (you may need to add ghci-quickfix to your extra-deps first):

stack repl my-project --package repl-alliance --ghci-options='-fplugin ReplAlliance'

Cabal Projects

To use with a cabal project (you may need to run cabal update first):

cabal repl my-project --build-depends repl-alliance --repl-options='-fplugin ReplAlliance'

Compatibility

All plugins included in repl-alliance aim to support the four latest major GHC releases.

Metadata

Version

0.1.0.0

Platforms (78)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows