Commit Graph

231 Commits

Author SHA1 Message Date
e07a853074 the second field of history entries in the hist file now contain command runtime in seconds, instead of an id
updated rustfmt.toml and formatted codebase
2026-03-05 10:29:54 -05:00
1efaf0e516 updated max_hist default to 10,000 and added an option to remove the cap by setting it to -1 2026-03-05 09:34:02 -05:00
30ada66cab added an example script for keymaps based on the nvim-surround plugin 2026-03-05 01:39:03 -05:00
234f93ee56 fixed comments breaking the parser 2026-03-05 01:26:42 -05:00
8658860ddd Add images to README for shed features 2026-03-05 01:02:40 -05:00
0ba632ddb3 Update README.md 2026-03-05 01:01:49 -05:00
694e9cf72f fixed PS1 and PSR variables being unresponsibe to changes inbetween prompt redraws 2026-03-05 00:39:16 -05:00
1b676db3a2 Changed '\!' prompt escape sequence to '\@' to avoid conflicting with escaping ! history expansion 2026-03-05 00:34:32 -05:00
0ec8c5cca1 implemented Ctrl+R command history searching and command history expansion with '\!' 2026-03-05 00:16:07 -05:00
7be79a3803 rustfmt'd the codebase 2026-03-04 19:52:29 -05:00
ecd6eda424 panics now also write a log to ~/.local/shed/log/panic.log 2026-03-04 19:39:53 -05:00
206c6cb64e fixed issues with expansion of case arm patterns 2026-03-04 18:54:06 -05:00
b831bdf166 improvement on parsing accuracy for case patterns 2026-03-04 18:28:16 -05:00
3c70c9dace work on improving parameter expansion logic 2026-03-04 18:05:48 -05:00
553330a858 Early implementation of Verbatim mode 2026-03-04 15:26:54 -05:00
12267716be Added an on-exit hook for autocmd
improved mode-switching autocmd hook logic

fixed escaping logic in single quote expansion
2026-03-04 14:29:44 -05:00
fbadbebf8c Implemented the autocmd builtin, which allows you to register hooks for certain shell events. 2026-03-04 14:12:10 -05:00
ba2301fd38 Added a 'functions' option to the home manager module 2026-03-03 23:44:16 -05:00
ed3a4c8d56 work on fixing login shell i/o issues 2026-03-03 23:02:15 -05:00
d67b7c2aad fixed parser bug introduced in recent commit 2026-03-03 22:34:17 -05:00
81135c9ad2 Updated home manager module with options for recent feature additions 2026-03-03 21:20:35 -05:00
c642a96da7 Added 'read_key' builtin that allows widget scripts to handle input 2026-03-03 20:39:09 -05:00
a300e54ee8 fixed default leader key ('\') not expanding properly 2026-03-03 03:33:53 -05:00
9d13565176 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
a28446329e fuzzy completion now looks good and works good 2026-03-02 12:38:14 -05:00
a2b8fc203f Early implementation of fuzzy completion menu 2026-03-02 01:54:23 -05:00
6d2d94b6a7 bumped version to 0.4.0 2026-03-01 21:19:41 -05:00
5a62f72947 implemented 'getopts' builtin 2026-03-01 21:16:33 -05:00
2ea44c55e9 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
84aed128d6 completion now prefers completing variable names before trying comp specs
improved color picking for error messages
2026-03-01 11:02:13 -05:00
ffe78620a9 Fixed 'C' and 'D' verbs deleting the newline character 2026-03-01 02:39:22 -05:00
4a0cefee32 More progress on integrating ariadne's error reporting 2026-03-01 02:20:58 -05:00
ef0f66efaa Work on integrating error reporting using the ariadne crate 2026-02-28 20:30:12 -05:00
1b63eff783 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
ab5f42b281 Stuff stored in maps can be eval'd on access by storing with the -F flag 2026-02-28 01:41:16 -05:00
faf8ba9f0d double bracket tests now do regex on '==' between two strings
fixed line wrapping causing weird cursor issues
2026-02-27 21:25:01 -05:00
c61360865f added 'map', 'pop', 'push', 'fpop', 'fpush', and 'rotate' builtins 2026-02-27 20:37:58 -05:00
bdc77eda30 added extra completion to home manager module 2026-02-27 13:32:01 -05:00
bfe23b9cd4 Added alias (-a) and signal (-S) flags for 'complete' and 'compgen' 2026-02-27 13:10:24 -05:00
ee4eb86ca5 cleaned up all compiler warnings 2026-02-27 11:08:42 -05:00
c559d1cc75 ran clippy fix 2026-02-27 11:05:08 -05:00
c508180228 Added -j flag to 'complete' for completing job names/pids 2026-02-27 11:03:56 -05:00
e141e39c7e shopt now prints current values if no args are given 2026-02-27 10:07:45 -05:00
ea8539c929 Update README.md 2026-02-27 09:59:12 -05:00
3d3693e2c3 Implemented -o opt for complete/compgen builtins
Completion candidates now come with a space by default, unless it's a directory
2026-02-27 09:44:33 -05:00
30bc394d18 Fixed possible refcell borrow panic related to expanding variables in an array index 2026-02-27 02:14:40 -05:00
4ecfb28535 Fixed regressions in completion system caused by previous commit
Removed a lot of old debug logs
2026-02-27 01:34:43 -05:00
5f3610c298 Early implementation of bash-like completions with 'complete' and 'compgen' builtins 2026-02-27 01:10:52 -05:00
4fbc25090d switched to DEC cursor save/reload sequences from SCO sequences for better terminal compatibility 2026-02-26 08:37:03 -05:00
182a047f9e Merge branch 'main' of github.com:km-clay/fern 2026-02-26 00:33:18 -05:00