ink

A toolkit for building IDEs in Atom

JunoLab

852,189

51

0.12.6

MIT

GitHub

This package provides the following services:

This package consumes the following services:

Ink

Attention: We have decided to join forces with the Julia extension for VSCode. As such, this Atom-based plugin is effectively in “maintenance-only mode” and we expect to only work on bug fixes in the future.


Build Status Chat

Ink is a toolkit for building IDEs in Atom – in particular, it's aimed at providing the UI pieces necessary to build richly interactive, live environments for programming – inspired by the likes of SmallTalk, Lisp, LightTable, DevTools, Swift, and others.

Ink is currently used primarily from the julia-client plugin as an IDE for the Julia language, as well as the awesome proto-repl for Clojure. Although Ink is in an early state, people interested in getting it running with other languages are welcome to reach out.

Highlights

(These demos show off Ink as part of Julia since it's the most mature project using Ink, but there's nothing Julia-specific about Ink's design)

Evaluation of blocks and lines, with inline results, highlighting of the evaluated block, and loading indicators:

Smart tree views for complex results and data:

A rich console with the same support for results, as well as history, shell modes etc.:

Smart errors with live links to files in the backtrace, as well as highlighting of those lines:

In future Ink will also support UIs for debugging (e.g. breakpoints), graphics (e.g. plotting panes), documentation (e.g. single-keystroke access to inline docs) and profiling/coverage results (e.g. inline "progress bars" and metrics overlaid with the code).