know hover providers using command links, #29076

This commit is contained in:
Johannes Rieken
2017-08-23 11:00:05 +02:00
parent e8f7ac78b7
commit 001cff3e78
3 changed files with 41 additions and 12 deletions

View File

@@ -6,6 +6,7 @@
'use strict';
import { equals } from 'vs/base/common/arrays';
import { marked } from 'vs/base/common/marked/marked';
/**
* MarkedString can be used to render human readable text. It is either a markdown string
@@ -38,3 +39,16 @@ export function removeMarkdownEscapes(text: string): string {
}
return text.replace(/\\([\\`*_{}[\]()#+\-.!])/g, '$1');
}
export function containsCommandLink(value: MarkedString): boolean {
let uses = false;
const renderer = new marked.Renderer();
renderer.link = (href, title, text): string => {
if (href.match(/^command:/i)) {
uses = true;
}
return 'link';
};
marked(value, { renderer });
return uses;
}