Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Nimaoth/Nev
Nev is a keyboard focused GUI and terminal text editor
https://github.com/Nimaoth/Nev
editor nim programming-language projection-editor projectional-editor text-editor
Last synced: 2 days ago
JSON representation
Nev is a keyboard focused GUI and terminal text editor
- Host: GitHub
- URL: https://github.com/Nimaoth/Nev
- Owner: Nimaoth
- License: other
- Created: 2022-06-24T14:55:23.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-20T21:04:33.000Z (3 months ago)
- Last Synced: 2024-10-21T01:35:31.271Z (3 months ago)
- Topics: editor, nim, programming-language, projection-editor, projectional-editor, text-editor
- Language: Nim
- Homepage:
- Size: 49.5 MB
- Stars: 84
- Watchers: 6
- Forks: 0
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Support: docs/supported_vim_keybindings.md
Awesome Lists containing this project
- awesome-nim - Nev - A keyboard focused GUI and terminal text editor. (Language Features / Editors)
README
# Nev
![Build](https://github.com/Nimaoth/Nev/actions/workflows/main.yml/badge.svg?event=push)
This is still very early in developement and very experimental. Use at your own risk!
Nev is a text editor focused on keyboard usage, customizability and speed which runs in the terminal and in a GUI.
It also aims to provide tools for writing code out of the box, like Git integration, syntax highlighting using [Treesitter](https://tree-sitter.github.io/tree-sitter/), language integration using [LSP](https://microsoft.github.io/language-server-protocol) and debugging using [DAP](https://microsoft.github.io/debug-adapter-protocol/).I'm also experimenting with a programming languange system where instead of writing the source code as plain text,
the abstract syntac tree (AST) is edited directly (or rather through _projections_, which are still trees).
This feature is not included in release builds, and has to enabled by compiling with `-D:enableAst=true`.## Features
- Vim motions (incomplete)
- [LSP](docs/lsp.md) (incomplete)
- [Syntax highlighting](docs/treesitter.md) using treesitter (no support for nested languages yet)
- Basic debugging using DAP
- [Fuzzy search for various things](docs/finders.md)
- [Sessions](docs/sessions.md)
- [WASM plugins](docs/configuration.md)
- Basic git integration (list/diff/add/stage/unstage/revert changed files)
- Basic collaborative editing (only two p2p clients supported)## Installation
Download latest [release](https://github.com/Nimaoth/Nev/releases) or [build from source](docs/building_from_source.md)## Inspirations
- [NeoVim](https://github.com/neovim/neovim)
- [Helix](https://github.com/helix-editor/helix)
- [Zed](https://github.com/zed-industries/zed)
- [JetBrains MPS](https://github.com/JetBrains/MPS)
- [Dion Systems Editor](https://dion.systems/gallery.html)## Important notes if you intend to use it
- Current only UTF-8 encoded files are supported
- Language servers, debug adapters have to installed manually at the moment, treesitter parsers require [emscripten](https://github.com/emscripten-core/emscripten)
- Read the [docs](docs/getting_started.md)## Docs
- [Build from source](docs/building_from_source.md)
- [Getting started](docs/getting_started.md)
- [Cheatsheet](docs/cheatsheet.md)
- [Configuration](docs/configuration.md)
- [Finders](docs/finders.md)
- [Plugin API](https://nimaoth.github.io/AbsytreeDocs/scripting_nim/htmldocs/theindex.html).
- [Virtual file system](docs/virtual_file_system.md)## Screenshots
### Nev running inside Windows Terminal -> WSL -> Zellij with transparent background
![alt](https://raw.githubusercontent.com/Nimaoth/AbsytreeScreenshots/main/transparent_background.png)---
### LSP integration
![alt](https://raw.githubusercontent.com/Nimaoth/AbsytreeScreenshots/main/lsp.gif)---
### Git integration
![alt](https://raw.githubusercontent.com/Nimaoth/AbsytreeScreenshots/main/git.gif)---
### Debugging support (breakpoints aren't rendered correctly in the gif because of recording with asciinema and they use unicode symbols, see screenshot above)
![alt](https://raw.githubusercontent.com/Nimaoth/AbsytreeScreenshots/main/debug.gif)---
### Global and open file finders (and more)
![alt](https://raw.githubusercontent.com/Nimaoth/AbsytreeScreenshots/main/finders.gif)---
### Global search
![alt](https://raw.githubusercontent.com/Nimaoth/AbsytreeScreenshots/main/search.gif)---
### Themes
![alt](https://raw.githubusercontent.com/Nimaoth/AbsytreeScreenshots/main/themes.gif)---
### LSP completions
![alt](https://raw.githubusercontent.com/Nimaoth/AbsytreeScreenshots/main/lsp_completions.png)---
### Diagnostics, inlay hints and hover information
![alt](https://raw.githubusercontent.com/Nimaoth/AbsytreeScreenshots/main/lsp_diagnostics_inlay_hints_hover.png)---
### Fuzzy search for document symbols
![alt](https://raw.githubusercontent.com/Nimaoth/AbsytreeScreenshots/main/lsp_document_symbols.png)---
### View changed/added files in git, and open the diff for files directly, or stage/unstage/revert them
![alt](https://raw.githubusercontent.com/Nimaoth/AbsytreeScreenshots/main/git_changed_files.png)---
### View the git diff in the editor
![alt](https://raw.githubusercontent.com/Nimaoth/AbsytreeScreenshots/main/git_diff.png)---