2184b9b361
implemented the pushd, popd, and dirs builtins
2026-02-20 01:29:40 -05:00
e8473e82a1
arg underlining now only affects the last argument
2026-02-19 21:52:29 -05:00
886d348d53
fixed highlighting for double globs like 'dir/**/*.rs'
2026-02-19 21:43:49 -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
b668dab522
Fixed some weirdness in the logic for scrolling through command history
2026-02-19 20:12:51 -05:00
18e36622a0
handled some unwraps in cd
...
error reporting now blames the function call span instead of the errored command inside the function
2026-02-19 18:27:51 -05:00
934c41714a
implemented nixos and home-manager nix modules for the flake
2026-02-19 17:30:21 -05:00
982d11f21b
implemented the trap builtin
2026-02-19 16:39:18 -05:00
9483477edd
fixed the $0 parameter not being populated correctly
2026-02-19 14:24:55 -05:00
8cb8f20a35
Implemented completion for variable names
...
Fixed 'w' and 'b' motions in vi mode stopping on underscores
2026-02-19 10:13:04 -05:00
0d200ba089
fixed backslashes not being stripped for special characters in double quotes
2026-02-19 00:33:02 -05:00
8354ad400d
added a bunch of tests
2026-02-18 23:54:25 -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
01684cf8e5
more highlighter tune-ups
2026-02-18 16:29:40 -05:00
af70266f6a
Some highlighter bug fixes
2026-02-18 11:29:16 -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
12f36283ca
fixed empty arguments being filtered out during word splitting
2026-02-16 19:09:10 -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
8933153c2b
Fixed conditional block parsing not handling command chains
2026-01-29 05:01:26 -05:00
0e28b7bf49
Various edge case fixes for prompt expansion and command substitution
2026-01-29 04:58:04 -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
23fb67aba8
implemented support for the 'sentence' text object in the line editor
2025-06-12 04:52:51 -04:00
dbeeff579d
Work on implementing more text objects
2025-06-12 03:15:52 -04:00
ff0207a27f
implemented quote/delimiter text objects
2025-06-09 02:29:34 -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
3cfc49d638
finally found a good way to select line spans
2025-06-07 03:50:35 -04:00
4472478703
work on linewise logic
2025-06-06 23:24:10 -04:00
245fe53044
implemented some more editor tests
2025-06-05 03:33:08 -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
275d902849
implemented rot13 with 'g?'
2025-05-31 01:52:27 -04:00
25ec8c72be
improved escape sequence parsing for Terminal
2025-05-31 01:07:41 -04:00
e7d8b98a73
implemented 'gv' to select the previously selected visual selection
2025-05-30 20:15:41 -04:00
09767c9682
work on implementing visual mode
2025-05-30 19:06:09 -04:00
6d9c876640
started work on text objects
...
pressing l in normal mode now accepts hints
2025-05-30 13:17:58 -04:00
8bdc21c8d5
implemented autosuggestions for the line editor
2025-05-30 01:12:18 -04:00
220f636ebd
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
8cacbfdbdd
implemented history for the line editor
2025-05-28 20:24:09 -04:00
f67543c111
early implementation of inserting verbatim with ctrl+v
2025-05-28 03:21:51 -04:00
d15903fea1
early support for visual line motions like gk and gj
2025-05-28 02:45:16 -04:00
1c33578478
implemented more vi commands
...
implemented replace mode
re-implemented undo and redo
2025-05-28 01:01:49 -04:00
0e95e006d8
implemented proper cursor placement for line editor
2025-05-27 03:32:08 -04:00