
A retro-style text editor with GL shader effects. NED Tree Sitter provides syntax highlighting, LSP integration, and a terminal emulator.
ned.demo.github.mp4
Shader effects: Static noise, burn in, screen curvature, bloom, vignetting.
| Sky | solarized |
|---|---|
|
|
| ned | custom |
|---|---|
|
|
- OpenGL shaders with retro style for the best coding vibes
- Text bookmarks make it easy to edit multiple files with saved cursors
- Rainbow mode cursor so you never lose your cursor and stand out
- LSP adapter for easy navigation and advanced language support
- Terminal emulator based on useless st.c ported to C++ with multiplex support
- Optional custom lexers and tokenizers for custom languages and obscure syntax patterns
- Copilot-like auto complete, choose the latest and best LLM models using OpenRouter
- Multi-cursor support, easily find and replace strings with multi selection
CMake (version 3.10 or higher) C++20 compatible compiler OpenGL GLFW3 Glew curl
Clone the repository with its submodules:
#Make sure you clone with recursive flag
git clone --recursive https://github.com/nealmick/ned
cd ned
git submodule init
git submodule update
# macOS Intel/ARM)
brew install clang-format cmake llvm glfw glew pkg-config curl
# Ubuntu/Debian
sudo apt install cmake libglfw3-dev libglew-dev libgtk-3-dev pkg-config clang libcurl4-openssl-dev clang-format mesa-utils
# For Windows, the dependencies are installed using the build scriptMacOS and Linux (Ubuntu/Debian)
./build-win.bat
# On Windows, the build script will attempt to install Visual Studio with Build Tools. 10-20 minutes.
# After VS has been installed, you must close and re-open PowerShell and run ./build-win.bat again.
# Subsequent rebuilds are much faster after the initial dependencies have been installed.create app package
./pack-mac.sh
./pack-deb.sh
# Bypass quarantine/translocation or you can sign it with your own apple dev acc
xattr -dr com.apple.quarantine Ned.app
embed.demo.github.mp4
Ned can be embedded into other ImGui applications, taking advantage of its text editor, file explorer, and terminal emulator. The embedded version includes emoji support, themes, and more. We have a demo repository that shows how to get started embedding NetEditor into your projects.
Ned Dear is a feature-rich text editor built with Imgui that combines the power of modern development tools with a lightweight, embeddable architecture. At its core, Ned Tree provides a sophisticated text editing experience with text editor syntax that supports over 15 programming languages, including C++, Python, JavaScript, Rust, Go, and others. The editor features custom lexer modes for particular file types and includes advanced features such as multi-cursor editing, line jumping, and a built-in file tree explorer.
The editor includes LSP integration with support for Clang, Gopals, Pyrite, and TypeScript language servers, providing goto definitions, finding references, and symbol information. Ned also includes a terminal emulator and AI integration with OpenRouter support. The editor features emoji support with proper font rendering, custom shader effects, and a theme system. The project is embeddable into other ImGui applications via the ned_embed library, making it easy to integrate it into your projects.
Ned is currently tested on macOS ARM and Intel, Windows x64 and has a Debian build available. Windows support includes automatic dependency management via build scripts.
If you have any questions or issues, don’t hesitate to reach out.
Ned has an AI agent that uses OpenRouter to connect to the latest models. The agent can use MCP to read a file, run commands, or call tools such as editing a file. The Edit File tool, similar to a cursor, uses a special model called Morph to apply code edits to large files with high precision. Check it out on morf.so. The entire system is tied into the settings where the keys to the agent and completion model are stored. Below is a demo of the agent:
agent_compressed.mov
Ned has the ability to track multiple cursors simultaneously, which can make editing much easier in some scenarios. The multi cursor system is used for file content searches to generate a cursor on each instance of a text search string. The app also supports multi selection to select text with multiple cursors. The cursor also supports keybinds such as jumping to the end of the line or jumping forward one word. Below is a demo:
multi-cursor_compressed.mov
Windows support is still being tested, but the release includes a Windows build as well as a build script for both the standalone and embedded versions.
windows.github.mp4
