Amazing stuff wuub. Great find on leveraging the pyte library.
I had fun trying to capture ansi escape codes from /bin/bash and attempt to output the proper color combo from a custom theme using view.add_region(). I ran into a brick wall with border around the regions and quickly found out that you already attempted to do exactly this right from the get-go: https://forum.sublimetext.com/t/automatic-backup-plugin/32/1#p22223 Needless to say this was a face-palm moment. I upvoted the http://sublimetext.userecho.com/topic/93643-/ for sure.
Would be great to set the pyte.Screen sizes as per the view size relative to the view.line_height() and view.em_width(). Maybe attach to the on_modified to maybe capture a view resize?
Would it be possible to have this work in an editable output panel ala get_output_panel()? Visually I think it would look better than another normal view.
Whenever the view gets focus via on_activated always set the cursor on the prompt. Maybe force a few other config options off like line highlighting as well.
Otherwise I’m floored how well this works - ipython and most shell commands I use on a regular basis (tab completion, history, ctrl+r, emacs bindings, etc).