Cylc language package for Atom
An Atom extension that provides language support for Cylc workflow configuration files.
Features
Syntax highlighting:
- Cylc 7
- Cylc 8
- ISO 8601 datetimes
- Jinja2 (can be used with a Jinja extension e.g. atom-jinja2)
Check here for info on supported syntax features.
Installation
Install from the Atom settings, the Atom website, or by running apm install language-cylc
.
By default, only files called suite.rc
and suite.rc.processed
(and with the future Cylc 8 extension .cylc
) will use the package. If you want all .rc
files to use it: in Atom, go to Edit > Config...
and add the desired extension to your Atom config file under core.customFileTypes.source.cylc
, like this:
"*":
core:
customFileTypes:
"source.cylc": [
"rc"
]
Issues
Please report any syntax highlighting issues at cylc/cylc-textmate-grammar. Any other issues with the extension should be reported here.
Contributing
This repo includes the cylc/cylc-textmate-grammar repo as a git submodule. If you don't have experience with submodules, you should read the docs first.
The cylc-textmate-grammar repo contains a JSON TextMate grammar file which is used by Atom for syntax highlighting (symlinked to by grammars/cylc.json
). Read the Atom guide on creating a TextMate grammar for more information. Note: do not edit the JSON file when contributing; instead you should edit the JavaScript grammar file and build it, as explained in the contributing section of cylc-texmate-grammar. Any edits will be part of that repo as opposed to this repo.
To install a development copy of the package:
git clone --recurse-submodules https://github.com/cylc/language-cylc.git
cd language-cylc
apm link --dev
The --recurse-submodules
option automatically initialises the cylc-textmate-grammar submodule. apm link --dev
symlinks the clone to ~/.atom/dev/
so that it is loaded when you run Atom in dev mode:
atom --dev .
You can then edit the cylc-textmate-grammar/src/cylc.tmLanguage.js
grammar file. First, read the contributing section of the cylc-textmate-grammar repo - any such edits will be part of that repo as opposed to this vscode-cylc repo. Remember to run npm build
inside cylc-texmate-grammar
after editing & saving the file. Reload the dev window using Ctrl+Shift+F5.
Contributions to Atom-specific features are to be made in this repo, not the submodule.