This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/layers/+lang/idris
Timothy Jones 2f6a45f561 Rename the idris-lang layer to idris
The idris-mode package has been updated to no longer use the
idris-packages variable, which allows the Idris layer to safely be
renamed to the standard for other languages.
2015-09-22 11:08:22 +02:00
..
img Rename the idris-lang layer to idris 2015-09-22 11:08:22 +02:00
packages.el Rename the idris-lang layer to idris 2015-09-22 11:08:22 +02:00
README.org Rename the idris-lang layer to idris 2015-09-22 11:08:22 +02:00

Idris contribution layer for Spacemacs

/TakeV/spacemacs/media/commit/6e5924014cfa675aea75950cf7c076eef7876d53/layers/+lang/idris/img/idris.png

Description

This layer adds support for the Idris language.

Install

Layer

To use this layer, add it to your ~/.spacemacs

(setq-default dotspacemacs-configuration-layers '(idris))

Idris

Idris can be installed using Haskell's cabal:

cabal install idris

Binaries are also available for some platforms at http://www.idris-lang.org/download/

Key bindings

Shorthands

Several (but not all) of the evil-leader shorthands that idris-mode provides are reproduced under the local leader.

Key Binding Description
SPC m c Case split the pattern variable under point.
SPC m d Create an initial pattern match clause for a type declaration.
SPC m p Attempt to solve a metavariable automatically.
SPC m r Load current buffer into Idris.
SPC m t Get the type for the identifier under point.
SPC m w Add a with block for the pattern-match clause under point.

Interactive editing

Key Binding Description
SPC m i a Attempt to solve a metavariable automatically.
SPC m i c Case split the pattern variable under point.
SPC m i e Extract a metavariable or provisional definition name to an explicit top level definition.
SPC m i m Add missing pattern-match cases to an existing definition.
SPC m i r Refine by name, without recursive proof search.
SPC m i s Create an initial pattern match clause for a type declaration.
SPC m i w Add a with block for the pattern-match clause under point.

Documentation

Key Binding Description
SPC m h a Search the documentation for a string.
SPC m h d Search the documentation for the name under point.
SPC m h s Search the documentation regarding a particular type.
SPC m h t Get the type for the identifier under point.

REPL

Key Binding Description
SPC m s b Load the current buffer into Idris.
SPC m s B Load the current buffer into Idris and switch to REPL in insert state
SPC m s i Start Idris inferior process
SPC m s n Extend the region to be loaded one line at a time.
SPC m s N Extend the region to be loaded one line at a time and switch to REPL in insert state
SPC m s p Contract the region to be loaded one line at a time
SPC m s P Contract the region to be loaded one line at a time and switch to REPL in insert state
SPC m s s Switch to REPL buffer

Active term manipulations

Key Binding Description
SPC m m c Show the core language for the term at point.
SPC m m i Show implicits for the term at point.
SPC m m h Hide implicits for the term at point.
SPC m m n Normalize the term at point.

Build system

Key Binding Description
SPC m b c Build the package.
SPC m b C Clean the package, removing .ibc files
SPC m b i Install the package to the user's repository, building first if necessary.
SPC m b p Open package file.

When inside a package file, you can insert a field with SPC m f.