diff options
Diffstat (limited to 'README')
| -rw-r--r-- | README | 81 |
1 files changed, 81 insertions, 0 deletions
@@ -0,0 +1,81 @@ +# YACE + +**Yet Another Code Editor** — A lightweight, Tauri-based code editor built with CodeMirror 6, React, and TypeScript. + +## Features + +- Multi-tab editing with syntax highlighting for TypeScript, JavaScript, Rust, Python, HTML, CSS, JSON, Markdown +- File explorer with tree view, folder open/create +- Custom Tokyo Night syntax theme (soft, muted colors) +- Dark & light themes +- Command palette (`Ctrl+P`) +- Untitled file support — create and edit without a workspace folder +- Auto-save, word wrap, ruler, configurable font/tab size +- Custom title bar, sidebar, status bar, and context menus +- Resizable side panel + +## Keyboard Shortcuts + +| Shortcut | Action | +|----------|--------| +| `Ctrl+N` | New untitled file | +| `Ctrl+O` | Open file | +| `Ctrl+Shift+O` | Open folder | +| `Ctrl+S` | Save file | +| `Ctrl+W` | Close tab | +| `Ctrl+P` | Command palette | +| `Ctrl+B` | Toggle sidebar | +| `Ctrl+Tab` / `Ctrl+Shift+Tab` | Next / previous tab | + +## Supported Languages + +`.ts`, `.tsx`, `.js`, `.jsx`, `.mjs`, `.cjs`, `.rs`, `.json`, `.md`, `.mdx`, `.html`, `.htm`, `.css`, `.py` + +## Getting Started + +```bash +# Install dependencies +npm install + +# Run in browser (Vite dev server) +npm run dev + +# Run as desktop app +npm run tauri dev +``` + +## Build + +```bash +npm run build # Type-check + Vite build +npm run tauri build # Production desktop build +``` + +## Tech Stack + +- **Frontend:** React 18, TypeScript, Zustand, Tailwind CSS, CodeMirror 6 +- **Desktop:** Tauri 1.x, Rust, Tokio +- **Build:** Vite + +## Settings + +Configurable via the gear icon in the activity bar: font size, tab size, word wrap, line numbers, ruler, theme, auto-save. + +## Architecture + +``` +┌──────────────────────────────┐ +│ TitleBar │ +├──────┬───────────────────────┤ +│ │ TabsBar │ +│ Acti │ Breadcrumbs │ +│ vity ├───────────────────────┤ +│ Bar │ YaceEditor │ +│ │ (CodeMirror 6) │ +│ │ │ +│ Side │ │ +│ Panel│ │ +├──────┴───────────────────────┤ +│ StatusBar │ +└──────────────────────────────┘ +``` |