45a1c7c75d
Added job count prompt escape code, '\j'
2026-02-25 01:56:24 -05:00
854e127545
Added PSR environment variable for drawing a string on the right side of the prompt
...
Pending normal mode sequences are now shown in the top right of the prompt
2026-02-25 01:13:12 -05:00
90e69f96d2
changed package name from 'fern' to 'shed'
2026-02-24 18:02:13 -05:00
cd40760ea0
Refactored internals for builtins inside of pipelines
2026-02-24 10:54:24 -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
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
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
129390c2da
Implemented the exec builtin
...
Fixed readline and terminal interactions using stdin instead of /dev/tty
2026-02-20 12:17:48 -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
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
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
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
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
8ad53f09b3
Added rustfmt.toml, formatted codebase
2025-08-12 13:58:25 -04:00
dbeeff579d
Work on implementing more text objects
2025-06-12 03:15:52 -04:00
ff0207a27f
implemented quote/delimiter text objects
2025-06-09 02:29:34 -04:00
2c14e4c202
re-implemented command history and hinting
2025-06-08 01:53:13 -04:00
80eb8d278a
Improved logical accuracy of Ctrl+W in insert mode
...
Moved test libraries to dev-dependencies
Implemented some more motion types
Implemented ToLower, ToUpper, JoinLines, Indent, Undo, and Redo verbs
'O' and 'o' operators now behave correctly
Added many more unit tests for the readline module
2025-06-07 23:45:51 -04:00
3cfc49d638
finally found a good way to select line spans
2025-06-07 03:50:35 -04:00
4472478703
work on linewise logic
2025-06-06 23:24:10 -04:00
f57cf625ef
more work on re-implementing the readline module
2025-06-05 01:48:44 -04:00
2c6577ad06
copied rustyline's homework
2025-06-02 03:18:13 -04:00
25ec8c72be
improved escape sequence parsing for Terminal
2025-05-31 01:07:41 -04:00
e7d8b98a73
implemented 'gv' to select the previously selected visual selection
2025-05-30 20:15:41 -04:00
09767c9682
work on implementing visual mode
2025-05-30 19:06:09 -04:00
6d9c876640
started work on text objects
...
pressing l in normal mode now accepts hints
2025-05-30 13:17:58 -04:00
8bdc21c8d5
implemented autosuggestions for the line editor
2025-05-30 01:12:18 -04:00
220f636ebd
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
8cacbfdbdd
implemented history for the line editor
2025-05-28 20:24:09 -04:00
f67543c111
early implementation of inserting verbatim with ctrl+v
2025-05-28 03:21:51 -04:00
d15903fea1
early support for visual line motions like gk and gj
2025-05-28 02:45:16 -04:00
1c33578478
implemented more vi commands
...
implemented replace mode
re-implemented undo and redo
2025-05-28 01:01:49 -04:00
0e95e006d8
implemented proper cursor placement for line editor
2025-05-27 03:32:08 -04:00
1e3715d353
prompt and buffer drawing appears functional
2025-05-27 02:41:19 -04:00
45b7a16cae
about to refactor the line buffer
2025-05-23 10:27:11 -04:00