Skip to content

Latest commit

 

History

History
214 lines (156 loc) · 8.14 KB

File metadata and controls

214 lines (156 loc) · 8.14 KB

Visual Editor

Fast. Clean. Yours.
Copyright © 2026, Roberto J Dohnert

Visual Editor is a pure, no-frills console text editor built for speed and simplicity. Where Visual CodeXR is the full IDE with build systems, debuggers, and toolchain detection, Visual Editor strips it all away and gives you exactly one thing done brilliantly: editing text. Keyboard-first, mouse-aware, UTF-8 correct, and ready in an instant — no dependencies, no configuration, no nonsense.

Open a file. Edit it. Save it. Done.


What Makes It Special

Dirty-State Smart Rendering

Visual Editor only redraws the screen when something actually changes. Mouse movement alone doesn't trigger a repaint. The result is a silky-smooth editing experience with zero flicker, even in constrained terminal environments.

Modified Indicator in the Title Bar

The moment you change anything, the title bar appends * to the filename — a tiny but unmistakable signal that you have unsaved work. It disappears the instant you save.

Proper UTF-8 Throughout

This is not "UTF-8 as bytes." Visual Editor splits text into Unicode code points (glyphs) and operates on them correctly everywhere:

  • Cursor movement steps by character, not byte
  • Backspace and Delete remove characters, not bytes
  • Menus, dialogs, path displays, and status messages all truncate and pad at glyph boundaries
  • Left-side ellipsis (…path/to/file.txt) keeps the meaningful end of long strings visible

Find That Wraps Around

Search forward from the cursor and it wraps back to the top automatically. You'll always find what you're looking for — and the status bar tells you when a match came from a wrap. No manual "search from beginning" needed.


Feature Set

Text Editing

Action Behavior
Type any character Inserted at cursor position with correct glyph handling
Enter Splits the current line at the cursor — content after cursor moves to next line
Backspace Deletes the character before the cursor; joins lines when at column 0
Delete Deletes the character under the cursor; joins the next line when at end
Tab Inserts a tab character

Navigation

Key Action
Arrow keys Move cursor one character or line
Home Jump to start of line
End Jump to end of line
Page Up Scroll up one full page
Page Down Scroll down one full page

Line Operations (Clipboard)

All clipboard actions work on whole lines — fast, predictable, and consistent.

Action Effect
Cut Removes the current line and puts it in the clipboard
Copy Copies the current line to the clipboard
Paste Inserts the clipboard line above the current position
Clear Blanks the current line and returns the cursor to column 0

Find & Replace

  • Find — opens an input dialog, searches forward from the current cursor position
  • Repeat Last Find — re-runs the previous query instantly, no dialog
  • Replace — finds every exact match in the file and replaces all of them in one pass, reporting the count
  • Wrap-around search — if the query isn't found below the cursor, the search continues from the top of the file, clearly noted in the status bar as Found match (wrapped)

File Management

  • New — clears the buffer and resets to UNTITLED.TXT
  • Open — launches the file picker in list-only mode; navigate, select, open
  • Save — writes the buffer to the current path; if the file is new, promotes to Save As
  • Save As — file picker in name-input mode; choose directory and type a filename
  • Exit — if unsaved changes exist, prompts with a yes/no/cancel dialog before quitting

File Picker

The built-in file browser is a full interactive dialog:

  • Directories and files are listed separately, each sorted alphabetically
  • .. is always at the top for one-click parent navigation
  • Double-click a directory to enter it instantly
  • Single-click a file to select it and populate the filename input
  • Double-click a file to open it immediately without pressing OK
  • Tab cycles focus between the filename input, the file list, OK, and Cancel
  • The current directory path is displayed with left-side ellipsis so the deepest part of the path is always visible
  • Path is shown as Dir: …/current/path with smart truncation for narrow terminals

Scrollable Help Dialog

The help dialog is fully scrollable:

  • Arrow Up / Down — scroll one line
  • Page Up / Page Down — scroll one full screen
  • A scroll hint appears automatically when the content is taller than the dialog

Menus

Menu Items
File New, Open…, Save, Save As…, Exit
Edit Cut, Copy, Paste, Clear
Search Find…, Repeat Last Find, Replace…
Help Help / Hotkeys, About

Keyboard Shortcuts

Shortcut Action
Alt+Shift+M Open / close the menu bar
Alt+Shift+S Save the current file
Alt+Shift+F Open the Search menu
Alt+Shift+R Repeat last find
Alt+Shift+H Open help & hotkeys
Alt+Shift+C Copy current line
Alt+Shift+X Cut current line
Alt+Shift+V Paste from clipboard
Alt+Shift+K Clear current line
Alt+Shift+Left Highlight current line
Alt+Shift+Right Highlight current line
Arrow keys Move cursor
Home Start of line
End End of line
Page Up Scroll up one page
Page Down Scroll down one page
Enter Split line at cursor
Backspace Delete character before cursor / join line
Delete Delete character at cursor / join next line
Tab Insert tab / cycle dialog focus
Esc Close menu or dialog

Mouse Support

Visual Editor is fully mouse-driven alongside the keyboard:

  • Click a menu name in the top bar to open that menu
  • Click a menu item to execute it
  • Hover highlights menu items as the pointer moves
  • Click in the editor area to position the cursor at that exact character
  • Click OK or Cancel in any dialog to confirm or dismiss
  • Double-click a file in the file picker to open it immediately
  • Double-click a folder in the file picker to navigate into it
  • Click the filename input in Save/Save As to switch focus to typing

Status Bar

The status bar runs across the bottom of the screen at all times.

  • Left side — live status messages: what just happened, search results, error notices
  • Right side — current cursor position: Line:N Col:N

Status messages are truncated with ellipsis when the terminal is too narrow to show both position and message — the position readout is always preserved.


UI Color Scheme

Visual Editor uses a clean white-on-dark-blue palette:

Element Colors
Editor background White on Black
Menu bar & status bar White on Dark Blue
Selected / active menu item White on Black
Dialog boxes Black on Light Grey
File name input Black on Cyan
Drop shadows Dark Grey on Black

Visual Editor vs Visual CodeXR

Feature Visual Editor Visual CodeXR
Text editing
UTF-8 glyph-correct UI
Mouse support
File picker
Find & replace
Syntax highlighting ✓ (18 languages)
Build & compile
Run files
Script execution
Debugger detection
Toolchain management
Workspace trust
Integrated terminal
Dirty-state smart rendering
Double-click file navigation
Wrap-around find
Scrollable help dialog

Why Visual Editor?

Because not every editing job needs an IDE. Sometimes you're on a remote machine, in a container, or just need to fix a config file without pulling in the full Visual CodeXR experience. Visual Editor gives you a real editor — not notepad.exe, not vi, not some half-baked nano clone — that launches instantly, handles Unicode correctly, and gets out of your way. Lean, sharp, and exactly what it needs to be.