mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-03-18 07:23:51 +01:00
Fix mixed parser
This commit is contained in:
@@ -2,6 +2,7 @@ import { LanguageSupport, LRLanguage } from '@codemirror/language';
|
||||
import { parser } from './text';
|
||||
|
||||
const textLanguage = LRLanguage.define({
|
||||
name: 'text',
|
||||
parser,
|
||||
languageData: {},
|
||||
});
|
||||
|
||||
@@ -34,10 +34,16 @@ function mixedOrPlainLanguage(base?: LanguageSupport): LRLanguage {
|
||||
}
|
||||
|
||||
const parser = twigParser.configure({
|
||||
wrap: parseMixed(() => ({
|
||||
parser: base.language.parser,
|
||||
overlay: (node) => node.type.name === 'Text' || node.type.name === 'Template',
|
||||
})),
|
||||
wrap: parseMixed((node) => {
|
||||
// If the base language is text, we can overwrite at the top
|
||||
if (base.language.name !== 'text' && !node.type.isTop) {
|
||||
return null;
|
||||
}
|
||||
return {
|
||||
parser: base.language.parser,
|
||||
overlay: (node) => node.type.name === 'Text' || node.type.name === 'Template',
|
||||
};
|
||||
}),
|
||||
});
|
||||
|
||||
return LRLanguage.define({ name, parser });
|
||||
|
||||
Reference in New Issue
Block a user