Commit Graph

334 Commits

Author SHA1 Message Date
Mikayla Maki
27e76e3ca2 Retouched a test, should still be failing 2022-07-25 17:24:25 -07:00
Mikayla Maki
889720d06d Fixed conflict 2022-07-25 17:24:21 -07:00
Mikayla Maki
4d8cd6d8ea Added event buffering, need to figure out a proper fix 2022-07-25 17:23:00 -07:00
Mikayla Maki
313316fe88 fixed 2022-07-25 16:08:31 -07:00
Max Brunsfeld
13097ea110 Update terminal test to reflect new text insertion approach 2022-07-25 12:21:26 -07:00
Antonio Scandurra
ca3e73106c Merge branch 'main' into ime-support-2 2022-07-25 10:47:49 +02:00
Mikayla Maki
a41e54f3dc Finished terminal refactoring 2022-07-22 13:54:46 -07:00
Mikayla Maki
119207a9e5 Refactored a bunch of stuff, working on tidying element code 2022-07-22 12:06:42 -07:00
Mikayla Maki
dce27870ce Refactored terminal tests 2022-07-22 10:20:15 -07:00
Antonio Scandurra
7b009c8bbe Merge branch 'main' into ime-support-2 2022-07-22 16:03:38 +02:00
Max Brunsfeld
9c412a8806 Remove test for handling input via key events
Now, textual input is handled by a different code path than other key events.
2022-07-21 21:40:37 -07:00
Max Brunsfeld
0185b4fef4 Add simple IME handling to the terminal 2022-07-21 21:32:58 -07:00
Mikayla Maki
c6d5decbf9 Finished erorr terminal refactoring 2022-07-21 12:37:15 -07:00
Mikayla Maki
7c0a031506 added cursor text back 2022-07-21 10:04:12 -07:00
Antonio Scandurra
97ce3998ec Position IME input according to where the selection is rendered 2022-07-21 17:35:40 +02:00
Max Brunsfeld
f712dec4c0 Use new API for input handling in Terminal 2022-07-20 17:33:37 -07:00
Mikayla Maki
ee87c8ebde Render is snappier, less locking, and errors feel nicely modeled 2022-07-20 17:25:21 -07:00
Mikayla Maki
741b78a15b I think I'm finished 2022-07-20 17:11:36 -07:00
Mikayla Maki
061dde5a9b Compiling with new result based error handling 2022-07-20 16:48:40 -07:00
Mikayla Maki
9b6df1fb61 Checkpoint, this commit does not compile 2022-07-20 12:41:04 -07:00
Mikayla Maki
b493bafb48 Fixed failing test 2022-07-20 10:34:00 -07:00
Mikayla Maki
e2a9a6f361 Maybe fixed toml 2022-07-20 10:04:08 -07:00
Mikayla Maki
18079ced20 Updated alacritty version 2022-07-20 10:04:08 -07:00
Mikayla Maki
ef1a32ee92 Done updating rendering performance for now. Further changes would require more fundamental work, I'm still not really happy with it as is though. Will probably take a few hours to clean the code though. 2022-07-20 10:04:08 -07:00
Mikayla Maki
005e2cb2be Compiling again... finally 2022-07-20 10:04:08 -07:00
Mikayla Maki
4f7b6b8b22 Finally finished merging this massive ball of changes 2022-07-20 10:04:08 -07:00
Mikayla Maki
150d2ff53f Attempting to continue rebase 2022-07-20 10:04:08 -07:00
Mikayla Maki
4a483618be Finished graceful terminal failure 2022-07-20 10:04:08 -07:00
Mikayla Maki
40d30a898b Rebasing continues 2022-07-20 10:04:08 -07:00
Mikayla Maki
9d063ae6d8 Switched to hybrid iterator and while loop grid processor. Still hairy but much more managable. Not finished compiling yet. 2022-07-20 10:04:08 -07:00
Mikayla Maki
c9584a9d0c Continuing rebases on other work 2022-07-20 10:04:08 -07:00
Mikayla Maki
a4ca11ba17 Finished design touchups 2022-07-20 10:04:08 -07:00
Mikayla Maki
c19956373a Finished bel, moving on to title 2022-07-20 10:04:06 -07:00
Nate Butler
bcc554a3db Merge branch 'main' into theme-improvements 2022-07-19 20:12:02 -04:00
Nate Butler
46384e71b7 Add icon sets for sizes 8, 12 and 16, remove old icons 2022-07-19 17:11:15 -04:00
K Simmons
8add81350e Rework presenter and MouseRegion to use Handler hashmap rather than individual fields 2022-07-17 23:19:32 -07:00
Mikayla Maki
8349ead6b2 Add bracketed paste support 2022-07-15 19:01:08 -07:00
Mikayla Maki
6675c96c8a Removed some old dbgs and comments 2022-07-15 18:42:07 -07:00
Mikayla Maki
523e565b9b bad patch for panic on mis configured shell 2022-07-15 18:38:17 -07:00
Mikayla Maki
dc120c1e05 Added settings for common terminal configurations 2022-07-15 18:27:10 -07:00
Mikayla Maki
1b3fb257b2
Merge branch 'main' into copy-test-update 2022-07-15 13:24:11 -07:00
Mikayla Maki
e156675640 Revamped testing in terminals 2022-07-15 12:15:55 -07:00
Mikayla Maki
8282858941 Updated copy integration test to match retries on terminal integration test 2022-07-15 11:30:14 -07:00
Mikayla Maki
f38206f819
Merge branch 'main' into keybindings-grind 2022-07-15 11:24:16 -07:00
Mikayla Maki
3e86411627 Finished new keybindings system for now 2022-07-15 11:20:54 -07:00
Mikayla Maki
90428255d9 Added some simple tests for the new keybindings 2022-07-15 10:36:37 -07:00
Mikayla Maki
f9995e1fcd Starting on tests 2022-07-15 00:26:04 -07:00
Antonio Scandurra
d89465c451
Merge pull request #1356 from zed-industries/differentiate-same-tab-titles
Differentiate among tabs with the same name
2022-07-15 08:30:22 +02:00
Mikayla Maki
8220b37c4f Method rename 2022-07-14 17:25:17 -07:00
Mikayla Maki
1935208de6 Clean up prints 2022-07-14 17:23:43 -07:00
Mikayla Maki
98651c4b86 New key mapping system in place and working 2022-07-14 17:21:30 -07:00
Mikayla Maki
2e749631fe Checkpoint, have caret notation implemented 2022-07-14 16:27:02 -07:00
Mikayla Maki
cf5c20c3a5 Remembered how to use a terminal 2022-07-14 13:15:42 -07:00
Isaac Clayton
91fefae96a Add retries to failing terminal test 2022-07-14 16:05:10 +02:00
Antonio Scandurra
07d269234f Differentiate among tabs with the same name
This commit introduces a new, optional `Item::tab_description` method
that lets implementers define a description for the tab with a certain
`detail`. When two or more tabs match the same description, we will
increase the `detail` until tabs don't match anymore or increasing the
`detail` doesn't disambiguate tabs any further.

As soon as we find a valid `detail` that disambiguates tabs enough, we
will pass it to `Item::tab_content`. In `Editor`, this is implemented by
showing more and more of the path's suffix as `detail` is increased.
2022-07-14 11:54:11 +02:00
Mikayla Maki
f55b24ddee Fixed modal terminal bindings to not show in command palette 2022-07-13 16:39:22 -07:00
Mikayla Maki
79b7dcb596 Basic keybindings infra done 2022-07-13 16:32:25 -07:00
Mikayla Maki
7885234fbc Added clear screan command 2022-07-13 13:19:21 -07:00
Mikayla Maki
4f9d88f3e0 Made a quick fix for modal issues, better solution pending rewrite 2022-07-13 13:06:23 -07:00
Mikayla Maki
344e037406 remove temporary work 2022-07-13 12:18:43 -07:00
Mikayla Maki
494c168c6f Beginning rewrite of affected systems 2022-07-13 12:18:43 -07:00
Mikayla Maki
f630ab4821 checkpoint 2022-07-13 12:18:43 -07:00
Mikayla Maki
2ca340b9f1 Beginning research 2022-07-13 12:18:43 -07:00
Mikayla Maki
598954d39f Added a bit of documentation for the working directory calculation 2022-07-12 17:49:14 -07:00
Mikayla Maki
41e83b6be2 Fixes terminal launch issues and adds tests for queries 2022-07-12 17:45:11 -07:00
Keith Simmons
ed3666547b Make global type more resilient, and fix modal keymap context 2022-07-08 16:29:29 -07:00
Keith Simmons
20f7fba16f Move terminal scripts to scripts folder, and remove parking_lot from terminal crate
Co-authored-by: mikayla.c.maki@gmail.com
2022-07-08 16:16:57 -07:00
Keith Simmons
31361e564d remove temporary debug print statements
Co-authored-by: mikayla.c.maki@gmail.com
2022-07-08 16:14:41 -07:00
Keith Simmons
8d34fe7e94 Refactor terminal connection into a model which can be copied between terminal views
Refactor terminal modal code to use TerminalConnection model handle so we aren't storing TerminalViews in the globals
Adjust INSTANCE_BUFFER_SIZE in renderer to handle pathological terminal renders

Co-authored-by: mikayla.c.maki@gmail.com
2022-07-08 16:10:09 -07:00
Mikayla Maki
4a860d4da4 Properly fixed merge issues 2022-07-07 18:05:37 -07:00
Mikayla Maki
d373e4424f
Merge branch 'main' into terminal-modal 2022-07-07 17:48:58 -07:00
Mikayla Maki
be94f614a7 fix merge conflicr 2022-07-07 17:24:55 -07:00
Mikayla Maki
8cb6e476f0 Fixed panic / bug around scrolling and selections in termainl 2022-07-07 17:19:53 -07:00
Nathan Sobo
805c06ee76
Merge pull request #1298 from zed-industries/mouse-region-refactor
Mouse Event Refactor
2022-07-07 16:43:36 -06:00
Mikayla Maki
f86106a07e Fixed a bug around selecting a single cell 2022-07-07 15:24:06 -07:00
Mikayla Maki
1fab7be4b5 Finished selections for now 2022-07-07 15:10:08 -07:00
Mikayla Maki
5a1797cb21 Fixing merge conflicts 2022-07-07 14:56:38 -07:00
Mikayla Maki
59c8e8bdad Fixed integration test 2022-07-07 14:55:25 -07:00
Mikayla Maki
ab0ca7d42a Added another minor test 2022-07-07 14:55:25 -07:00
Mikayla Maki
102f502c26 tidied up magic constants 2022-07-07 14:55:25 -07:00
Mikayla Maki
cc985721c6 Added a small integration test 2022-07-07 14:55:25 -07:00
Mikayla Maki
9209c0dfeb Fixed merge conflict 2022-07-07 14:55:22 -07:00
Mikayla Maki
7c0d9f411a Added copying 2022-07-07 14:55:03 -07:00
Mikayla Maki
8c1054fbb6 Fixed merge conflict 2022-07-07 14:54:58 -07:00
Mikayla Maki
b5919c0555 Fixed merge conflict 2022-07-07 14:54:36 -07:00
Mikayla Maki
415e28e2d3 Fixed merge conflict 2022-07-07 14:54:13 -07:00
Mikayla Maki
a8237858bc Added basic selections 2022-07-07 14:52:04 -07:00
Mikayla Maki
86d5794040 Rebasing onto main 2022-07-07 14:51:59 -07:00
Mikayla Maki
49bd51c7c1 Fixed integration test 2022-07-07 14:38:21 -07:00
Mikayla Maki
28fd1ccbc6 Added another minor test 2022-07-07 13:55:58 -07:00
Mikayla Maki
d981f4a3f4 tidied up magic constants 2022-07-07 13:45:27 -07:00
Mikayla Maki
4bd1111115 Added a small integration test 2022-07-07 13:43:28 -07:00
Mikayla Maki
c0c2297deb
Merge branch 'main' into terminal-selections 2022-07-07 13:20:23 -07:00
Mikayla Maki
4e3c32c277 Added copying 2022-07-07 13:19:38 -07:00
Mikayla Maki
98f6dccd43 Fixed terminal clone on split 2022-07-07 13:01:16 -07:00
Mikayla Maki
ec4082695b Now defaults to using user's shell 2022-07-07 12:31:21 -07:00
Mikayla Maki
240f3d8754 Fixed default shell 2022-07-07 12:29:49 -07:00
Mikayla Maki
bc306ef8ed
Merge branch 'main' into terminal-selections 2022-07-07 12:17:58 -07:00
Mikayla Maki
02525c5bbe Added a way to change the timeout with state 2022-07-07 12:04:17 -07:00
Mikayla Maki
9c518085ae Fixed working directory issues, added tests. Working on regression 2022-07-07 11:01:26 -07:00
Mikayla Maki
778cfd94d8 Added basic selections 2022-07-06 17:37:12 -07:00
Keith Simmons
686e57373b pull event data out into individual Event structs 2022-07-06 15:36:42 -07:00
Mikayla Maki
cba5b4ac11 Began working on selections, refactored colors 2022-07-06 13:44:30 -07:00
Keith Simmons
2d126c7c5c add terminal modal which can be displayed and dismissed while preserving the terminal state 2022-07-06 13:20:54 -07:00
Mikayla Maki
03cbb94057 changed renderer 2022-07-05 17:10:01 -07:00
Mikayla Maki
342d38a9fb Working on grid rendering 2022-07-05 15:10:34 -07:00
Mikayla Maki
b4dc92dddc Set up basic enviroment variables 2022-07-05 15:02:58 -07:00
Mikayla Maki
6ac5cc0d2a Fixed cursor positioning bugs in multi-byte charcters. Still have at least one though :/ 2022-07-01 14:53:19 -07:00
Mikayla Maki
62939322d3 rendering cursor correctly 2022-07-01 13:03:26 -07:00
Mikayla Maki
f4ac694ad8 Fixed debug offset I added to terminal 2022-07-01 11:48:50 -07:00
Mikayla Maki
ce60a9a50a Cleaned up debugging code 2022-07-01 11:39:43 -07:00
Mikayla Maki
8e4c54ab61 Checkpointing after some debugging 2022-07-01 11:38:12 -07:00
Mikayla Maki
ae836e1465 Fixed a major bug and now use the same cursor paint logic as the editor 2022-06-30 20:43:51 -07:00
Mikayla Maki
64d3dc32d2
Update terminal.rs
Whoopsies
2022-06-30 20:30:52 -07:00
Mikayla Maki
bcf5351e64 Refactored and commented code to be my expressive 2022-06-30 20:02:16 -07:00
Mikayla Maki
092284b062 Fully functional background colors :D 2022-06-30 19:21:42 -07:00
Mikayla Maki
06107afdd4 Added background colors and matched the cursor color 2022-06-29 18:50:08 -07:00
Mikayla Maki
5bc0acd88c Directly qualified function makes cargo happy 2022-06-29 18:34:02 -07:00
Mikayla Maki
ab5247c62e Actually correctly flag tests 2022-06-29 18:31:52 -07:00
Mikayla Maki
75a4556244 Fixed unused import 2022-06-29 18:29:36 -07:00
Mikayla Maki
cde11fe4e7 Support for all 24 bits of colors 2022-06-29 18:27:27 -07:00
Mikayla Maki
1c038b81ab Finished current working directory stuff 2022-06-29 16:22:05 -07:00
Mikayla Maki
bc728c160d Properly fixed the issues with the grid :D 2022-06-29 13:19:25 -07:00
Mikayla Maki
93dfc63f1c Added a test with max, cludged a fix for resizing 2022-06-29 13:07:44 -07:00
Mikayla Maki
ff44ddc077 Fixed warnings 😓 2022-06-29 09:38:02 -07:00
Mikayla Maki
db95c0d0e1 Removed dead clear code 2022-06-28 18:45:26 -07:00
Mikayla Maki
e3834409dd Fixed focus issues with scrolling and input 2022-06-28 18:28:13 -07:00
Mikayla Maki
38ed70d5cc Added theme support 2022-06-28 17:07:18 -07:00
Mikayla Maki
f28fb5797f Fixed scrolling and cursor location 2022-06-28 15:45:27 -07:00
Mikayla Maki
24d671ed3f First bits of polish 2022-06-28 15:45:27 -07:00
Mikayla Maki
2b1fa07e89 Working on selection 2022-06-28 15:45:27 -07:00
Mikayla Maki
9e55c60b6a working on selection and scrolling in terminals 2022-06-28 15:45:27 -07:00
Mikayla Maki
31bc758f35 Forgot to commit last night 2022-06-28 15:45:27 -07:00
Mikayla Maki
b36bf0c56d Finally on solid conceptual ground, able to move ahead confidently with Alacritty code 2022-06-28 15:45:27 -07:00