From 6ec31b3524552fb0c5a626f5cf5da138478b6d16 Mon Sep 17 00:00:00 2001 From: Max Hegler Date: Sun, 13 Oct 2024 20:45:14 -0700 Subject: [PATCH 1/4] added support for templatefeed item --- .../miva-managed-templates-provider.ts | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/server/src/mvt/miva-managed-templates-provider/miva-managed-templates-provider.ts b/server/src/mvt/miva-managed-templates-provider/miva-managed-templates-provider.ts index d388edb..7be2000 100644 --- a/server/src/mvt/miva-managed-templates-provider/miva-managed-templates-provider.ts +++ b/server/src/mvt/miva-managed-templates-provider/miva-managed-templates-provider.ts @@ -66,6 +66,37 @@ export class MivaMangedTemplatesProvider { const paramNameLower = parsedItem?.param?.toLowerCase(); switch (nameLower) { + case 'templatefeed': { + if (parsedItem.range) { + const fileNameLower = fileName?.toLowerCase(); + const relativePaths = [ + { + tooltip: 'Follow link to iterator template', + path: `./templates/TEMPLATEFEED_iterator-${fileNameLower}-templatefeed.mvt` + }, + { + tooltip: 'Follow link to footer template', + path: `./templates/TEMPLATEFEED_footer-${fileNameLower}-templatefeed.mvt` + }, + { + tooltip: 'Follow link to settings template', + path: `./templates/TEMPLATEFEED_settings-${fileNameLower}-templatefeed.mvt` + } + ]; + + for (let relativePath of relativePaths) { + const target = this.getTargetFromRelativePath(relativePath.path, mmtPath); + + links.push({ + tooltip: relativePath.tooltip, + range: parsedItem.range, + target + }); + } + } + + break; + } case 'product_display_imagemachine': { const param = paramNameLower?.replace('_deferred', ''); From 0bfad9fc9f462b47ef8cfb63674a54c271e8f395 Mon Sep 17 00:00:00 2001 From: Max Hegler Date: Sun, 13 Oct 2024 20:45:32 -0700 Subject: [PATCH 2/4] added support for hdft header/footer --- .../miva-managed-templates-provider.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/server/src/mvt/miva-managed-templates-provider/miva-managed-templates-provider.ts b/server/src/mvt/miva-managed-templates-provider/miva-managed-templates-provider.ts index 7be2000..2efbd2a 100644 --- a/server/src/mvt/miva-managed-templates-provider/miva-managed-templates-provider.ts +++ b/server/src/mvt/miva-managed-templates-provider/miva-managed-templates-provider.ts @@ -124,6 +124,20 @@ export class MivaMangedTemplatesProvider { range: Range.create(document.positionAt(parsedItem.expression.start), document.positionAt(parsedItem.expression.end)), target }); + + break; + } + case 'header': + case 'footer': { + const relativePath = `./templates/${fileNameRoot}-${paramNameLower}.mvt`; + const target = this.getTargetFromRelativePath(relativePath, mmtPath); + + links.push({ + range: Range.create(document.positionAt(parsedItem.expression.start), document.positionAt(parsedItem.expression.end)), + target + }); + + break; } default: break; From 6a7064825089509297e1aee2f3a7cf406b421d5d Mon Sep 17 00:00:00 2001 From: Max Hegler Date: Sun, 13 Oct 2024 20:46:16 -0700 Subject: [PATCH 3/4] fixed issue where templates with dashes were not linking to templates correctly --- .../miva-managed-templates-provider.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/server/src/mvt/miva-managed-templates-provider/miva-managed-templates-provider.ts b/server/src/mvt/miva-managed-templates-provider/miva-managed-templates-provider.ts index 2efbd2a..0143e00 100644 --- a/server/src/mvt/miva-managed-templates-provider/miva-managed-templates-provider.ts +++ b/server/src/mvt/miva-managed-templates-provider/miva-managed-templates-provider.ts @@ -51,9 +51,13 @@ export class MivaMangedTemplatesProvider { } const fileName = Utils.basename(URI.parse(document.uri))?.replace('.mvt', ''); + const reservedFirstParts = [ + 'cssui', + 'email' + ]; const foundDashIndex = fileName.indexOf('-'); const fileNameFirstPart = fileName.slice(0, foundDashIndex === -1 ? undefined : foundDashIndex); - const fileNameRoot = fileNameFirstPart === fileName + const fileNameRoot = (fileNameFirstPart === fileName || !reservedFirstParts.every(firstPart => fileNameFirstPart === firstPart)) ? fileName : fileNameFirstPart; @@ -112,7 +116,7 @@ export class MivaMangedTemplatesProvider { break; } - // | + // | | | case 'hdft': { switch (paramNameLower) { case 'global_header': From 7f65206f1ffcdc88e47e1af70cdfe5d14285bee5 Mon Sep 17 00:00:00 2001 From: Max Hegler Date: Sun, 13 Oct 2024 20:47:54 -0700 Subject: [PATCH 4/4] bumped and changelog --- CHANGELOG.md | 10 +++++++++- package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ca3a56b..67de830 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,14 @@ # Miva IDE CHANGELOG -## v1.25.0 (latest) +## v1.26.0 (latest) + +* Added document linking support for the following items: + * `templatefeed` + * `hdft:header` + * `hdft:footer` +* Fixed issue where template files with a dash character in the name was not linking templates correctly. + +## v1.25.0 * Added document linking for `` tags. diff --git a/package-lock.json b/package-lock.json index b769442..a025122 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "vscode-miva-ide", - "version": "1.25.0", + "version": "1.26.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "vscode-miva-ide", - "version": "1.25.0", + "version": "1.26.0", "workspaces": [ "client", "server" diff --git a/package.json b/package.json index 59472ee..e1cdb74 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "vscode-miva-ide", "displayName": "Miva IDE", "description": "Syntax highlighting, snippets and tools for building websites with Miva.", - "version": "1.25.0", + "version": "1.26.0", "engines": { "vscode": "^1.77.0", "node": ">=16"