Commit Graph

68 Commits

Author SHA1 Message Date
1d4c177c64 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
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
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
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
6055f3434d fixed empty arguments being filtered out during word splitting 2026-02-16 19:09:10 -05:00
9fea0430c8 Fixed conditional block parsing not handling command chains 2026-01-29 05:01:26 -05:00
6d6e55375c Various edge case fixes for prompt expansion and command substitution 2026-01-29 04:58:04 -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
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
2ea91555f4 work on implementing visual mode 2025-05-30 19:06:09 -04:00
f87913697f implemented autosuggestions for the line editor 2025-05-30 01:12:18 -04:00
ded3f02cf6 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
ca6e8de50b Reduced the amount of time that file redirections stay open 2025-05-19 00:03:50 -04:00
645cf82ac9 about to implement readline myself 2025-05-15 00:53:39 -04:00
cdc9284c15 properly implemented $(( )) substitution 2025-05-14 16:35:04 -04:00
4144a15b0b more unit tests, better highlighting 2025-05-13 20:22:25 -04:00
c0743e473c added arithmetic substitution 2025-05-13 13:08:53 -04:00
ec179a04be Added regex to [[ ]] tests 2025-05-13 00:48:19 -04:00
f3b692f736 implemented most variable parameter expansion builtins 2025-05-12 16:14:06 -04:00
69c4137293 About to rework lexer and parser return types 2025-05-09 01:00:36 -04:00
e8218bf828 Parser tweaks 2025-05-08 21:21:23 -04:00
37e746cb90 Early implementation of syntax highlighting
Various bug fixes related to command substitution
2025-05-08 21:21:23 -04:00
c8be5205e9 implemented the 'builtin' and 'command' builtins 2025-05-08 21:21:23 -04:00
11353b2d69 implemented for loops 2025-04-20 05:16:50 -04:00
d741854f5f removed nix artifacts 2025-04-19 12:46:00 -04:00
ed05e34379 Implemented subshells and improved error handling 2025-03-29 22:16:26 -04:00
a16ad981bc implemented globbing and tilde expansions 2025-03-28 12:02:34 -04:00
dd1a9a93b2 added the ability to export existing variables 2025-03-27 01:35:56 -04:00
b0cef5e06b Improved error reporting and fully implemented the shopt command 2025-03-26 23:41:19 -04:00
0be4de0ffe Implemented flags and extra safety for zoltraak 2025-03-24 20:25:38 -04:00
9ace3a177d Implemented a new builtin and improved error handling 2025-03-24 17:53:32 -04:00
29cd4a69b6 Cleaned up warnings 2025-03-23 17:41:12 -04:00
7f8f5644df switched to Arc instead of Rc for input strings 2025-03-23 17:37:15 -04:00
e3f3e3dcdc Implemented an abstraction for extracting flags from builtins 2025-03-22 20:10:47 -04:00
b6a9bb880d Implemented command substitution 2025-03-19 16:46:45 -04:00
3b0e576d29 added another test for the parser 2025-03-19 15:16:43 -04:00
10af34b0d7 Implemented case statements 2025-03-19 02:16:53 -04:00
653a5fe344 Re-implemented aliases 2025-03-18 21:50:53 -04:00
62c76e70a6 Implemented prompt expansion, and display for errors 2025-03-18 15:54:06 -04:00
464caa4517 implemented functions 2025-03-16 16:57:58 -04:00
182182cacb Implemented logic for loops and if statements 2025-03-16 14:28:49 -04:00
548ea363e3 Scripting bug fixes and more tests 2025-03-16 03:22:17 -04:00
48236398f5 Early work on scripting features 2025-03-16 02:56:29 -04:00
8699fc408b Re-implemented more job control logic 2025-03-16 00:16:33 -04:00
ab0b100354 Properly implemented word splitting 2025-03-15 23:52:58 -04:00
98739ba63a Various additions and improvements 2025-03-15 21:04:45 -04:00