Commit Graph

125 Commits

Author SHA1 Message Date
982d11f21b implemented the trap builtin 2026-02-19 16:39:18 -05:00
a5d756431c bumped version to 0.2.0 2026-02-19 14:27:21 -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
0d200ba089 fixed backslashes not being stripped for special characters in double quotes 2026-02-19 00:33:02 -05:00
c112e4f6ee added shellPath to flake.nix package 2026-02-19 00:20:18 -05:00
94567e0515 updated .gitignore 2026-02-19 00:01:31 -05:00
8354ad400d added a bunch of tests 2026-02-18 23:54:25 -05:00
d77c2f39b8 Added a flake.nix 2026-02-18 23:10:32 -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
87d465034a properly implemented read builtin
fixed bugs related to redirections and compound commands

improved io routing logic
2026-02-17 17:30:21 -05:00
12f36283ca fixed empty arguments being filtered out during word splitting 2026-02-16 19:09:10 -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
8933153c2b Fixed conditional block parsing not handling command chains 2026-01-29 05:01:26 -05:00
0e28b7bf49 Various edge case fixes for prompt expansion and command substitution 2026-01-29 04:58:04 -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
23fb67aba8 implemented support for the 'sentence' text object in the line editor 2025-06-12 04:52:51 -04:00
dbeeff579d Work on implementing more text objects 2025-06-12 03:15:52 -04:00
cfdd208b0e Merge pull request #2 from km-clay/readline_refactor
Readline refactor
2025-06-09 02:34:17 -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
245fe53044 implemented some more editor tests 2025-06-05 03:33:08 -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
92482da8a7 work on implementing screen-wise motions 2025-06-01 02:18:22 -04:00
275d902849 implemented rot13 with 'g?' 2025-05-31 01:52:27 -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
4465a4f6f6 Merging fern line editor implementation
Implement a line editor instead of using Rustyline
2025-05-28 20:32:43 -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