diff --git a/package.json b/package.json
index b9977f6..f03eb71 100644
--- a/package.json
+++ b/package.json
@@ -8,7 +8,7 @@
"repository": "https://github.com/GodotExplorer/godot-tools",
"license": "MIT",
"engines": {
- "vscode": "^1.9.1"
+ "vscode": "^1.16.1"
},
"categories": [
"Other"
@@ -127,7 +127,7 @@
},
"devDependencies": {
"typescript": "^2.0.3",
- "vscode": "^1.1.4",
+ "vscode": "^1.1.5",
"mocha": "^2.3.3",
"@types/node": "^6.0.40",
"@types/mocha": "^2.2.32"
diff --git a/src/gdscript/docprovider.ts b/src/gdscript/docprovider.ts
index 29be2b4..1d0c891 100644
--- a/src/gdscript/docprovider.ts
+++ b/src/gdscript/docprovider.ts
@@ -68,6 +68,9 @@ class GDScriptDocumentContentProvider implements TextDocumentContentProvider{
format_documentation(text: string): string {
let doc = text.replace(/\[code\]/g, "").replace(/\[\/code\]/g, "");
doc = doc.replace(/\[codeblock\]/g, '
').replace(/\[\/codeblock]/g, "");
+ doc = doc.replace(/\[i\]/g, "").replace(/\[\/i\]/g, "");
+ doc = doc.replace(/\[b\]/g, "").replace(/\[\/b\]/g, "");
+ doc = doc.replace(/\[u\]/g, "").replace(/\[\/u\]/g, "");
return doc;
};
diff --git a/src/gdscript/hoverprovider.ts b/src/gdscript/hoverprovider.ts
index 05faa6e..da069ea 100644
--- a/src/gdscript/hoverprovider.ts
+++ b/src/gdscript/hoverprovider.ts
@@ -4,7 +4,7 @@ import {
Position,
CancellationToken,
Hover,
- MarkedString,
+ MarkdownString,
workspace,
Uri,
CompletionItem,
@@ -32,16 +32,23 @@ class GDScriptHoverProvider implements HoverProvider {
if (isStr(hoverText))
hoverText = getStrContent(hoverText);
const workspaceSymbols = config.getAllSymbols();
- let tips: MarkedString[] = [];
+ let tips: MarkdownString[] = [];
const withMarkdwon = workspace.getConfiguration("GodotTools").get("workspaceDocumentWithMarkdown", false);
+
+ const makeMarkdown = (content): MarkdownString => {
+ let md = new MarkdownString(content);
+ md.isTrusted = true;
+ return md;
+ }
+
// check from workspace
const genWorkspaceTips = ()=> {
for (let path of Object.keys(workspaceSymbols)) {
const script = workspaceSymbols[path];
- let scriptips: MarkedString[] = [];
- const getHoverText = (items, type, path): MarkedString[] => {
- const _items: MarkedString[] = [];
+ let scriptips: MarkdownString[] = [];
+ const getHoverText = (items, type, path): MarkdownString[] => {
+ const _items: MarkdownString[] = [];
for (let name of Object.keys(items)) {
if (name == hoverText) {
let dfile = path;
@@ -52,14 +59,14 @@ class GDScriptHoverProvider implements HoverProvider {
signature = script.signatures[name];
if(type == "const" && script.constvalues[name])
signature = ` = ${script.constvalues[name]}`;
- _items.push({language:'gdscript', value:`${type} ${name}${signature}`});
+ _items.push(makeMarkdown(`${type} ${name}${signature}`));
let doc = script.documents[name];
if(!withMarkdwon)
doc = "```plaintext\r\n"+doc+"\r\n```";
doc = doc?doc+"\r\n\r\n":"";
if(path != "autoload")
doc += `*Defined in [${dfile}](${Uri.file(path).toString()})*`;
- _items.push(doc)
+ _items.push(makeMarkdown(doc));
break;
}
}
@@ -95,8 +102,8 @@ class GDScriptHoverProvider implements HoverProvider {
instance = ` which is an instance of *[${node.instance}](${Uri.file(instancepath).toString()})*`;
}
tips = [...tips,
- `${genLink(node.type, node.type)} ${fullpath}`,
- `${node.type} defined in *[${scnenepath}](${Uri.file(filepath).toString()})*${instance}`
+ makeMarkdown(`${genLink(node.type, node.type)} ${fullpath}`),
+ makeMarkdown(`${node.type} defined in *[${scnenepath}](${Uri.file(filepath).toString()})*${instance}`)
];
break;
}
@@ -104,15 +111,18 @@ class GDScriptHoverProvider implements HoverProvider {
}
};
- const format_documentation = (text) => {
+ const format_documentation = (text, cls="") => {
let doc = text.replace(/\[code\]/g, "`").replace(/\[\/code\]/g, "`");
doc = doc.replace(/\[codeblock\]/g, "\n```gdscript\n").replace(/\[\/codeblock]/g, "\n```");
+ doc = doc.replace(/\[i\]/g, "*").replace(/\[\/i\]/g, "*");
+ doc = doc.replace(/\[b\]/g, "**").replace(/\[\/b\]/g, "**");
+ doc = doc.replace(/\[u\]/g, "__").replace(/\[\/u\]/g, "__");
return doc;
};
// check from builtin
const genBuiltinTips = ()=> {
- const item2MarkdStrings = (name: string,item: CompletionItem, rowDoc: any):MarkedString[] => {
+ const item2MarkdStrings = (name: string,item: CompletionItem, rowDoc: any):MarkdownString[] => {
let value = "";
let doc = format_documentation(item.documentation);
// get class name