diff --git a/CHANGELOG.md b/CHANGELOG.md index 85732ad..8c97909 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. The format is based on Keep a Changelog (https://keepachangelog.com/en/1.0.0/) and this project adheres to Semantic Versioning (https://semver.org/spec/v2.0.0.html). +## [0.1.4] - 2025-10-04 +### Changed +- Extension name: "WordPress Readme Preview" → "WordPress Readme" +- Enhanced description to highlight syntax highlighting and IntelliSense features +- Updated keywords to include "syntax highlighting", "intellisense", "autocomplete" + +### Fixed +- IntelliSense completion no longer duplicates opening `==` when user has already typed them + ## [0.1.3] - 2025-10-04 ### Added - Section heading IntelliSense completion provider (type `==` then space for valid section suggestions) @@ -31,5 +40,6 @@ The format is based on Keep a Changelog (https://keepachangelog.com/en/1.0.0/) a - Context menu integration across explorer, editor tab, and editor content - Custom parser for WordPress readme formatting (FAQ, changelog headers, etc.) +[0.1.4]: https://github.com/soderlind/wordpress-readme-preview/compare/v0.1.3...v0.1.4 [0.1.3]: https://github.com/soderlind/wordpress-readme-preview/compare/v0.1.1...v0.1.3 [0.1.1]: https://github.com/soderlind/wordpress-readme-preview/compare/v0.1.0...v0.1.1 diff --git a/README.md b/README.md index a0cc193..f8ffc6f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# WordPress Readme Preview +# WordPress Readme -A Visual Studio Code extension that provides live preview and validation for WordPress plugin `readme.txt` files with pixel-perfect WordPress.org rendering and comprehensive compliance checking. +A Visual Studio Code extension that provides syntax highlighting, IntelliSense, live preview and validation for WordPress plugin `readme.txt` files with pixel-perfect WordPress.org rendering and comprehensive compliance checking. ## Features diff --git a/package.json b/package.json index 38c8099..81ab094 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "wordpress-readme-preview", - "displayName": "WordPress Readme Preview", - "description": "Preview WordPress readme.txt files with accurate rendering and validation", - "version": "0.1.3", + "displayName": "WordPress Readme", + "description": "Preview, validate, and edit WordPress readme.txt files with syntax highlighting, IntelliSense, and accurate rendering", + "version": "0.1.4", "publisher": "persoderlind", "engines": { "vscode": "^1.74.0" @@ -21,7 +21,10 @@ "validation", "wordpress.org", "wp-plugin", - "readme.txt" + "readme.txt", + "syntax highlighting", + "intellisense", + "autocomplete" ], "license": "GPL-2.0-or-later", "repository": { diff --git a/src/extension.ts b/src/extension.ts index 31efcfd..6488bc5 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -97,9 +97,19 @@ export function activate(context: vscode.ExtensionContext) { if (/==\s.*==/.test(line)) { return undefined; } + + // Check if we already have opening '==' - if so, only insert name and closing == + const hasOpeningEquals = prefix.includes('=='); + return SECTION_HEADINGS.map(h => { const item = new vscode.CompletionItem(h, vscode.CompletionItemKind.Module); - item.insertText = `== ${h} ==`; + if (hasOpeningEquals) { + // User already typed '==', just insert ' SectionName ==' + item.insertText = ` ${h} ==`; + } else { + // Insert full format + item.insertText = `== ${h} ==`; + } item.detail = 'WordPress readme section'; item.sortText = '0_' + h; return item;