MCPcopy Create free account
hub / github.com/Bruce-Hopkins/code-editor-prototype

github.com/Bruce-Hopkins/code-editor-prototype @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
373 symbols 814 edges 33 files ⚖ Apache-2.0 32 documented · 9% updated 17mo ago★ 611 open issues

Browse by type

Functions 314 Types & classes 59
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Code Editor Prototype

A prototype to test using Iced to build a working editor.

Description

This is a code editor GUI editor built with Rust and Iced. The goal is to become a highly customizablizable, lightweight editor. With a built in highlighter and LSP support.

Currently, this is only a demo. The editor only highlights Rust, and the LSP client only works with Rust analyzer. Better support for other programming languages will be supported in the future.

Build

For Linux users, libgtk will need to be installed to build the project.

Inside the root of the codebase run

cargo run --release

To receive diagnostics from rust analyzer, install the rust analyzer binary to your $PATH with these instructions.

Usage

  • Type ctrl/command+o to open a new folder
  • Type ctrl/command+p to open a new file
  • Type ctrl/command+s to save the opened file
  • Type ctrl/command+l to display the error of the diagnostic over the cursor. (You can also just click on the diagnostic)

Todo

While the current state of the editor is a great starting point, there's a lot of work that needs to be accomplished before this can be a fully-fledged code editor. That includes:

  • [ ] Adding a scripting language to allow for plugins and extensions.
  • [ ] Upgrading to Iced 0.12
  • [ ] Adding a file explorer
  • [ ] Improving LSP support
  • [ ] Supporting more programming languages

Extension points exported contracts — how you extend this code

browse all types & interfaces →

Core symbols most depended-on inside this repo

browse all functions →

Shape

Method 283
Class 42
Function 31
Enum 14
Interface 3

Languages

Rust100%

Modules by API surface

src/widgets/textbox.rs53 symbols
src/lib.rs38 symbols
src/core/buffer.rs35 symbols
src/lsp/transport.rs32 symbols
src/core/window.rs25 symbols
src/core/position.rs22 symbols
src/core/document.rs22 symbols
src/widgets/textbox_container.rs17 symbols
src/widgets/view_port.rs16 symbols
src/widgets/main_view.rs15 symbols
src/core/selection.rs14 symbols
src/lsp/client.rs13 symbols

For agents

$ claude mcp add code-editor-prototype \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page