diff --git a/src-tauri/icons/icon.icns b/src-tauri/icons/icon.icns index e7cf6f37..141f943c 100644 Binary files a/src-tauri/icons/icon.icns and b/src-tauri/icons/icon.icns differ 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 });