Commit Graph

31 Commits

Author SHA1 Message Date
46d6d5319f Added auto-indent to multi-line editing -m Added shopt for enabling/disabling auto-indent -m Fixed some multi-line editing render bugs -m Scrolling up in history now preserves undo/redo history in the pending command 2026-02-23 20:52:33 -05:00
5a8b7831a8 changed bell style option to a simple boolean 2026-02-23 14:11:41 -05:00
6f334395f7 line editor now sends bell on no-op edits 2026-02-20 14:15:25 -05:00
129390c2da Implemented the exec builtin
Fixed readline and terminal interactions using stdin instead of /dev/tty
2026-02-20 12:17:48 -05:00
a18a0b622f command arguments are now underlined if they match an existing path -m ran rustfmt on the entire codebase 2026-02-19 21:32:03 -05:00
982d11f21b implemented the trap builtin 2026-02-19 16:39:18 -05:00
3b698628c6 Tab completion has been implemented
more small highlighter tune ups

2>&1 style redirections now work properly
2026-02-18 21:53:36 -05:00
43b171fab1 Implemented syntax highlighting 2026-02-18 02:00:45 -05:00
87d465034a properly implemented read builtin
fixed bugs related to redirections and compound commands

improved io routing logic
2026-02-17 17:30:21 -05:00
142194c100 migrated polling logic from virtterm branch to main 2026-02-16 18:28:57 -05:00
d04dd4bc1e Various bugfixes 2026-01-29 19:47:12 -05:00
a4f48abd49 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
70f0e849ba Fixed logic for EINTR propagation 2026-01-28 20:48:29 -05:00
7f3e1cfcee renamed fern.rs back to main.rs 2026-01-28 19:57:14 -05:00
ad0e4277cb 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
8ad53f09b3 Added rustfmt.toml, formatted codebase 2025-08-12 13:58:25 -04:00
2c14e4c202 re-implemented command history and hinting 2025-06-08 01:53:13 -04:00
80eb8d278a 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
4472478703 work on linewise logic 2025-06-06 23:24:10 -04:00
f57cf625ef more work on re-implementing the readline module 2025-06-05 01:48:44 -04:00
2c6577ad06 copied rustyline's homework 2025-06-02 03:18:13 -04:00
92482da8a7 work on implementing screen-wise motions 2025-06-01 02:18:22 -04:00
25ec8c72be improved escape sequence parsing for Terminal 2025-05-31 01:07:41 -04:00
8cacbfdbdd implemented history for the line editor 2025-05-28 20:24:09 -04:00
1c33578478 implemented more vi commands
implemented replace mode

re-implemented undo and redo
2025-05-28 01:01:49 -04:00
1e3715d353 prompt and buffer drawing appears functional 2025-05-27 02:41:19 -04:00
9db6137934 more work on vi stuff 2025-05-23 02:14:56 -04:00
ac170d31c8 further work on implementing vi features 2025-05-22 03:36:27 -04:00
25534d4cd9 more work on vi line editing 2025-05-20 02:55:41 -04:00
b30de3232b Fully implemented vi-style editor commands 2025-05-19 16:08:21 -04:00
73e7c0efc4 split readline into it's own module directory 2025-05-18 14:42:00 -04:00