@codemirror/lang-jinja
This repository has moved to https://code.haverbeke.berlin/codemirror/lang-jinja
@codemirror/lang-jinja 
[ WEBSITE | ISSUES | FORUM | CHANGELOG ]
This package implements Jinja template support for the CodeMirror code editor.
The project page has more information, a number of examples and the documentation.
This code is released under an MIT license.
We aim to be an inclusive, welcoming community. To make that explicit, we have a code of conduct that applies to communication around the project.
Usage
import {EditorView, basicSetup} from "codemirror"
import {jinja} from "@codemirror/lang-jinja"
const view = new EditorView({
parent: document.body,
doc: `{% if a.active %}{{ a.title }}{% endif %}`,
extensions: [basicSetup, jinja()]
})
API Reference
jinja(config?: JinjaCompletionConfig & Object = {}) → LanguageSupportJinja template support.
jinjaLanguage: LRLanguageA language provider for Jinja templates.
type
JinjaCompletionConfig
Configuration options to
jinjaCompletionSource.
tags?: readonly Completion[]Adds additional completions when completing a Jinja tag.
variables?: readonly Completion[]Add additional global variables.
properties?: fn(path: readonly string[], state: EditorState, context: CompletionContext) → readonly Completion[]Provides completions for properties completed under the given
path. For example, when completing user.address., path will
be ["user", "address"].
jinjaCompletionSource(config?: JinjaCompletionConfig = {}) → fn(context: CompletionContext) → CompletionResult | nullReturns a completion source for jinja templates. Optionally takes a configuration that adds additional custom completions.
closePercentBrace: ExtensionThis extension will, when the user types a % between two
matching braces, insert two percent signs instead and put the
cursor between them.