Commit Graph

145 Commits

Author SHA1 Message Date
d9ff02b7a5 Fixed mutation of variables created by the local command 2026-02-23 19:04:31 -05:00
f8e02d31cd - 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
723bfd8413 - fixed 'I' command in normal mode not moving to exact start of line 2026-02-23 14:42:53 -05:00
d817aed056 fixed error messages in shopt.rs 2026-02-23 14:15:55 -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
5721cdb7ca Highlighter now handles highlighting visual mode selections instead of LineBuf 2026-02-20 14:03:42 -05:00
a0cf2a7edd 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
f0e1e6e2b5 visual mode deletions now properly yank deleted text into the selected register 2026-02-20 12:18:34 -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
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
7a24f91334 fixed alias and export renderers writing values in single quotes 2026-02-19 18:19:49 -05:00
0bc55ff365 fixed bug in .fernrc renderer in hm module 2026-02-19 18:09:57 -05:00
617a3e17a8 added aliases and env vars to home manager module 2026-02-19 18:02:58 -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
a5d756431c bumped version to 0.2.0 2026-02-19 14:27:21 -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
c112e4f6ee added shellPath to flake.nix package 2026-02-19 00:20:18 -05:00
94567e0515 updated .gitignore 2026-02-19 00:01:31 -05:00
8354ad400d added a bunch of tests 2026-02-18 23:54:25 -05:00
d77c2f39b8 Added a flake.nix 2026-02-18 23:10:32 -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
cfdd208b0e Merge pull request #2 from km-clay/readline_refactor
Readline refactor
2025-06-09 02:34:17 -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