3
3
import * as vscode from "vscode" ;
4
4
import getDesignToken from "antd-token-previewer/es/utils/getDesignToken" ;
5
5
import rgbHex from "rgb-hex" ;
6
- import { getMarkdownString } from "./utils" ;
6
+ import { genMarkdownString } from "./utils" ;
7
7
8
8
// this method is called when your extension is activated
9
9
// your extension is activated the very first time the command is executed
@@ -12,8 +12,6 @@ export function activate(context: vscode.ExtensionContext) {
12
12
// This line of code will only be executed once when your extension is activated
13
13
const fullToken = getDesignToken ( ) ;
14
14
15
- // vscode hover widget only support color style in <span></span>
16
- // https://github.com/microsoft/vscode/blob/6d2920473c6f13759c978dd89104c4270a83422d/src/vs/base/browser/markdownRenderer.ts#L296
17
15
vscode . languages . registerHoverProvider (
18
16
[
19
17
"javascript" ,
@@ -31,7 +29,7 @@ export function activate(context: vscode.ExtensionContext) {
31
29
32
30
if ( fullToken . hasOwnProperty ( word as string ) ) {
33
31
const value = String ( fullToken [ word as keyof typeof fullToken ] ) ;
34
- const colorSpan = getMarkdownString ( value ) ;
32
+ const colorSpan = genMarkdownString ( value ) ;
35
33
36
34
const markDownString = new vscode . MarkdownString (
37
35
`<h3>antd design token: ${ word } </h3>${ colorSpan } <code>${ value } </code><br></br>`
@@ -51,20 +49,21 @@ export function activate(context: vscode.ExtensionContext) {
51
49
const items : any [ ] | undefined = [ ] ;
52
50
53
51
for ( let key in fullToken ) {
54
- const value = fullToken [ key as keyof typeof fullToken ] ;
52
+ const value = String ( fullToken [ key as keyof typeof fullToken ] ) ;
55
53
const item = new vscode . CompletionItem ( `${ key } : ${ value } ` , 11 ) ;
56
54
item . insertText = key ;
57
55
item . filterText = key ;
58
56
item . sortText = key ;
59
57
60
- const colorSpan = getMarkdownString ( value ) ;
61
- const markDownString = new vscode . MarkdownString (
58
+ const colorSpan = genMarkdownString ( value ) ;
59
+ let documentContent : vscode . MarkdownString | string = "" ;
60
+
61
+ documentContent = new vscode . MarkdownString (
62
62
`<h3>antd design token: ${ key } </h3>${ colorSpan } <code>${ value } </code><br></br>`
63
63
) ;
64
+ documentContent . supportHtml = true ;
64
65
65
- markDownString . supportHtml = true ;
66
- markDownString . isTrusted = true ;
67
- item . documentation = markDownString ;
66
+ item . documentation = documentContent ;
68
67
69
68
items . push ( item ) ;
70
69
}
0 commit comments