Commit Graph

38 Commits

Author SHA1 Message Date
939888e579 Bump version to 0.6.0 and add viewport scrolling to the line editor 2026-03-20 16:09:02 -04:00
6f44759deb reimplemented ex-mode widget/function execution 2026-03-20 12:36:57 -04:00
392506d414 finished linebuf refactor, all tests passing 2026-03-20 00:19:21 -04:00
c4ba89f83a more work on linebuf reimpl 2026-03-19 19:45:54 -04:00
22113cbdfd reimplemented visual mode and text objects 2026-03-19 17:12:22 -04:00
406fd57b5a reimplemented incremental autosuggestion acceptance 2026-03-19 01:11:13 -04:00
4a82f29231 progress on linebuf refactor 2026-03-18 23:52:23 -04:00
7c8a418f96 work started on refactoring LineBuf 2026-03-18 15:34:12 -04:00
ac8940f936 Implement = (equalize/auto-indent) verb, fix dedent indexing, remove unimplemented screen-line motions, and clean up unreachable match arms 2026-03-16 23:31:54 -04:00
958dad9942 implemented ex mode :w/:e commands
implemented tab completion and history search for the ex mode prompt as well

fixed paths not expanding correctly in ex mode command arguments
2026-03-16 18:15:01 -04:00
ec9795c781 implemented read command for ex mode 2026-03-16 01:53:49 -04:00
99b9440ee1 Implemented the 'help' builtin, and support for :h <topic> in ex mode
:h is an alias for the 'help' builtin.

'help' takes a single argument and tries to find a suitable match among the files in '$SHED_HPATH'

if a match is found, this file is opened in your pager

calling the 'help' builtin using :h in ex mode will preserve your current pending line
2026-03-15 18:18:53 -04:00
1f9d59b546 fixed ss3 escape code parsing, added a cursor mode reset that triggers on child exit 2026-03-15 11:11:35 -04:00
1f9c96f24e more improvements to auto indent depth tracking
added test cases for the auto indent/dedent feature
2026-03-14 01:14:30 -04:00
09024728f6 Add token-aware depth calculator for indentation, improve brace group error handling, and clean up warnings 2026-03-13 20:57:04 -04:00
307386ffc6 tightened up some logic with indenting and joining lines
added more linebuf tests

extracted all verb match arms into private methods on LineBuf
2026-03-13 19:24:30 -04:00
ac429cbdf4 Fix crash when using vi visual selection on empty buffer 2026-03-08 00:36:46 -05:00
07d7015dd4 Add ! negation support, fix POSIX exit statuses, and improve vi emulation with comprehensive tests 2026-03-07 22:04:33 -05:00
e31e27f935 Add bracketed paste mode support for handling pasted text as verbatim input 2026-03-05 20:04:20 -05:00
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
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
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
fbadbebf8c Implemented the autocmd builtin, which allows you to register hooks for certain shell events. 2026-03-04 14:12:10 -05:00
c642a96da7 Added 'read_key' builtin that allows widget scripts to handle input 2026-03-03 20:39:09 -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
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
ffe78620a9 Fixed 'C' and 'D' verbs deleting the newline character 2026-03-01 02:39:22 -05:00
c61360865f added 'map', 'pop', 'push', 'fpop', 'fpush', and 'rotate' builtins 2026-02-27 20:37:58 -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
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
37cf9625b3 Implemented visual line mode 2026-02-25 21:15:44 -05:00
e82f45f2ea Extracted readline from the dead prompt module 2026-02-25 20:00:19 -05:00