Преглед на файлове

Docs: short end-to-end tutorial (build, edit, debug, troubleshooting)

Eric Streit преди 1 седмица
родител
ревизия
76ce129401
променени са 1 файла, в които са добавени 79 реда и са изтрити 0 реда
  1. 79 0
      TUTORIAL.md

+ 79 - 0
TUTORIAL.md

@@ -0,0 +1,79 @@
+# Theia-Modula-2: Short Tutorial
+
+Modula-2 Studio is a GNU Modula-2 IDE built on Eclipse Theia (`modula2-ide/`).
+
+It gives you: `.mod`/`.def` highlighting, snippets, auto-uppercasing, outline / hover / go-to-definition / rename, `gm2` Build-Run, GDB debug, and `modula2.json` projects.
+
+## 1. Prerequisites
+
+```bash
+node --version  # >=24
+yarn --version  # 1.x Classic
+gm2 --version
+gdb --version
+```
+
+Debian/Ubuntu: `sudo apt install gm2 gdb binutils`
+
+## 2. Build and run
+
+```bash
+cd modula2-ide
+yarn
+yarn build
+yarn start:browser   # http://localhost:3000
+# or
+yarn start:electron
+```
+
+## 3. Open an example
+
+1. Open folder `examples/hello/`
+2. Look at:
+   - `src/Main.mod` — sample program
+   - `modula2.json` — project descriptor:
+
+```json
+{
+  "name": "Hello",
+  "compiler": {"type": "gnu-modula-2", "path": "gm2", "options": []},
+  "sourceDirectories": ["src"],
+  "main": "src/Main.mod"
+}
+```
+
+## 4. Edit Modula-2
+
+- Create `Foo.mod` / `Foo.def`. Keywords auto-uppercase (`begin` -> `BEGIN`, but `beginning` is left alone).
+- Try: hover, `F12` go-to-definition, `Shift+F12` references, `F2` rename, `Ctrl+Shift+O` outline.
+- Snippets: `mod`, `proc`, `if`, `defmod`.
+
+Commands (via `F1` / Ctrl+Shift+P):
+
+- `Modula-2: New Modula-2 Project / New Module / New Definition Module`
+- `Modula-2: Validate Project`
+- `Modula-2: About Modula-2 IDE`
+
+## 5. Build and run
+
+With `modula2.json` open in workspace:
+
+- `F1 > Modula-2: Build` — builds `bin/<name>`
+- `Modula-2: Build File / Clean / Rebuild / Run`
+- Or terminal: `gm2 -o bin/Hello src/Main.mod && ./bin/Hello`
+
+Build errors appear in Problems panel, click to jump to source.
+
+## 6. Debug
+
+1. Build with `Modula-2: Build` (passes `-g` by default, so breakpoints bind).
+2. Set breakpoint in gutter.
+3. `Run > Start Debugging`, type `modula2`. `program` defaults to `bin/<name>`.
+
+You get: continue/step over/into/out, call stack, Locals + Module scopes, hover/evaluate.
+
+## 7. Troubleshooting
+
+- Language features missing: check `plugins/modula2-language/` was synced by `yarn build:language`.
+- `gm2 not found`: set `"compiler": {"path": "/usr/bin/gm2"}` in `modula2.json`.
+- Debug `program not found`: run `Modula-2: Build` first.