From 092eb0fd2a10963c5afb91c536238113c10fbd62 Mon Sep 17 00:00:00 2001 From: Elio Struyf Date: Sun, 26 Dec 2021 12:11:38 +0100 Subject: [PATCH] #211 - Replace text selection on media insert --- CHANGELOG.md | 3 ++- src/helpers/MediaHelpers.ts | 10 +++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8eaf063d..bca654d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,11 +4,12 @@ ### 🎨 Enhancements +- [#211](https://github.com/estruyf/vscode-front-matter/issues/211): Replace text selection on media inserts + ### 🐞 Fixes - [#210](https://github.com/estruyf/vscode-front-matter/issues/210): Fix for adding media files with uppercase file extensions - ## [5.8.0] - 2021-12-21 - 🎄 ### 🎨 Enhancements diff --git a/src/helpers/MediaHelpers.ts b/src/helpers/MediaHelpers.ts index e8bd33dc..05b88b85 100644 --- a/src/helpers/MediaHelpers.ts +++ b/src/helpers/MediaHelpers.ts @@ -283,7 +283,15 @@ export class MediaHelpers { } } - await editor?.edit(builder => builder.insert(new Position(line, character), data.snippet || `![${data.alt || data.caption || ""}](${imgPath})`)); + const selection = editor?.selection; + await editor?.edit(builder => { + const snippet = data.snippet || `![${data.alt || data.caption || ""}](${imgPath})`; + if (selection !== undefined) { + builder.replace(selection, snippet); + } else { + builder.insert(new Position(line, character), snippet); + } + }); } panel.getMediaSelection(); } else {