42 lines · 1.3 KB · Markdown
RawDownload

IDE protocol, version 2

The IDE protocol is (or rather, will be) compatible with the IDE protocol for Idris 1, as described here: https://idris.readthedocs.io/en/latest/reference/ide-protocol.html

On start up, it reports:

000018(:protocol-version 2 0)

So far, there are two extended commands and one new command.

Extended commands

(:type-of STRING LINE COLUMN)

If type-of is given a line and a column, this looks up the type of the name at that location, which may be a local variable or a specialisation of a global definition.

(:proof-search LINE NAME HINTS :all)

The optional additional argument :all means that the expression search will return all of the results it finds, one per line (up to a currently hard coded search depth limit, which will probably be settable as an option in the future).

(:case-split LINE COLUMN NAME)

Case splitting can take an optional additional COLUMN argument.

New commands

(:generate-def LINE NAME)

Generates a pattern matching definition, if it can find one, for the function declared with the given name, on the given line. It will only return the first definition it finds, as a list of pattern clauses. This works via a combination of case splitting and expression search.

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t