src/Builder4/Editor.bjs
authorAlan Knowles <alan@roojs.com>
Tue, 26 Mar 2024 15:00:36 +0000 (23:00 +0800)
committerAlan Knowles <alan@roojs.com>
Tue, 26 Mar 2024 15:00:36 +0000 (23:00 +0800)
src/Builder4/Editor.vala

src/Builder4/Editor.bjs
src/Builder4/Editor.vala

index 72e1370..c79328c 100644 (file)
            "int margin_start" : 4,
            "xtype" : "Label",
            "| void setHelper" : [
-            "() {",
-            "",
+            "(Lsp.Hover? help) {",
+            "\tif (help == null) {",
+            "\t\tthis.el.set_text(\"\");",
+            "\t\treturn;",
+            "\t}",
+            "\tvar sig = help.contents.get(0).value.split(\" \");",
+            "\tstring[] str = [];",
+            "\tfor(var i =0; i < sig.length; i++) {",
+            "\t\tstr += (\"<span underline=\\\"single\\\" color=\\\"blue\\\" >\" + ",
+            "\t\t\tGLib.Markup.escape_text(sig[i])",
+            "\t\t\t+\"</span> \");",
+            "\t\t\t",
+            "\t",
+            "\tthis.el.set_markup(str);",
+            "\t",
             "}"
            ]
           },
index 2791a4c..092486c 100644 (file)
@@ -544,8 +544,21 @@ public class Editor : Object
                }
 
                // user defined functions
-               public void setHelper () {
-               
+               public void setHelper (Lsp.Hover? help) {
+                       if (help == null) {
+                               this.el.set_text("");
+                               return;
+                       }
+                       var sig = help.contents.get(0).value.split(" ");
+                       string[] str = [];
+                       for(var i =0; i < sig.length; i++) {
+                               str += ("<span underline=\"single\" color=\"blue\" >" + 
+                                       GLib.Markup.escape_text(sig[i])
+                                       +"</span> ");
+                                       
+                       
+                       this.el.set_markup(str);
+                       
                }
        }