* resolves#76
* move private fun to bottom
* refactor(tabs): do not allocate when filtering panes to terminals
* style(formatting): make rustfmt happy
Co-authored-by: Aram Drevekenin <aram@poor.dev>
* wip: tabs, just outlining stuff, for now it is a mess
* wip: tabs, just outlining stuff, for now it is a mess
* wip: formatting
* wip: some moving around
* wip: not sure why those things are not imported
* wip: cleaning up a bit
* wip: doesn't render when new tab is created?
* wip: doesnt re-render when a new tab is spawned for now
* wip: tabs now are a BTreeMap and we can switch between them in both directions
* wip: I think that should also be here
* wip: cleanup
* Spawn a new terminal simultaneously with a new tab
* Ensure proper Opening and Closing of tabs
* cleanup
* more cleanup
* tests(snapshots): add 'loading' snapshot to each scenario
* fix(tests): update snapshots
* Add tests for tabs implementation
* wip: added tests, moved tab related stuff to a separate file
* wip: var name change, removed unused imports
* chore: fromatting
* wip: tests are you ok?
* Remove next_tab_index field
* clean close_tab() logic in screen.render()
* wip: more tests added, review changes covered
* chore: a programmer and a formatter walk into a bar....
* style(screen): update description comment
* docs(tab): add comment description
Co-authored-by: denis <denis@airheadventures.com>
Co-authored-by: Kunal Mohan <kunalmohan99@gmail.com>
Co-authored-by: Aram Drevekenin <aram@poor.dev>
Co-authored-by: Kunal Mohan <44079328+kunalmohan@users.noreply.github.com>
* It 'aint much, but it's honest work (else-if ladder -> match)
* Maybe this is nicer?
* fix(style): use nicer structure for nicer matches
* style(code): match ordering
Co-authored-by: Brooks J Rady <b.j.rady@gmail.com>
* Implement ErrorContext for tracking errors across threads
* reorder Instruction and ErrorContext
* Add ContextType, AppContext, ScreenContext, PtyContext
* Use ArrayVec in ErrorContext
* increase MAX_THREAD_CALL_STACK to 6
* Custom implement Debug for ErrorContext ad ContextType and color output
* Use os_input instead of println!()
* Use array instead of ArrayVec and some cleanup
* Introduce SenderWithContext
* Keep arrayvec at v0.5.1