diff --git a/webapp/lsp/lsp-text.xqm b/webapp/lsp/lsp-text.xqm index 3686bef..754f1ae 100644 --- a/webapp/lsp/lsp-text.xqm +++ b/webapp/lsp/lsp-text.xqm @@ -25,11 +25,13 @@ as map(*) "id": $json?id, "result":{ "contents": [ -`markdown here, this is **bold**. +`markdown here, this is **bold**. + A [link](http://google.com) + The last line.` , - `A hover for { json:serialize($json?params?position) } + `A hover at \\n\\n{ json:serialize($json?params?position) } uri: {$json?params?textDocument?uri} ` ] } diff --git a/webapp/static/clients/codemirror/index.html b/webapp/static/clients/codemirror/index.html index 39ba300..d03d7d2 100644 --- a/webapp/static/clients/codemirror/index.html +++ b/webapp/static/clients/codemirror/index.html @@ -45,80 +45,35 @@
- ggg - + +
+
- - -
-
- - let doc = `3+1`; - // Load saved content from localStorage when the page loads - window.addEventListener('load', () => { - const savedText = localStorage.getItem('code'); - if (savedText) { - doc = savedText; - } - }); - - - const view = lsp.createEditorView(undefined, document.getElementById("editor")); - view.setState(lsp.createEditorState(doc, lsp.baseExts)); - - // Save content to localStorage when the page is about to unload - window.addEventListener('beforeunload', () => { - const doc = view.state.doc.toString(); - localStorage.setItem('code', doc); - }); - document.getElementById("connect").onclick = e => { - e.preventDefault() - connect() - }; - document.getElementById("search").onclick = e => { - lsp.openSearchPanel(view); - }; - document.getElementById("lint").onclick = e => { - lsp.openLintPanel(view); - }; - document.getElementById("load").onclick = e => { - const url = "https://raw.githubusercontent.com/dnovatchev/Articles/refs/heads/main/Generators/Code/generator.xpath"; - fetch(url) - .then(response => response.text()) - .then(t => { - view.dispatch({ - changes: { - from: 0, - to: view.state.doc.length, - insert: t - } - }) - }); - }; - function connect() { - const server = document.getElementById("iServer").value; - const file = document.getElementById("iFile").value; - lsp.simpleWebSocketTransport(server) - .then(transport => { - let link = lsp.lsp(transport, file); - const doc = view.state.doc.toString(); - const state = lsp.createEditorState(doc, [...lsp.baseExts, link]); - view.setState(state); - }) - .catch(r => alert("fail")); - }; - connect(); - \ No newline at end of file diff --git a/webapp/static/clients/codemirror/script.js b/webapp/static/clients/codemirror/script.js new file mode 100644 index 0000000..e0900ea --- /dev/null +++ b/webapp/static/clients/codemirror/script.js @@ -0,0 +1,57 @@ +let doc = `3+1`; +// Load saved content from localStorage when the page loads +window.addEventListener('load', () => { + const savedText = localStorage.getItem('code'); + if (savedText) { + doc = savedText; + } +}); + + +const view = lsp.createEditorView(undefined, document.getElementById("editor")); +view.setState(lsp.createEditorState(doc, lsp.baseExts)); + +// Save content to localStorage when the page is about to unload +window.addEventListener('beforeunload', () => { + const doc = view.state.doc.toString(); + localStorage.setItem('code', doc); +}); +document.getElementById("connect").onclick = e => { + e.preventDefault() + connect() +}; +document.getElementById("search").onclick = e => { + lsp.openSearchPanel(view); +}; +document.getElementById("lint").onclick = e => { + lsp.openLintPanel(view); +}; +document.getElementById("load").onchange = e => { + const url = e.target.value; + if(url.length==0)return + fetch(url) + .then(response => response.text()) + .then(t => { + view.dispatch({ + + changes: { + from: 0, + to: view.state.doc.length, + insert: t + } + }) + }); +}; +function connect() { + const server = document.getElementById("iServer").value; + const file = document.getElementById("iFile").value; + lsp.simpleWebSocketTransport(server) + .then(transport => { + let link = lsp.lsp(transport, file); + const doc = view.state.doc.toString(); + const state = lsp.createEditorState(doc, [...lsp.baseExts, link]); + view.setState(state); + }) + .catch(r => alert("fail")); +}; +connect(); \ No newline at end of file