Skip to content

coot/zsh-haskell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZSH shell plugin for Haskell

  • completion for ghc options
  • completion for cabal commands; it can expands cabal components (libraries, tests, benchmarks and executables) and pkgs specs. It also complets options of cabal commands and package names (e.g. cabal info or cabal install)
  • completion for ghc-pkgs commands & options

Usage

The completion script will find and inspect all cabal files under current directory which are not deeper than four directories away. It does not descent under dist-newstye, dist, .stack-work or .git directories.

Completion for the following package specs is supported:

  • component-name - it can be either a component name or a package name
  • package-name:{lib,test,exe,bench}:component-name
  • package-name:{libs,tests,exes,benches}
  • pkg:package-name:{lib,test,exe,bench}:component-name.
  • pkg:package-name:{libs,tests,exes,benches}.
  • lib:component-name,
  • exec:component-name,
  • bench:component-name,
  • test:component-name

The last six are only triggered when pkg:, lib:, exec:, bench: or test: are given explicitly. This is in order to avoid providing too many completion results.

Configuration

zstyle ":completion::complete:cabal::options:" depth 4

Maximan directory depth for searching for *.cabal files.

zstyle ":completion::complete:cabal::options:" 
zstyle ":completion::complete:cabal::options:" packages-tmp-file "/tmp/zsh-haskell-cabal-packages"

File which stores list of package names. It will be created on demenad (e.g. by completiting cabal info or cabal install, etc.).

Demo

About

ghc and cabal completion for zsh shell

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages