Idris.IdeMode

idris-1.3.4: Functional Programming Language with Dependent Types

License | BSD3
Maintainer | The Idris Community.
Safe Haskell | None
Language | Haskell2010

Idris.IdeMode

Description

Synopsis

- parseMessage :: String -> Either Err (SExp, Integer)
- convSExp :: SExpable a => String -> a -> Integer -> String
- data WhatDocs
  - = Overview
  - | Full
- data IdeModeCommand
  - = REPLCompletions String
  - | Interpret String
  - | TypeOf String
  - | CaseSplit Int String
  - | AddClause Int String
  - | AddProofClause Int String
  - | AddMissing Int String
  - | MakeWithBlock Int String
  - | MakeCaseBlock Int String
  - | ProofSearch Bool Int String [String] (Maybe Int)
  - | MakeLemma Int String
  - | LoadFile String (Maybe Int)
  - | DocsFor String WhatDocs
  - | Apropos String
  - | GetOpts
  - | SetOpt Opt Bool
  - | Metavariables Int
  - | WhoCalls String
  - | CallsWho String
  - | BrowseNS String
  - | TermNormalise [(Name, Bool)] Term
  - | TermShowImplicits [(Name, Bool)] Term
  - | TermNoImplicits [(Name, Bool)] Term
  - | TermElab [(Name, Bool)] Term
  - | PrintDef String
  - | ErrString Err
  - | ErrPPrint Err
  - | GetIdrisVersion
- sexpToCommand :: SExp -> Maybe IdeModeCommand
- toSExp :: SExpable a => a -> SExp
- data SExp
  - = SexpList [SExp]
  - | StringAtom String
  - | BoolAtom Bool
  - | IntegerAtom Integer
  - | SymbolAtom String
- class SExpable a
- data Opt
  - = ShowImpl
  - | ErrContext
- ideModeEpoch :: Int
- getLen :: Handle -> IO (Either Err Int)
- getNChar :: Handle -> Int -> String -> IO String
- sExpToString :: SExp -> String

# Documentation

parseMessage :: String -> Either Err (SExp, Integer) #

convSExp :: SExpable a => String -> a -> Integer -> String #

data WhatDocs #

Constructors

Overview |
Full |

data IdeModeCommand #

Constructors

REPLCompletions String |
Interpret String |
TypeOf String |
CaseSplit Int String |
AddClause Int String |
AddProofClause Int String |
AddMissing Int String |
MakeWithBlock Int String |
MakeCaseBlock Int String |
ProofSearch Bool Int String [String] (Maybe Int) | ^ Recursive?, line, name, hints, depth
MakeLemma Int String |
LoadFile String (Maybe Int) |
DocsFor String WhatDocs |
Apropos String |
GetOpts |
SetOpt Opt Bool |
Metavariables Int | ^ the Int is the column count for pretty-printing
WhoCalls String |
CallsWho String |
BrowseNS String |
TermNormalise [(Name, Bool)] Term |
TermShowImplicits [(Name, Bool)] Term |
TermNoImplicits [(Name, Bool)] Term |
TermElab [(Name, Bool)] Term |
PrintDef String |
ErrString Err |
ErrPPrint Err |
GetIdrisVersion |

sexpToCommand :: SExp -> Maybe IdeModeCommand #

toSExp :: SExpable a => a -> SExp #

data SExp #

Constructors

SexpList [SExp] |
StringAtom String |
BoolAtom Bool |
IntegerAtom Integer |
SymbolAtom String |

#### Instances

Instances details

Show SExp # |
Instance details Defined in Idris.IdeMode Methods showsPrec :: Int -> SExp -> ShowS # show :: SExp -> String # showList :: [SExp] -> ShowS #
Eq SExp # |
Instance details Defined in Idris.IdeMode Methods (==) :: SExp -> SExp -> Bool # (/=) :: SExp -> SExp -> Bool #
SExpable SExp # |
Instance details Defined in Idris.IdeMode Methods toSExp :: SExp -> SExp #

class SExpable a #

Minimal complete definition

toSExp

#### Instances

Instances details

SExpable FC # |
Instance details Defined in Idris.IdeMode Methods toSExp :: FC -> SExp #
SExpable Name # |
Instance details Defined in Idris.IdeMode Methods toSExp :: Name -> SExp #
SExpable NameOutput # |
Instance details Defined in Idris.IdeMode Methods toSExp :: NameOutput -> SExp #
SExpable OutputAnnotation # |
Instance details Defined in Idris.IdeMode Methods toSExp :: OutputAnnotation -> SExp #
SExpable SExp # |
Instance details Defined in Idris.IdeMode Methods toSExp :: SExp -> SExp #
SExpable Integer # |
Instance details Defined in Idris.IdeMode Methods toSExp :: Integer -> SExp #
SExpable String # |
Instance details Defined in Idris.IdeMode Methods toSExp :: String -> SExp #
SExpable Bool # |
Instance details Defined in Idris.IdeMode Methods toSExp :: Bool -> SExp #
SExpable Int # |
Instance details Defined in Idris.IdeMode Methods toSExp :: Int -> SExp #
SExpable a => SExpable (Maybe a) # |
Instance details Defined in Idris.IdeMode Methods toSExp :: Maybe a -> SExp #
SExpable a => SExpable [a] # |
Instance details Defined in Idris.IdeMode Methods toSExp :: [a] -> SExp #
(SExpable a, SExpable b) => SExpable (a, b) # |
Instance details Defined in Idris.IdeMode Methods toSExp :: (a, b) -> SExp #
(SExpable a, SExpable b, SExpable c) => SExpable (a, b, c) # |
Instance details Defined in Idris.IdeMode Methods toSExp :: (a, b, c) -> SExp #
(SExpable a, SExpable b, SExpable c, SExpable d) => SExpable (a, b, c, d) # |
Instance details Defined in Idris.IdeMode Methods toSExp :: (a, b, c, d) -> SExp #
(SExpable a, SExpable b, SExpable c, SExpable d, SExpable e) => SExpable (a, b, c, d, e) # |
Instance details Defined in Idris.IdeMode Methods toSExp :: (a, b, c, d, e) -> SExp #

data Opt #

Constructors

ShowImpl |
ErrContext |

#### Instances

Instances details

Show Opt # |
Instance details Defined in Idris.IdeMode Methods showsPrec :: Int -> Opt -> ShowS # show :: Opt -> String # showList :: [Opt] -> ShowS #

ideModeEpoch :: Int #

The version of the IDE mode command set. Increment this when you change it so clients can adapt.

getLen :: Handle -> IO (Either Err Int) #

getNChar :: Handle -> Int -> String -> IO String #

sExpToString :: SExp -> String #