HN 표시: LSP/DAP가 포함된 넌모달 편집 터미널 IDE인 NumenText

hackernews | | 🔬 연구
#claude #go #lsp #numentext #review #넌모달 에디터 #터미널 ide
원문 출처: hackernews · Genesis Park에서 요약 및 분석

요약

개발자는 모드 전환의 번거로움 없는 터미널용 IDE를 구현하기 위해 고전적인 Borland C++ 스타일의 디자인을 차용한 ‘NumenText’를 공개했습니다. 이 도구는 Go 언어로 작성된 단일 실행 파일로, 20개 이상의 언어에 대한 문법 하이라이트와 통합 터미널을 제공합니다. 또한 LSP 및 DAP 클라이언트를 내장하여 자동 완성, 정의로 이동, 중단점 디버깅 등의 고급 기능을 터미널 환경에서 사용할 수 있도록 지원합니다.

본문

A terminal-based IDE written in Go, inspired by Borland C++ and Turbo C. NumenText is a non-modal, menu-driven editor for people who want a capable IDE in the terminal without learning vim or modal editing. Familiar shortcuts (Ctrl+S, Ctrl+C, F5 to run) work out of the box. # Homebrew (macOS / Linux) brew tap numentech-co/tap && brew install numentext # Shell installer (macOS / Linux) curl -fsSL https://raw.githubusercontent.com/numentech-co/numentext/main/install.sh | bash # From source (requires Go 1.25+) go install github.com/numentech-co/numentext@latest Pre-built binaries for macOS and Linux (amd64/arm64) are available on the Releases page. Embedded PTY terminal with Claude Code running inside NumenText -- Borland theme - Multi-tab editor with syntax highlighting (via Chroma) for 20+ languages - Integrated terminal with PTY support and command block mode - LSP client -- autocomplete, go-to-definition, hover info, diagnostics (auto-detects gopls, pyright, clangd, rust-analyzer, typescript-language-server, kotlin-language-server, jdtls) - DAP client -- debugger integration with breakpoints, step over/in/out (dlv, debugpy, lldb-vscode, JVM JDWP) - Build and run -- F5 to run, F9 to build (C, C++, Go, Rust, Python, JavaScript, TypeScript, Java, Kotlin) - Build error navigation -- F9 to build, Ctrl+E to cycle through errors with gutter markers - Unit test runner -- Ctrl+T to run tests, parses go test, pytest, cargo test, Maven, Gradle output - Configurable formatters and linters -- format-on-save, lint-on-save, per-language tool config - Regex search and replace -- across current file or all open files with capture group support - Markdown live preview -- inline formatting, code blocks, tables, blockquotes with marker hiding - Binary hex viewer/editor -- two-pane hex+ASCII view with editing, undo/redo - File bookmarks -- Ctrl+F2 to toggle, F2/Shift+F2 to navigate, bookmarks panel - TODO/FIXME scanner -- detects annotation tags in comments across all open files - Git diff gutter markers -- green/red/blue markers for added/deleted/modified lines - Block/column selection -- Alt+Shift+Arrow or Alt+Shift+mouse drag - File tree with directory browsing - Command palette (Ctrl+Shift+P) and quick file open (Ctrl+P) - Tab switcher with overflow dropdown for large sessions - Resizable panels -- keyboard (Ctrl+Shift+Arrows) or mouse drag - Vi and Helix keybinding modes (Ctrl+Shift+M to cycle) - 4 built-in themes -- Borland, Modern Dark, Modern Light, Solarized Dark - Line endings -- detect and preserve LF/CRLF/CR, UTF-8 BOM handling - HTML tools -- encode/decode entities, entity picker - Python venv support -- auto-detects virtual environments for tool execution - LSP install prompting -- suggests install commands for missing language servers - F1 searchable help -- keyboard shortcut reference with filtering - Persistent config -- panel sizes, recent files, preferences saved to ~/.numentext/config.json - Single binary, no runtime dependencies F9 to build, cursor jumps to first error. Ctrl+E cycles through errors with "Error N of M" in status bar. Red gutter markers show error locations -- Borland theme Markdown rendered with hidden markers: bold headers, tinted code blocks, inline code spans. Markers appear when cursor is on the line for editing -- Modern Dark theme Binary file auto-detected and opened in hex view. Address column, 16 bytes per row with 8+8 grouping, synchronized ASCII pane -- Modern Light theme NumenText is a single binary with no dependencies. Cross-compile locally and copy it over: # For Linux AMD64 GOOS=linux GOARCH=amd64 go build -o numentext-linux . # For Linux ARM64 (e.g., AWS Graviton) GOOS=linux GOARCH=arm64 go build -o numentext-linux . # Copy to remote and run scp numentext-linux user@your-server:~/numentext ssh -t user@your-server ./numentext The -t flag ensures SSH allocates a TTY, which the terminal UI requires. Known limitations over SSH: - Clipboard -- Ctrl+C/V use the local system clipboard (pbcopy/xclip), which is not available over SSH. The internal yank/paste and editor clipboard still work. OSC 52 clipboard passthrough is not yet supported. - Shift+Arrow selection -- Some SSH clients and terminal multiplexers (tmux, screen) intercept or strip modifier keys from arrow sequences. Use F3 (selection mode toggle) as a reliable alternative. - Latency -- Every keystroke round-trips to the server. For high-latency connections, consider mosh instead of SSH for better responsiveness. - Terminal type -- Set TERM=xterm-256color on the remote machine for full color and Unicode support. Basic terminals (TERM=linux ,TERM=vt100 ) automatically fall back to ASCII mode. | Shortcut | Action | |---|---| | Ctrl+N | New file | | Ctrl+O | Open file | | Ctrl+S | Save | | Ctrl+W | Close tab | | Ctrl+Q | Quit | | Ctrl+Z / Ctrl+Y | Undo / Redo | | Ctrl+X / Ctrl+C / Ctrl+V | Cut / Copy / Paste | | Ctrl+F | Find (with regex toggle) | | Ctrl+H | Replace | | Ctrl+G | Go to line | | Ctrl+B | Go to matching bracket

Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.

공유

관련 저널 읽기

전체 보기 →