Commit Graph

20 Commits

Author SHA1 Message Date
83f1988299 Implemented the autocmd builtin, which allows you to register hooks for certain shell events. 2026-03-04 14:12:10 -05:00
ad8d4db4ef Added ex mode to line editor, a 'keymap' builtin, and a zsh-like widget system using ':!<shellcmd>' ex mode commands 2026-03-03 03:19:02 -05:00
55ec28e104 bumped version to 0.4.0 2026-03-01 21:19:41 -05:00
f75501ed3d implemented 'type' and 'wait' builtins
fixed some tcsetpgrp() misbehavior

fixed not being able to redirect stderr from builtins
2026-03-01 17:14:48 -05:00
792b0c21d0 Work on integrating error reporting using the ariadne crate 2026-02-28 20:30:12 -05:00
9d8d8901d7 Add array support for local/export/readonly builtins
Add array length syntax ${arr[#]}

Map read path now expands variables before splitting on ., fixing map "$node" with dotted paths

Map assignment path uses quote-aware token splitting, enabling quoted keys like "--type="

Completion errors now display above prompt instead of being overwritten

Fix nested if/fi parser bug when closing keywords appear on separate lines

Add QuoteState enum, replacing ad-hoc quote tracking booleans across lexer, highlighter, and expansion

Add split_tk_at/split_tk for quote-aware token splitting with span preservation

Refactor setup_builtin to accept optional argv for deferred expansion

Add ariadne dependency (not yet wired up)
2026-02-28 15:54:53 -05:00
0c40f17b60 added 'map', 'pop', 'push', 'fpop', 'fpush', and 'rotate' builtins 2026-02-27 20:37:58 -05:00
e6242c4d8a changed package name from 'fern' to 'shed' 2026-02-24 18:02:13 -05:00
0fc283e966 bumped version to 0.3.0 2026-02-24 13:54:41 -05:00
ff00affc90 bumped version to 0.2.0 2026-02-19 14:27:21 -05:00
7d8faa51cb added a bunch of tests 2026-02-18 23:54:25 -05:00
cefd55e7af migrated polling logic from virtterm branch to main 2026-02-16 18:28:57 -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
b81f3bb731 further work on implementing vi features 2025-05-22 03:36:27 -04:00
336c8537c0 initial commit for fern's readline impl 2025-05-15 03:35:41 -04:00
47125d97b1 implemented support for running scripts 2025-05-13 13:48:18 -04:00
f3b692f736 implemented most variable parameter expansion builtins 2025-05-12 16:14:06 -04:00
a16ad981bc implemented globbing and tilde expansions 2025-03-28 12:02:34 -04:00
e62586fe3d Implemented assignments, working on job control 2025-03-15 16:57:34 -04:00
e7a84f1edd Initial commit for fern 2025-03-02 16:32:15 -05:00