- Use Protoblast methods to get an object's symbols & getters
- Add compact-mode, which disables colours and less loging when not using the tui
- Re-add clipboard support using OSC 52 escape sequences (works over SSH)
- Fix package.json
- Remove usage of bound
startsWithmethod - Make
ArgsLogLine#dissect()clear the maps before starting
- Small "getting property of
undefined" fix - Support for customized instance representation
- Fix editarea issue
- Fix terminal resize breaking the interface
- Add
Janeway#has_startedproperty
- Small editarea fix
- Improve Bun v1.x compatibility
- Add separate
IndicatorItemclass instead of using simple objects - Add sort support to
Indicatorclass - Create 3 indicator areas: left, center & right
- Add main menu to the left area, move
Copy JSONbutton to it
- Remove clipboard support (
copy-pastedependency is abandoned) - Upgrade
isBinaryFiledependency - Switch from
neo-blessedtoreblessedmodule
- Upgrade to protoblast v0.8.0
- Get some more
Mapfeedback - Merge UX tweaks from j1mmie/janeway
- Make the style of the time part of a status message configurable
- Make
Copy JSONbutton also dump to a file - Make scroll-wheel scroll step configurable
- Refuse to start on Bun for now
- Add
Janeway#reloadScreen(), which re-enables the alternate buffer & mouse - Supply the original
stdoutto blessed so reloading the screen will work - Add
extra_outputstream option to which extra control sequences will also be sent - Fix an off-by-one click issue
- Add support for using
awaitin the CLI - Increase the
caller_info.min_lengthdefault length to 26
- Sort the properties by key (new boolean setting "properties.sort")
- Don't perform expensive object compare function by default (new boolean setting "properties.alike_objects")
- Don't show getter property values by default, they now require a click (boolean setting "properties.show_get_value")
- Cleanup the inline property inspection (used to use
utils.inspect) - Date objects now show a formatted string
- Use ellipsis instead of 3 dots
- Allow config to be in a
janeway.jsfile, too - Use
path.septo get the correct separator on windows - Indicators can now be used to create menus
- Finally add resize support
- Upgrade to
neo-blessedfork
- Make the minimum stack size configurable, defaults to 6
- Fix additional opening curly braces
- Add hexadecimal view of Buffers
- Fix getting the current scroll index on a click
- Add pagination support & implement in Buffer hex view
- Added
mouseup,mousedown,mousemoveand implementedmousedragevent - Enabled selecting values in a
HexLogLine - Added
LogLin#getValueForClipboard, for setting the value to copy to clipboard - Starting Janeway with a binary file as argument will show the hex viewer
- Increase the captured stacktrace length
shutdown_on_exceptionis now false by default- Add exit shortcut to the configuration, refs #11
- Add basic evaluation support to the execbin, refs #10
- Read out getters to object inspection
- Pad the object key length to the longest length of all keys
- Also enable module evaluation when supplying
--evaluate, refs #10
- Added
Logline#render, which re-renders the given line ArgsLogLine#dissectwill now hook onto an object with areportProgressmethod and display the progress as a percentage- Add
blessed.screendefault options to user config - Allow setting a custom
screenin thestart(options)to render Janeway to Janeway#redrawnow callsrealloc(instead ofalloc) and arender- An object's
namespacewill now be shown in anArgsLogLine - Add callback to
fs.writeFileso it no longer throws the deprecated warning error - Store the
vm_contexton theJanewayinstance, so CLI variables can be set in other parts of the program - Set the
$0variable using thevm_context - Detect clipboard pasting of multiline strings
- Crashing programs shouldn't cause broken terminals anymore
- Setting indicators shouldn't crash the program when janeway hasn't loaded
Janeway#args_name_mapproperty can be used to change which nameArgsLogLineshows (by default it's the filename with .js stripped of)- Fix bug where indicator hover text would not be saved if updated while already visible
- Added capability to store external user configuration in
~/.janeway/janeway.json - Added persistent cli history
- Make autocomplete popup only as wide as the biggest suggestion
- Don't show empty lines in autocomplete popup
- Unselect current selected line when manually executing something via the cli
- Set required file on
require.mainobject LogList#consoleLogwill now return the createdLogLine
- Added spinners, which can be rendered in the statusbar
- Added
Janeway#redraw, which forces a re-render - Added indicators
- Added menu bar
- Added 'Copy' button to copy current selection to the clipboard
- The currently selected object/string will be stored under the $0 global
Janeway#setTitle(str)will now set the title of the terminal tab- Remove 'Line 0' when Janeway starts
- If a new line contains the same data as the previous one, it is not printed to screen, but a counter is added to that previous line.
- The CLI now uses a modified Textarea widget: arrow keys, delete, home, end now all work as they should
- Added a statusbar under the CLI, which can be set using
Janeway#setStatus, it should only be given regular text, though it does support blessed tags. - Move classes to the Develry.Janeway namespace
- The Janeway instance can now be accessed at the
__Janewayglobal - Only +/- 1000 lines will be stored, when going over that the top lines will be removed
evalis no longer used to evaluate CLI code, nowvm#runInNewContextis used- The new CLI evaluation now has access to
require - Because of ditching
eval, declaring variables (or asigning withoutvar) will no longer create a global. In order to create on, you'll have to do something likeglobal.myglobal = 'globalvalue' - Added
getPropertyNamesto recursively look through an object's prototype chain to fill the autocomplete popup - Command evaluation will first wrap the command in parentheses, if it fails it tries it without them.
- The
janewaycommand will set the title on boot - Autocomplete will now also select current item when typing '(', it already does this for '.', a tab and an enter
- Add brackets when opening objects
- Also split strings on \r\n or \r newlines
- Show
__proto__property when inspecting objects - Add timestamp to loglines
- Remove '.js' from filenames
- Added
uncaughtExceptionlistener to print errors before crashing - Changed scrolledManually and scrollDown property to underscored name
- Let Janeway handle application crashes better
- Add autocomplete (basic for now)
- Add CLI history
- Allow Janeway to be run globally
- Add date object to line info
- Improve multiline string support
- Upgrade
blesseddependency to 0.1.81 - Throttle the
rendermethod to not overload the process - Automatically scroll down when new line is added
- Clicking on functions will now read out properties
- Pressing pageup/pagedown will scroll up or down
- Fix click/scroll index issues
- Stringify Objects using util.inspect, to prevent toJSON interference
- Caller info is added (where the output came from in the script)
- Strings with newlines will be printed out along multiple lines when selected
- Updated blessed dependency
- Fixed bug where lines were kept in memory and causes screen glitches
- Fixed global scope command problem (removed vm in favour of regular eval)
- Added Janeway.debug method, which outputs to a logfile
- Upgraded "blessed" dependency to 0.0.38
- More minor bugfixes
- require('janeway') will now return an instance of the Janeway class
- Janeway now takes command of
stdout,stderrand all theconsolemethods - Janeway is now also an event emitter (Using Protoblast's Informer class)
- Newlines are now replaced with a Unicode return symbol
- Added new commands to the CLI:
- 'exit' will exit Janeway and the running app (as will Escape or Control+C)
- 'cls' will clear the screen
- Initial Github commit and npm release!