60 lines
No EOL
1.6 KiB
HTML
60 lines
No EOL
1.6 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en-US">
|
|
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>BaseX LSP</title>
|
|
<script type="importmap">
|
|
{
|
|
"imports": {
|
|
"ace": "https://esm.sh/ace-builds@latest",
|
|
"ace-linters/": "https://esm.sh/ace-linters@latest"
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<!-- <script type="module" src="acego.js"></script> -->
|
|
</head>
|
|
|
|
<body>
|
|
<div>something<button onclick="foo()">send</button><a href="/dba/logs" target="_blank">dba</a></div>
|
|
<div id="editor" style="height: 100px">some text</div>
|
|
<script type="module">
|
|
import ace from 'ace';
|
|
import AceLanguageClient from "https://esm.sh/ace-linters@latest/build/ace-language-client";
|
|
|
|
ace.config.set('basePath', 'https://esm.sh/ace-builds@latest/src-noconflict');
|
|
const ed = ace.edit("editor", {
|
|
mode: "ace/mode/json",
|
|
theme: "ace/theme/github"
|
|
});
|
|
|
|
|
|
var servers = [
|
|
{
|
|
module: () => import("https://esm.sh/ace-linters@latest/build/language-client"),
|
|
modes: "json",
|
|
type: "socket",
|
|
socket: new WebSocket("ws://127.0.0.1:3000/ws/lsp"),
|
|
}
|
|
];
|
|
let languageProvider = AceLanguageClient.for(servers);
|
|
|
|
ace.require("ace/ext/language_tools"); //To allow autocompletion
|
|
var editor = ace.edit("editor", {
|
|
enableBasicAutocompletion: true,
|
|
enableLiveAutocompletion: true,
|
|
mode: "json"
|
|
});
|
|
|
|
languageProvider.registerEditor(editor);
|
|
// editor.session.setMode("astro"); // mode now contains "ace/mode/javascript".
|
|
function foo(){
|
|
servers[0].socket.send("TTTTT")
|
|
alert("hi")
|
|
}
|
|
</script>
|
|
|
|
</body>
|
|
|
|
</html> |