Skip to content

XENotes/notes-app#60

Open
yash20720 wants to merge 1 commit into
manaskamal:masterfrom
yash20720:XENotes/notes-app
Open

XENotes/notes-app#60
yash20720 wants to merge 1 commit into
manaskamal:masterfrom
yash20720:XENotes/notes-app

Conversation

@yash20720

Copy link
Copy Markdown
Contributor

i started implementing notes app.
key features:

  1. Formatting Toolbar (WYSIWYG Control)
    Style Selectors: Buttons to switch line elements between H1 (Heading), P (Paragraph), and L (List) block types.
    Style Modifiers: B (Bold) toggle (simulated via 1px canvas offset drawing).
    Color Palette: 5 color boxes (White, Red, Green, Blue, Yellow) to paint individual blocks dynamically.

  2. Smart List Auto-Numbering
    Consecutive list blocks (BLOCK_TYPE_LIST) automatically calculate and display sequential numbers (1., 2., 3., etc.), resetting if interrupted by paragraph/heading lines.

  3. Multi-Tab Document Bar
    Supports up to 8 concurrently open tabs.
    Integrates an unsaved draft/dirty indicator (displaying * next to the filename when modified) that disappears instantly upon saving.

  4. Integrated Notes Sidebar
    Automatically scans the /notes directory (creating it if it does not exist) using kernel VFS listing system calls (_KeOpenDir / _KeReadDir) to populate and load existing notes with one click.

  5. Vim-Inspired Command Bar
    Pressing : activates the bottom command box, allowing developer-friendly keyboard shortcuts:
    :w — Saves the active note to disk.
    :new — Instantly opens a new note tab and directory shortcut.
    :q — Closes the application.

  6. Real-time Document Statistics
    Displays dynamic counts of lines, words, and characters for the active note on the left side of the bottom status bar.

  7. Format-Preserving Serialization
    Notes are saved with a lightweight tag format (e.g., [H][color=FFFF4B4B][bold=1]Heading Text). The load parser parses these tags line-by-line to restore document layouts, colors, and formatting on load.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant