Repository navigation
v0.2.0-alpha
Pre-release
Pre-release
Jot – v0.2.0-alpha
Adds the note scanning layer. jot now walks your notes directory and lists what it finds.
What's included
NoteManager: recursive scan of the notes directory into an in-memory tree of
directories and notes, kept UI-agnostic so it can back a TUI or a later GUI- Case-insensitive sorting — notes by filename, subdirectories by path
flattenAll()produces a single flat list of every note found (every file is
collected regardless of extension)- Symlink and junction handling: a link resolving to a directory you are already
inside is added as an empty node instead of being followed, so a scan can't loop.
Directories are matched by file identity rather than path text, so case
differences, 8.3 short names, and junctions are all covered - Unreadable directories (a broken junction, or one the OS denies access to) are
recorded as empty nodes and reported as warnings after the scan rather than
aborting it - Hardened first-run setup: trims whitespace, strips the quotes a dragged-in path
carries, and re-asks until the path names an existing directory - Config recovery: a corrupt, unreadable, or
root_dir-lessconfig.jsonfalls
back to the setup prompt instead of failing
Fixes
- Fixed undefined behavior when a negative
charreached::tolowerduring sorting - Added a missing include
Requirements
- Windows 10/11 x64
- Microsoft Visual C++ Redistributable 2022 (Likely already installed on your device)
Not yet implemented
- Terminal UI (list rendering, cursor navigation, the View/Edit submenu)
- Opening a note in the configured editor — the
editorsetting is stored but unused - Filtering notes by file extension
Usage
Run jot.exe. On first launch you will be prompted for the path to your notes
directory, which is saved to config.json next to the executable. On later runs
jot loads that path, scans it recursively, prints every note path it found, and
reports any directory it could not read:
Scanning completed.
warning: skipped "C:\Notes\archive" (Access is denied.)
Full Changelog: v0.1.0...v0.2.0