From 88b410bf99d183014631d5509f541d56f038ae6e Mon Sep 17 00:00:00 2001 From: Gregory Schier Date: Sat, 11 Jan 2025 08:54:45 -0800 Subject: [PATCH] Fix pairs language not highlighting --- src-web/components/core/Editor/extensions.ts | 1 + src-web/components/core/Editor/pairs/extension.ts | 5 +++-- src-web/components/core/Editor/text/extension.ts | 6 ++---- src-web/components/core/Editor/twig/extension.ts | 8 +++----- src-web/components/core/Editor/url/extension.ts | 1 + 5 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src-web/components/core/Editor/extensions.ts b/src-web/components/core/Editor/extensions.ts index 22d5eb30..a7c440a6 100644 --- a/src-web/components/core/Editor/extensions.ts +++ b/src-web/components/core/Editor/extensions.ts @@ -105,6 +105,7 @@ export function getLanguageExtension({ return graphql(); } + console.log("SELECTING SYNTAX", language); const base = syntaxExtensions[language ?? 'text'] ?? text(); if (!useTemplating) { return base; diff --git a/src-web/components/core/Editor/pairs/extension.ts b/src-web/components/core/Editor/pairs/extension.ts index a2b5640a..cf4f20f7 100644 --- a/src-web/components/core/Editor/pairs/extension.ts +++ b/src-web/components/core/Editor/pairs/extension.ts @@ -1,11 +1,12 @@ import { LanguageSupport, LRLanguage } from '@codemirror/language'; import { parser } from './pairs'; -const urlLanguage = LRLanguage.define({ +const language = LRLanguage.define({ + name: 'pairs', parser, languageData: {}, }); export function pairs() { - return new LanguageSupport(urlLanguage, []); + return new LanguageSupport(language, []); } diff --git a/src-web/components/core/Editor/text/extension.ts b/src-web/components/core/Editor/text/extension.ts index 902a4f2b..8af165f4 100644 --- a/src-web/components/core/Editor/text/extension.ts +++ b/src-web/components/core/Editor/text/extension.ts @@ -1,10 +1,8 @@ import { LanguageSupport, LRLanguage } from '@codemirror/language'; import { parser } from './text'; -export const textLanguageName = 'text'; - -const textLanguage = LRLanguage.define({ - name: textLanguageName, +export 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 3d4775d1..8e743deb 100644 --- a/src-web/components/core/Editor/twig/extension.ts +++ b/src-web/components/core/Editor/twig/extension.ts @@ -5,7 +5,7 @@ import { parseMixed } from '@lezer/common'; import type { EnvironmentVariable } from '@yaakapp-internal/models'; import type { GenericCompletionConfig } from '../genericCompletion'; import { genericCompletion } from '../genericCompletion'; -import { textLanguageName } from '../text/extension'; +import { textLanguage } from '../text/extension'; import type { TwigCompletionOption } from './completion'; import { twigCompletion } from './completion'; import { templateTagsPlugin } from './templateTags'; @@ -63,12 +63,10 @@ function mixLanguage(base: LanguageSupport): LRLanguage { return cached; } - const name = 'twig'; - const parser = twigParser.configure({ wrap: parseMixed((node) => { // If the base language is text, we can overwrite at the top - if (base.language.name !== textLanguageName && !node.type.isTop) { + if (base.language.name !== textLanguage.name && !node.type.isTop) { return null; } @@ -79,7 +77,7 @@ function mixLanguage(base: LanguageSupport): LRLanguage { }), }); - const language = LRLanguage.define({ name, parser }); + const language = LRLanguage.define({ name: 'twig', parser }); mixedLanguagesCache[base.language.name] = language; return language; } diff --git a/src-web/components/core/Editor/url/extension.ts b/src-web/components/core/Editor/url/extension.ts index 14aa10da..a46fc1d8 100644 --- a/src-web/components/core/Editor/url/extension.ts +++ b/src-web/components/core/Editor/url/extension.ts @@ -2,6 +2,7 @@ import { LanguageSupport, LRLanguage } from '@codemirror/language'; import { parser } from './url'; const urlLanguage = LRLanguage.define({ + name: 'url', parser, languageData: {}, });