A code editor written in Odin with raylib. Tree-sitter syntax highlighting, an in-client Odin language server, LSP support for every other language, a real terminal, a built-in Git UI, image, 3D model and markdown previews, and a sandboxed Lua plugin system.
This repo is still in development — everything can break or change at any time.
Download a build from Releases, or build from source:
git clone --recurse-submodules https://github.com/Nov0cx/Thor
cd Thor
odin run build.odin -file -- deps # once per machine: HarfBuzz + tree-sitter
odin run build.odin -file -- run # build and startDependencies and per-platform setup: docs/building.md.
Start Thor in a folder to open it as a workspace:
thor .File > Open Folder... does the same from inside the editor, and so does
dropping a folder or files on the window. Each folder keeps its own session —
open tabs and layout — restored when you come back to it.
ctrl + . opens the command palette: fuzzy-search and run any action Thor has,
including everything bound to a key. Help > Tutorial walks through the rest
inside the editor.
The docs/ folder is the full user manual:
- Getting Started — install, update, open a project, first tour
- Building from Source
- Configuration — settings, themes, per-project
.thor/files - Keybindings — every shortcut
- Git — changes, history, branches, config, GitHub/GitLab
- Plugins
- Troubleshooting — the log file, a slow start
For the codebase itself (architecture, package layout, contributing), see
CLAUDE.md.
