Documentation / Desktop Ide

Language support (Phase 1)

v1.0 Beta

Language support (Phase 1)

ACE is not a full LSP IDE yet. Phase 1 adds practical intelligence beyond JS/TS.

What you get

Language Highlighting Completions Diagnostics
JavaScript / TypeScript Yes Monaco TS + workspace words Monaco semantic + syntax
JSON Yes Workspace words Local JSON.parse + disk lint → squiggles
HTML / CSS / SCSS / Less Yes Workspace words Local CSS/HTML syntax checks → squiggles
PHP Yes Workspace words php -l on open/save → editor squiggles
Python Yes Workspace words python3 -m py_compile on open/save
JS (disk) Yes (as above) also node --check on open/save
Other mapped langs Yes Words (most) Syntax highlight only

Monaco language workers are unreliable under Electron file://, so JSON/CSS/HTML diagnostics use local lint (same markers UI as PHP/JS/Python).

Snippets + Gemini next-suggest: see code-snippets.md — local Tab templates for ~25 popular stacks, plus optional Gemini ghost-text continuation.

Not included yet (later phases)

  • Real language servers (Pyright, Intelephense, etc.)
  • Project tsconfig / cross-file TS models
  • Go-to-definition / rename / format providers

Quick test

  1. Restart ACE (cd desktop-ide && npm start)
  2. Open folder desktop-ide/samples/phase3-language-support
  3. Open each sample file and confirm:
File Pass if
bad.json Red squiggle (missing comma)
bad.css Warning on colour + error for missing ;
bad.php After open/save, squiggle from php -l
bad.py After open/save, squiggle from py_compile
bad.js After open/save, squiggle from node --check
ok.html Valid — no error squiggles; completions still work
Was this helpful?