Skip to content

Repository files navigation

TYPO3 TypoScript for Zed

TypoScript (.typoscript) and TSconfig (.tsconfig) in Zed.


What it does

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.


If a community LSP appears

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.


Development

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.


Keywords

Generated in server/scripts/generate-keywords.jsserver/data/keywords.json. Semantics: TypoScript Explained.

cd server && npm run generate:keywords && npm run build

Snippets

TypoScript: page, pageview, text, coa, fluid, hmenu, cond, import, copy, ref, ml, wrap
TSconfig: tceform, tcemain, tcadefaults, mod, options, rte, cond, import


Contributing

github.com/onza/typo3-typoscript — issues and PRs welcome.


License

MIT

About

TypoScript and TSconfig language support for the Zed editor

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages