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.
Installation can be done in Atom Preferences:Ctrl+Comma
Settings Install Search: language-typo3-fluidCtrl+Comma
Settings Install Search: autocomplete-typo3-fluid
or using the command line:apm install language-typo3-fluid
apm install autocomplete-typo3-fluid
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">
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.
You can make your own JSONs for more completions of other extensions' view helpers / versions.
To do it you need to:
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).
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.