Commit Graph

102 Commits

Author SHA1 Message Date
622e9f4a1e Refactored internals for builtins inside of pipelines 2026-02-24 10:54:24 -05:00
cab7a0fea7 Ran the codebase through rustfmt 2026-02-23 23:32:46 -05:00
367218d3e8 Fixed command substitutions not expanding when used as a command name 2026-02-23 23:32:12 -05:00
62d651eb8d Fixed hint-related regression caused by recent history logic changes 2026-02-23 21:25:27 -05:00
05f731b8c5 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
fdb182a0c5 Fixed mutation of variables created by the local command 2026-02-23 19:04:31 -05:00
aed0e6fb8c - fixed 'I' command in normal mode not moving to exact start of line
- Added disown builtin
- Fixed job table not hanging up child processes on exit
- Added target architecture and os to --version output
- Added local builtin for creating variables scoped to functions
2026-02-23 16:10:49 -05:00
1a44a783e0 - fixed 'I' command in normal mode not moving to exact start of line 2026-02-23 14:42:53 -05:00
34b780c644 changed bell style option to a simple boolean 2026-02-23 14:11:41 -05:00
632e7b6f00 line editor now sends bell on no-op edits 2026-02-20 14:15:25 -05:00
3b515c42a6 Highlighter now handles highlighting visual mode selections instead of LineBuf 2026-02-20 14:03:42 -05:00
6aa5521562 Cursor now moved to end of the line while scrolling history, original position in pending command still remembered -m Undo now moves the cursor to it's original position in normal mode 2026-02-20 12:33:18 -05:00
13cf5cf032 visual mode deletions now properly yank deleted text into the selected register 2026-02-20 12:18:34 -05:00
88c0945e47 Implemented the exec builtin
Fixed readline and terminal interactions using stdin instead of /dev/tty
2026-02-20 12:17:48 -05:00
081f12da5b arg underlining now only affects the last argument 2026-02-19 21:52:29 -05:00
d61958d2af fixed highlighting for double globs like 'dir/**/*.rs' 2026-02-19 21:43:49 -05:00
74988166f0 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
959ea9346a Fixed some weirdness in the logic for scrolling through command history 2026-02-19 20:12:51 -05:00
744693a89d implemented the trap builtin 2026-02-19 16:39:18 -05:00
4ea08879a1 fixed the $0 parameter not being populated correctly 2026-02-19 14:24:55 -05:00
c8fe7b7978 Implemented completion for variable names
Fixed 'w' and 'b' motions in vi mode stopping on underscores
2026-02-19 10:13:04 -05:00
7d8faa51cb added a bunch of tests 2026-02-18 23:54:25 -05:00
7d0614943c 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
b7c8850493 more highlighter tune-ups 2026-02-18 16:29:40 -05:00
67674cf5b5 Some highlighter bug fixes 2026-02-18 11:29:16 -05:00
8068b43146 Implemented syntax highlighting 2026-02-18 02:00:45 -05:00
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
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
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
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