Skip to content

Commit 676000f

Browse files
Arnold TrakhtenbergInTheCloudDanDan O'Brien
authored
release 2.2.3 (#35)
* add Open in Browser to hover card (#34) * add Open in Browser to hover card * refactor implementation, tests work * remove unneeded includes * Update src/providers.ts Co-Authored-By: Arnold Trakhtenberg <[email protected]> * update test Co-authored-by: Dan O'Brien <[email protected]> Co-authored-by: Arnold Trakhtenberg <[email protected]> * fix test * lint * prepare 2.2.3 * cleanup Co-authored-by: Dan O'Brien <[email protected]> Co-authored-by: Dan O'Brien <[email protected]>
1 parent dcd0ea4 commit 676000f

File tree

4 files changed

+19
-5
lines changed

4 files changed

+19
-5
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
All notable changes to the "launchdarkly" extension will be documented in this file.
44

5+
## [2.2.3] - 2020-03-24
6+
7+
### Added
8+
9+
- Added "Open in browser" link to hover display
10+
511
## [2.2.2] - 2020-02-24
612

713
### Changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "launchdarkly",
33
"displayName": "LaunchDarkly",
44
"description": "View LaunchDarkly feature flags in your editor.",
5-
"version": "2.2.2",
5+
"version": "2.2.3",
66
"publisher": "launchdarkly",
77
"engines": {
88
"vscode": "^1.34.0"

src/providers.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,10 @@ class LaunchDarklyHoverProvider implements HoverProvider {
120120
(await this.flagStore.getFeatureFlag(candidate)) ||
121121
(await this.flagStore.getFeatureFlag(kebabCase(candidate)));
122122
if (data) {
123-
const hover = generateHoverString(data.flag, data.config);
123+
const env = data.flag.environments[this.config.env];
124+
const sitePath = env._site.href;
125+
const browserUrl = url.resolve(this.config.baseUri, sitePath);
126+
const hover = generateHoverString(data.flag, data.config, browserUrl);
124127
resolve(new Hover(hover));
125128
return;
126129
}
@@ -180,7 +183,7 @@ const openFlagInBrowser = async (config: Configuration, flagKey: string, flagSto
180183
opn(url.resolve(config.baseUri, sitePath));
181184
};
182185

183-
export function generateHoverString(flag: Flag, c: FlagConfiguration) {
186+
export function generateHoverString(flag: Flag, c: FlagConfiguration, url?: string) {
184187
const fields = [
185188
['Name', flag.name],
186189
['Key', c.key],
@@ -205,6 +208,11 @@ export function generateHoverString(flag: Flag, c: FlagConfiguration) {
205208
hoverString = hoverString.appendCodeblock(`${field[1]}`);
206209
}
207210
});
211+
if (url) {
212+
hoverString.appendText('\n');
213+
hoverString = hoverString.appendMarkdown(`[Open in browser](${url})`);
214+
hoverString.isTrusted = true;
215+
}
208216
return hoverString;
209217
}
210218

test/providers.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ let testPath = path.join(__dirname, '..', '..', 'test');
3232
suite('provider utils tests', () => {
3333
test('generateHoverString', () => {
3434
assert.equal(
35-
"**LaunchDarkly feature flag**\n\nName: \n```\nTest\n```\n\n\nKey: \n```\ntest\n```\n\n\nEnabled: \n```\ntrue\n```\n\n\nDefault variation: \n```\n\"SomeVariation\"\n```\n\n\nOff variation: \n```\n{\n \"thisIsJson\": \"AnotherVariation\"\n}\n```\n\n\n1 prerequisite\n\n3 user targets\n\n0 rules",
36-
providers.generateHoverString(flag, flagConfig).value,
35+
"**LaunchDarkly feature flag**\n\nName: \n```\nTest\n```\n\n\nKey: \n```\ntest\n```\n\n\nEnabled: \n```\ntrue\n```\n\n\nDefault variation: \n```\n\"SomeVariation\"\n```\n\n\nOff variation: \n```\n{\n \"thisIsJson\": \"AnotherVariation\"\n}\n```\n\n\n1 prerequisite\n\n3 user targets\n\n0 rules\n\n[Open in browser](http://app.launchdarkly.com/example)",
36+
providers.generateHoverString(flag, flagConfig, "http://app.launchdarkly.com/example").value,
3737
);
3838
});
3939

0 commit comments

Comments
 (0)