The Juno.jl Front-End
Juno provides some functionality using Atom's UI, which will usually have a fallback for use in other environments.
isactive() function will provide an interface for figuring out whether the
current session is running within Juno:
Juno.jl includes features which allow package developers to created enhanced displays in Juno.
For example, we can print provide structured display for arbitrary objects (similar to
Profiles collected by
@profile can be displayed as a flame chart (similar to
inside of Juno by calling
Juno.profiletree() will display the stack
trace similar to the output of Base's
Profile.print(). There's also a
which does the same as
@profile but also displays the collected information as a flame chart
and clears all collected backtraces beforehand.
Juno.profiler Juno.profiletree Juno.@profiler
Clicking on one of the boxes in the profile view will take you to the corresponding file/line.
The length of the lines in the editor correspond to the percentage of calls made in that line;
to clear the profile view and the in-editor display, click the
Forget Plot button in the
profile view toolbar.
Juno.jl allows package developers to use the progress bar which is provided in the
Atom window. For example, you can easily show a progress meter for a
or a comprehension via the command:
@progress for ...
The following functions provide this interface:
It is recommended to either use the
@progress macro or the
progress(name = "Foo") do p end
notation to ensure that the progress bars are properly unregistered in the frontend.
Juno.jl lets package developers interact with users via the Atom frontend. For example, you can allow the user to select from a list of options:
or send an OS-level notification:
You can also use
for querying the currently used syntax colors in Atom (and generate a plot theme or an OhMyREPL syntax theme from that).
The console can be cleared with