An open API service indexing awesome lists of open source software.

https://github.com/codewiththiha/merustmar_playground


https://github.com/codewiththiha/merustmar_playground

Last synced: 3 days ago
JSON representation

Awesome Lists containing this project

README

          

# Merustmar Playground

A browser-based IDE for the Merustmar programming language — a language that uses Myanmar script as its syntax.

## What It Is

Merustmar is an interpreted language where keywords, control flow, and built-in functions are written in Burmese — for example `ထား` for variable declaration, `တကယ်လို့` for conditionals, `ပတ်` for loops, and `ရေး` for print. The playground lets you write and run Merustmar code directly in the browser via a compiled WebAssembly engine.

## Features

- Syntax-highlighted code editor with line numbers
- Auto-indent on Enter, two-space Tab insertion
- Built-in example files (hello world, variables, functions, conditionals, loops)
- User-created files, persisted to localStorage
- Resizable output terminal panel
- Keyboard shortcut to run: Cmd+Enter (Mac) / Ctrl+Enter (Windows/Linux)
- Responsive layout with mobile sidebar support

## Tech Stack

- React 19 with TypeScript
- Vite 8 with the React Compiler (Babel)
- Tailwind CSS v4 (vite plugin)
- WebAssembly (Rust-compiled Merustmar engine)

## Project Structure

```
src/
lib/
types.ts FileData interface
constants.ts Built-in examples, storage keys
storage.ts localStorage helpers
highlight.tsx Syntax highlighting logic
components/
Header.tsx Top bar
TabBar.tsx Open file tabs
Editor.tsx Code editor (line numbers + textarea + highlight overlay)
Terminal.tsx Output panel with resize handle
FileItem.tsx Single file row
FileExplorer.tsx Sidebar file browser
App.tsx State, hooks, and layout
main.tsx Entry point
```

## Getting Started

```bash
npm install
npm run dev
```

Then open `http://localhost:5173`.

## Build

```bash
npm run build
```

Output goes to `dist/`.