h3pdesign/Neon-Vision-Editor

A native Swift editor for Code and Markdown across macOS, iPadOS, iOS, and visionOS.

Swift

434

3,385 commits

updated Sep 27, 2026

See the code

README

Docs on h3p appsBuy Me a CoffeeSupport on PatreonSupport via PayPal

Latest Release Platforms Primary Release Security Policy SSH Signed Commits License: Apache 2.0

 

Neon Vision Editor wordmark
Neon Vision Editor accent line

 

Neon Vision Editor Logo

Neon Vision Editor

A native editor for markdown, notes, and code across macOS, iPhone, iPad, and Apple Vision Pro.

Minimal by design. Quick edits, fast file access, no IDE bloat.

 

Download: GitHub Releases · App Store · TestFlight

Neon Vision Editor macOS light editor with code minimap

Status: active release
Latest release: v1.8.5 Next release target: v1.8.6 Platform target: macOS 26 (Tahoe) compatible with macOS Sequoia Apple Silicon: supported Direct GitHub release: v1.8.5 / App Store and TestFlight availability varies by platform and review status Last updated (README): 2026-09-26 for latest release v1.8.5

What's New in v1.8.4 and v1.8.5

Why Upgrade

  • v1.8.5: Choose whether Markdown opens for editing or full-window reading, and switch modes from the toolbar or keyboard.
  • v1.8.5: Arrange preferred iPhone and iPad toolbar actions and use configured app shortcuts while the editor has hardware-keyboard focus.
  • v1.8.5: Navigate line and document boundaries with standard Command-arrow keys on macOS.

v1.8.5 Highlights

  • Adds a default Markdown opening mode for editing or full-window reading, with toolbar or Command-Shift-P switching (#617).

v1.8.4 Context

  • v1.8.4: Browse JSON in a structured preview and read YAML with syntax colors.
  • v1.8.4: Choose how macOS opens files across desktops and handles the last tab.
  • v1.8.4: Keep space below the cursor when placing it on iPhone and iPad.

v1.8.4 Highlights

  • Adds opt-in macOS settings to open files on the current desktop and keep an empty window after closing its last tab.
  • Adds structured JSON previews and syntax-colored YAML previews for large documents.

Start Here

Start in 60s (Source Build)

  1. git clone https://github.com/h3pdesign/Neon-Vision-Editor.git
  2. cd Neon-Vision-Editor
  3. xcodebuild -project "Neon Vision Editor.xcodeproj" -scheme "Neon Vision Editor" -destination 'platform=macOS,name=My Mac' build
  4. open "Neon Vision Editor.xcodeproj" and run, then use Cmd+P for Quick Open.
ForNot For
Fast native editing across macOS, iOS, iPadOSFull IDE workflows with deep refactoring/debugger stacks
Markdown writing and script/config edits with highlightingTeams that require Windows or Linux support
Users who want low overhead and quick file accessUsers expecting full desktop-IDE parity on iPhone

Table of Contents

Start Here · Release Channels · Core Workflows · Download Metrics · Project Documentation · Features

Established Workflows · Architecture At A Glance · Platform Matrix · Roadmap (Near Term) · Troubleshooting · FAQ · Changelog · Contributing Quickstart · Support & Feedback

Release Channels

ChannelBest forDeliveryCurrent status
StableDirect notarized builds and fastest stable updatesGitHub Releasesv1.8.5 release docs current; v1.8.5 direct download current
StoreApple-managed install/update flowApp StoreCheck the platform listing for current availability
BetaEarly testing of upcoming changesTestFlightNewest beta availability may vary by review state

Download Metrics

All Downloads

Release Download + Traffic Trend

GitHub release downloads trend chart

Styled line chart shows per-release totals with 14-day traffic counters for clones and views.

Unique cloners (14d) Unique visitors (14d)

Clone snapshot (UTC) View snapshot (UTC)

Project Documentation

DocumentPurpose
CHANGELOG.mdFull release history and milestone issue coverage
release/RELEASE-WORKFLOW.mdIsolated release preparation, changelog/README generation, offline dry runs, and publication checks
docs/ARCHITECTURE.mdCurrent cross-platform architecture, ownership boundaries, performance rules, and verification model
CONTRIBUTING.mdLocal setup, build, and contribution workflow
PRIVACY.mdPrivacy guarantees and data-handling policy
SECURITY.mdSecurity policy and responsible disclosure
release/TestFlight, App Store, and release preflight checklists

Repository Layout

PathContents
Project/Sources/Main app, extensions, Neon Pulse products, and shared Swift source
Project/Tests/Cross-platform test target and shared test plan
Project/Configuration/Platform and widget property lists
docs/Architecture, engineering documentation, and media
samples/Language, Markdown, and PDF regression fixtures
scripts/Build, validation, release, and maintenance automation
site/Localized GitHub Pages website

Who Is This For?

Best ForWhy Neon Vision Editor
Quick note takersFast native startup and low UI overhead for quick edits
Markdown-focused writersClean editing with quick preview workflows on Apple devices
Developers editing scripts/config filesSyntax highlighting + fast file navigation without full IDE complexity

Why This Instead of a Full IDE?

AdvantageWhat It Means
Faster startupLower overhead for short edit sessions
Focused surfaceEditor-first workflow without project-system bloat
Native Apple behaviorConsistent experience on macOS, iOS, and iPadOS

Download

Prebuilt binaries are available on GitHub Releases.

The direct GitHub release is currently ahead of the iOS/iPadOS App Store version. The App Store version may temporarily lag while updates are in Apple review.

ChannelPlatformBest ForDownloadRelease TrackNotes
StablemacOSDirect notarized builds and fastest stable updatesGitHub Releasesv1.8.5Current direct download
StoreiOS / iPadOSApple-managed installs and updatesNeon Vision Editor on the App Storev1.8.4Current public App Store listing
Store ReviewmacOSCorrected App Store updateApp Store Connect reviewv1.8.5In Apple review
StorevisionOSApple-managed installs and updatesNeon Vision Editor on the App Storev1.6.1Current recorded visionOS listing
BetaiOS / iPadOS / macOSTesting upcoming changes before stableTestFlight Invitev1.8.5Early access builds for feedback; availability may vary by review state

Install

Quick install (curl)

Install the latest release directly:

curl -fsSL https://raw.githubusercontent.com/h3pdesign/Neon-Vision-Editor/main/scripts/install.sh | sh

Install without admin password prompts (user-local app folder):

curl -fsSL https://raw.githubusercontent.com/h3pdesign/Neon-Vision-Editor/main/scripts/install.sh | sh -s -- --appdir "$HOME/Applications"

Homebrew

Install the official Homebrew cask:

brew install neon-vision-editor

The explicit cask form is equivalent:

brew install --cask neon-vision-editor

Cask source: Homebrew/homebrew-cask

If Homebrew asks for an admin password, it is usually because casks install into /Applications. Use this to avoid that:

brew install --cask --appdir="$HOME/Applications" neon-vision-editor

GitHub macOS command line helper

The direct macOS build from GitHub bundles an optional nve helper for terminal workflows. It is not included in the Mac App Store build. Install it only when you want a shell command:

  1. Open Settings > Support.
  2. Copy the Command Line Helper install command.
  3. Run it in Terminal to link the bundled helper into $HOME/bin.
nve README.md
nve --wait --new-window "Project/Sources/Neon Vision Editor/UI/ContentView.swift"
nve --line 42 "Project/Sources/Neon Vision Editor/UI/ContentView.swift" # validates the line flag; cursor placement is not yet supported

Development builds can also link the repository copy:

mkdir -p "$HOME/bin"
ln -sf "$PWD/scripts/nve" "$HOME/bin/nve"

Permission model: the helper is optional and user-linked. It calls macOS Launch Services through /usr/bin/open and does not read file contents itself. Neon Vision Editor handles the document-open request inside the sandbox with user-selected read/write file access and security-scoped file access. It does not require Full Disk Access, Accessibility access, administrator permission, background services, or telemetry. See docs/CommandLineHelper.md.

Core Workflows

Project Sidebar Find in Files Markdown Preview Remote Sessions Code Minimap Quick Open

The macOS Project Sidebar brings files, search, and Git together, with Terminal available in the direct build. Remote Sessions are opt-in. Markdown formatting, preview, and export stay in one contextual flow.

Features

Neon Vision Editor keeps the surface minimal and focuses on fast writing/coding workflows. Platform-specific availability is tracked in the Platform Matrix section below.

Editing Core

Fast Editing Invisible Characters Tabs Syntax Highlighting TeX Support Regex Find Replace Code Minimap Vim Mode

Navigation & Preview

Quick Open Project Sidebar Terminal Sidebar CLI Indexed Search Diff View Preview Markdown PDF Export Remote Sessions

Platform, Output & Customization

Cross Platform Text Export Code Snapshot Themes Shared File Sync iCloud Settings Sync

Safety & Privacy

Safety Safe Mode Privacy

Current Feature Coverage

  • Editing utilities: configurable iPhone/iPad keyboard actions, Copy Current Editor Reference, and Sort & Deduplicate Lines complement the regular save, find, undo, redo, and formatting commands.
  • Languages and structured documents: Swift 6-ready highlighting includes TeX/LaTeX and Typst/CeTZ-aware editing; CSV/TSV, property lists, Apple crash reports, and recognized logs can switch between structured and raw-text views, and plain text can be transformed into validated JSON through an explicit AI-assisted action.
  • Project and preview workflows: project-level Markdown/PDF cards reuse the project index for bounded excerpts and thumbnails, while Markdown, HTML, SVG, PDF, and PNG previews remain integrated with the editor.
  • macOS integration: the embedded Quick Look extension previews supported Markdown and source files in Finder, and detached Markdown previews can use the same glass treatment without changing editor content.
  • Latest stable additions (v1.8.5): Adds a default Markdown opening mode for editing or full-window reading, with toolbar or Command-Shift-P switching (#617).

Editing Core

  • Fast loading for regular and large text files with tabbed editing.
  • Supported text files below 100 MB remain editable; unsupported large-file encodings can fall back to a read-only preview. The app starts a lightweight file-loading profile at 2 MB and can enable Large File Mode earlier for documents with high character or line counts.
  • Large File Mode favors responsive opening, scrolling, and typing: full-document syntax analysis, minimap, preview, symbols, word count, and diff can be deferred or temporarily unavailable. The active mode and file size are shown in the editor status UI.
  • Choose Standard for normal processing, Responsive for chunked installation and deferred work, or Plain Text when an unstyled editor is the safest choice for an unusually large document.
  • Every editable macOS document uses the native AppKit/Core Text virtual renderer. It draws bounded visual rows, caches line layouts, and preserves caret and selection positions as the viewport moves. Eligible large local files use disk-backed storage with indexing prepared in the background before the editor takes ownership. iOS/iPadOS/visionOS use a separate UITextView input and rendering path over the shared tab/document model.
  • Files at 100 MB or more open as a clearly marked, read-only Partial Open. Neon reads only the first 4 MB, ending at a line boundary where possible; it never loads the full file into the editor buffer or permits saving the partial content over the source.
  • Broad Swift 6-ready syntax highlighting (including TeX/LaTeX and Typst/CeTZ), official Emmet 2 abbreviation expansion for markup and stylesheets, inline completion with Tab-to-accept, and regex Find/Replace with Replace All.
  • On macOS, clickable gutter swatches for HEX colors in CSS, HTML, XML, and SVG open a native color picker. Changes update the source through the normal edit/undo path, preserving short and alpha forms when representable.
  • On supported iPads and Apple Pencil hardware, hover previews the caret and Pencil dragging selects text. Double-tap/squeeze undo follows the system's Pencil preferences.
  • Optional Code Minimap gives a compact file overview, click-to-jump navigation, and a draggable viewport marker without changing the default editor surface.
  • Invisible-character markers on iPhone and iPad render in a lightweight overlay so spaces, tabs, and newlines stay aligned while scrolling.
  • Scrolling the iPhone editor dismisses the software keyboard; iPad keeps the keyboard available while scrolling for its pointer and hardware-keyboard workflows.
  • Trackpad pinch on macOS and touch pinch on iPhone, iPad, and Apple Vision Pro adjust editor font size while retaining the normal font controls.
  • Optional Vim workflow support and starter templates for common languages.
  • Quick Open (Cmd+P), project sidebar navigation, and recursive project tree rendering.
  • Focus Mode hides secondary panes, preview, minimap, and macOS toolbar chrome without changing the open document. Its enabled state belongs to the current scene.
  • The macOS Project Sidebar uses a single Files/Search/Git/Terminal glass rail with clearer active and inactive states, visible Git change counts, compact file-status rows, and a 450 pt default width. The Terminal tab is available only in the direct macOS build.
  • The direct macOS project sidebar includes a Terminal tab that keeps output while switching tabs, offers project/home working-directory choices, and provides clear/restart controls. The App Store macOS build omits the PTY terminal and Python project runner.
  • The terminal provides a persistent PTY shell, bounded scrollback, and ANSI colors. Its display is currently append-only: cursor-based progress rewrites and full-screen/alternate-screen programs are not supported. Remaining emulator and readiness work is tracked in #318.
  • scripts/nve opens files from the terminal and supports --wait, --new-window, and --line compatibility flags.
  • Find in Files keeps results visible on Mac and iPad when a match opens, while replacement targets start unselected by default.
  • In the next release, Find in Files respects project and nested .gitignore files. Use the project sidebar's Ignored Folders menu to exclude node_modules, build, dist, and other listed output folders; custom paths and patterns belong in .gitignore. Unknown text-file extensions remain searchable. Git global excludes and tracked-file exceptions are not applied.
  • Remote Sessions are opt-in: macOS owns SSH-key login and can publish an attach code so iPhone, iPad, and Apple Vision Pro can browse, open, edit, and explicitly save supported remote text files through the Mac-hosted broker.
  • Project quick actions (Expand All / Collapse All), recent project folders, file filters for All Files, Modified, Images, PNG, PDF, and Markdown, and default ignored heavy folders (.git, .build, node_modules, DerivedData).

Settings & Sync

  • Shared files stay synchronized in already-open tabs when iCloud Drive, a network folder, or another app delivers changes. Clean tabs refresh automatically; dirty tabs require Keep Local, Reload from Disk, or Compare, and the status area reports progress and files needing review.
  • iCloud Drive or the network folder provides document transport; Neon Vision Editor observes, refreshes, and protects conflicts without uploading editor contents to its own service.
  • Optional iCloud Appearance & Theme Sync keeps appearance, theme colors, custom theme data, formatting toggles, and Markdown preview theme behavior aligned across signed-in devices.
  • Appearance-sync status includes the latest local iCloud result and timestamp. That settings service does not sync documents, API tokens, remote sessions, or editor contents.

Compare & Save

  • Native side-by-side diff view for Compare with Disk and Compare Open Tabs workflows, with change navigation.
  • Cross-platform Save As… and Close All Tabs with confirmation.
  • Remote saves are explicit and conflict-aware; if the remote revision changes, the app offers a compare-before-reload path instead of overwriting silently.

AI Assistance

  • Saved chat conversations support questions about an explicitly selected snippet, the current file, project structure, or no document context. Responses retain Markdown and code formatting; request cancellation and retry stay within the conversation.
  • Whole-file chat context is currently unavailable for large disk-backed documents; selection and project-structure context remain separate options.
  • Apple Intelligence is the default provider selection on supported systems. Other providers are opt-in, including OpenAI, Anthropic, Gemini, Grok, OpenCode Go, and a configurable OpenAI-compatible endpoint. Availability depends on the selected provider and device; core editing works offline.
  • Provider credentials stay in Keychain. Cloud-context disclosures and sensitive-content checks let you review what will be sent; restoring a saved chat does not silently attach fresh editor content.
  • Plain-text-to-Markdown and plain-text-to-JSON actions produce proposals for review. JSON output must validate before it can be applied. These workflows and inline completion use the existing provider layer.

Preview, Platform, and Safety

  • Contextual Markdown formatting provides inline actions, five heading levels, lists, quote/code tools, and structural insertion; iPhone presents the full set from a compact Aa control.
  • Markdown preview body text follows the editor's resolved base font size and zoom. Ordered lists continue with the next number, and an explicit language selection stays a tab-level override.
  • One opt-in toolbar control opens and closes Markdown, HTML, and SVG previews. PDF and PNG documents open native previews automatically from toolbar, macOS context-menu/Launch Services, paste/drop, and restored tabs; macOS plus regular-width iPad and visionOS use inline panes while iPhone uses a preview sheet.
  • PDF text highlighting stores lightweight page geometry and selected text separately from the source PDF. Notes use the existing editor on the left and may reuse the existing Markdown preview beside the PDF; note preview is off by default and empty notes create no file or Save As dialog.
  • Markdown previews provide 20 templates and GitHub Flavored Markdown support on macOS, iPhone, and iPad. Apple Vision Pro uses dedicated System Glass, Paper, Slate, and Ink reader surfaces.
  • .svg files support XML editing, bracket help, and rendered SVG Preview on all platforms.
  • Markdown and Swift source exports declare their content types correctly on iOS and iPadOS.
  • Markdown-to-PDF export offers paginated and one-page output. Finder Quick Look previews supported Markdown and source files on macOS.
  • Unsupported-file open/import safety guards, remote text-file limits, and session restore for previously opened project folder.

Customization & Diagnostics

  • Choose from 30 built-in editor palettes plus Custom colors, including Neon Glow, Plasma Storm, AMOLED Neon, Dracula, Monokai, GitHub Dark, Nord, Tokyo Night, Gruvbox, and Mocha. The canonical palette list lives in ThemeSettings.swift.
  • Grouped settings include theme and formatting controls, optional iCloud appearance sync, shortcut customization, and platform-specific preview presentation.
  • Code Snapshot exports styled editor captures; AI Activity Log diagnostics remain available on macOS.

Established Workflows Since v1.4.0

Release Spotlight Shared File Sync Project Sidebar Markdown Large Files

  • Shared-file sync without a proprietary cloud: keep a document open on multiple devices through iCloud Drive or a network folder, and Neon Vision Editor follows externally delivered changes. Clean tabs refresh automatically; dirty tabs stop for Keep Local, Reload from Disk, or Compare, with progress and review status shown in the editor.
  • iCloud Drive or the network folder remains the sync transport; Neon Vision Editor provides the responsive open-tab detection, refresh, and conflict-protection layer rather than uploading document contents itself.
  • Major Project Sidebar redesign: a single Files/Search/Git/Terminal glass rail, clearer inactive states, visible Git change counts, and compact file-status rows.
  • Markdown editing now has a contextual, collapsible formatting surface with direct inline actions, five heading levels, lists, quote/code tools, and a compact Aa control on iPhone.
  • Markdown, HTML, and SVG previews are opt-in through one toolbar control, close cleanly, and adapt between inline panes and the iPhone preview sheet.
  • Large documents below 100 MB remain editable through the file-backed viewport path; files at 100 MB or above open as a clearly marked, read-only partial preview of the first 4 MB, protecting memory while preserving a useful inspection workflow.
  • Trackpad and touch pinch gestures adjust editor font size; the minimap activates more reliably after tab changes and keeps its draggable viewport marker in sync.
  • GitHub releases publish the signed app build number in their notes, allowing the macOS updater to distinguish newer builds that reuse the same release tag.

Architecture At A Glance

The current stable editor separates scene presentation, document ownership, native rendering, and optional services. Arrows show ownership or data exchange, not thread guarantees.

Neon Vision Editor architecture at a glance

  • Ownership: ContentView owns scene presentation; each window has an @MainActor EditorViewModel. TabCommandQueue serializes asynchronous tab mutations, while TabData keeps UI identity, document resource identity, and content revisions distinct.
  • Storage: EditorDocument is the bounded read/edit contract, not the load/save controller. TabData currently uses FileBackedTextDocument for both URL-backed files and content initialized in memory. Eligible large local files retain disk source ranges plus replacement pieces; the loader completes their line index before transferring ownership to the main actor. Saves preserve encoding and line endings and use the existing conflict and atomic-replacement flow.
  • Rendering: VirtualEditorView wraps an AppKit scroll view and a Core Text canvas implementing NSTextInputClient. It consumes bounded windows and UTF-16 ranges, uses generation/revision checks, and owns drawing, hit testing, selection, undo and input. CustomTextEditor wraps UITextView on iOS/iPadOS/visionOS. SwiftUI allocates panes; neither preview nor structured views create a second document store.
  • Editing services: shared syntax helpers, completion policy and EmmetExpander support both native paths. Emmet 2 runs locally from the bundled JavaScript through JavaScriptCore; it is separate from provider-backed AI. The macOS HEX picker edits through the canvas's existing mutation path.
  • External changes: OpenDocumentObservationCenter uses NSFilePresenter events to refresh clean local tabs and offer Keep Local, Reload from Disk, or Compare for dirty tabs. iCloud Drive/network folders supply document transport; appearance sync is a separate preferences service. Peer-to-peer document handoff remains proposed in #164.
  • Work scheduling: loading/index preparation, non-trivial diff/structured snapshots and other asynchronous services use background work. UI state and native input stay on the main actor, including bounded interactive edits and Emmet expansion. The current terminal still parses output on the main actor; moving it behind a bounded screen model is unfinished work in #318.
  • Optional services: project navigation/search reuse ProjectFileIndex; chat captures explicit context before calling AIClient; remote sessions use macOS SSH/broker hosting with mobile/spatial attach clients. Provider credentials and SSH-key bookmarks remain in Keychain, while document recovery, saved conversations, preferences and PDF annotations use their respective stores.
  • Distribution: App Store builds use Apple updates. The separate direct macOS product adds Sparkle with a signed appcast, the PTY terminal, Python workflow and nve helper. ReleaseRuntimePolicy gates distribution-specific behavior.
  • Color key: blue = platform shell, green = app orchestration, orange = core services, purple = infrastructure, pink = distribution products.

Full architecture reference: docs/ARCHITECTURE.md. The reference tracks the current Swift 6 cross-platform structure, platform guards, editor rendering paths, performance rules, distribution boundaries, and release verification workflow.

Implementation entry points: tab/document orchestration, document contract, storage, macOS canvas, UIKit editor, and distribution policy.

Architecture principles

  • Keep UI mutations on the main thread (@MainActor) and heavy work off the UI thread.
  • Keep window/scene state isolated to avoid accidental cross-window coupling.
  • Keep security defaults strict: tokens in Keychain, no telemetry by default.
  • Keep platform wrappers thin and push shared behavior into common services.

Platform Matrix

Neon Vision Editor shares its editor core across macOS, iPhone, iPad, and Apple Vision Pro. Platform-specific controls adapt to available space and input rather than exposing desktop-only workflows on touch devices. macOS also has two distribution profiles: the direct GitHub build includes optional local developer tools, while App Store builds keep those executable-code workflows out of the shipped UI.

Platform boundary: Git review is available on macOS when a local repository and Git installation are present. The PTY Terminal, Python project creation/execution, and the bundled nve command-line helper are direct-macOS-only; they are not included in the App Store macOS build and are not exposed on iPhone, iPad, or Apple Vision Pro. SSH-hosted Remote Sessions remain opt-in and use macOS as the host.

Availability key: Full full native workflow · Adaptive layout adapts to space and input · Compact touch-first presentation · macOS only local desktop capability

Shared Across All Platforms

  • Native text editing, syntax highlighting, line wrap controls, bracket helper, and large-file safeguards.
  • Opt-in Preview for Markdown, HTML, and SVG documents; PDF and PNG previews open automatically. An attached Markdown note uses the existing editor and its optional preview is off by default.
  • Markdown formatting that wraps selections or inserts paired markers without one; heading, list, quote, code, link, image, and table actions are available from an adaptive control surface.
  • Platform-optimized toolbar presets: macOS and iPadOS use compact labels, while iPhone keeps the toolbar icon-first. Standard, focused, developer, review, complete, and custom configurations are available from Settings where the platform supports them.
  • iPhone and iPad support double-tap tab closing while preserving unsaved-change confirmation; iOS retains its transparent status-bar and navigation-surface composition.
  • Optional Code Minimap for supported languages, with viewport navigation and a draggable marker where space permits.
  • Close All Tabs confirmation, unsupported-file safety alerts, and grouped Settings cards.

Platform-Specific Differences and Features

CapabilitymacOSiPhoneiPadApple Vision ProNotes
Emmet 2Native editorNative editorNative editorNative editorLocal abbreviation expansion in supported markup/stylesheet contexts; uses configured indentation.
HEX color pickerGutter swatch and native picker------CSS/HTML/XML/SVG; source edits preserve representable short and alpha formats.
Apple Pencil editing----Hover caret, drag selection, preference-aware undo--Requires compatible iPad/Pencil hardware and enabled system preferences.
Saved AI chatsSidebarCompact presentationSidebarAdaptive presentationExplicit context; optional providers; credentials in Keychain.
Quick Open
Cmd+P
Full
Keyboard and menu
Compact
Hardware keyboard
Full
Keyboard and menu
Adaptive
Hardware keyboard
Keyboard-first navigation remains available whenever a hardware keyboard is connected.
Project workspaceFull
Files/Search/Git rail; Terminal in direct build
Compact
File workflow
Full
Files/Search workflow
Adaptive
Spatial workspace
Git review is macOS-only; the PTY Terminal is direct-macOS-only.
Find in FilesFull
Sidebar
Compact
Sheet
Full
Sidebar
Adaptive
Panel
On Mac and iPad, results remain visible while opening a match.
Markdown formattingFull
Collapsible toolbar below tabs
Compact
Aa status-row menu
Full
Collapsible toolbar below tabs
Adaptive
Collapsible toolbar below tabs
Direct Bold, Italic, Link, Quote, and Code actions; structural actions and five heading levels remain available in menus.
Toolbar and workspace presetsFull
Compact labels; standard, focused, developer, review, complete, custom
Compact
Icon-first toolbar; compact preset controls
Full
Compact labels and preset controls
Adaptive
Spatial toolbar presentation
Presets are configured from Settings; labels and available controls adapt to space and input.
Tab closingFull
Close controls and confirmation
Compact
Double-tap tab
Full
Double-tap tab
Adaptive
Spatial tab controls
Unsaved-change confirmation remains active on every platform.
Status-bar and navigation surfaceFull
macOS window chrome
Full
Transparent iOS composition
Full
iPadOS surface composition
Adaptive
Spatial chrome
v1.2.1 restores the transparent iOS status-bar composition without changing the editor or preview layout.
Preview
Markdown, HTML, SVG, PDF, PNG
Full
Inline split pane
Compact
Full-screen sheet
Full
Inline pane in regular width
Adaptive
Inline pane
Markdown/HTML/SVG remain opt-in; PDF/PNG open automatically. PDF notes reuse the existing editor and optional Markdown preview.
Preview appearanceFull
Templates and backgrounds
Compact
Templates and compact controls
Full
Templates and backgrounds
Adaptive
System Glass, Paper, Slate, or Ink
visionOS intentionally uses its own reader surfaces instead of the full Markdown template collection.
Font-size gestureFull
Trackpad pinch
Full
Touch pinch
Full
Touch pinch
Full
Touch pinch
Gestures adjust editor font size from 10 to 28 pt and retain the regular font-size controls.
Code MinimapFull
Opt-in
Compact
Opt-in
Full
Opt-in
Adaptive
Opt-in
Available for supported languages; it stays hidden for document types where a minimap is not useful.
Diff workflowsFull
Inline
Compact
Sheet
Full
Inline
Adaptive
Panel
Compact presentations avoid taking over narrow touch layouts.
Git reviewFull
Local repository history, changes, and diffs
------Requires a local Git repository and an installed Git executable on macOS.
PTY Terminal and Python workflowmacOS only
PTY terminal, Python project runner, and nve helper
------Available in the direct GitHub macOS build; intentionally omitted from App Store macOS builds and all mobile/spatial builds.
Remote sessionsmacOS host
SSH owner and broker host
Adaptive
Broker attach client
Adaptive
Broker attach client
Adaptive
Broker attach client
Remote access is opt-in; iPhone, iPad, and visionOS explicitly save through a Mac-hosted session.
Save and exportFull
Native Save As and export
Full
System exporter
Full
System exporter
Full
System exporter
iPhone and iPad export Markdown and Swift with their declared content types.

Trust & Reliability Signals

  • Primary notarized release pipeline: release-github-only.yml. The other release workflows are manual fallbacks for an already-created tag.
  • Pre-release verification gate: pre-release-ci.yml
  • Security scanning: CodeQL workflow
  • Performance coverage includes four 100,000-line editor interaction benchmarks, versioned latency/retained-data budgets, and CI result export. A complete workload/platform profiling matrix and dedicated end-to-end UI jobs remain tracked in #318; platform builds and unit tests do not establish that runtime coverage.

More release integrity details: Release Integrity

macOS

Neon Vision Editor macOS light editor with symbol sidebar
Light editor workspace with symbol navigation
Neon Vision Editor macOS wide light editor workspace
Wide light editor workspace with toolbar actions
Neon Vision Editor macOS compact light editor workspace
Compact light editor workspace with focused code view
Neon Vision Editor macOS light editor with code minimap
Light editor workspace with code minimap

iPad

iPad editor beside the project file browser in dark mode
Project files alongside the editor
iPad Markdown source and rendered preview side by side in dark mode
Markdown source and preview side by side

iPhone

iPhone Swift editor in dark mode with the bottom toolbar
Swift editing in dark mode
iPhone Swift editor in light mode with the bottom toolbar
Swift editing in light mode
iPhone Swift editor with the code minimap in dark mode
Code minimap and editor controls
iPhone project file browser in dark mode
Project structure and file navigation

Release Train

TrackCurrent FocusStatus
Stable direct downloadv1.8.5 notarized GitHub releaseCurrent
App Store rolloutPlatform releases are published independently after App ReviewCheck the relevant App Store listing
Post-1.4 stabilizationCrash triage, docs freshness, platform polish, App Store/Xcode Cloud release checksNext patch train
Larger workflow workRemote workflow hardening, minimap polish, project navigation refinementsLater v1.5+ work

Roadmap (Near Term)

Now Next Later

Now (v1.8.5)

  • v1.4.0 delivers file-backed large-document editing, bounded live viewport virtualization, reliable ordinary-file installation, and the release workflow hardening shipped alongside the release. Tracking: Release v1.8.5

Next (v1.8.6)

  • v1.8.6 targets the reviewed changes listed under Unreleased in CHANGELOG.md; scope is not final until release preparation. Tracking: Milestones

Later (v1.5+)

  • v1.5+ larger workflow expansion after the current cross-platform editor baseline is verified, with remote workflows and navigation surfaces kept opt-in until they are fully hardened.

Known Issues

Troubleshooting

  1. Markdown/PDF/PNG preview not visible: use the preview action for Markdown, or reopen the PDF/PNG; PDF/PNG previews should activate automatically when opened.
  2. A PDF note is not visible: choose Notes in the PDF preview; the attached <pdf-name>.pdf.notes.md opens in the existing editor on the left. Enable the optional Markdown preview explicitly to render it beside the PDF.
  3. Shortcut not working on iOS: connect a hardware keyboard for shortcut-based flows like Cmd+P.
  4. Sidebar/layout feels cramped on iPad: switch orientation or close side panels before preview.
  5. Settings feel off after updates: quit/relaunch app and verify current release version in Settings.
  6. Remote connection refused on a local Mac target: enable System Settings > General > Sharing > Remote Login, then start the Remote session again.

Configuration

  • Theme and appearance: Settings > Designs
  • Appearance/theme iCloud sync: Settings > Allgemein/General > Window
  • Editor behavior (font, line height, wrapping, snippets, minimap): Settings > Editor
  • Startup/session behavior: Settings > Allgemein/General
  • Remote sessions: Settings > Mehr/More > Remote or Settings > Remote on wider layouts
  • Support and purchase options: Settings > Mehr/More (platform-dependent)

FAQ

  • Can I use it offline?
    Yes for core editing. Network is only used for explicit actions such as selected AI providers, update checks, GitHub release downloads, or opt-in Remote Sessions.
  • Do I need AI enabled to use the editor?
    No. Core editing, navigation, and preview features work without AI.
  • Where are tokens stored?
    In Keychain via SecureTokenStore, not in UserDefaults.

Keyboard Shortcuts

All shortcuts use Cmd (⌘). iPhone, iPad, and Apple Vision Pro require an external hardware keyboard. The table shows defaults; selected editor shortcuts can be customized in Settings > Shortcuts.

Availability key: Full assigned shortcut · Keyboard external keyboard required · macOS only desktop command

File and Editing

ShortcutActionmacOSiPhoneiPadApple Vision Pro
Cmd+NNew WindowFull------
Cmd+TNew TabFullKeyboardKeyboardKeyboard
Cmd+OOpen FileFullKeyboardKeyboardKeyboard
Cmd+Shift+OOpen FolderFullKeyboardKeyboardKeyboard
Cmd+SSaveFullKeyboardKeyboardKeyboard
Cmd+Shift+SSave AsFullKeyboardKeyboardKeyboard
Cmd+WClose TabFullKeyboardKeyboardKeyboard
Cmd+X, Cmd+C, Cmd+V, Cmd+ACut, Copy, Paste, Select AllFullKeyboardKeyboardKeyboard
Cmd+Z, Cmd+Shift+ZUndo, RedoFullKeyboardKeyboardKeyboard
Cmd+B, Cmd+I, Cmd+KBold, Italic, Link in MarkdownFull--Keyboard--
ShortcutActionmacOSiPhoneiPadApple Vision Pro
Cmd+F, Cmd+GFind, Find NextFullKeyboardKeyboardKeyboard
Cmd+Shift+FFind in FilesFullKeyboardKeyboardKeyboard
Cmd+PQuick OpenFullKeyboardKeyboardKeyboard
Cmd+LGo to LineFullKeyboardKeyboardKeyboard
Cmd+Shift+JGo to SymbolFullKeyboardKeyboardKeyboard
Cmd+Option+SToggle SidebarFullKeyboardKeyboardKeyboard
Cmd+Option+LToggle Line WrapFullKeyboardKeyboardKeyboard
Cmd+Option+MToggle Code MinimapmacOS only------
Cmd+,, Cmd+?Settings, Toolbar HelpFullKeyboardKeyboardKeyboard

macOS-Only Tools

ShortcutActionAvailability
Cmd+DAdd Next MatchmacOS only
Cmd+Shift+DBrain Dump ModemacOS only
Cmd+Shift+VToggle Vim ModemacOS only
Cmd+Shift+GSuggest CodemacOS only
Cmd+Option+Shift+LAI Activity LogmacOS only
Cmd+Shift+UInspect whitespace at caretmacOS only

Vim navigation is also available on iPad with a hardware keyboard after enabling Vim mode; arrow keys and the standard Vim movement keys work in Normal mode.

Changelog

Latest stable: v1.8.5 (2026-09-26)

Editor Evolution

timeline
    title Neon Vision Editor — recent release story
    16 September 2026 : v1.8.1 · Release highlights
                : Gives iPhone and iPad a compact bottom editor toolbar with easier access to tools while keeping more code visible.
    18 September 2026 : v1.8.2 · A more deliberate workflow
                : View large Markdown documents as rendered Markdown instead of a truncated source preview.
    19 September 2026 : v1.8.3 · Release highlights
                : Edit complete text documents below 100 MB without entering the excessive-file preview mode.
    21 September 2026 : v1.8.4 · Release highlights
                : Browse JSON in a structured preview and read YAML with syntax colors.
    26 September 2026 : v1.8.5 · A more deliberate workflow
                : Choose whether Markdown opens for editing or full-window reading, and switch modes from the toolbar or keyboard.

The recent release arc is about continuity: files that change outside the app, workflows that stay reviewable, windows that return where you left them, and document transitions that preserve your editing context. The full record remains in CHANGELOG.md.

Recent Releases (At a glance)

ReleaseThe editor changeWhat it protects or enables
v1.8.5A more deliberate workflow — Choose whether Markdown opens for editing or full-window reading, and switch modes from the toolbar or keyboard.Makes configured app shortcuts available while the mobile editor has hardware-keyboard focus; restores the documented Save As, Line Wrap, and…
v1.8.4Release highlights — Browse JSON in a structured preview and read YAML with syntax colors.Uses the same window routing for new and already-open files across macOS Spaces (#583, #584).
v1.8.3Release highlights — Edit complete text documents below 100 MB without entering the excessive-file preview mode.Fixes clipped unwrapped text on iPhone and iPad by keeping the drawing canvas and horizontal scrolling geometry aligned, including cursor reveal…

Known Limitations

  • Vim mode is intentionally lightweight, not full Vim emulation.
  • iPhone and iPad workflows still offer a smaller feature set than macOS.

Privacy & Security

  • Privacy policy: PRIVACY.md.
  • API keys are stored in Keychain (SecureTokenStore), not UserDefaults.
  • Network traffic uses HTTPS.
  • No telemetry.
  • External AI requests use the configured provider for enabled completion or explicit chat/document-transform actions, with the applicable context disclosures.
  • Remote Sessions are opt-in and user-triggered; when enabled, broker payloads are encrypted and SSH-key bookmarks stay in Keychain.
  • Security policy and reporting details: SECURITY.md.
  • New repository commits are SSH-signed; older historical commits may still predate commit signing.
  • Local SSH-signature verification uses a private allowed-signers file outside the repository.

Release Integrity

  • Tag: v1.8.5
  • Tagged commit: release tag target
  • Verify local tag target:
git rev-parse --verify v1.8.5
  • Verify downloaded artifact checksum locally:
shasum -a 256 <downloaded-file>
  • Verify local SSH commit signatures in this clone:
git config --local gpg.ssh.allowedSignersFile "$HOME/.config/git/allowed_signers"
git log --show-signature -1

Release Policy

  • Stable: tagged GitHub releases intended for daily use.
  • Beta: TestFlight builds may include in-progress UX and platform polish.
  • Cadence: fixes/polish can ship between minor tags, with summary notes mirrored in README and CHANGELOG.md.

Requirements

App Runtime

  • Designed and tested for macOS 26 (Tahoe), with compatibility work for macOS 15 Sequoia.
  • Xcode deployment target: macOS 15.0; iOS/iPadOS 18.6.
  • Apple Silicon recommended

Build Requirements

  • Xcode with the macOS 26 SDK/toolchain for current release assets and icon payloads.
  • iOS and iPadOS simulator runtimes installed in Xcode for cross-platform verification

Build from source

If you already completed the Start in 60s (Source Build), you can open and run directly from Xcode.

git clone https://github.com/h3pdesign/Neon-Vision-Editor.git
cd Neon-Vision-Editor
open "Neon Vision Editor.xcodeproj"

Contributing Quickstart

Contributor guide: CONTRIBUTING.md

Branches and PR targets

BranchPurposeUse for contributions
mainProduction-ready code and published release stateDo not target this branch for contributions. All contributions, including standalone documentation and maintenance changes, must target develop unless a maintainer explicitly requests main.
developIntegration branch for the next releaseStart normal feature, bug-fix, and code-related documentation work here, then open the PR back into develop.
release/<version>Short-lived release stabilization branch created from developMaintainer-managed; do not use it for regular contributions or new features. Its release PR targets main.
archive/legacy-branchesPreserved historical branch tipsRead-only history; do not branch from it or target it with a PR.
automation/*Generated metadata, metrics, appcast, or Store synchronizationBot-managed; do not use these branches for manual contributions.

Both main and develop are protected, so contribute from a branch in your fork. Unless a maintainer asks for another target, branch from the latest develop and open your PR into develop. Focused names such as fix/..., feature/..., or docs/... make the change easy to identify.

  1. Fork the repo and create a focused branch from develop.
  2. Implement the smallest safe diff for your change.
  3. Build on macOS first.
  4. Run cross-platform verification script.
  5. Open a PR with screenshots for UI changes and a short risk note.
  6. Link to related issue/milestone and call out user-visible impact.
git clone https://github.com/h3pdesign/Neon-Vision-Editor.git
cd Neon-Vision-Editor
xcodebuild -project "Neon Vision Editor.xcodeproj" -scheme "Neon Vision Editor" -destination 'platform=macOS,name=My Mac' build

Lock-safe cross-platform verification (sequential macOS + iOS Simulator + iPad Simulator):

scripts/ci/build_platform_matrix.sh

Support & Feedback

Feedback Pulse

Share what works well and what should improve for both the app and the README.

Open Positive Feedback   Open Negative Feedback

Share positive feedback  ·  Share negative feedback

Support Neon Vision Editor

Keep it free, sustainable, and improving.

Buy Me a Coffee Support on Patreon Support via PayPal

  • Neon Vision Editor will always stay free to use.

  • No subscriptions and no paywalls.

  • Keeping the app alive still has real costs: Apple Developer Program fee, maintenance, updates, and long-term support.

  • Optional Support Tip (Consumable): $4.99 and can be purchased multiple times.

  • Your support helps cover Apple developer fees, bug fixes and updates, future improvements and features, and long-term support.

  • Thank you for helping keep Neon Vision Editor free for everyone.

  • In-app support tip: Settings > Mehr/More (platform-dependent)

  • External support: Buy Me a Coffee

  • External support: Patreon

  • h3p apps portal for docs, setup guides, and release workflows: >h3p apps

  • External support: PayPal

Creator Sites

h3p.me Photography apps-h3p.com Product Hub

Git hooks

To auto-increment Xcode CURRENT_PROJECT_VERSION on every commit:

scripts/install_git_hooks.sh

Changed License

Neon Vision Editor is licensed under the Apache License, Version 2.0. See LICENSE.

The project moved to Apache-2.0 because it keeps the same permissive open-source model while adding an explicit patent grant and patent-termination protection for contributors and downstream users. This better matches a developer tool that may receive contributions, integrations, and commercial redistribution over time.

appkit
code-editor
developer-tools
ios
ipados
macos
markdown
swift
swiftui
syntax-highlighting
uikit
visionos

Contributors

h3pdesign

2,930 commits

cnaples79

1 commits

nickustinov

1 commits

h3pdesign/Neon-Vision-Editor

A native Swift editor for Code and Markdown across macOS, iPadOS, iOS, and visionOS.

Swift

434

3,385 commits

updated Sep 27, 2026

See the code

README

Docs on h3p appsBuy Me a CoffeeSupport on PatreonSupport via PayPal

Latest Release Platforms Primary Release Security Policy SSH Signed Commits License: Apache 2.0

 

Neon Vision Editor wordmark
Neon Vision Editor accent line

 

Neon Vision Editor Logo

Neon Vision Editor

A native editor for markdown, notes, and code across macOS, iPhone, iPad, and Apple Vision Pro.

Minimal by design. Quick edits, fast file access, no IDE bloat.

 

Download: GitHub Releases · App Store · TestFlight

Neon Vision Editor macOS light editor with code minimap

Status: active release
Latest release: v1.8.5 Next release target: v1.8.6 Platform target: macOS 26 (Tahoe) compatible with macOS Sequoia Apple Silicon: supported Direct GitHub release: v1.8.5 / App Store and TestFlight availability varies by platform and review status Last updated (README): 2026-09-26 for latest release v1.8.5

What's New in v1.8.4 and v1.8.5

Why Upgrade

  • v1.8.5: Choose whether Markdown opens for editing or full-window reading, and switch modes from the toolbar or keyboard.
  • v1.8.5: Arrange preferred iPhone and iPad toolbar actions and use configured app shortcuts while the editor has hardware-keyboard focus.
  • v1.8.5: Navigate line and document boundaries with standard Command-arrow keys on macOS.

v1.8.5 Highlights

  • Adds a default Markdown opening mode for editing or full-window reading, with toolbar or Command-Shift-P switching (#617).

v1.8.4 Context

  • v1.8.4: Browse JSON in a structured preview and read YAML with syntax colors.
  • v1.8.4: Choose how macOS opens files across desktops and handles the last tab.
  • v1.8.4: Keep space below the cursor when placing it on iPhone and iPad.

v1.8.4 Highlights

  • Adds opt-in macOS settings to open files on the current desktop and keep an empty window after closing its last tab.
  • Adds structured JSON previews and syntax-colored YAML previews for large documents.

Start Here

Start in 60s (Source Build)

  1. git clone https://github.com/h3pdesign/Neon-Vision-Editor.git
  2. cd Neon-Vision-Editor
  3. xcodebuild -project "Neon Vision Editor.xcodeproj" -scheme "Neon Vision Editor" -destination 'platform=macOS,name=My Mac' build
  4. open "Neon Vision Editor.xcodeproj" and run, then use Cmd+P for Quick Open.
ForNot For
Fast native editing across macOS, iOS, iPadOSFull IDE workflows with deep refactoring/debugger stacks
Markdown writing and script/config edits with highlightingTeams that require Windows or Linux support
Users who want low overhead and quick file accessUsers expecting full desktop-IDE parity on iPhone

Table of Contents

Start Here · Release Channels · Core Workflows · Download Metrics · Project Documentation · Features

Established Workflows · Architecture At A Glance · Platform Matrix · Roadmap (Near Term) · Troubleshooting · FAQ · Changelog · Contributing Quickstart · Support & Feedback

Release Channels

ChannelBest forDeliveryCurrent status
StableDirect notarized builds and fastest stable updatesGitHub Releasesv1.8.5 release docs current; v1.8.5 direct download current
StoreApple-managed install/update flowApp StoreCheck the platform listing for current availability
BetaEarly testing of upcoming changesTestFlightNewest beta availability may vary by review state

Download Metrics

All Downloads

Release Download + Traffic Trend

GitHub release downloads trend chart

Styled line chart shows per-release totals with 14-day traffic counters for clones and views.

Unique cloners (14d) Unique visitors (14d)

Clone snapshot (UTC) View snapshot (UTC)

Project Documentation

DocumentPurpose
CHANGELOG.mdFull release history and milestone issue coverage
release/RELEASE-WORKFLOW.mdIsolated release preparation, changelog/README generation, offline dry runs, and publication checks
docs/ARCHITECTURE.mdCurrent cross-platform architecture, ownership boundaries, performance rules, and verification model
CONTRIBUTING.mdLocal setup, build, and contribution workflow
PRIVACY.mdPrivacy guarantees and data-handling policy
SECURITY.mdSecurity policy and responsible disclosure
release/TestFlight, App Store, and release preflight checklists

Repository Layout

PathContents
Project/Sources/Main app, extensions, Neon Pulse products, and shared Swift source
Project/Tests/Cross-platform test target and shared test plan
Project/Configuration/Platform and widget property lists
docs/Architecture, engineering documentation, and media
samples/Language, Markdown, and PDF regression fixtures
scripts/Build, validation, release, and maintenance automation
site/Localized GitHub Pages website

Who Is This For?

Best ForWhy Neon Vision Editor
Quick note takersFast native startup and low UI overhead for quick edits
Markdown-focused writersClean editing with quick preview workflows on Apple devices
Developers editing scripts/config filesSyntax highlighting + fast file navigation without full IDE complexity

Why This Instead of a Full IDE?

AdvantageWhat It Means
Faster startupLower overhead for short edit sessions
Focused surfaceEditor-first workflow without project-system bloat
Native Apple behaviorConsistent experience on macOS, iOS, and iPadOS

Download

Prebuilt binaries are available on GitHub Releases.

The direct GitHub release is currently ahead of the iOS/iPadOS App Store version. The App Store version may temporarily lag while updates are in Apple review.

ChannelPlatformBest ForDownloadRelease TrackNotes
StablemacOSDirect notarized builds and fastest stable updatesGitHub Releasesv1.8.5Current direct download
StoreiOS / iPadOSApple-managed installs and updatesNeon Vision Editor on the App Storev1.8.4Current public App Store listing
Store ReviewmacOSCorrected App Store updateApp Store Connect reviewv1.8.5In Apple review
StorevisionOSApple-managed installs and updatesNeon Vision Editor on the App Storev1.6.1Current recorded visionOS listing
BetaiOS / iPadOS / macOSTesting upcoming changes before stableTestFlight Invitev1.8.5Early access builds for feedback; availability may vary by review state

Install

Quick install (curl)

Install the latest release directly:

curl -fsSL https://raw.githubusercontent.com/h3pdesign/Neon-Vision-Editor/main/scripts/install.sh | sh

Install without admin password prompts (user-local app folder):

curl -fsSL https://raw.githubusercontent.com/h3pdesign/Neon-Vision-Editor/main/scripts/install.sh | sh -s -- --appdir "$HOME/Applications"

Homebrew

Install the official Homebrew cask:

brew install neon-vision-editor

The explicit cask form is equivalent:

brew install --cask neon-vision-editor

Cask source: Homebrew/homebrew-cask

If Homebrew asks for an admin password, it is usually because casks install into /Applications. Use this to avoid that:

brew install --cask --appdir="$HOME/Applications" neon-vision-editor

GitHub macOS command line helper

The direct macOS build from GitHub bundles an optional nve helper for terminal workflows. It is not included in the Mac App Store build. Install it only when you want a shell command:

  1. Open Settings > Support.
  2. Copy the Command Line Helper install command.
  3. Run it in Terminal to link the bundled helper into $HOME/bin.
nve README.md
nve --wait --new-window "Project/Sources/Neon Vision Editor/UI/ContentView.swift"
nve --line 42 "Project/Sources/Neon Vision Editor/UI/ContentView.swift" # validates the line flag; cursor placement is not yet supported

Development builds can also link the repository copy:

mkdir -p "$HOME/bin"
ln -sf "$PWD/scripts/nve" "$HOME/bin/nve"

Permission model: the helper is optional and user-linked. It calls macOS Launch Services through /usr/bin/open and does not read file contents itself. Neon Vision Editor handles the document-open request inside the sandbox with user-selected read/write file access and security-scoped file access. It does not require Full Disk Access, Accessibility access, administrator permission, background services, or telemetry. See docs/CommandLineHelper.md.

Core Workflows

Project Sidebar Find in Files Markdown Preview Remote Sessions Code Minimap Quick Open

The macOS Project Sidebar brings files, search, and Git together, with Terminal available in the direct build. Remote Sessions are opt-in. Markdown formatting, preview, and export stay in one contextual flow.

Features

Neon Vision Editor keeps the surface minimal and focuses on fast writing/coding workflows. Platform-specific availability is tracked in the Platform Matrix section below.

Editing Core

Fast Editing Invisible Characters Tabs Syntax Highlighting TeX Support Regex Find Replace Code Minimap Vim Mode

Navigation & Preview

Quick Open Project Sidebar Terminal Sidebar CLI Indexed Search Diff View Preview Markdown PDF Export Remote Sessions

Platform, Output & Customization

Cross Platform Text Export Code Snapshot Themes Shared File Sync iCloud Settings Sync

Safety & Privacy

Safety Safe Mode Privacy

Current Feature Coverage

  • Editing utilities: configurable iPhone/iPad keyboard actions, Copy Current Editor Reference, and Sort & Deduplicate Lines complement the regular save, find, undo, redo, and formatting commands.
  • Languages and structured documents: Swift 6-ready highlighting includes TeX/LaTeX and Typst/CeTZ-aware editing; CSV/TSV, property lists, Apple crash reports, and recognized logs can switch between structured and raw-text views, and plain text can be transformed into validated JSON through an explicit AI-assisted action.
  • Project and preview workflows: project-level Markdown/PDF cards reuse the project index for bounded excerpts and thumbnails, while Markdown, HTML, SVG, PDF, and PNG previews remain integrated with the editor.
  • macOS integration: the embedded Quick Look extension previews supported Markdown and source files in Finder, and detached Markdown previews can use the same glass treatment without changing editor content.
  • Latest stable additions (v1.8.5): Adds a default Markdown opening mode for editing or full-window reading, with toolbar or Command-Shift-P switching (#617).

Editing Core

  • Fast loading for regular and large text files with tabbed editing.
  • Supported text files below 100 MB remain editable; unsupported large-file encodings can fall back to a read-only preview. The app starts a lightweight file-loading profile at 2 MB and can enable Large File Mode earlier for documents with high character or line counts.
  • Large File Mode favors responsive opening, scrolling, and typing: full-document syntax analysis, minimap, preview, symbols, word count, and diff can be deferred or temporarily unavailable. The active mode and file size are shown in the editor status UI.
  • Choose Standard for normal processing, Responsive for chunked installation and deferred work, or Plain Text when an unstyled editor is the safest choice for an unusually large document.
  • Every editable macOS document uses the native AppKit/Core Text virtual renderer. It draws bounded visual rows, caches line layouts, and preserves caret and selection positions as the viewport moves. Eligible large local files use disk-backed storage with indexing prepared in the background before the editor takes ownership. iOS/iPadOS/visionOS use a separate UITextView input and rendering path over the shared tab/document model.
  • Files at 100 MB or more open as a clearly marked, read-only Partial Open. Neon reads only the first 4 MB, ending at a line boundary where possible; it never loads the full file into the editor buffer or permits saving the partial content over the source.
  • Broad Swift 6-ready syntax highlighting (including TeX/LaTeX and Typst/CeTZ), official Emmet 2 abbreviation expansion for markup and stylesheets, inline completion with Tab-to-accept, and regex Find/Replace with Replace All.
  • On macOS, clickable gutter swatches for HEX colors in CSS, HTML, XML, and SVG open a native color picker. Changes update the source through the normal edit/undo path, preserving short and alpha forms when representable.
  • On supported iPads and Apple Pencil hardware, hover previews the caret and Pencil dragging selects text. Double-tap/squeeze undo follows the system's Pencil preferences.
  • Optional Code Minimap gives a compact file overview, click-to-jump navigation, and a draggable viewport marker without changing the default editor surface.
  • Invisible-character markers on iPhone and iPad render in a lightweight overlay so spaces, tabs, and newlines stay aligned while scrolling.
  • Scrolling the iPhone editor dismisses the software keyboard; iPad keeps the keyboard available while scrolling for its pointer and hardware-keyboard workflows.
  • Trackpad pinch on macOS and touch pinch on iPhone, iPad, and Apple Vision Pro adjust editor font size while retaining the normal font controls.
  • Optional Vim workflow support and starter templates for common languages.
  • Quick Open (Cmd+P), project sidebar navigation, and recursive project tree rendering.
  • Focus Mode hides secondary panes, preview, minimap, and macOS toolbar chrome without changing the open document. Its enabled state belongs to the current scene.
  • The macOS Project Sidebar uses a single Files/Search/Git/Terminal glass rail with clearer active and inactive states, visible Git change counts, compact file-status rows, and a 450 pt default width. The Terminal tab is available only in the direct macOS build.
  • The direct macOS project sidebar includes a Terminal tab that keeps output while switching tabs, offers project/home working-directory choices, and provides clear/restart controls. The App Store macOS build omits the PTY terminal and Python project runner.
  • The terminal provides a persistent PTY shell, bounded scrollback, and ANSI colors. Its display is currently append-only: cursor-based progress rewrites and full-screen/alternate-screen programs are not supported. Remaining emulator and readiness work is tracked in #318.
  • scripts/nve opens files from the terminal and supports --wait, --new-window, and --line compatibility flags.
  • Find in Files keeps results visible on Mac and iPad when a match opens, while replacement targets start unselected by default.
  • In the next release, Find in Files respects project and nested .gitignore files. Use the project sidebar's Ignored Folders menu to exclude node_modules, build, dist, and other listed output folders; custom paths and patterns belong in .gitignore. Unknown text-file extensions remain searchable. Git global excludes and tracked-file exceptions are not applied.
  • Remote Sessions are opt-in: macOS owns SSH-key login and can publish an attach code so iPhone, iPad, and Apple Vision Pro can browse, open, edit, and explicitly save supported remote text files through the Mac-hosted broker.
  • Project quick actions (Expand All / Collapse All), recent project folders, file filters for All Files, Modified, Images, PNG, PDF, and Markdown, and default ignored heavy folders (.git, .build, node_modules, DerivedData).

Settings & Sync

  • Shared files stay synchronized in already-open tabs when iCloud Drive, a network folder, or another app delivers changes. Clean tabs refresh automatically; dirty tabs require Keep Local, Reload from Disk, or Compare, and the status area reports progress and files needing review.
  • iCloud Drive or the network folder provides document transport; Neon Vision Editor observes, refreshes, and protects conflicts without uploading editor contents to its own service.
  • Optional iCloud Appearance & Theme Sync keeps appearance, theme colors, custom theme data, formatting toggles, and Markdown preview theme behavior aligned across signed-in devices.
  • Appearance-sync status includes the latest local iCloud result and timestamp. That settings service does not sync documents, API tokens, remote sessions, or editor contents.

Compare & Save

  • Native side-by-side diff view for Compare with Disk and Compare Open Tabs workflows, with change navigation.
  • Cross-platform Save As… and Close All Tabs with confirmation.
  • Remote saves are explicit and conflict-aware; if the remote revision changes, the app offers a compare-before-reload path instead of overwriting silently.

AI Assistance

  • Saved chat conversations support questions about an explicitly selected snippet, the current file, project structure, or no document context. Responses retain Markdown and code formatting; request cancellation and retry stay within the conversation.
  • Whole-file chat context is currently unavailable for large disk-backed documents; selection and project-structure context remain separate options.
  • Apple Intelligence is the default provider selection on supported systems. Other providers are opt-in, including OpenAI, Anthropic, Gemini, Grok, OpenCode Go, and a configurable OpenAI-compatible endpoint. Availability depends on the selected provider and device; core editing works offline.
  • Provider credentials stay in Keychain. Cloud-context disclosures and sensitive-content checks let you review what will be sent; restoring a saved chat does not silently attach fresh editor content.
  • Plain-text-to-Markdown and plain-text-to-JSON actions produce proposals for review. JSON output must validate before it can be applied. These workflows and inline completion use the existing provider layer.

Preview, Platform, and Safety

  • Contextual Markdown formatting provides inline actions, five heading levels, lists, quote/code tools, and structural insertion; iPhone presents the full set from a compact Aa control.
  • Markdown preview body text follows the editor's resolved base font size and zoom. Ordered lists continue with the next number, and an explicit language selection stays a tab-level override.
  • One opt-in toolbar control opens and closes Markdown, HTML, and SVG previews. PDF and PNG documents open native previews automatically from toolbar, macOS context-menu/Launch Services, paste/drop, and restored tabs; macOS plus regular-width iPad and visionOS use inline panes while iPhone uses a preview sheet.
  • PDF text highlighting stores lightweight page geometry and selected text separately from the source PDF. Notes use the existing editor on the left and may reuse the existing Markdown preview beside the PDF; note preview is off by default and empty notes create no file or Save As dialog.
  • Markdown previews provide 20 templates and GitHub Flavored Markdown support on macOS, iPhone, and iPad. Apple Vision Pro uses dedicated System Glass, Paper, Slate, and Ink reader surfaces.
  • .svg files support XML editing, bracket help, and rendered SVG Preview on all platforms.
  • Markdown and Swift source exports declare their content types correctly on iOS and iPadOS.
  • Markdown-to-PDF export offers paginated and one-page output. Finder Quick Look previews supported Markdown and source files on macOS.
  • Unsupported-file open/import safety guards, remote text-file limits, and session restore for previously opened project folder.

Customization & Diagnostics

  • Choose from 30 built-in editor palettes plus Custom colors, including Neon Glow, Plasma Storm, AMOLED Neon, Dracula, Monokai, GitHub Dark, Nord, Tokyo Night, Gruvbox, and Mocha. The canonical palette list lives in ThemeSettings.swift.
  • Grouped settings include theme and formatting controls, optional iCloud appearance sync, shortcut customization, and platform-specific preview presentation.
  • Code Snapshot exports styled editor captures; AI Activity Log diagnostics remain available on macOS.

Established Workflows Since v1.4.0

Release Spotlight Shared File Sync Project Sidebar Markdown Large Files

  • Shared-file sync without a proprietary cloud: keep a document open on multiple devices through iCloud Drive or a network folder, and Neon Vision Editor follows externally delivered changes. Clean tabs refresh automatically; dirty tabs stop for Keep Local, Reload from Disk, or Compare, with progress and review status shown in the editor.
  • iCloud Drive or the network folder remains the sync transport; Neon Vision Editor provides the responsive open-tab detection, refresh, and conflict-protection layer rather than uploading document contents itself.
  • Major Project Sidebar redesign: a single Files/Search/Git/Terminal glass rail, clearer inactive states, visible Git change counts, and compact file-status rows.
  • Markdown editing now has a contextual, collapsible formatting surface with direct inline actions, five heading levels, lists, quote/code tools, and a compact Aa control on iPhone.
  • Markdown, HTML, and SVG previews are opt-in through one toolbar control, close cleanly, and adapt between inline panes and the iPhone preview sheet.
  • Large documents below 100 MB remain editable through the file-backed viewport path; files at 100 MB or above open as a clearly marked, read-only partial preview of the first 4 MB, protecting memory while preserving a useful inspection workflow.
  • Trackpad and touch pinch gestures adjust editor font size; the minimap activates more reliably after tab changes and keeps its draggable viewport marker in sync.
  • GitHub releases publish the signed app build number in their notes, allowing the macOS updater to distinguish newer builds that reuse the same release tag.

Architecture At A Glance

The current stable editor separates scene presentation, document ownership, native rendering, and optional services. Arrows show ownership or data exchange, not thread guarantees.

Neon Vision Editor architecture at a glance

  • Ownership: ContentView owns scene presentation; each window has an @MainActor EditorViewModel. TabCommandQueue serializes asynchronous tab mutations, while TabData keeps UI identity, document resource identity, and content revisions distinct.
  • Storage: EditorDocument is the bounded read/edit contract, not the load/save controller. TabData currently uses FileBackedTextDocument for both URL-backed files and content initialized in memory. Eligible large local files retain disk source ranges plus replacement pieces; the loader completes their line index before transferring ownership to the main actor. Saves preserve encoding and line endings and use the existing conflict and atomic-replacement flow.
  • Rendering: VirtualEditorView wraps an AppKit scroll view and a Core Text canvas implementing NSTextInputClient. It consumes bounded windows and UTF-16 ranges, uses generation/revision checks, and owns drawing, hit testing, selection, undo and input. CustomTextEditor wraps UITextView on iOS/iPadOS/visionOS. SwiftUI allocates panes; neither preview nor structured views create a second document store.
  • Editing services: shared syntax helpers, completion policy and EmmetExpander support both native paths. Emmet 2 runs locally from the bundled JavaScript through JavaScriptCore; it is separate from provider-backed AI. The macOS HEX picker edits through the canvas's existing mutation path.
  • External changes: OpenDocumentObservationCenter uses NSFilePresenter events to refresh clean local tabs and offer Keep Local, Reload from Disk, or Compare for dirty tabs. iCloud Drive/network folders supply document transport; appearance sync is a separate preferences service. Peer-to-peer document handoff remains proposed in #164.
  • Work scheduling: loading/index preparation, non-trivial diff/structured snapshots and other asynchronous services use background work. UI state and native input stay on the main actor, including bounded interactive edits and Emmet expansion. The current terminal still parses output on the main actor; moving it behind a bounded screen model is unfinished work in #318.
  • Optional services: project navigation/search reuse ProjectFileIndex; chat captures explicit context before calling AIClient; remote sessions use macOS SSH/broker hosting with mobile/spatial attach clients. Provider credentials and SSH-key bookmarks remain in Keychain, while document recovery, saved conversations, preferences and PDF annotations use their respective stores.
  • Distribution: App Store builds use Apple updates. The separate direct macOS product adds Sparkle with a signed appcast, the PTY terminal, Python workflow and nve helper. ReleaseRuntimePolicy gates distribution-specific behavior.
  • Color key: blue = platform shell, green = app orchestration, orange = core services, purple = infrastructure, pink = distribution products.

Full architecture reference: docs/ARCHITECTURE.md. The reference tracks the current Swift 6 cross-platform structure, platform guards, editor rendering paths, performance rules, distribution boundaries, and release verification workflow.

Implementation entry points: tab/document orchestration, document contract, storage, macOS canvas, UIKit editor, and distribution policy.

Architecture principles

  • Keep UI mutations on the main thread (@MainActor) and heavy work off the UI thread.
  • Keep window/scene state isolated to avoid accidental cross-window coupling.
  • Keep security defaults strict: tokens in Keychain, no telemetry by default.
  • Keep platform wrappers thin and push shared behavior into common services.

Platform Matrix

Neon Vision Editor shares its editor core across macOS, iPhone, iPad, and Apple Vision Pro. Platform-specific controls adapt to available space and input rather than exposing desktop-only workflows on touch devices. macOS also has two distribution profiles: the direct GitHub build includes optional local developer tools, while App Store builds keep those executable-code workflows out of the shipped UI.

Platform boundary: Git review is available on macOS when a local repository and Git installation are present. The PTY Terminal, Python project creation/execution, and the bundled nve command-line helper are direct-macOS-only; they are not included in the App Store macOS build and are not exposed on iPhone, iPad, or Apple Vision Pro. SSH-hosted Remote Sessions remain opt-in and use macOS as the host.

Availability key: Full full native workflow · Adaptive layout adapts to space and input · Compact touch-first presentation · macOS only local desktop capability

Shared Across All Platforms

  • Native text editing, syntax highlighting, line wrap controls, bracket helper, and large-file safeguards.
  • Opt-in Preview for Markdown, HTML, and SVG documents; PDF and PNG previews open automatically. An attached Markdown note uses the existing editor and its optional preview is off by default.
  • Markdown formatting that wraps selections or inserts paired markers without one; heading, list, quote, code, link, image, and table actions are available from an adaptive control surface.
  • Platform-optimized toolbar presets: macOS and iPadOS use compact labels, while iPhone keeps the toolbar icon-first. Standard, focused, developer, review, complete, and custom configurations are available from Settings where the platform supports them.
  • iPhone and iPad support double-tap tab closing while preserving unsaved-change confirmation; iOS retains its transparent status-bar and navigation-surface composition.
  • Optional Code Minimap for supported languages, with viewport navigation and a draggable marker where space permits.
  • Close All Tabs confirmation, unsupported-file safety alerts, and grouped Settings cards.

Platform-Specific Differences and Features

CapabilitymacOSiPhoneiPadApple Vision ProNotes
Emmet 2Native editorNative editorNative editorNative editorLocal abbreviation expansion in supported markup/stylesheet contexts; uses configured indentation.
HEX color pickerGutter swatch and native picker------CSS/HTML/XML/SVG; source edits preserve representable short and alpha formats.
Apple Pencil editing----Hover caret, drag selection, preference-aware undo--Requires compatible iPad/Pencil hardware and enabled system preferences.
Saved AI chatsSidebarCompact presentationSidebarAdaptive presentationExplicit context; optional providers; credentials in Keychain.
Quick Open
Cmd+P
Full
Keyboard and menu
Compact
Hardware keyboard
Full
Keyboard and menu
Adaptive
Hardware keyboard
Keyboard-first navigation remains available whenever a hardware keyboard is connected.
Project workspaceFull
Files/Search/Git rail; Terminal in direct build
Compact
File workflow
Full
Files/Search workflow
Adaptive
Spatial workspace
Git review is macOS-only; the PTY Terminal is direct-macOS-only.
Find in FilesFull
Sidebar
Compact
Sheet
Full
Sidebar
Adaptive
Panel
On Mac and iPad, results remain visible while opening a match.
Markdown formattingFull
Collapsible toolbar below tabs
Compact
Aa status-row menu
Full
Collapsible toolbar below tabs
Adaptive
Collapsible toolbar below tabs
Direct Bold, Italic, Link, Quote, and Code actions; structural actions and five heading levels remain available in menus.
Toolbar and workspace presetsFull
Compact labels; standard, focused, developer, review, complete, custom
Compact
Icon-first toolbar; compact preset controls
Full
Compact labels and preset controls
Adaptive
Spatial toolbar presentation
Presets are configured from Settings; labels and available controls adapt to space and input.
Tab closingFull
Close controls and confirmation
Compact
Double-tap tab
Full
Double-tap tab
Adaptive
Spatial tab controls
Unsaved-change confirmation remains active on every platform.
Status-bar and navigation surfaceFull
macOS window chrome
Full
Transparent iOS composition
Full
iPadOS surface composition
Adaptive
Spatial chrome
v1.2.1 restores the transparent iOS status-bar composition without changing the editor or preview layout.
Preview
Markdown, HTML, SVG, PDF, PNG
Full
Inline split pane
Compact
Full-screen sheet
Full
Inline pane in regular width
Adaptive
Inline pane
Markdown/HTML/SVG remain opt-in; PDF/PNG open automatically. PDF notes reuse the existing editor and optional Markdown preview.
Preview appearanceFull
Templates and backgrounds
Compact
Templates and compact controls
Full
Templates and backgrounds
Adaptive
System Glass, Paper, Slate, or Ink
visionOS intentionally uses its own reader surfaces instead of the full Markdown template collection.
Font-size gestureFull
Trackpad pinch
Full
Touch pinch
Full
Touch pinch
Full
Touch pinch
Gestures adjust editor font size from 10 to 28 pt and retain the regular font-size controls.
Code MinimapFull
Opt-in
Compact
Opt-in
Full
Opt-in
Adaptive
Opt-in
Available for supported languages; it stays hidden for document types where a minimap is not useful.
Diff workflowsFull
Inline
Compact
Sheet
Full
Inline
Adaptive
Panel
Compact presentations avoid taking over narrow touch layouts.
Git reviewFull
Local repository history, changes, and diffs
------Requires a local Git repository and an installed Git executable on macOS.
PTY Terminal and Python workflowmacOS only
PTY terminal, Python project runner, and nve helper
------Available in the direct GitHub macOS build; intentionally omitted from App Store macOS builds and all mobile/spatial builds.
Remote sessionsmacOS host
SSH owner and broker host
Adaptive
Broker attach client
Adaptive
Broker attach client
Adaptive
Broker attach client
Remote access is opt-in; iPhone, iPad, and visionOS explicitly save through a Mac-hosted session.
Save and exportFull
Native Save As and export
Full
System exporter
Full
System exporter
Full
System exporter
iPhone and iPad export Markdown and Swift with their declared content types.

Trust & Reliability Signals

  • Primary notarized release pipeline: release-github-only.yml. The other release workflows are manual fallbacks for an already-created tag.
  • Pre-release verification gate: pre-release-ci.yml
  • Security scanning: CodeQL workflow
  • Performance coverage includes four 100,000-line editor interaction benchmarks, versioned latency/retained-data budgets, and CI result export. A complete workload/platform profiling matrix and dedicated end-to-end UI jobs remain tracked in #318; platform builds and unit tests do not establish that runtime coverage.

More release integrity details: Release Integrity

macOS

Neon Vision Editor macOS light editor with symbol sidebar
Light editor workspace with symbol navigation
Neon Vision Editor macOS wide light editor workspace
Wide light editor workspace with toolbar actions
Neon Vision Editor macOS compact light editor workspace
Compact light editor workspace with focused code view
Neon Vision Editor macOS light editor with code minimap
Light editor workspace with code minimap

iPad

iPad editor beside the project file browser in dark mode
Project files alongside the editor
iPad Markdown source and rendered preview side by side in dark mode
Markdown source and preview side by side

iPhone

iPhone Swift editor in dark mode with the bottom toolbar
Swift editing in dark mode
iPhone Swift editor in light mode with the bottom toolbar
Swift editing in light mode
iPhone Swift editor with the code minimap in dark mode
Code minimap and editor controls
iPhone project file browser in dark mode
Project structure and file navigation

Release Train

TrackCurrent FocusStatus
Stable direct downloadv1.8.5 notarized GitHub releaseCurrent
App Store rolloutPlatform releases are published independently after App ReviewCheck the relevant App Store listing
Post-1.4 stabilizationCrash triage, docs freshness, platform polish, App Store/Xcode Cloud release checksNext patch train
Larger workflow workRemote workflow hardening, minimap polish, project navigation refinementsLater v1.5+ work

Roadmap (Near Term)

Now Next Later

Now (v1.8.5)

  • v1.4.0 delivers file-backed large-document editing, bounded live viewport virtualization, reliable ordinary-file installation, and the release workflow hardening shipped alongside the release. Tracking: Release v1.8.5

Next (v1.8.6)

  • v1.8.6 targets the reviewed changes listed under Unreleased in CHANGELOG.md; scope is not final until release preparation. Tracking: Milestones

Later (v1.5+)

  • v1.5+ larger workflow expansion after the current cross-platform editor baseline is verified, with remote workflows and navigation surfaces kept opt-in until they are fully hardened.

Known Issues

Troubleshooting

  1. Markdown/PDF/PNG preview not visible: use the preview action for Markdown, or reopen the PDF/PNG; PDF/PNG previews should activate automatically when opened.
  2. A PDF note is not visible: choose Notes in the PDF preview; the attached <pdf-name>.pdf.notes.md opens in the existing editor on the left. Enable the optional Markdown preview explicitly to render it beside the PDF.
  3. Shortcut not working on iOS: connect a hardware keyboard for shortcut-based flows like Cmd+P.
  4. Sidebar/layout feels cramped on iPad: switch orientation or close side panels before preview.
  5. Settings feel off after updates: quit/relaunch app and verify current release version in Settings.
  6. Remote connection refused on a local Mac target: enable System Settings > General > Sharing > Remote Login, then start the Remote session again.

Configuration

  • Theme and appearance: Settings > Designs
  • Appearance/theme iCloud sync: Settings > Allgemein/General > Window
  • Editor behavior (font, line height, wrapping, snippets, minimap): Settings > Editor
  • Startup/session behavior: Settings > Allgemein/General
  • Remote sessions: Settings > Mehr/More > Remote or Settings > Remote on wider layouts
  • Support and purchase options: Settings > Mehr/More (platform-dependent)

FAQ

  • Can I use it offline?
    Yes for core editing. Network is only used for explicit actions such as selected AI providers, update checks, GitHub release downloads, or opt-in Remote Sessions.
  • Do I need AI enabled to use the editor?
    No. Core editing, navigation, and preview features work without AI.
  • Where are tokens stored?
    In Keychain via SecureTokenStore, not in UserDefaults.

Keyboard Shortcuts

All shortcuts use Cmd (⌘). iPhone, iPad, and Apple Vision Pro require an external hardware keyboard. The table shows defaults; selected editor shortcuts can be customized in Settings > Shortcuts.

Availability key: Full assigned shortcut · Keyboard external keyboard required · macOS only desktop command

File and Editing

ShortcutActionmacOSiPhoneiPadApple Vision Pro
Cmd+NNew WindowFull------
Cmd+TNew TabFullKeyboardKeyboardKeyboard
Cmd+OOpen FileFullKeyboardKeyboardKeyboard
Cmd+Shift+OOpen FolderFullKeyboardKeyboardKeyboard
Cmd+SSaveFullKeyboardKeyboardKeyboard
Cmd+Shift+SSave AsFullKeyboardKeyboardKeyboard
Cmd+WClose TabFullKeyboardKeyboardKeyboard
Cmd+X, Cmd+C, Cmd+V, Cmd+ACut, Copy, Paste, Select AllFullKeyboardKeyboardKeyboard
Cmd+Z, Cmd+Shift+ZUndo, RedoFullKeyboardKeyboardKeyboard
Cmd+B, Cmd+I, Cmd+KBold, Italic, Link in MarkdownFull--Keyboard--
ShortcutActionmacOSiPhoneiPadApple Vision Pro
Cmd+F, Cmd+GFind, Find NextFullKeyboardKeyboardKeyboard
Cmd+Shift+FFind in FilesFullKeyboardKeyboardKeyboard
Cmd+PQuick OpenFullKeyboardKeyboardKeyboard
Cmd+LGo to LineFullKeyboardKeyboardKeyboard
Cmd+Shift+JGo to SymbolFullKeyboardKeyboardKeyboard
Cmd+Option+SToggle SidebarFullKeyboardKeyboardKeyboard
Cmd+Option+LToggle Line WrapFullKeyboardKeyboardKeyboard
Cmd+Option+MToggle Code MinimapmacOS only------
Cmd+,, Cmd+?Settings, Toolbar HelpFullKeyboardKeyboardKeyboard

macOS-Only Tools

ShortcutActionAvailability
Cmd+DAdd Next MatchmacOS only
Cmd+Shift+DBrain Dump ModemacOS only
Cmd+Shift+VToggle Vim ModemacOS only
Cmd+Shift+GSuggest CodemacOS only
Cmd+Option+Shift+LAI Activity LogmacOS only
Cmd+Shift+UInspect whitespace at caretmacOS only

Vim navigation is also available on iPad with a hardware keyboard after enabling Vim mode; arrow keys and the standard Vim movement keys work in Normal mode.

Changelog

Latest stable: v1.8.5 (2026-09-26)

Editor Evolution

timeline
    title Neon Vision Editor — recent release story
    16 September 2026 : v1.8.1 · Release highlights
                : Gives iPhone and iPad a compact bottom editor toolbar with easier access to tools while keeping more code visible.
    18 September 2026 : v1.8.2 · A more deliberate workflow
                : View large Markdown documents as rendered Markdown instead of a truncated source preview.
    19 September 2026 : v1.8.3 · Release highlights
                : Edit complete text documents below 100 MB without entering the excessive-file preview mode.
    21 September 2026 : v1.8.4 · Release highlights
                : Browse JSON in a structured preview and read YAML with syntax colors.
    26 September 2026 : v1.8.5 · A more deliberate workflow
                : Choose whether Markdown opens for editing or full-window reading, and switch modes from the toolbar or keyboard.

The recent release arc is about continuity: files that change outside the app, workflows that stay reviewable, windows that return where you left them, and document transitions that preserve your editing context. The full record remains in CHANGELOG.md.

Recent Releases (At a glance)

ReleaseThe editor changeWhat it protects or enables
v1.8.5A more deliberate workflow — Choose whether Markdown opens for editing or full-window reading, and switch modes from the toolbar or keyboard.Makes configured app shortcuts available while the mobile editor has hardware-keyboard focus; restores the documented Save As, Line Wrap, and…
v1.8.4Release highlights — Browse JSON in a structured preview and read YAML with syntax colors.Uses the same window routing for new and already-open files across macOS Spaces (#583, #584).
v1.8.3Release highlights — Edit complete text documents below 100 MB without entering the excessive-file preview mode.Fixes clipped unwrapped text on iPhone and iPad by keeping the drawing canvas and horizontal scrolling geometry aligned, including cursor reveal…

Known Limitations

  • Vim mode is intentionally lightweight, not full Vim emulation.
  • iPhone and iPad workflows still offer a smaller feature set than macOS.

Privacy & Security

  • Privacy policy: PRIVACY.md.
  • API keys are stored in Keychain (SecureTokenStore), not UserDefaults.
  • Network traffic uses HTTPS.
  • No telemetry.
  • External AI requests use the configured provider for enabled completion or explicit chat/document-transform actions, with the applicable context disclosures.
  • Remote Sessions are opt-in and user-triggered; when enabled, broker payloads are encrypted and SSH-key bookmarks stay in Keychain.
  • Security policy and reporting details: SECURITY.md.
  • New repository commits are SSH-signed; older historical commits may still predate commit signing.
  • Local SSH-signature verification uses a private allowed-signers file outside the repository.

Release Integrity

  • Tag: v1.8.5
  • Tagged commit: release tag target
  • Verify local tag target:
git rev-parse --verify v1.8.5
  • Verify downloaded artifact checksum locally:
shasum -a 256 <downloaded-file>
  • Verify local SSH commit signatures in this clone:
git config --local gpg.ssh.allowedSignersFile "$HOME/.config/git/allowed_signers"
git log --show-signature -1

Release Policy

  • Stable: tagged GitHub releases intended for daily use.
  • Beta: TestFlight builds may include in-progress UX and platform polish.
  • Cadence: fixes/polish can ship between minor tags, with summary notes mirrored in README and CHANGELOG.md.

Requirements

App Runtime

  • Designed and tested for macOS 26 (Tahoe), with compatibility work for macOS 15 Sequoia.
  • Xcode deployment target: macOS 15.0; iOS/iPadOS 18.6.
  • Apple Silicon recommended

Build Requirements

  • Xcode with the macOS 26 SDK/toolchain for current release assets and icon payloads.
  • iOS and iPadOS simulator runtimes installed in Xcode for cross-platform verification

Build from source

If you already completed the Start in 60s (Source Build), you can open and run directly from Xcode.

git clone https://github.com/h3pdesign/Neon-Vision-Editor.git
cd Neon-Vision-Editor
open "Neon Vision Editor.xcodeproj"

Contributing Quickstart

Contributor guide: CONTRIBUTING.md

Branches and PR targets

BranchPurposeUse for contributions
mainProduction-ready code and published release stateDo not target this branch for contributions. All contributions, including standalone documentation and maintenance changes, must target develop unless a maintainer explicitly requests main.
developIntegration branch for the next releaseStart normal feature, bug-fix, and code-related documentation work here, then open the PR back into develop.
release/<version>Short-lived release stabilization branch created from developMaintainer-managed; do not use it for regular contributions or new features. Its release PR targets main.
archive/legacy-branchesPreserved historical branch tipsRead-only history; do not branch from it or target it with a PR.
automation/*Generated metadata, metrics, appcast, or Store synchronizationBot-managed; do not use these branches for manual contributions.

Both main and develop are protected, so contribute from a branch in your fork. Unless a maintainer asks for another target, branch from the latest develop and open your PR into develop. Focused names such as fix/..., feature/..., or docs/... make the change easy to identify.

  1. Fork the repo and create a focused branch from develop.
  2. Implement the smallest safe diff for your change.
  3. Build on macOS first.
  4. Run cross-platform verification script.
  5. Open a PR with screenshots for UI changes and a short risk note.
  6. Link to related issue/milestone and call out user-visible impact.
git clone https://github.com/h3pdesign/Neon-Vision-Editor.git
cd Neon-Vision-Editor
xcodebuild -project "Neon Vision Editor.xcodeproj" -scheme "Neon Vision Editor" -destination 'platform=macOS,name=My Mac' build

Lock-safe cross-platform verification (sequential macOS + iOS Simulator + iPad Simulator):

scripts/ci/build_platform_matrix.sh

Support & Feedback

Feedback Pulse

Share what works well and what should improve for both the app and the README.

Open Positive Feedback   Open Negative Feedback

Share positive feedback  ·  Share negative feedback

Support Neon Vision Editor

Keep it free, sustainable, and improving.

Buy Me a Coffee Support on Patreon Support via PayPal

  • Neon Vision Editor will always stay free to use.

  • No subscriptions and no paywalls.

  • Keeping the app alive still has real costs: Apple Developer Program fee, maintenance, updates, and long-term support.

  • Optional Support Tip (Consumable): $4.99 and can be purchased multiple times.

  • Your support helps cover Apple developer fees, bug fixes and updates, future improvements and features, and long-term support.

  • Thank you for helping keep Neon Vision Editor free for everyone.

  • In-app support tip: Settings > Mehr/More (platform-dependent)

  • External support: Buy Me a Coffee

  • External support: Patreon

  • h3p apps portal for docs, setup guides, and release workflows: >h3p apps

  • External support: PayPal

Creator Sites

h3p.me Photography apps-h3p.com Product Hub

Git hooks

To auto-increment Xcode CURRENT_PROJECT_VERSION on every commit:

scripts/install_git_hooks.sh

Changed License

Neon Vision Editor is licensed under the Apache License, Version 2.0. See LICENSE.

The project moved to Apache-2.0 because it keeps the same permissive open-source model while adding an explicit patent grant and patent-termination protection for contributors and downstream users. This better matches a developer tool that may receive contributions, integrations, and commercial redistribution over time.

appkit
code-editor
developer-tools
ios
ipados
macos
markdown
swift
swiftui
syntax-highlighting
uikit
visionos

Contributors

h3pdesign

2,930 commits

cnaples79

1 commits

nickustinov

1 commits

Languages

Swift

78.3%

HTML

14.5%

Python

5.1%

Shell

2.1%