MCPcopy Index your code
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 32 documented · 9% updated 15mo ago★ 621 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Code Editor Prototype

Currently, this editor is in pre-alpha. Missing features and bugs are expected.

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

Core symbols most depended-on inside this repo

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