Commit Graph

212 Commits

Author SHA1 Message Date
0575616ac2 properly implemented read builtin
fixed bugs related to redirections and compound commands

improved io routing logic
2026-02-17 17:30:21 -05:00
6055f3434d fixed empty arguments being filtered out during word splitting 2026-02-16 19:09:10 -05:00
cefd55e7af migrated polling logic from virtterm branch to main 2026-02-16 18:28:57 -05:00
5ba521e493 Various bugfixes 2026-01-29 19:47:12 -05:00
9fea0430c8 Fixed conditional block parsing not handling command chains 2026-01-29 05:01:26 -05:00
6d6e55375c Various edge case fixes for prompt expansion and command substitution 2026-01-29 04:58:04 -05:00
222e06bee6 Added prompt escape code expansion flag to echo, -p
Added non-formatted runtime to prompt escape codes

Added prompt escape code that expands to the output of a shell function

Reworked internal logic for termios control
2026-01-29 03:46:35 -05:00
4a6a941f1e Fixed logic for EINTR propagation 2026-01-28 20:48:29 -05:00
2c52a3621e renamed fern.rs back to main.rs 2026-01-28 19:57:14 -05:00
ae3c9a0445 Implemented proper variable scoping
Extracted business logic out of signal handler functions

Consolidated state variables into a single struct

Implemented var types
2026-01-28 19:30:48 -05:00
5aead4fcdc Added rustfmt.toml, formatted codebase 2025-08-12 13:58:25 -04:00
d2b3cd51e0 implemented support for the 'sentence' text object in the line editor 2025-06-12 04:52:51 -04:00
4372cf3820 Work on implementing more text objects 2025-06-12 03:15:52 -04:00
2295669382 Merge pull request #2 from km-clay/readline_refactor
Readline refactor
2025-06-09 02:34:17 -04:00
1a270ae195 implemented quote/delimiter text objects 2025-06-09 02:29:34 -04:00
08c86009a6 re-implemented command history and hinting 2025-06-08 01:53:13 -04:00
518648be24 Improved logical accuracy of Ctrl+W in insert mode
Moved test libraries to dev-dependencies

Implemented some more motion types

Implemented ToLower, ToUpper, JoinLines, Indent, Undo, and Redo verbs

'O' and 'o' operators now behave correctly

Added many more unit tests for the readline module
2025-06-07 23:45:51 -04:00
b1b1b4b76f finally found a good way to select line spans 2025-06-07 03:50:35 -04:00
c9098b5805 work on linewise logic 2025-06-06 23:24:10 -04:00
73e05a6635 implemented some more editor tests 2025-06-05 03:33:08 -04:00
c465251976 more work on re-implementing the readline module 2025-06-05 01:48:44 -04:00
72f7788abc copied rustyline's homework 2025-06-02 03:18:13 -04:00
3a0b171058 work on implementing screen-wise motions 2025-06-01 02:18:22 -04:00
ff05dd0e3b implemented rot13 with 'g?' 2025-05-31 01:52:27 -04:00
238e1540fe improved escape sequence parsing for Terminal 2025-05-31 01:07:41 -04:00
1c9790a517 implemented 'gv' to select the previously selected visual selection 2025-05-30 20:15:41 -04:00
2ea91555f4 work on implementing visual mode 2025-05-30 19:06:09 -04:00
f8ba49ade3 started work on text objects
pressing l in normal mode now accepts hints
2025-05-30 13:17:58 -04:00
f87913697f implemented autosuggestions for the line editor 2025-05-30 01:12:18 -04:00
ded3f02cf6 removed placeholder text in prompt
cd no longer panics if the given directory doesn't exist (wtf?)
2025-05-29 01:29:25 -04:00
2f250ade62 Merging fern line editor implementation
Implement a line editor instead of using Rustyline
2025-05-28 20:32:43 -04:00
53799f42b3 implemented history for the line editor 2025-05-28 20:24:09 -04:00
038d9ff144 early implementation of inserting verbatim with ctrl+v 2025-05-28 03:21:51 -04:00
5cef14f568 early support for visual line motions like gk and gj 2025-05-28 02:45:16 -04:00
ee07c5156a implemented more vi commands
implemented replace mode

re-implemented undo and redo
2025-05-28 01:01:49 -04:00
93d0152d48 implemented proper cursor placement for line editor 2025-05-27 03:32:08 -04:00
98b0e24e27 prompt and buffer drawing appears functional 2025-05-27 02:41:19 -04:00
1bf11427e3 about to refactor the line buffer 2025-05-23 10:27:11 -04:00
c9b523f05a implemented verb and motion repetition 2025-05-23 09:47:05 -04:00
f53762b315 more work on vi stuff 2025-05-23 02:14:56 -04:00
b81f3bb731 further work on implementing vi features 2025-05-22 03:36:27 -04:00
62756b4732 continued work on vi line editing 2025-05-20 18:03:43 -04:00
8bf7699d10 more work on vi line editing 2025-05-20 02:55:41 -04:00
3d4fea2cec Fully implemented vi-style editor commands 2025-05-19 16:08:21 -04:00
ca6e8de50b Reduced the amount of time that file redirections stay open 2025-05-19 00:03:50 -04:00
6aac1598a1 forgot snapshot files in git history 2025-05-18 14:52:01 -04:00
7bb989430b added snapshots to gitignore 2025-05-18 14:50:31 -04:00
24d8283d40 split readline into it's own module directory 2025-05-18 14:42:00 -04:00
931e1995bd implemented command system 2025-05-15 11:54:59 -04:00
336c8537c0 initial commit for fern's readline impl 2025-05-15 03:35:41 -04:00