TypoScript (.typoscript) and TSconfig (.tsconfig) in Zed.
Tree-sitter grammar for highlighting, outline, brackets, and indents. A few snippets. A small keyword LSP (cObjects, stdWrap, modifiers, TSconfig keys) — downloaded from this repo’s GitHub release as typoscript-lsp.js.
No project awareness: no import resolution, constants, hover, or site-specific diagnostics. Fine for editing; not full IntelliSense. Community LSP work (ide-companion) has focused on Fluid, not TypoScript.
Grammar and snippets could remain in this extension. Point typoscript-lsp at another stdio binary (e.g. vendor/bin/typo3 … in a Composer project). Until then, the keyword server is the default.
npm install
npx tree-sitter generate
npx tree-sitter test
cd server && npm install && npm run build && cd ..Extensions → Install Dev Extension → this folder. Node 18+. Release flow: PUBLISHING.md.
Local or alternate LSP via settings:
{
"lsp": {
"typoscript-lsp": {
"binary": {
"path": "/path/to/node",
"arguments": ["/path/to/typo3-typoscript/server/dist/server.js", "--stdio"]
}
}
}
}Swap path/arguments for any other stdio server; keep the id typoscript-lsp.
Generated in server/scripts/generate-keywords.js → server/data/keywords.json. Semantics: TypoScript Explained.
cd server && npm run generate:keywords && npm run buildTypoScript: page, pageview, text, coa, fluid, hmenu, cond, import, copy, ref, ml, wrap
TSconfig: tceform, tcemain, tcadefaults, mod, options, rte, cond, import
github.com/onza/typo3-typoscript — issues and PRs welcome.