Recoleta Item Note

Show HN: NumenText, a non-modal editing terminal IDE with LSP/DAP

NumenText is a terminal IDE written in Go, emphasizing a non-modal, menu-driven experience with familiar shortcuts that work out of the box. By integrating LSP/DAP, build-and-run, and terminal capabilities, it offers a…

terminal-idelspdapcode-editorgo

NumenText is a terminal IDE written in Go, emphasizing a non-modal, menu-driven experience with familiar shortcuts that work out of the box. By integrating LSP/DAP, build-and-run, and terminal capabilities, it offers a relatively complete development workflow while remaining a single binary with a lightweight design.

  • Terminal editors often lean toward Vim-style modal interaction, which has a high learning curve and is not suitable for users who want an IDE experience that “just works.”
  • Many lightweight terminal tools lack the language intelligence, debugging, build/run, and project navigation capabilities required for modern development.
  • This matters because developers want efficiency close to a graphical IDE within a terminal environment, while avoiding complex dependencies and heavy installation.
  • The core idea is to build a non-modal, menu-driven terminal IDE: familiar shortcuts such as Ctrl+S, Ctrl+C, F5, and F9 can be used directly, without requiring users to learn Vim-style operations.
  • It delegates “intelligent capabilities” to standard protocols rather than reimplementing language features itself: LSP provides completion, navigation, hover, and diagnostics, while DAP provides breakpoints and step debugging.
  • Technically, it is implemented in Go and packaged as a single binary with no runtime dependencies, maintaining a “small and fast” design philosophy.
  • Functionally, it integrates multi-tab editing, syntax highlighting for 20+ languages, an integrated PTY terminal, a file tree, find/replace, a command palette, quick open, resizable panels, and multi-language build/run support.
  • At the same time, it accommodates different user habits by supporting switching between Vi and Helix keybinding modes, while still centering the default experience on non-modal interaction.
  • It provides syntax highlighting for 20+ languages, with coverage powered by Chroma.
  • It can automatically detect and connect to multiple language servers: gopls, pyright, clangd, rust-analyzer, typescript-language-server; debugger support includes dlv, debugpy, lldb-vscode.
  • Built-in build/run support covers at least 9 languages: C, C++, Go, Rust, Python, JavaScript, TypeScript, and Java, along with related workflow shortcuts (such as F5 to run, F9 to build).
  • The architecture is clearly modular, including components such as editor, terminal, lsp, dap, runner, filetree, and config, indicating that it has implemented a complete IDE backbone rather than being just a standalone editor.
  • The text does not provide benchmark tests, user studies, or quantitative comparisons with other IDEs/editors, so its “breakthrough” is primarily reflected in the product combination: integrating editing, language intelligence, debugging, and execution inside the terminal in a single-binary form.
Built with Recoleta

Run your own research radar

Turn arXiv, Hacker News, OpenReview, Hugging Face Daily Papers, and RSS into local Markdown, Obsidian notes, Telegram digests, and a public site.