TYPO3 Fluid Support for Atom

I have made two packages that add support for TYPO3s Fluid template syntax to the Atom text editor:

The autocomplete package depends on the language package to work properly.

Atom Screenshot


Installation can be done in Atom Preferences:
Ctrl+Comma Settings Install Search: language-typo3-fluid
Ctrl+Comma Settings Install Search: autocomplete-typo3-fluid

or using the command line:
apm install language-typo3-fluid
apm install autocomplete-typo3-fluid

Make Completions Work

Autocompletions only work when you add a namespace definition for the desired ViewHelpers beforehand,
eg. {namespace f=TYPO3\CMS\Fluid\ViewHelpers}
or in the (recommended) xmlns way:
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers">

Add More Completions

The provided autocompletions come from JSON files in the subfolder "completions" inside the autocomplete-typo3-fluid package installation folder, eg. /home/username/.atom/packages/autocomplete-typo3-fluid/completions

You can place more JSON files in the completions folder to add autocomplete support for more Fluid Namespaces / Versions / ViewHelpers:

If you used one of the files above prior to autocomplete-typo3-fluid version 0.3.1 you need to redownload them after the package update. Some keys have changed (should not happen again).

If you have multiple versions for the same extension's view helpers you can choose the one you need in the package settings.

If you change / add JSON files in the completions folder you should (re)start Atom to make the new autocomplete suggestions work.

Make your own completion JSONs

You can make your own JSONs for more completions of other extensions' view helpers / versions.

To do it you need to:

Generate XML Schemas (xsd) for desired extensions in your TYPO3 installation
Convert the generated XML Schema file(s) to JSON
You can use this XQuery with a modern XQuery 3.1 Processor. I use and love BaseX.
Place the JSON file(s) in the autocomplete-typo3-fluid/completions folder
(Re)Start Atom. Enjoy.

If you used the XQuery file above prior to autocomplete-typo3-fluid version 0.3.1 to make your own completions you need to redownload it. Two meta keys have changed for clarity of code (should not happen again).

Element Rules

Since version 0.2 elementRules can be added to completions. Those rules allow context dependent suggestions (parent element, preceding sibling element).

To figure out how it works have a look at the
provided element rules for 8LTS if- and switch-ViewHelpers

That's it for now. Have fun. Report bugs at GitHub repo.