140 lines
No EOL
5.9 KiB
HTML
140 lines
No EOL
5.9 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Codemirror6 example using BaseX LSP</title>
|
|
<link rel="icon" type="image/png" href="../favicon.png" />
|
|
|
|
<link href="../bootstrap@5.3.7.css" rel="stylesheet" />
|
|
<link rel="stylesheet" href="styles.css" />
|
|
<script src="popover.js" defer></script>
|
|
</head>
|
|
|
|
<body>
|
|
<nav class="navbar bg-body-tertiary">
|
|
<div class="container-fluid">
|
|
<a id="help" class="navbar-brand" >XQuery 4.0 LSP client
|
|
<button popovertarget="popHelp"><i class="bi bi-info-circle"></i></button></a>
|
|
<ul class="nav nav-pills">
|
|
<li class="nav-item">
|
|
<a class="nav-link active" aria-current="page" href="#">Editor</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="#">Msgs</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="/dba/logs" target="dba">Dba</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
|
|
</li>
|
|
</ul>
|
|
<button id="popcon" popovertarget="popConnect" class="btn btn-danger">
|
|
<i class="bi bi-router"></i>
|
|
</button>
|
|
</div>
|
|
</nav>
|
|
|
|
|
|
<div class="container-fluid">
|
|
<div class="row " style="overflow:hidden">
|
|
<div class="col-2">
|
|
<div id="msg">(msgs)</div>
|
|
<select id="load">
|
|
<option selected value="">load..</option>
|
|
<optgroup label="XQuery3">
|
|
<option
|
|
value="https://raw.githubusercontent.com/expkg-zone58/pdfbox/refs/heads/main/src/Pdfbox3.xqm">
|
|
Pdfbox3.xqm</option>
|
|
<option
|
|
value="https://raw.githubusercontent.com/Quodatum/xqdoca/refs/heads/master/src/main/lib/model.xqm">
|
|
model.xqm</option>
|
|
</optgroup>
|
|
<optgroup label="XQuery4">
|
|
<option
|
|
value="https://git.quodatum.duckdns.org/quodatum/basex-lsp/raw/branch/main/webapp/lsp/lsp-text.xqm">
|
|
lsp-text.xqm</option>
|
|
|
|
</optgroup>
|
|
<optgroup label="xpath">
|
|
<option
|
|
value="https://raw.githubusercontent.com/dnovatchev/Articles/refs/heads/main/Generators/Code/generator.xpath">
|
|
generator.xpath</option>
|
|
|
|
</optgroup>
|
|
</select>
|
|
|
|
<ul id="traffic" style="overflow: scroll;">
|
|
<li>-</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="col flex-grow-1" style="overflow: auto;">
|
|
<div class="navbar py-0 bg-light">
|
|
|
|
<div class="btn-group mr-2" role="group" aria-label="First group">
|
|
<label for="file">File:</label>
|
|
<input id="iFile" type="url" value="file:///some/file.xqm" />
|
|
<select id="language">
|
|
<option selected>Language</option>
|
|
<option value="plaintext">plaintext</option>
|
|
<option value="xquery">xquery</option>
|
|
<option value="xml">xml</option>
|
|
</select>
|
|
<label for="symbols">Symbols:</label><select id="symbols" disabled="disabled"></select>
|
|
</div>
|
|
<div class="btn-group btn-group-sm " role="group" aria-label="Second group">
|
|
<button id="search" type="button" class="btn btn-light"><i class="bi bi-search"></i></button>
|
|
<button id="lint" type="button" class="btn btn-light"><i class="bi bi-info-square"></i></button>
|
|
<button id="sync" type="button" class="btn btn-light">
|
|
<i class="bi bi-arrow-repeat"></i>
|
|
</button>
|
|
</div>
|
|
<div class="btn-group" role="group" aria-label="Third group">
|
|
<button id="format" type="button" class="btn btn-light" title="Format"><i
|
|
class="bi bi-justify-left"></i></button>
|
|
|
|
<button type="button" class="btn btn-light" popovertarget="popSettings" title="Settings">
|
|
<i class="bi bi-gear"></i></button>
|
|
</div>
|
|
</div>
|
|
<!-- Editor goes in here -->
|
|
<div id="editor"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Popovers -->
|
|
<dialog id="popConnect" popover>
|
|
<header>Connect to LSP
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
</header>
|
|
<div class="modal-body">
|
|
<div id="state">🔴</div>
|
|
<input id="iServer" type="text" value="ws://localhost:3000/ws/lsp" style="width:25em" />
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button id="connect">connect</button>
|
|
</div>
|
|
</dialog>
|
|
<popup-info id="popHelp">hhhh</popup-info>
|
|
<dialog id="popSettings" popover>
|
|
<header>Editor configuration
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"
|
|
onclick="$('popSettings').hidePopover(); "></button>
|
|
</header>
|
|
<div class="modal-body">
|
|
@TODO
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button id="connect">ok</button>
|
|
</div>
|
|
</dialog>
|
|
<!-- CodeMirror 6 -->
|
|
<script src="./lsp.bundle.js"></script>
|
|
<script src="./script.js"></script>
|
|
|
|
</body>
|
|
|
|
</html> |