Stevan Freeborn
268325adfa
feat(main): if given file path as argument use it
...
- if existing file then populate default file with that file's state
- if non-existing file create it and populate default file with that
file
2026-02-19 16:11:59 -06:00
Stevan Freeborn
08d1adf44e
feat(io): add method to just load file async
2026-02-19 16:11:59 -06:00
Stevan Freeborn
569ff2a716
refactor: remove unused imports
2026-02-19 16:11:59 -06:00
Stevan Freeborn
2f4a04a5de
feat: support vert and hori scrolling of editor
2026-01-30 07:17:00 -06:00
Stevan Freeborn
1beb61d95e
Merge pull request #3 from StevanFreeborn/stevanfreeborn/feat/migrate-to-daemon
...
feat: migrate to a daemon to support windowing in future. allow to run without attached console
2026-01-26 12:45:11 -06:00
Stevan Freeborn
3b40d30744
feat: migrate to a daemon to support windowing in future. allow to run without attached console
2026-01-26 12:44:50 -06:00
Stevan Freeborn
db0cd51818
chore: run cargo fmt
2026-01-25 17:26:40 -06:00
Stevan Freeborn
2c098b23b7
styles: working on making it look just right
2026-01-25 17:26:16 -06:00
Stevan Freeborn
bd9489feb4
chore: remove evidence of my ginormous refactor
2026-01-25 04:55:09 -06:00
Stevan Freeborn
75ab718655
feat: add highlighting to editor
2026-01-24 21:24:32 -06:00
Stevan Freeborn
cfad6c883c
chore: set package version to 0.0.0
2026-01-24 20:52:54 -06:00
Stevan Freeborn
229fab3381
fix: enable tokio feature in iced
2026-01-24 20:51:26 -06:00
Stevan Freeborn
b281b154fa
chore: remove unused sync file ops
2026-01-24 20:51:26 -06:00
Stevan Freeborn
88006d08a2
feat: update handler logic to use async io methods and produce completion messages and implemend handlers to deal with completions
2026-01-24 20:51:26 -06:00
Stevan Freeborn
4e3bdf8db3
feat: added new messages to represent completion of saving and opening a file async
2026-01-24 20:51:26 -06:00
Stevan Freeborn
072ad61eb9
feat: implement async methods for saving and opening file
2026-01-24 20:51:26 -06:00
Stevan Freeborn
f5d98197ac
refactor: modularize architecture
...
refactors the application structure to move away from a monolithic
`main.rs`.
- **Domain Models**: Extracted `State`, `Message`, `FileAction`, and
`ViewAction` into `state.rs` and `message.rs`. Enforced encapsulation on
`State` using private fields and public accessors.
- **Controller Layer**: Created `handler.rs` to handle business logic
and I/O operations, transforming the main `update` loop into a pure
event router.
- **Component System**: Split the UI into composable, stateless
functions in `components/` (tabs, editor, status_bar, action_bar),
removing the 100+ line view function.
- **File Logic**: Encapsulated file operations and safe path handling
within `file.rs`, removing fragile `expect` calls from the UI layer.
- **Utilities**: Centralized static configuration, keybindings, and I/O
helpers into `constants.rs`, `key_bindings.rs`, and `io.rs`.
This change decouples the view from the model and makes the core
application logic testable
2026-01-24 20:51:26 -06:00
Stevan Freeborn
cb5f1cf717
feat: refactor bindings to work in edit and preview modes
2026-01-23 07:09:50 -06:00
Stevan Freeborn
55bdbafce2
feat: add ability to preview markdown
2026-01-21 07:12:20 -06:00
Stevan Freeborn
9386fb38fd
feat: refactor to make sure new tabs are added to end of the tab list always
2026-01-18 08:33:49 -06:00
Stevan Freeborn
573724901f
feat: refactor state into hashmap + add new file action with keybind
2026-01-15 07:02:21 -06:00
Stevan Freeborn
599aacaf3b
feat: keep track of multiple open files using tabbed buttons
2026-01-13 04:25:46 -06:00
Stevan Freeborn
3fd69df4db
feat: implement font reset and wip on tab
...
- implemented the ability to reset
font along with corresponding keybind
- added initial tab using buttons
and on click loading file into
editor state
2026-01-11 08:04:25 -06:00
Stevan Freeborn
cf58763795
Merge branch 'main' of github.com:StevanFreeborn/zoeae
2026-01-10 08:02:29 -06:00
Stevan Freeborn
1704441315
feat: wire up keybinds
...
- added keybinds for existing file actions
- added keybinds to support zooming
2026-01-10 08:02:21 -06:00
Stevan Freeborn
674a9d0a37
docs: update readme.md
2026-01-09 07:53:44 -06:00
Stevan Freeborn
c2a9685b5b
feat: app icon
2026-01-09 07:51:53 -06:00
Stevan Freeborn
8e8409a7b5
feat: added saving existing file or new file
2026-01-09 07:18:43 -06:00
Stevan Freeborn
12bcf1b521
chore: update LICENSE.txt
2026-01-07 18:22:27 -06:00
Stevan Freeborn
5602ae555b
chore: update program name in license notice
2026-01-07 18:19:47 -06:00
Stevan Freeborn
17df4aaad3
chore: rename package from 'ferris-pad' to 'zoeae'
2026-01-07 18:16:35 -06:00
Stevan Freeborn
b95f406a0b
chore: rename project from FerrisPad to Zoeae
2026-01-07 18:15:25 -06:00
Stevan Freeborn
1e8ec35703
docs: update README.md
2026-01-06 07:21:58 -06:00
Stevan Freeborn
cb02373547
feat: trying hard to be a Rustacean with chat's help
2026-01-06 07:19:44 -06:00