https://github.com/ivanjermakov/xde
eXtensible Development Environment
https://github.com/ivanjermakov/xde
Last synced: about 1 year ago
JSON representation
eXtensible Development Environment
- Host: GitHub
- URL: https://github.com/ivanjermakov/xde
- Owner: ivanjermakov
- Created: 2023-11-14T18:31:49.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-11-15T00:32:52.000Z (over 2 years ago)
- Last Synced: 2025-01-02T08:32:42.872Z (over 1 year ago)
- Language: Rust
- Homepage:
- Size: 1000 Bytes
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# XDE
XDE (eXtensible Development Environment) is a highly-configurable environment, that can be anything from a minimal
text editor or image viewer to a full-featured IDE.
## Design
- XDE is a distributed network of stateful plugins communicating with events.
- Visual representation and logic are decoupled and implemented via plugins.
- No plugins are required. Application start as a loader for enabled plugins that do all the work.
- Plugin can be a standalone application communicating over [JSON RPC] or a Lua module using XDE API.
- Plugin can be loaded, configured and unloaded in runtime.
- Plugins' lifecycle is defined with events.
- Plugin has a list of dependencies. Some dependencies can be optional.
- Plugin expose its interface for configuration and communication with other plugins.
## Features
| Feature | Plugins |
| ---------------------------------- | ----------------------------- |
| Multi file editing | `buffer`, `edit`, `undo`, ... |
| Mouse support | `mouse` |
| File manager | `fs` |
| Window manager | `wm` |
| Terminal | `term` |
| Syntax highlighting | `syn`, `hl` |
| Completion | `cmp` |
| LSP | `lsp` |
| Plugin manager | `plugin` |