Skip to content

Instantly share code, notes, and snippets.

@epsilonhalbe
Last active June 18, 2017 20:57

Revisions

  1. epsilonhalbe revised this gist Aug 15, 2015. 1 changed file with 3 additions and 4 deletions.
    7 changes: 3 additions & 4 deletions haskell-prompt-info.zsh
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,3 @@
    autoload -U colors && colors
    function haskell_info() {
    cabal_files=(*.cabal(N))
    if [ $#cabal_files -gt 0 ]; then
    @@ -15,13 +14,13 @@ function haskell_info() {
    function stack_info() {
    ghc_version=`ghc --version | rev | cut -d' ' -f 1 | rev`
    resolver_yaml=`cat stack.yaml | grep resolver | cut -d' ' -f 2`
    if [ -d `.stack-work/install/x86_64-linux/$resolver_yaml` ]; then
    if [ -d ".stack-work/install/x86_64-linux/$resolver_yaml" ]; then
    ghc_stack=`ls .stack-work/install/x86_64-linux/$resolver_yaml/ | grep $ghc_version`
    if [ $ghc_stack ]; then
    echo "[%{$fg[green]%}$resolver_yaml %{$reset_color%}| %{$fg[green]%}$ghc_version%{$reset_color%}]"
    else
    ghc_stack=`ls .stack-work/install/x86_64-linux/$resolver_yaml/ | xargs`
    echo "[%{$fg[green]%}$resolver_yaml %{$reset_color%}| %{$fg[red]%}$ghc_stack%{$reset_color%}]"
    echo "[%{$fg[green]%}$resolver_yaml%{$reset_color%}|%{$fg[red]%}$ghc_stack%{$reset_color%}]"
    fi
    else
    echo "%{$fg[red]%}[$resolver_yaml missing please do a 'stack build']%{$reset_color%}"
    @@ -39,4 +38,4 @@ function cabal_sandbox_info() {
    fi
    }

    RPROMPT="\$(haskell_info) $RPROMPT"
    RPROMPT="\$(haskell_info) $RPROMPT"
  2. epsilonhalbe created this gist Aug 15, 2015.
    42 changes: 42 additions & 0 deletions haskell-prompt-info.zsh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,42 @@
    autoload -U colors && colors
    function haskell_info() {
    cabal_files=(*.cabal(N))
    if [ $#cabal_files -gt 0 ]; then
    if [ -f cabal.sandbox.config ]; then
    cabal_sandbox_info
    elif [ -f stack.yaml ]; then
    stack_info
    else
    echo "%{$fg[red]%}no stack/sandbox%{$reset_color%}"
    fi
    fi
    }

    function stack_info() {
    ghc_version=`ghc --version | rev | cut -d' ' -f 1 | rev`
    resolver_yaml=`cat stack.yaml | grep resolver | cut -d' ' -f 2`
    if [ -d `.stack-work/install/x86_64-linux/$resolver_yaml` ]; then
    ghc_stack=`ls .stack-work/install/x86_64-linux/$resolver_yaml/ | grep $ghc_version`
    if [ $ghc_stack ]; then
    echo "[%{$fg[green]%}$resolver_yaml %{$reset_color%}| %{$fg[green]%}$ghc_version%{$reset_color%}]"
    else
    ghc_stack=`ls .stack-work/install/x86_64-linux/$resolver_yaml/ | xargs`
    echo "[%{$fg[green]%}$resolver_yaml %{$reset_color%}| %{$fg[red]%}$ghc_stack%{$reset_color%}]"
    fi
    else
    echo "%{$fg[red]%}[$resolver_yaml missing please do a 'stack build']%{$reset_color%}"
    fi
    }

    function cabal_sandbox_info() {
    ghc_version=`ghc --version | rev | cut -d' ' -f 1 | rev`
    ghc_loc=`ls .cabal-sandbox | grep ghc | cut -d'-' -f 4 | grep $ghc_version`
    if [ $ghc_loc ]; then
    echo "[%{$fg[green]%}$ghc_version%{$reset_color%}]"
    else
    ghc_version=`ls .cabal-sandbox | grep ghc | cut -d'-' -f 4 | xargs`
    echo "[%{$fg[red]%}$ghc_version%{$reset_color%}]"
    fi
    }

    RPROMPT="\$(haskell_info) $RPROMPT"