The update comes with many new features mostly thanks to the awesome objc_util module. It is available on the GitHub repo as branch beta16.
To install it, copy and run following line in the Pythonista prompt.
import urllib2; exec urllib2.urlopen('http://bit.ly/gsb16').read()
It installs StaSh under site-packages and copy the launch_stash.py script under ~/Documents for easier access. If it is not obvious enough, you'll need Pythonista 1.6 beta for it to work. Try a few commands like ll and grep and see the colors and styles. (please note not all commands are updated to use attributed texts).
Features and Changes:
* Attributed texts
- Colors, bold, italic, underline, strikethrough. Default font size is now 14 on iPad (was 12).
* Real external keyboard support (no more approximation)
- Ctrl-C interrupts running command. Ctrl-D ends user input. Ctrl-P/N navigates through command history. Ctrl-A/E jump to start/end of the input line. Ctrl-U erases the input line. Ctrl-W deletes one word from the input line.
* Killable threads
- Running scripts can now be properly terminated by the C-C button (Ctrl-C) which raises KeyboardInterrupt.
* Better modularity
- Code is now splitted into 7 files. The total length is over 4000 lines.A single file really gets difficult to handle.
* It is now a module
- The application is now made as a module to be installed under site-packages to survive through the global variable clearing.
* Better scrolling
* Largely redesigned the logic of user/script IO handling.
- The on screen and in memory buffers should now be more consistent.
There are also drawbacks. The most noticeable one is probably the speed. On iPad Air 2, it runs OK but cat through a large file still takes quite a few seconds. I am not sure how it would work on older devices.
This version is still at its early stage and you may expericence crash and freeze. There is still much room for improvements. I have a few already in my mind and will implement them when time permits.
All feedbacks are welcome!