[ 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.
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()]
})
-
jinja(config?: JinjaCompletionConfig & Object = {}) → LanguageSupport
Jinja template support.
-
jinjaLanguage: LRLanguage
A language provider for Jinja templates.
Configuration options to
jinjaCompletionSource
.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 | null
Returns a completion source for jinja templates. Optionally takes a configuration that adds additional custom completions.
-
closePercentBrace: Extension
This extension will, when the user types a
%
between two matching braces, insert two percent signs instead and put the cursor between them.