From 92114b7368335b12aee0d66419c92de06df00a76 Mon Sep 17 00:00:00 2001 From: Gregory Schier Date: Fri, 17 Mar 2023 17:57:43 -0700 Subject: [PATCH] Fix mixed parser --- src-tauri/icons/icon.icns | Bin 616124 -> 616124 bytes .../components/core/Editor/text/extension.ts | 1 + .../components/core/Editor/twig/extension.ts | 14 ++++++++++---- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src-tauri/icons/icon.icns b/src-tauri/icons/icon.icns index e7cf6f378dc2c9696bcdac454a1c8e62645aff80..141f943c2ca3569c73ebe7a6713fd9cbcb1140d4 100644 GIT binary patch delta 75 zcmV-R0JQ(S%_Y3eB?xI_ZgT($X1s@8KLxj4KL+-ux1pE>P6@Y1jRahqGSB~X{+YQy3KdEj1w~Wz`bNk^= fru?~$oLe~=zb>Lzj3qY#4+bF) diff --git a/src-web/components/core/Editor/text/extension.ts b/src-web/components/core/Editor/text/extension.ts index efda9ef4..d3f0950a 100644 --- a/src-web/components/core/Editor/text/extension.ts +++ b/src-web/components/core/Editor/text/extension.ts @@ -2,6 +2,7 @@ import { LanguageSupport, LRLanguage } from '@codemirror/language'; import { parser } from './text'; const textLanguage = LRLanguage.define({ + name: 'text', parser, languageData: {}, }); diff --git a/src-web/components/core/Editor/twig/extension.ts b/src-web/components/core/Editor/twig/extension.ts index ecfbfeb1..98f9669e 100644 --- a/src-web/components/core/Editor/twig/extension.ts +++ b/src-web/components/core/Editor/twig/extension.ts @@ -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 });