Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/junolab/atom-ink

IDE toolkit for Atom
https://github.com/junolab/atom-ink

Last synced: 15 days ago
JSON representation

IDE toolkit for Atom

Awesome Lists containing this project

README

        

# Ink

**Attention**: We have decided to join forces with the [Julia extension for VSCode](https://github.com/julia-vscode/julia-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](https://travis-ci.org/JunoLab/atom-ink.svg?branch=master)](https://travis-ci.org/JunoLab/atom-ink) [![Chat](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/JunoLab/atom-ink)

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](https://github.com/JunoLab/atom-julia-client) plugin as an IDE for the
Julia language, as well as the awesome [proto-repl](https://github.com/jasongilman/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](https://github.com/JunoLab/atom-julia-client)
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).