Commit graph

288 commits

Author SHA1 Message Date
Roee Shapira
fd1f1ce697
fix(layout): total layout percent 100 validation (#57)
* Fix for issue #52

* Added missing fixtures.

* Added missing validation.

* Moved layout creation and validation to the Layout struct.

* Ran cargo fmt.

* Added creation of tmp folder if needed.

* Code review edit.

* Code review edit.

* Fancied code up.

* PR request change.

* PR code review.

* Merge from upstream/main.

* Merge from upstream/main.
2020-11-21 19:39:57 +01:00
Kyle Sutherland-Cash
11e72b3d6b
feat(ux): add a command mode (#42)
* Move the input loop into a separate module

* Proof of concept implementation of command mode

* Update readme to reflect command mode

* Have Esc exit command mode

* Update tests to use command mode and make it transient by default

* Some merge fixes

* fix(tests): add missing COMMAND_TOGGLE and fix false positive test

* style(format): make rustfmt happy

* Update readme to describe command mode

Co-authored-by: Aram Drevekenin <aram@poor.dev>
2020-11-21 15:55:49 +01:00
Aram Drevekenin
429e415ecc
fix(atomicity): block commands before executing others (#59) 2020-11-19 18:24:34 +01:00
Denis Maximov
cf43736656
refactor(data-structures): #51 change winsize to positionandsize (#56) 2020-11-19 15:30:05 +01:00
Denis Maximov
6f168c5ef2
fix(ux): disable move focus when in full screen (#49)
* feat: add rustfmt, update action workflow to check for formatting

* wip: Mosaic reacts to "move focus" commands when one pane is maximized

* feat: move focus is blocked when pane is in full screen

* fix: formatting

Co-authored-by: denis <denis@airheadventures.com>
2020-11-17 12:53:37 +01:00
Henil
0ddcc4087e
fix(ux): add variable to track if the pane is in fullscreen mode or not (#47)
* Fix the bug and add new tests

* add snapshots for integration tests
2020-11-16 17:45:15 +01:00
Aram Drevekenin
47954166a2
feat(ux): initial layout engine (#50)
* prototype

* refactor(layout): move stuff around

* style(format): make rustfmt happy
2020-11-15 19:55:56 +01:00
Denis Maximov
a2914066bf
feat: add rustfmt, update action workflow to check for formatting (#45) 2020-11-14 18:59:37 +01:00
Aram Drevekenin
8e6dfded7a
fix(ux): properly echo characters and do not mess up exit (#44) 2020-11-14 13:27:42 +01:00
Aram Drevekenin
5a88b1a6ee
fix(ui): exit app when last pane is closed (#40) 2020-11-11 11:56:48 +01:00
Aram Drevekenin
ee0167f3af
fix(compatibility): do not interpret esc as scroll-up (#29) 2020-11-08 21:22:46 +01:00
Aram Drevekenin
13af16b336
fix(scroll): support show/hide cursor and fix vim scrolling behaviour (#27) 2020-11-06 18:12:03 +01:00
Aram Drevekenin
bdcd3b74ff
feat(screen): allow to toggle pane fullscreen with ctrl-f (#24) 2020-11-05 10:26:33 +01:00
Aram Drevekenin
a4cd34177f hotfix(controls): do not capture the ENTER key 2020-11-03 22:43:35 +01:00
Aram Drevekenin
5592a83d4a
feat(screen): allow specifying max panes on screen (#20) 2020-11-03 15:50:18 +01:00
Aram Drevekenin
9f6bbc55b5
feat(screen): split largest terminal (#19)
* feat(screen): split largest terminal

* docs(readme): split largest terminal command
2020-11-02 16:34:20 +01:00
Aram Drevekenin
ba2fd9f782 refactor(structure): separate all the things 2020-11-01 11:42:18 +01:00
Aram Drevekenin
1fd4c5d367 refactor(terminal-pane): simplify data structures 2020-10-31 20:35:16 +01:00
Aram Drevekenin
5ea67501ba feat(screen): close pane 2020-10-23 15:36:41 +02:00
Aram Drevekenin
bd5824ce3f feat(ipc): listen to external ipc messages including a basic api 2020-10-20 19:17:57 +02:00
Aram Drevekenin
592eff8c74 feat(performance): some improvements by reducing string allocations 2020-10-17 14:35:26 +02:00
Aram Drevekenin
6a68f4c710 feat(scrolling): basic 1-line scroll-up and scroll-down inside a pane 2020-10-15 17:58:07 +02:00
Aram Drevekenin
dfcd3dda58 fix(vim): properly delete last line 2020-10-14 19:04:26 +02:00
Aram Drevekenin
1e3fd9cc92 fix(colors): properly reset various ansi sequences 2020-10-14 14:10:21 +02:00
Aram Drevekenin
c652a09ae7 fix(boundaries): render properly 2020-10-13 18:14:53 +02:00
Aram Drevekenin
8f0dc0bdc3 fix(compatibility): vim works inside pane 2020-10-12 13:32:56 +02:00
Aram Drevekenin
5cd365a73c feat(compatibility): vim working! 2020-10-05 16:46:40 +02:00
Aram Drevekenin
1844816f47 refactor(terminal): minor cleanups 2020-10-02 20:02:34 +02:00
Aram Drevekenin
cf1080bc3f test(compatibility): bandwhich + various fish things 2020-09-29 11:40:47 +02:00
Aram Drevekenin
924300c8f1 refactor(tests): reduce repetition 2020-09-18 17:14:29 +02:00
Aram Drevekenin
67076d6812 tests(integration): resize left + up + down 2020-09-15 20:15:08 +02:00
Aram Drevekenin
bee097f4e6 tests(restructure): integration folder 2020-09-15 11:05:56 +02:00
Aram Drevekenin
8721f1f789 tests(resize): resize right 2020-09-15 10:49:35 +02:00
Aram Drevekenin
e4737d55cf tests(infra): use streamlined fake inputs 2020-09-13 18:19:55 +02:00
Aram Drevekenin
996c5531f7 fix(layout): horizontal resizes 2020-09-07 12:23:35 +02:00
Aram Drevekenin
f42c13da8e test(layout): horizontal split 2020-09-04 17:17:37 +02:00
Aram Drevekenin
29a12b5b2d horizontal split prototype 2020-09-04 16:46:28 +02:00
Aram Drevekenin
9e204e0dcc tests! 2020-09-03 16:47:44 +02:00