codemirror-lang-n8n-expression
TypeScript icon, indicating that this package has built-in type declarations

0.3.0 • Public • Published

codemirror-lang-n8n-expression

n8n expression language support for CodeMirror 6.

Usage

Install n8n expression language support:

npm i codemirror-lang-n8n-expression

Install setup dependencies:

npm i @codemirror/language @lezer/common @lezer/javascript

Set up language support:

import { parserWithMetaData as n8nParser } from 'codemirror-lang-n8n-expression';
import { LanguageSupport, LRLanguage } from '@codemirror/language';
import { parseMixed } from '@lezer/common';
import { parser as jsParser } from '@lezer/javascript';

const n8nPlusJsParser = n8nParser.configure({
	wrap: parseMixed((node) => {
		if (node.type.isTop) return null;

		return node.name === 'Resolvable'
			? { parser: jsParser, overlay: (node) => node.type.name === 'Resolvable' }
			: null;
	}),
});

const n8nLanguage = LRLanguage.define({ parser: n8nPlusJsParser });

export function n8nExpressionLanguageSupport() {
	return new LanguageSupport(n8nLanguage);
}

Author

© 2022 Iván Ovejero

License

Distributed under the MIT License.

Readme

Keywords

none

Package Sidebar

Install

npm i codemirror-lang-n8n-expression

Weekly Downloads

10,540

Version

0.3.0

License

MIT

Unpacked Size

8.09 kB

Total Files

8

Last publish

Collaborators

  • ivov.src