Commit Graph

152 Commits

Author SHA1 Message Date
fa49e2ef70 Fixed command substitutions not expanding when used as a command name 2026-02-23 23:32:12 -05:00
06a55734c9 Fixed hint-related regression caused by recent history logic changes 2026-02-23 21:25:27 -05:00
39893b3a1f Added more accurate logic for @ expansion 2026-02-23 21:16:29 -05:00
9361c561b4 autocd will now prioritize running a command if a directory name is entered that matches the name of a command 2026-02-23 21:05:59 -05:00
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
fa3d376659 Fixed some hangs in the lexer 2026-02-23 19:21:57 -05:00
a683d4ac4c Added new scopestack tests 2026-02-23 19:11:59 -05:00
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