A Visual Studio Code extension that adds language support for the TAO template engine. Node-tao is a Nodejs template engine that focuses on performance, security, and developer experience.
- Tag completion – Autocompletion for TAO template tags.
- Include support – Suggestions and signature help for
include(...)
. - Control structures – Snippets and completions for
if
,for
,for-in
, andfor-of
with tags with syntax colors for html files. - User data injection – Autocompletion for variables and helpers injected in the template.
- Template names provider – An
include
will suggest child templates of your project. - Template navigation – Go to the file definition for an embedded child template in an
include
, hover to get the complete filepath.
If you want to override the default options, create a tao.config.mjs
file at the root of your project and export your configuration as the default.
/**
* @type {import('tao-vscode-extension').Options}
* These are the default options.
*/
const options = {
extension: 'html', // extension of your template files
parse: { exec: '', interpolate: '=', raw: '~' }, // parse configuration
tags: { opening: '<%', closing: '%>' }, // tags configuration
views: 'src', // folder where template files are stored
};
export default options;
Injected data in a template file (variables and helpers) are available for autocompletion.
const displayName = (firstname, lastname) => `${firstname} ${lastname}`;
const result = tao.render(
'template2.html',
{ firstname: 'John', lastname: 'Doe' },
{ displayName }
);
The data will be available after a specific render take place, since it has to be first injected.
NB: Injected data is available only by setting Node-TAO in development mode.
If you wish to change the colors of the tags, provide the following configuration in the settings.json
file in the settings of vscode.
"editor.tokenColorCustomizations": {
"textMateRules": [
{
"scope": "punctuation.section.embedded.begin.tao",
"settings": { "foreground": "#4faf43" }
},
{
"scope": "punctuation.section.embedded.end.tao",
"settings": { "foreground": "#4faf43" }
}
]
}
Requires v0.0.3 of node-tao or higher.
0.0.1
Initial release with completions, includes, tags, signature.
0.0.2
Syntax color corrections, corrections of for loop
and for in
variable autocompletion interpolation.
Issues and pull requests are welcome!
👉 GitHub repository