mane

command module
v0.0.0-...-ab2a553 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 7, 2026 License: MIT Imports: 34 Imported by: 0

README

Mane

A terminal text editor and code workspace built in pure Go, with syntax highlighting and incremental parsing powered by gotreesitter (pure-Go tree-sitter runtime).

Mane focuses on local coding workflows in a terminal UI: multi-tab editing, fast navigation, language-server actions, and web-accessible modes.

Agent Skill

Agents working with Mane should use the using-mane skill.

Install

go install github.com/odvcencio/mane@latest

Usage

mane [flags] [directory-or-file]

Open a directory to browse its files, or open a file directly.

Flags
Flag Default Description
-theme dark Color theme name
-web Web server address (e.g. :8080) for TUI-in-browser
-webui Custom web UI address (Monaco Editor frontend)
-mcp MCP server address
Keyboard Shortcuts
Shortcut Action
Ctrl+S Save file
Ctrl+N New file
Ctrl+W Close tab
Ctrl+P Open file
Ctrl+D Add next selection occurrence for multi-cursor
Ctrl+V Paste at all multi-cursors
Ctrl+F Find in file
Ctrl+Shift+P Command palette
Ctrl+H Replace
Ctrl+G Go to line
F12 Go to definition
Shift+F12 Find references
F1 Show hover panel
F8 Show diagnostics panel
F2 Rename symbol
Ctrl+. Code actions
Ctrl+Space LSP completion
Ctrl+Shift+K Delete line
Ctrl+Shift+D Duplicate line
Alt+Up Move line up
Alt+Down Move line down
Alt+Shift+Up/Down/Left/Right Expand block (rectangular) selection
Ctrl+Alt+W Toggle word wrap
Ctrl+B Toggle sidebar
Ctrl+Shift+[ Fold at cursor
Ctrl+Shift+] Unfold at cursor
Ctrl+] Jump to matching bracket
Esc Clear active block/multi-cursor selection mode
Ctrl+Z Undo
Ctrl+Shift+Z Redo
Ctrl+A Select all
Shift+Arrow Extend selection
Ctrl+Q Quit

Features

  • Syntax highlighting for 21 languages (Go, Python, Rust, TypeScript, C/C++, Java, Ruby, and more)
  • Incremental parsing: edits re-highlight only what changed
  • Pure Go tree-sitter runtime (no CGo, no C dependencies)
  • Tree-sitter-based fold region detection (with heuristic fallback when unavailable)
  • File tree sidebar with lazy directory loading
  • Text selection with clipboard support
  • Find with match highlighting and navigation
  • Command palette
  • Undo/redo
  • Line numbers
  • Fuzzy file finder (Ctrl+P)
  • Go-to-line prompt (Ctrl+G)
  • LSP-powered editor actions:
    • Completion (Ctrl+Space, snippet tab-stop aware)
    • Definition (F12)
    • References (Shift+F12)
    • Hover panel (F1)
    • Diagnostics panel (F8)
    • Rename (F2)
    • Code actions (Ctrl+.)
  • LSP server command overrides from .mane-lsp.json (project root), $XDG_CONFIG_HOME/mane/lsp.json, or MANE_LSP_CONFIG
  • Multi-cursor:
    • Add next occurrence (Ctrl+D)
    • Paste is applied to all active cursors (Ctrl+V, multiline paste aware)
    • Mouse click clears multi-cursor mode
    • Insert/Delete across all cursors from the current selection state
  • Breadcrumb navigation (path + current symbol hierarchy when tree-sitter data is available)
  • Enhanced status line (encoding, line endings, indent mode, branch, selection)
  • Code folding (fold/unfold regions at cursor, fold all/unfold all, folded ranges are hidden from view/navigation)
  • Block (rectangular) selection with column-wise insert/delete
  • Web mode:
    • TUI-in-browser via FluffyUI (-web :8080)
    • Custom Monaco Editor frontend (-webui :8080) for open/edit/save/list workflows
  • MCP extensions (-mcp):
    • Editor tools (mane_open_file, mane_read_buffer, mane_write_buffer, mane_apply_edit, mane_search, mane_go_to_line, mane_get_diagnostics, mane_run_command)
    • Code intelligence resources (mane://file/{path}, mane://syntax-tree/{path}, mane://symbols/{path}, mane://diagnostics/{path})

v1 Scope

Mane v1 targets full-featured terminal editing workflows and exposes MCP + web modes for integration and remote operation.

  • Terminal UI is the primary feature-complete surface.
  • -webui (Monaco frontend) intentionally focuses on file open/edit/save/list flows via RPC rather than mirroring every terminal command.

Performance

The pure Go tree-sitter runtime benchmarks faster than the C reference implementation via CGo on typical source files, with zero allocation overhead for incremental re-parses.

License

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL