Giter Club home page Giter Club logo

atom-ink's Introduction

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).

atom-ink's People

Contributors

aviatesk avatar beastyblacksmith avatar carocad avatar cortys avatar dustinrb avatar fredericviry avatar jasongilman avatar mauricioszabo avatar michaelhatherly avatar mikeinnes avatar mnewt avatar nhdaly avatar pfitzseb avatar rgbkrk avatar sertonix avatar sglyon avatar ssfrr avatar varanas avatar xurizaemon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

atom-ink's Issues

output bubble overlays console

It looks like some z-ordering issue, where the output bubbles are drawn on top of the console rather than hiding behind.

This is on ink v0.4.4, atom v1.10.2.

juno z-ordering

Uncaught TypeError: Cannot read property 'classList' of null

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.4.1
System: Mac OS X 10.11.2
Thrown From: ink package, v0.3.1

Stack Trace

Uncaught TypeError: Cannot read property 'classList' of null

At /Users/davide/.atom/packages/ink/lib/console/view.coffee:159

TypeError: Cannot read property 'classList' of null
    at ConsoleView.module.exports.ConsoleView.loading (/Users/davide/.atom/packages/ink/lib/console/view.coffee:159:50)
    at /Users/davide/.atom/packages/julia-client/lib/ui/console.coffee:43:41
    at Function.module.exports.Emitter.simpleDispatch (/opt/homebrew-cask/Caskroom/atom/1.4.0/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (/opt/homebrew-cask/Caskroom/atom/1.4.0/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:125:28)
    at Loading.module.exports.Loading.update (/Users/davide/.atom/packages/ink/lib/util/loading.coffee:21:18)
    at Loading.module.exports.Loading.working (/Users/davide/.atom/packages/ink/lib/util/loading.coffee:12:27)
    at Object.module.exports.booting (/Users/davide/.atom/packages/julia-client/lib/connection/client.coffee:99:14)
    at Object.module.exports.jlprocess.start (/Users/davide/.atom/packages/julia-client/lib/connection/process.coffee:66:12)
    at /Users/davide/.atom/packages/julia-client/lib/package/commands.coffee:38:40
    at Server.<anonymous> (/Users/davide/.atom/packages/julia-client/lib/connection/tcp.coffee:41:7)
    at Server.g (events.js:260:16)
    at emitNone (events.js:67:13)
    at Server.emit (events.js:166:7)
    at emitListeningNT (net.js:1257:10)
    at doNTCallback1 (node.js:430:9)
    at process._tickCallback (node.js:352:17)

Commands

Config

{
  "core": {
    "themes": [
      "atom-dark-ui",
      "atom-dark-syntax"
    ]
  }
}

Installed Packages

# User
ink, v0.3.1
julia-client, v0.3.0
language-julia, v0.5.0
latex-completions, v0.3.1
minimap, v4.19.0
project-manager, v2.7.5

# Dev
No dev packages

Changes required for upcoming CoffeeScript upgrade

Hi! Thanks for maintaining the ink package!

In Atom v1.12, we are going to upgrade CoffeeScript to the latest version. This upgrade entails one potentially breaking change to the language:

Changed strategy for the generation of internal compiler variable names. Note that this means that @example function parameters are no longer available as naked example variables within the function body.

We think your package may be affected by this upgrade, in the following places:

  • The text variable here

These findings are based on linting packages with coffeescope. We could be wrong about some of them. When we release v1.12 beta, please test your package against it to make sure that it works. Let me know if you have any further questions; I will be happy to help!

On updating language-julia: Error: Tried to create a gutter with a name that is already in use.

Error: Tried to create a gutter with a name that is already in use.
at GutterContainer.module.exports.GutterContainer.addGutter (/Applications/Atom.app/Contents/Resources/app.asar/src/gutter-container.js:36:15)
at TextEditor.module.exports.TextEditor.addGutter (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:3074:35)
at Object.module.exports.init (/Users/solver/.atom/packages/ink/lib/debugger/breakpoints.coffee:40:8)
at /Users/solver/.atom/packages/ink/lib/debugger/breakpoints.coffee:16:12
at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:129:28)
at TextEditor.module.exports.TextEditor.handleGrammarChange (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:3236:27)
at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:129:28)
at TokenizedBuffer.module.exports.TokenizedBuffer.setGrammar (/Applications/Atom.app/Contents/Resources/app.asar/src/tokenized-buffer.js:128:27)
at TextEditor.module.exports.TextEditor.setGrammar (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:2812:35)
at /Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-registry.js:323:20
at Set.forEach (native)
at TextEditorRegistry.grammarAddedOrUpdated (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-registry.js:312:41)
at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/node_modules/event-kit/lib/emitter.js:25:14)
at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/node_modules/event-kit/lib/emitter.js:125:28)
at GrammarRegistry.module.exports.GrammarRegistry.addGrammar (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/first-mate/lib/grammar-registry.js:75:20)
at Grammar.module.exports.Grammar.activate (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/first-mate/lib/grammar.js:223:48)
at /Applications/Atom.app/Contents/Resources/app.asar/src/package.js:543:25
at /Applications/Atom.app/Contents/Resources/app.asar/node_modules/first-mate/lib/grammar-registry.js:120:55
at parseContents (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/season/lib/cson.js:119:7)
at /Applications/Atom.app/Contents/Resources/app.asar/node_modules/season/lib/cson.js:204:24
at FSReqWrap.oncomplete (fs.js:82:15)

Failed to load the ink package

After the installing the ink-package manually, because of other issues I get this error message right after the start of Atom. I would appreciate if someone can help me fix this issue.

Atom Version: 1.10.2
Electron Version: 0.37.8
Thrown From: ink package, v0.5.0

Stack Trace

Failed to load the ink package

At Cannot find module 'underscore-plus'

Error: Cannot find module 'underscore-plus'
    at Module._resolveFilename (module.js:339:15)
    at Function.Module._resolveFilename (C:\Users\L\AppData\Local\atom\app-1.10.2\resources\app.asar\src\module-cache.js:383:52)
    at Function.Module._load (module.js:290:25)
    at Module.require (module.js:367:17)
    at require (C:\Users\L\AppData\Local\atom\app-1.10.2\resources\app.asar\src\native-compile-cache.js:50:27)
    at Object.<anonymous> (file:///C:/Users/L/.atom/packages/atom-ink-0.5.0/lib/editor/result.coffee:2:14)
    at Object.<anonymous> (file:///C:/Users/L/.atom/packages/atom-ink-0.5.0/lib/editor/result.coffee:2:1)
    at Module._compile (C:\Users\L\AppData\Local\atom\app-1.10.2\resources\app.asar\src\native-compile-cache.js:103:30)
    at Object.defineProperty.value [as .coffee] (C:\Users\L\AppData\Local\atom\app-1.10.2\resources\app.asar\src\compile-cache.js:208:21)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (C:\Users\L\AppData\Local\atom\app-1.10.2\resources\app.asar\src\native-compile-cache.js:50:27)
    at Object.<anonymous> (file:///C:/Users/L/.atom/packages/atom-ink-0.5.0/lib/ink.coffee:7:10)
    at Object.<anonymous> (file:///C:/Users/L/.atom/packages/atom-ink-0.5.0/lib/ink.coffee:1:1)
    at Module._compile (C:\Users\L\AppData\Local\atom\app-1.10.2\resources\app.asar\src\native-compile-cache.js:103:30)
    at Object.defineProperty.value [as .coffee] (C:\Users\L\AppData\Local\atom\app-1.10.2\resources\app.asar\src\compile-cache.js:208:21)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (C:\Users\L\AppData\Local\atom\app-1.10.2\resources\app.asar\src\native-compile-cache.js:50:27)
    at Package.module.exports.Package.requireMainModule (C:\Users\L\AppData\Local\atom\app-1.10.2\resources\app.asar\src\package.js:718:27)
    at C:\Users\L\AppData\Local\atom\app-1.10.2\resources\app.asar\src\package.js:117:28
    at Package.module.exports.Package.measure (C:\Users\L\AppData\Local\atom\app-1.10.2\resources\app.asar\src\package.js:92:15)
    at Package.module.exports.Package.load (C:\Users\L\AppData\Local\atom\app-1.10.2\resources\app.asar\src\package.js:106:12)
    at PackageManager.module.exports.PackageManager.loadPackage (C:\Users\L\AppData\Local\atom\app-1.10.2\resources\app.asar\src\package-manager.js:457:14)
    at C:\Users\L\AppData\Local\atom\app-1.10.2\resources\app.asar\src\package-manager.js:402:19
    at Config.module.exports.Config.transact (C:\Users\L\AppData\Local\atom\app-1.10.2\resources\app.asar\src\config.js:312:16)
    at PackageManager.module.exports.PackageManager.loadPackages (C:\Users\L\AppData\Local\atom\app-1.10.2\resources\app.asar\src\package-manager.js:397:19)
    at C:\Users\L\AppData\Local\atom\app-1.10.2\resources\app.asar\src\atom-environment.js:754:28

Commands

Config

{}

Installed Packages

# User
ink, v0.5.0 (inactive)
language-julia, v0.5.0 (inactive)
latex-completions, v0.3.1 (inactive)
tool-bar, v1.0.1 (inactive)
uber-juno, v0.1.1 (inactive)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.44.0 (inactive)
base16-tomorrow-dark-theme, v1.1.0 (inactive)
base16-tomorrow-light-theme, v1.1.1 (inactive)
one-dark-ui, v1.5.0 (inactive)
one-light-ui, v1.5.0 (inactive)
one-dark-syntax, v1.3.0 (inactive)
one-light-syntax, v1.3.0 (inactive)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.5.3 (inactive)
archive-view, v0.61.1 (inactive)
autocomplete-atom-api, v0.10.0 (inactive)
autocomplete-css, v0.11.2 (inactive)
autocomplete-html, v0.7.2 (inactive)
autocomplete-plus, v2.31.1 (inactive)
autocomplete-snippets, v1.11.0 (inactive)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (inactive)
background-tips, v0.26.1 (inactive)
bookmarks, v0.41.0 (inactive)
bracket-matcher, v0.82.1 (inactive)
command-palette, v0.38.0 (inactive)
deprecation-cop, v0.54.1 (inactive)
dev-live-reload, v0.47.0 (inactive)
encoding-selector, v0.22.0 (inactive)
exception-reporting, v0.39.0 (inactive)
find-and-replace, v0.201.0 (inactive)
fuzzy-finder, v1.3.0 (inactive)
git-diff, v1.1.0 (inactive)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.1 (inactive)
image-view, v0.58.2 (inactive)
incompatible-packages, v0.26.1 (inactive)
keybinding-resolver, v0.35.0 (inactive)
line-ending-selector, v0.5.0 (inactive)
link, v0.31.1 (inactive)
markdown-preview, v0.158.0 (inactive)
metrics, v0.53.1 (inactive)
notifications, v0.65.0 (inactive)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.242.2 (inactive)
snippets, v1.0.2 (inactive)
spell-check, v0.67.1 (inactive)
status-bar, v1.4.1 (inactive)
styleguide, v0.47.0 (inactive)
symbols-view, v0.113.0 (inactive)
tabs, v0.100.2 (inactive)
timecop, v0.33.2 (inactive)
tree-view, v0.208.2 (inactive)
update-package-dependencies, v0.10.0 (inactive)
welcome, v0.34.0 (inactive)
whitespace, v0.33.0 (inactive)
wrap-guide, v0.38.1 (inactive)
language-c, v0.52.1 (inactive)
language-clojure, v0.21.0 (inactive)
language-coffee-script, v0.47.2 (inactive)
language-csharp, v0.12.1 (inactive)
language-css, v0.37.1 (inactive)
language-gfm, v0.88.0 (inactive)
language-git, v0.15.0 (inactive)
language-go, v0.42.1 (inactive)
language-html, v0.45.1 (inactive)
language-hyperlink, v0.16.0 (inactive)
language-java, v0.23.0 (inactive)
language-javascript, v0.119.0 (inactive)
language-json, v0.18.2 (inactive)
language-less, v0.29.5 (inactive)
language-make, v0.22.2 (inactive)
language-mustache, v0.13.0 (inactive)
language-objective-c, v0.15.1 (inactive)
language-perl, v0.35.0 (inactive)
language-php, v0.37.2 (inactive)
language-property-list, v0.8.0 (inactive)
language-python, v0.45.0 (inactive)
language-ruby, v0.69.0 (inactive)
language-ruby-on-rails, v0.25.0 (inactive)
language-sass, v0.56.0 (inactive)
language-shellscript, v0.22.4 (inactive)
language-source, v0.9.0 (inactive)
language-sql, v0.23.0 (inactive)
language-text, v0.7.1 (inactive)
language-todo, v0.28.0 (inactive)
language-toml, v0.18.0 (inactive)
language-xml, v0.34.9 (inactive)
language-yaml, v0.26.0 (inactive)

# Dev
No dev packages

Function.extractParams is deprecated.

I got this from my ink development package. There are also some warnings regarding the use of some css classes.

==== AUTO GENERATED TEXT ======
Assigning custom properties to a marker when creating/copying it is
deprecated. Please, consider storing the custom properties you need in
some other object in your package, keyed by the marker's id property.

Function.extractParams (/usr/share/atom/resources/app.asar/node_modules/text-buffer/lib/marker.js:43:14)
MarkerLayer.markRange (/usr/share/atom/resources/app.asar/node_modules/text-buffer/lib/marker-layer.js:196:71)
DisplayMarkerLayer.markBufferRange (/usr/share/atom/resources/app.asar/node_modules/text-buffer/lib/display-marker-layer.js:90:62)
TextEditor.markBufferRange (/usr/share/atom/resources/app.asar/src/text-editor.js:1577:38)
Result.initMarker (/home/camilo/Proyectos/atom-ink/lib/editor/result.coffee:133:33)
new Result (/home/camilo/Proyectos/atom-ink/lib/editor/result.coffee:47:12)

unable to clear block result

For an ink inline-result right clicking it would show an option "clear" which will remove the result from the editor. Nevertheless, this option doesn't show on block results. I guess that this is a bug as I don't see any reason not to be able to remove those results when the user wants it.

Here is a screenshot
captura de pantalla de 2016-08-25 13-48-10

Control / End Highlighting

It would be nice if when you click on an end statement, it would do a little highlight on the control statement that it's associated with, and vice versa. That would make it a little easier to see which "end" go es with which statement, and also find out where "end" was forgotten. It's not essential because one can use folding/unfolding, but it would be a nice feature.

Custom keybindings not responding in REPL entry

This is a copy of an issue filed in Proto REPL #161. I think this is a problem with the Atom Ink Console.

Hello. I updated today to 1.4.7 and have found some misbehavior with the text entry from the previous version I was using.

I use a Finnish keyboard, and a set of custom keybindings to rebind the ö, ä, and å keys to the braces. See here: https://gist.github.com/jarcane/468687e98176c1c4c8a7ba924dafdf46 (the use of `, , and ] refers to the ö/ä/å keys, because Atom uses the American keymap only, internally)

Unfortunately, these keys don't work in the Proto-REPL pane, at all. It seems to simply ignore input from those keys entirely; I get no input.

I've also found that the automatic pairing of braces from Paredit isn't honored in the Proto-REPL window either, though that should perhaps be filed as a separate issue?

Buffer streams in the console

Currently, output displayed in the console is completely unbuffered, so if that output is coming from the STDOUT of a child process (for example) it gets split into chunks pretty much at random. If would be good to chunk results more deliberately by waiting, say, 10ms after console.output(s) is called, and if called again in that period the output will be concatenated rather than split.

Inline results - changes in tree, difficult to see results

Hello, in the master branch (the one I'm using to make a PR for Ink) I've seen that inline results that contains trees became more difficult to read. This is some code, in Clojure, with the old tree:

image

and with the new one: notice as values get pushed to the end of list, and it's very difficult to inspect then:

image

Can we, at least, get a configuration parameter to decide which one to use? I need to use huge maps and vectors in Clojure, and with this new tree view it's completely unusable.

Better console

The console, as it is implemented now, behaves radically different from what one might expect from a normal REPL. This is pretty much only related to the buffering -- after 10ms, we create a new cell. This messes up newlines and all sorts of stuff, obviously.

Suggestion:

  • Buffer for 10ms or longer.
  • If there's a \n in the string-to-be-printed, split it into the array cells.
  • cells[0] is appended to the last cell, if and only if it is of the same type as the current write request.
  • cells[1:end] are printed as their own cells.

I am working on implementing this, but don't have all that much time right now -- this issue is only so that I don't forget what I wanted to do ;) (or someone else wants to do it). The naive implementation is quite easy btw, but what we want is better performance (and also #14) so we can prevent issues like JunoLab/atom-julia-client#54.

Uncaught TypeError: Cannot read property 'editor' of undefined

I just installed Atom, and the packages julia-client, ink, and julia-language. When I open a new Julia console I'm unable to run any command. When hitting enter a blinking blue bar appears and without any output being displayed. The last time I tried to run something in the console I got the following error message.

Atom Version: 1.5.4
System: Mac OS X 10.11.3
Thrown From: ink package, v0.4.0

Stack Trace

Uncaught TypeError: Cannot read property 'editor' of undefined

At /Users/paupereira/.atom/packages/ink/lib/console/console.coffee:219

TypeError: Cannot read property 'editor' of undefined
    at Console.module.exports.Console.logInput (/Users/paupereira/.atom/packages/ink/lib/console/console.coffee:219:6)
    at Object.module.exports.eval (/Users/paupereira/.atom/packages/julia-client/lib/runtime/console.coffee:62:8)
    at /Users/paupereira/.atom/packages/julia-client/lib/runtime/console.coffee:42:23
    at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:125:28)
    at Console.module.exports.Console.eval (/Users/paupereira/.atom/packages/ink/lib/console/console.coffee:118:16)
    at atom-text-editor.subs.add.atom.commands.add.console:evaluate (/Users/paupereira/.atom/packages/ink/lib/console/console.coffee:14:9)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:570:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:378:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeydown (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:97:36)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands

     -2:51.9.0 julia-client:kill-julia (div.package-detail.panels-item)
     -2:50.5.0 core:confirm (div.package-detail.panels-item)
     -2:50 command-palette:toggle (div.package-detail.panels-item)
 20x -2:47.6.0 core:move-down (atom-text-editor.editor.mini.is-focused)
     -2:22.8.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -2:22.8.0 julia-client:open-console (div.package-detail.panels-item)
  5x -2:13.6.0 julia-client:evaluate-and-move (atom-text-editor.editor.is-focused)
  2x -2:05.9.0 core:move-up (atom-text-editor.editor.is-focused)
     -1:22.8.0 julia:open-startup-file (atom-text-editor.editor.is-focused)
     -0:58.1.0 julia-client:kill-julia (atom-text-editor.editor.is-focused)
     -0:54.2.0 julia-client:start-julia (atom-text-editor.editor.is-focused)
     -0:46.7.0 julia-client:interrupt-julia (atom-text-editor.editor.is-focused)
     -0:38.3.0 julia-client:settings (atom-text-editor.editor.is-focused)
     -0:22.5.0 julia-client:interrupt-julia (atom-text-editor.editor.is-focused)
     -0:10.6.0 julia-client:kill-julia (atom-text-editor.editor.is-focused)
     -0:00.9.0 console:evaluate (atom-text-editor.editor.is-focused)

Config

{
  "core": {}
}

Installed Packages

# User
indent-detective, v0.1.0
ink, v0.4.0
julia-client, v0.4.0
language-julia, v0.5.0
latex-completions, v0.3.1

# Dev
No dev packages

Uncaught TypeError: Cannot read property 'toString' of undefined

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.7.2
System: Mac OS X 10.11.4
Thrown From: ink package, v0.4.4

Stack Trace

Uncaught TypeError: Cannot read property 'toString' of undefined

At /Users/admin/.atom/packages/ink/lib/editor/spinner.coffee:94

TypeError: Cannot read property 'toString' of undefined
    at ReadFileContext.callback (/Users/admin/.atom/packages/ink/lib/editor/spinner.coffee:94:27)
    at FSReqWrap.readFileAfterOpen [as oncomplete] (fs.js:324:13)

Commands

     -9:23.6.0 core:save (atom-text-editor.editor.is-focused)
     -9:12 julia-client:evaluate-all (atom-text-editor.editor.is-focused)
     -9:12 autocomplete-plus:cancel (atom-text-editor.editor.is-focused)
     -9:12 inline-results:clear-all (atom-text-editor.editor.is-focused)
     -9:01.9.0 settings-view:check-for-package-updates (atom-workspace.workspace.theme-solarized-dark-syntax.theme-one-dark-ui.scrollbars-visible-when-scrolling)
     -8:28.2.0 julia-client:start-julia (atom-workspace.workspace.theme-solarized-dark-syntax.theme-one-dark-ui.scrollbars-visible-when-scrolling)
     -2:13.2.0 autocomplete-plus:confirm (atom-text-editor.editor.is-focused.autocomplete-active)
     -2:11 editor:newline (atom-text-editor.editor.is-focused)
  2x -1:48.1.0 core:backspace (atom-text-editor.editor.is-focused)
     -1:30.3.0 core:save (atom-text-editor.editor.is-focused)
  2x -0:48.1.0 core:move-right (atom-text-editor.editor.is-focused)
  2x -0:45.5.0 core:save (atom-text-editor.editor.is-focused)
     -0:12.9.0 find-and-replace:show (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "themes": [
      "one-dark-ui",
      "solarized-dark-syntax"
    ]
  }
}

Installed Packages

# User
ink, v0.4.4
julia-client, v0.4.7
language-julia, v0.6.0

# Dev
No dev packages

Uncaught TypeError: Cannot read property 'style' of null

I can't really enter steps to reproduce here, but now that I've gotten this randomly for the fifth time I thought I'd take Atom up on the offer to open an issue.

The issue doesn't seem to hurt, I can run my code without problems, but I thought I'd still document it here.

Atom Version: 1.0.11
System: Microsoft Windows 7 Enterprise
Thrown From: ink package, v0.1.1

Stack Trace

Uncaught TypeError: Cannot read property 'style' of null

At C:\Users\tew207\.atom\packages\ink\lib\results.coffee:94

TypeError: Cannot read property 'style' of null
    at C:\Users\tew207\.atom\packages\ink\lib\results.coffee:94:41

Commands

     -0:34.2.0 editor:select-to-end-of-line (atom-text-editor.editor.is-focused)
     -0:33.9.0 julia-client:evaluate (atom-text-editor.editor.is-focused)
     -0:33.5.0 core:move-right (atom-text-editor.editor.is-focused)
     -0:32.1.0 inline-results:clear-current (atom-text-editor.editor.is-focused)
     -0:31.1.0 editor:select-to-first-character-of-line (atom-text-editor.editor.is-focused)
     -0:30.9.0 julia-client:evaluate (atom-text-editor.editor.is-focused)
     -0:21.8.0 autocomplete-plus:confirm (atom-text-editor.editor.is-focused.autocomplete-active)
     -0:21 editor:select-to-first-character-of-line (atom-text-editor.editor.is-focused)
     -0:20.8.0 julia-client:evaluate (atom-text-editor.editor.is-focused)
     -0:20.6.0 core:move-right (atom-text-editor.editor.is-focused)
     -0:14.6.0 autocomplete-plus:confirm (atom-text-editor.editor.is-focused.autocomplete-active)
     -0:13.6.0 editor:select-to-first-character-of-line (atom-text-editor.editor.is-focused)
     -0:12.9.0 core:move-right (atom-text-editor.editor.is-focused)
  2x -0:09.1.0 core:save (atom-text-editor.editor.is-focused)
     -0:04.3.0 core:select-all (atom-text-editor.editor.is-focused)
     -0:03.8.0 julia-client:evaluate (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "projectHome": "C:\\Users\\tew207\\Documents\\GitHub",
    "autoHideMenuBar": true
  }
}

Installed Packages

# User
autocomplete-python, v0.5.3
color-picker, v2.0.11
ink, v0.1.1
julia-client, v0.1.2
language-fortran, v1.5.7
language-julia, v0.4.1
language-latex, v0.6.1
language-matlab, v0.1.1
language-r, v0.2.0
language-sas, v0.2.4
language-stata, v0.1.0
latex, v0.25.1
latex-completions, v0.3.0

# Dev
No dev packages

Example code

This is more a documentation request than an issue...

I'm trying to use your package, but there's not a single documentation. As I know it's hard to document these things,I would suggest some example code or something like this, so newcomers would know where to start.

You could, for example, add a "stub data" for each GIFs in the README.

Inline display not scrolling when it overlaps bottom of current page

A user filed the following against Proto REPL (#99) but I think this is a problem with the Atom Ink inline scrolling. If you have something expanded that goes beyond the end of the screen and your mouse is within the inline display then you can't scroll to see the rest of the content. I was thinking that if the div is partially offscreen then the outer window should be scrollable until the inline display is completely visible. I'm not sure how much control you have over that within Atom.

The scroll bars don't appear, and the panel can't be scrolled in any direction, even though there is additional data to show.

screen shot 2016-05-04 at 10 58 24

Allow search in Console

Proto REPL switched to the Atom ink Console and it's been a good improvement in multiple ways over the text editor based repl; performance, better highlighting of only Clojure code but it's also missing some really useful features. One of them is search. It would be a really nice feature to be able to search for text anywhere in the console.

ink.Result error block not as error rendered

After creating an ink.Result object with error: true, type: 'block' I expected it to be displayed underline with red font. The result is in fact displayed underline but not with red font.

On the other hand if I put the ink.Result as inline + error, the result is correctly displayed with red ink and to the right of the specified line.

I guess there must be a point where the the red font is invalidated by the block CSS properties

Ink 0.4.0 messes with Atom window size

After updating to Ink 0.4.0 it starts to messes with Atom window size and positioning: it position window in the (0, 0) with height of 100% of screen resolution and 50% width.

0.5 Cannot find module 'element-resize-detector'

Cannot find module 'element-resize-detector'
Hide Stack Trace
Error: Cannot find module 'element-resize-detector'
    at Module._resolveFilename (module.js:339:15)
    at Function.Module._resolveFilename (/Applications/Atom.app/Contents/Resources/app.asar/src/module-cache.js:383:52)
    at Function.Module._load (module.js:290:25)
    at Module.require (module.js:367:17)
    at require (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:50:27)
    at Object.<anonymous> (/Users/solver/Projects/ink/lib/console/view.coffee:1:18)
    at Object.<anonymous> (/Users/solver/Projects/ink/lib/console/view.coffee:1:1)
    at Module._compile (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:103:30)
    at Object.defineProperty.value [as .coffee] (/Applications/Atom.app/Contents/Resources/app.asar/src/compile-cache.js:208:21)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:50:27)
    at Object.<anonymous> (/Users/solver/Projects/ink/lib/console/console.coffee:3:18)
    at Object.<anonymous> (/Users/solver/Projects/ink/lib/console/console.coffee:1:1)
    at Module._compile (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:103:30)
    at Object.defineProperty.value [as .coffee] (/Applications/Atom.app/Contents/Resources/app.asar/src/compile-cache.js:208:21)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:50:27)
    at Object.<anonymous> (/Users/solver/Projects/ink/lib/ink.coffee:9:11)
    at Object.<anonymous> (/Users/solver/Projects/ink/lib/ink.coffee:1:1)
    at Module._compile (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:103:30)
    at Object.defineProperty.value [as .coffee] (/Applications/Atom.app/Contents/Resources/app.asar/src/compile-cache.js:208:21)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:50:27)
    at Package.module.exports.Package.requireMainModule (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js

How to Start?

I,m writing a atom package which supports Gauge. I want to use atom-ink package for it but it's documentation is not good enough. It doesn't tell how to use this in our package and which kind of APIs are available. It would be great if it's provide a good docs.

Uncaught TypeError: Cannot set property 'scrollPastEndOverride' of undefined

I got the error message below when I upgraded to Julia 0.5. Installing the newest version of Atom (1.10.2) from the Atom website seems to have solved the problem.

This may be the same issue as #40, but the error message is slightly different so I'm not quite sure.

Atom Version: 1.9.5
System: Ubuntu 16.04.1
Thrown From: ink package, v0.5.2

Stack Trace

Uncaught TypeError: Cannot set property 'scrollPastEndOverride' of undefined

At /home/foo/.atom/packages/ink/lib/console/view.coffee:143

TypeError: Cannot set property 'scrollPastEndOverride' of undefined
    at ink-console.ConsoleElement.inputView (/home/foo/.atom/packages/ink/lib/console/view.coffee:143:5)
    at ink-console.ConsoleElement.initView (/home/foo/.atom/packages/ink/lib/console/view.coffee:52:18)
    at ink-console.ConsoleElement.addItem (/home/foo/.atom/packages/ink/lib/console/view.coffee:57:15)
    at /home/foo/.atom/packages/ink/lib/console/view.coffee:25:36
    at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:125:28)
    at Console.module.exports.Console.push (/home/foo/.atom/packages/ink/lib/console/console.coffee:79:14)
    at Console.module.exports.Console.input (/home/foo/.atom/packages/ink/lib/console/console.coffee:127:8)
    at /home/foo/.atom/packages/ink/lib/console/console.coffee:67:42

Commands

Config

{
  "core": {
    "themes": [
      "atom-light-ui",
      "atom-light-syntax"
    ]
  }
}

Installed Packages

# User
ink, v0.5.2 (active)
julia-client, v0.5.3 (active)
language-julia, v0.6.0 (inactive)
latex-completions, v0.3.1 (active)
tool-bar, v1.0.1 (active)
uber-juno, v0.1.1 (active)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.51.0 (inactive)
atom-light-syntax, v0.28.0 (active)
atom-light-ui, v0.43.0 (active)
base16-tomorrow-dark-theme, v1.1.0 (inactive)
base16-tomorrow-light-theme, v1.1.1 (inactive)
one-dark-ui, v1.3.2 (inactive)
one-light-ui, v1.3.2 (inactive)
one-dark-syntax, v1.2.0 (inactive)
one-light-syntax, v1.2.0 (inactive)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.5.2 (active)
archive-view, v0.61.1 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.11.1 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.0 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.0 (active)
bookmarks, v0.41.0 (active)
bracket-matcher, v0.82.1 (active)
command-palette, v0.38.0 (inactive)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.38.3 (active)
fuzzy-finder, v1.3.0 (active)
git-diff, v1.1.0 (active)
find-and-replace, v0.198.0 (inactive)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.1 (active)
image-view, v0.58.0 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.1 (inactive)
markdown-preview, v0.158.0 (active)
metrics, v0.53.1 (active)
notifications, v0.64.1 (active)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.238.0 (active)
snippets, v1.0.2 (active)
spell-check, v0.67.1 (active)
status-bar, v1.4.0 (active)
styleguide, v0.46.0 (active)
symbols-view, v0.113.0 (inactive)
tabs, v0.98.0 (active)
timecop, v0.33.1 (active)
tree-view, v0.208.0 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.34.0 (active)
whitespace, v0.32.2 (active)
wrap-guide, v0.38.1 (active)
language-c, v0.52.1 (active)
language-clojure, v0.21.0 (active)
language-coffee-script, v0.47.0 (active)
language-csharp, v0.12.1 (active)
language-css, v0.36.2 (active)
language-gfm, v0.86.0 (active)
language-git, v0.13.0 (active)
language-go, v0.42.0 (active)
language-html, v0.44.1 (active)
language-hyperlink, v0.16.0 (active)
language-java, v0.22.0 (active)
language-javascript, v0.119.0 (active)
language-json, v0.18.0 (active)
language-less, v0.29.3 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.35.0 (active)
language-php, v0.37.0 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.0 (active)
language-ruby, v0.68.5 (active)
language-ruby-on-rails, v0.25.0 (active)
language-sass, v0.52.0 (active)
language-shellscript, v0.22.3 (active)
language-source, v0.9.0 (active)
language-sql, v0.21.1 (active)
language-text, v0.7.1 (active)
language-todo, v0.28.0 (active)
language-toml, v0.18.0 (active)
language-xml, v0.34.8 (active)
language-yaml, v0.26.0 (active)

# Dev
No dev packages

Use Ink with python/ipython?

Hi,

I am really liking the possibilities of Ink and would love to use it with python (and maybe Matlab in the long run since the Matlab IDE...well, lacks VIM bindings).
Do any documents exist with pointers on how to start to make Ink work with python like the atom-julia-client does?

Or would it be a better start to clone the julia-client? It just looks a little overwhelming to start off of.

Thanks in advance.

Wrong release version ?

File package.json:

"name": "ink",
"main": "./lib/ink",
"version": "0.1.1",

instead of "0.1.2"; hence Atom thinks this is not the latest version.

deserialization of PaneItem broken

or rather not registered early enough. I get a warning whenever I restart Atom with some custom PaneItem open:

No deserializer found for Object {deserializer: "InkWorkspace", id: "julia"}

I suppose this is because Atom tries to deserialize the cached editor before loading the packages, since the deserializer we want appears in atom.deserializers.deserializers on package activation.

Uncaught TypeError: Cannot read property 'pos' of undefined

[Enter steps to reproduce below:]

  1. execude ;cd /home
  2. quit atom
  3. restart atom
  4. press cursor up

Atom Version: 1.10.2
Electron Version: 0.37.8
System: Ubuntu 14.04.4
Thrown From: ink package, v0.5.2

Julia in server mode.

Stack Trace

Uncaught TypeError: Cannot read property 'pos' of undefined

At /home/ufechner/.atom/packages/ink/lib/console/console.coffee:289

TypeError: Cannot read property 'pos' of undefined
    at Console.module.exports.Console.moveHistory (/home/ufechner/.atom/packages/ink/lib/console/console.coffee:289:43)
    at Console.module.exports.Console.previous (/home/ufechner/.atom/packages/ink/lib/console/console.coffee:291:17)
    at Console.module.exports.Console.keyUp (/home/ufechner/.atom/packages/ink/lib/console/console.coffee:300:10)
    at atom-text-editor.subs.add.atom.commands.add.core:move-up (/home/ufechner/.atom/packages/ink/lib/console/console.coffee:41:26)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/opt/atom/resources/app.asar/src/command-registry.js:260:29)
    at /opt/atom/resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/opt/atom/resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:580:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/opt/atom/resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:388:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/opt/atom/resources/app.asar/src/window-event-handler.js:98:36)
    at HTMLDocument.<anonymous> (/opt/atom/resources/app.asar/src/window-event-handler.js:3:61)

Commands

     -0:00.1.0 core:move-up (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "themes": [
      "one-light-ui",
      "one-light-syntax"
    ]
  }
}

Installed Packages

# User
git-control, v0.8.2 (inactive)
ink, v0.5.2 (active)
julia-client, v0.5.3 (active)
language-julia, v0.6.0 (active)
latex-completions, v0.3.1 (active)
tool-bar, v1.0.1 (active)
uber-juno, v0.1.1 (active)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.44.0 (inactive)
base16-tomorrow-dark-theme, v1.1.0 (inactive)
base16-tomorrow-light-theme, v1.1.1 (inactive)
one-dark-ui, v1.5.0 (inactive)
one-light-ui, v1.5.0 (active)
one-dark-syntax, v1.3.0 (inactive)
one-light-syntax, v1.3.0 (active)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.5.3 (active)
archive-view, v0.61.1 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.11.2 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.1 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.1 (active)
bookmarks, v0.41.0 (active)
bracket-matcher, v0.82.1 (active)
command-palette, v0.38.0 (inactive)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
find-and-replace, v0.201.0 (inactive)
fuzzy-finder, v1.3.0 (active)
git-diff, v1.1.0 (active)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.1 (active)
image-view, v0.58.2 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.1 (inactive)
markdown-preview, v0.158.0 (active)
notifications, v0.65.0 (active)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.242.2 (active)
snippets, v1.0.2 (active)
spell-check, v0.67.1 (active)
status-bar, v1.4.1 (active)
styleguide, v0.47.0 (active)
symbols-view, v0.113.0 (inactive)
tabs, v0.100.2 (active)
timecop, v0.33.2 (active)
tree-view, v0.208.2 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.34.0 (active)
whitespace, v0.33.0 (active)
wrap-guide, v0.38.1 (active)
language-c, v0.52.1 (active)
language-clojure, v0.21.0 (active)
language-coffee-script, v0.47.2 (active)
language-csharp, v0.12.1 (active)
language-css, v0.37.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.42.1 (active)
language-html, v0.45.1 (active)
language-hyperlink, v0.16.0 (active)
language-java, v0.23.0 (active)
language-javascript, v0.119.0 (active)
language-json, v0.18.2 (active)
language-less, v0.29.5 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.35.0 (active)
language-php, v0.37.2 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.0 (active)
language-ruby, v0.69.0 (active)
language-ruby-on-rails, v0.25.0 (active)
language-sass, v0.56.0 (active)
language-shellscript, v0.22.4 (active)
language-source, v0.9.0 (active)
language-sql, v0.23.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.28.0 (active)
language-toml, v0.18.0 (active)
language-xml, v0.34.9 (active)
language-yaml, v0.26.0 (active)

# Dev
No dev packages

Allow keyboard navigation of Tree View

It would be a nice feature if it were possible to navigate through a tree view using the arrow keys. If clicking within a tree view gave focus to the selected item then the keyboard arrow keys could navigate the tree structure and expand and collapse parts of the tree.

Inline results overlay next line with Material theme

There's an offset box under the inline result bubbles which is masking the text on the next line.

normal behaviour:
screenshot from 2016-10-14 12-01-05

Material theme:
screenshot from 2016-10-14 12-01-31

Don't know if this is Ink or Material's problem but I thought I'd begin by asking here.

Multiple results in the same line

Hello, I'm trying to write a package to integrate with proto-repl. One of the things I want to do is something like LightTable's watch expressions.

Problem is, Ink right now only supports a single inline result per line. I can work-around this, creating an hierarchical structure, in a single result, but will Ink support multi-line results?

Console Improvements

  • Remember size and position (to the left, downwards etc.) when closing and reopening the console (JunoLab/atom-julia-client#172).
  • Make console undockable (JunoLab/atom-julia-client#180) and remember that as well.
  • Only start a new cell on linebreak, but still buffer and append to last cell if types match. If we can implement this in a somewhat performant manner, we'll have much better REPL compatibility. Still can't overwrite stuff, but still.
  • Make the results' content selectable (and copyable).

Ink doesn't change color of f\prime<tab>(x) when in unicode

I found a surprising, and otherwise insignificant, inconsistency:

image

The f\prime(x) does not change colors despite other unicode functions doing so. This holds when the prime is applied to other letters, include other unicode such as \alpha.

Perhaps there is a reason for this? Given most of my work is differential equations and first order conditions, it would be easier to read my code if f\prime(x) did display as other functions do.

Failed to activate the ink package

I get a failure when trying to update this package.

Atom Version: 1.5.3
System: Mac OS X 10.11.3
Thrown From: ink package, v0.4.0

Stack Trace

Failed to activate the ink package

At this.ink.Console.fromId is not a function

TypeError: this.ink.Console.fromId is not a function
    at Object.module.exports.create (/Users/swade/.atom/packages/julia-client/lib/runtime/console.coffee:40:23)
    at Object.module.exports.activate (/Users/swade/.atom/packages/julia-client/lib/runtime/console.coffee:13:6)
    at Object.module.exports.consumeInk (/Users/swade/.atom/packages/julia-client/lib/runtime.coffee:20:11)
    at Object.module.exports.JuliaClient.consumeInk (/Users/swade/.atom/packages/julia-client/lib/julia-client.coffee:26:7)
    at Provider.module.exports.Provider.provide (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/service-hub/lib/provider.js:30:52)
    at ServiceHub.module.exports.ServiceHub.provide (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/service-hub/lib/service-hub.js:30:20)
    at Package.module.exports.Package.activateServices (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:350:71)
    at Package.module.exports.Package.activateNow (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:184:16)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/package.js:155:32
    at Package.module.exports.Package.measure (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:92:15)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/package.js:148:26
    at Package.module.exports.Package.activate (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:145:34)
    at PackageManager.module.exports.PackageManager.activatePackage (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:526:21)
    at /Applications/Atom.app/Contents/Resources/app.asar/node_modules/settings-view/lib/package-manager.js:385:60
    at exit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/settings-view/lib/package-manager.js:73:16)
    at triggerExitCallback (/Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:213:47)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:220:18
    at Socket.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:98:18)
    at emitOne (events.js:82:20)
    at Socket.emit (events.js:169:7)
    at Pipe._onclose (net.js:469:12)

Commands

  3x -1:03.5.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:28.7.0 settings-view:check-for-package-updates (atom-workspace.workspace.scrollbars-visible-when-scrolling.theme-one-dark-syntax.theme-one-dark-ui)

Config

{
  "core": {
    "disabledPackages": [
      "metrics"
    ]
  }
}

Installed Packages

# User
autohide-tree-view, v0.25.1
ink, v0.4.0
julia-client, v0.4.0
language-julia, v0.5.0
markdown-themeable-pdf, v0.10.2
wordcount, v2.6.0

# Dev
No dev packages

Uncaught TypeError: Object.observe is not a function

[Enter steps to reproduce below:]

  1. After a fresh start I opened a Clojure file.
  2. I connect to a running repl with ``proto-repl` - after that, the error pops up repeatedly.

Atom Version: 1.9.9
System: linux 4.7.1-1-ARCH
Thrown From: ink package, v0.5.0

Stack Trace

Uncaught TypeError: Object.observe is not a function

At /home/hiberno/.atom/packages/ink/lib/console/view.coffee:102

TypeError: Object.observe is not a function
    at ink-console.ConsoleElement.observeKey (/home/hiberno/.atom/packages/ink/lib/console/view.coffee:102:12)
    at ink-console.ConsoleElement.streamView (/home/hiberno/.atom/packages/ink/lib/console/view.coffee:152:6)
    at ink-console.ConsoleElement.infoView (/home/hiberno/.atom/packages/ink/lib/console/view.coffee:161:24)
    at ink-console.ConsoleElement.initView (/home/hiberno/.atom/packages/ink/lib/console/view.coffee:39:18)
    at ink-console.ConsoleElement.addItem (/home/hiberno/.atom/packages/ink/lib/console/view.coffee:44:15)
    at ink-console.ConsoleElement.initialize (/home/hiberno/.atom/packages/ink/lib/console/view.coffee:31:8)
    at Object.createView (/home/hiberno/.atom/packages/ink/lib/util/pane-item.coffee:26:19)
    at ViewRegistry.module.exports.ViewRegistry.createView (/usr/lib/atom/src/view-registry.js:119:78)
    at ViewRegistry.module.exports.ViewRegistry.getView (/usr/lib/atom/src/view-registry.js:86:21)
    at atom-pane.PaneElement.getActiveView (/usr/lib/atom/src/pane-element.js:194:25)
    at atom-pane.<anonymous> (/usr/lib/atom/src/pane-element.js:51:55)

Commands

     -6:38.1.0 vim-mode-plus:move-down (atom-text-editor.editor.indent-mode-76f60.normal-mode.vim-mode-plus.is-focused)
     -6:38 vim-mode-plus:move-up (atom-text-editor.editor.indent-mode-76f60.normal-mode.vim-mode-plus.is-focused)
 75x -6:37.6.0 vim-mode-plus:move-down (atom-text-editor.editor.indent-mode-76f60.normal-mode.vim-mode-plus.is-focused)
  8x -5:52.7.0 vim-mode-plus:move-up (atom-text-editor.editor.indent-mode-76f60.normal-mode.vim-mode-plus.is-focused)
 35x -5:51 vim-mode-plus:move-down (atom-text-editor.editor.indent-mode-76f60.normal-mode.vim-mode-plus.is-focused)
     -1:27.3.0 proton:toggle (atom-text-editor.editor.indent-mode-76f60.normal-mode.vim-mode-plus.is-focused)
  2x -1:27.1.0 proton:chain (atom-text-editor.editor.indent-mode-76f60.normal-mode.is-focused)
     -1:25 proton:toggle (atom-text-editor.editor.indent-mode-76f60.normal-mode.is-focused.vim-mode-plus)
  3x -1:24.8.0 proton:chain (atom-text-editor.editor.indent-mode-76f60.normal-mode.is-focused)
     -1:23.4.0 proto-repl:remote-nrepl-connection (atom-workspace.workspace.scrollbars-visible-always.seti-ui-no-icons.seti-icons.seti-roboto.seti-animate.theme-seti-syntax.theme-seti-ui)
     -1:13.3.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:25.8.0 proton:toggle (atom-pane.pane.active)
  2x -0:25.6.0 proton:chain (atom-pane.pane.active)
     -0:24 core:cancel (atom-pane.pane.active)
     -0:22.5.0 proton:toggle (atom-pane.pane.active)
  2x -0:22.3.0 proton:chain (atom-pane.pane.active)

Config

{
  "core": {
    "autoHideMenuBar": true,
    "disabledPackages": [
      "relative-numbers",
      "metrics",
      "autoupdate-packages",
      "welcome",
      "about"
    ],
    "themes": [
      "seti-ui",
      "seti-syntax"
    ]
  }
}

Installed Packages

# User
advanced-open-file, v0.16.4 (inactive)
atom-beautify, v0.29.10 (inactive)
atom-dark-fusion-syntax, v1.2.0 (inactive)
atom-material-syntax, v0.4.6 (inactive)
atom-material-ui, v1.3.4 (inactive)
atom-mdtoc, v0.8.3 (inactive)
atomatigit, v1.5.5 (active)
autocomplete-bibtex, v0.6.2 (active)
autocomplete-paths, v1.0.2 (active)
blame, v0.10.0 (inactive)
build, v0.65.0 (active)
build-cargo, v0.16.0 (active)
busy, v0.6.0 (active)
easy-motion-redux, v1.1.1 (active)
environment, v1.2.0 (active)
ex-mode, v0.13.0 (inactive)
expand-region, v0.2.4 (inactive)
file-icons, v1.7.18 (active)
git-history, v3.2.0 (inactive)
git-plus, v5.16.2 (inactive)
golden-ratio, v0.3.0 (inactive)
highlight-line, v0.11.1 (active)
highlight-selected, v0.11.2 (active)
ink, v0.5.0 (active)
language-diff, v0.4.0 (active)
language-latex, v0.6.1 (active)
language-puppet, v0.21.0 (active)
language-rust, v0.4.6 (active)
latex, v0.35.0 (inactive)
latexer, v0.3.0 (active)
lines, v0.13.1 (inactive)
linter, v1.11.16 (active)
linter-clojure, v1.1.2 (active)
linter-markdown, v2.0.1 (active)
linter-puppet-lint, v0.7.0 (active)
linter-rust, v0.5.4 (active)
markdown-scroll-sync, v2.1.2 (active)
markdown-writer, v2.5.1 (inactive)
maximize-panes, v0.2.0 (inactive)
merge-conflicts, v1.4.4 (active)
minimap, v4.24.7 (active)
move-panes, v0.2.0 (inactive)
nucleus-dark-ui, v0.9.3 (inactive)
Parinfer, v1.16.0 (active)
pdf-view, v0.50.0 (active)
pigments, v0.31.2 (active)
project-plus, v0.9.0 (active)
proto-repl, v1.4.7 (active)
proton-mode, v0.11.0 (active)
racer, v0.20.0 (active)
recent-files-fuzzy-finder, v0.2.4 (active)
relative-numbers, v0.5.1 (inactive)
release-notes, v0.53.0 (active)
seti-syntax, v1.0.1 (active)
seti-ui, v1.3.2 (active)
tab-switcher, v1.5.3 (active)
terminal-plus, v0.14.5 (active)
theme-switch, v0.4.0 (inactive)
vim-mode-plus, v0.51.0 (active)
vim-mode-plus-ex-mode, v0.5.0 (inactive)
zentabs, v0.8.7 (active)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.51.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.43.0 (inactive)
base16-tomorrow-dark-theme, v1.1.0 (inactive)
base16-tomorrow-light-theme, v1.1.1 (inactive)
one-dark-ui, v1.3.2 (inactive)
one-light-ui, v1.3.2 (inactive)
one-dark-syntax, v1.2.0 (inactive)
one-light-syntax, v1.2.0 (inactive)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.5.2 (inactive)
archive-view, v0.61.1 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.11.1 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.0 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.0 (active)
bookmarks, v0.41.0 (active)
bracket-matcher, v0.82.1 (active)
command-palette, v0.38.0 (inactive)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.39.0 (active)
fuzzy-finder, v1.3.0 (active)
git-diff, v1.1.0 (active)
find-and-replace, v0.198.0 (inactive)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.1 (active)
image-view, v0.58.0 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.1 (inactive)
markdown-preview, v0.158.1 (active)
metrics, v0.53.1 (inactive)
notifications, v0.64.1 (active)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.238.2 (active)
snippets, v1.0.2 (active)
spell-check, v0.67.1 (active)
status-bar, v1.4.1 (active)
styleguide, v0.47.1 (active)
symbols-view, v0.113.0 (inactive)
tabs, v0.98.1 (active)
timecop, v0.33.1 (active)
tree-view, v0.208.0 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.34.0 (inactive)
whitespace, v0.32.2 (active)
wrap-guide, v0.38.1 (active)
language-c, v0.52.1 (active)
language-clojure, v0.21.0 (active)
language-coffee-script, v0.47.0 (active)
language-csharp, v0.12.1 (active)
language-css, v0.36.2 (active)
language-gfm, v0.86.0 (active)
language-git, v0.13.0 (active)
language-go, v0.42.0 (active)
language-html, v0.44.1 (active)
language-hyperlink, v0.16.0 (active)
language-java, v0.22.0 (active)
language-javascript, v0.119.0 (active)
language-json, v0.18.0 (active)
language-less, v0.29.3 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.35.0 (active)
language-php, v0.37.0 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.0 (active)
language-ruby, v0.68.5 (active)
language-ruby-on-rails, v0.25.0 (active)
language-sass, v0.52.0 (active)
language-shellscript, v0.22.3 (active)
language-source, v0.9.0 (active)
language-sql, v0.21.1 (active)
language-text, v0.7.1 (active)
language-todo, v0.28.0 (active)
language-toml, v0.18.0 (active)
language-xml, v0.34.8 (active)
language-yaml, v0.26.0 (active)

# Dev
No dev packages

Failed to load the ink package

Steps to reproduce:

  1. start Atom

Atom Version: 1.0.4
System: Ubuntu 15.04
Thrown From: Atom Core

Stack Trace

Failed to load the ink package

At Cannot find module './Loading'

Error: Cannot find module './Loading'
    at Module._resolveFilename (module.js:328:15)
    at Function.Module._resolveFilename (/usr/share/atom/resources/app.asar/src/module-cache.js:383:52)
    at Function.Module._load (module.js:270:25)
    at Module.require (module.js:357:17)
    at require (module.js:376:17)
    at Object.<anonymous> (/part_home/CSousa_Personal/Desktop/atom-packages/atom-ink/lib/ink.coffee:8:13)
    at Object.<anonymous> (/part_home/CSousa_Personal/Desktop/atom-packages/atom-ink/lib/ink.coffee:38:4)
    at Module._compile (module.js:452:26)
    at Object.requireCoffeeScript (/usr/share/atom/resources/app.asar/node_modules/coffee-cash/lib/coffee-cash.js:85:19)
    at Module.load (module.js:347:32)

Commands

Config

{
  "core": {
    "themes": [
      "one-light-ui",
      "one-light-syntax"
    ],
    "disabledPackages": [
      "vim-mode-visual-block",
      "seti-icons",
      "wrap-guide",
      "keyboard-localization",
      "linter-julia",
      "link"
    ],
    "autoHideMenuBar": true,
    "followSymlinks": false
  },
  "editor": {
    "invisibles": {},
    "fontFamily": "Menlo",
    "scrollPastEnd": true,
    "scrollSensitivity": 10,
    "tabLength": 4,
    "fontSize": 12,
    "softWrap": true
  }
}

Installed Packages

# User
autocomplete-clang, v0.8.7
hidpi, v0.7.0
indent-detective, v0.1.0
ink, v0.0.0
language-cmake, v0.1.4
language-cuda, v0.0.0
language-ini, v1.11.0
language-julia, v0.3.1
latex-completions, v0.3.0
linter, v1.3.1
linter-pep8, v1.0.1
minimap, v4.12.2
minimap-codeglance, v0.4.0
minimap-selection, v4.3.0
simple-drag-drop-text, v0.2.3

# Dev
No dev packages

Uncaught TypeError: Cannot read property 'toString' of undefined

Hello guys, this has jumped at me after the update to the latest version. (Atom suggested to report it to you.)

Atom Version: 1.7.2
System: Mac OS X 10.11.3
Thrown From: ink package, v0.4.3

Stack Trace

Uncaught TypeError: Cannot read property 'toString' of undefined

At /Users/pb/.atom/packages/ink/lib/editor/spinner.coffee:94

TypeError: Cannot read property 'toString' of undefined
    at ReadFileContext.callback (/Users/pb/.atom/packages/ink/lib/editor/spinner.coffee:94:27)
    at FSReqWrap.readFileAfterOpen [as oncomplete] (fs.js:324:13)

Commands

     -1:17.9.0 settings-view:check-for-package-updates (atom-workspace.workspace.scrollbars-visible-always.theme-one-dark-syntax.theme-one-dark-ui)
     -0:51.2.0 julia-client:start-julia (atom-workspace.workspace.scrollbars-visible-always.theme-one-dark-syntax.theme-one-dark-ui)
     -0:40.2.0 core:save (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "themes": [
      "one-light-ui",
      "solarized-light-syntax"
    ]
  }
}

Installed Packages

# User
ink, v0.4.3
julia-client, v0.4.4
language-julia, v0.6.0
latex-completions, v0.3.1

# Dev
No dev packages

Uncaught SyntaxError: Unexpected end of input

This is something I'm not sure how to reproduce, but is also mentioned here.

Stack Trace:

SyntaxError: Unexpected end of input           # can be "Unexpected token [", too
  at Object.parse (native)
  at D:\Dokumente\Git\atom-julia-client\lib\connection\tcp.coffee:36:27
  at Socket.<anonymous> (D:\Dokumente\Git\atom-julia-client\lib\connection\tcp.coffee:17:9)
  at emitOne (events.js:77:13)
  at Socket.emit (events.js:166:7)
  at readableAddChunk (_stream_readable.js:146:16)
  at Socket.Readable.push (_stream_readable.js:109:10)
  at TCP.onread (net.js:517:20)

Poor tree view creation performance when displaying many child entries

The performance of creating a tree view with many child entries seems slower than that what I would expect. I'm using the tree view in Proto REPL for displaying the results of executing Clojure commands to provide inline explorable data structures. I ran some tests of displaying ranges of numbers between 0 and N where each number was a child view. I saw the following performance characteristics on my laptop:

  • 1000 - 59 ms
  • 10000 - 1451 ms
  • 100000 - 132278 ms

Normally I wouldn't want to display 10K numbers in a list but this is a stand in for some of the larger nested maps which might have many children.

I'm working on improving Proto REPL performance and this is one of the slowest parts right now. Here's an image using the profiler with 10K numbers in Proto REPL. The rightmost area is the treeview creation.

proto_repl_display_10k_analysis

I'll have a pull request coming shortly with some dramatically better numbers.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.