[mod] update
This commit is contained in:
parent
55233a3382
commit
f499e888ae
11 changed files with 50989 additions and 220 deletions
|
|
@ -1,16 +1,16 @@
|
|||
|
||||
@import url("../bootstrap-icons.min.css");
|
||||
:root {
|
||||
color-scheme: light dark;
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
body {
|
||||
background: #e4e4e4;
|
||||
padding: 5px;
|
||||
padding: 0;
|
||||
height: 100vh;
|
||||
margin: 0;
|
||||
|
||||
font: 500 100% system-ui, sans-serif;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
.page-wrap {
|
||||
background: white;
|
||||
|
|
@ -22,11 +22,28 @@ body {
|
|||
grid-template-rows: min-content min-content 1fr min-content;
|
||||
gap: 1px;
|
||||
|
||||
> * {
|
||||
padding: 0.5rem;
|
||||
text-align: center;
|
||||
* {
|
||||
padding: 0px 0px;
|
||||
}
|
||||
|
||||
.nav-item{
|
||||
padding: 0px 9px;
|
||||
margin: 0px 3px;
|
||||
}
|
||||
/* Set editor dimensions */
|
||||
#editor {
|
||||
max-width: 100%;
|
||||
overflow: hidden;
|
||||
height:80cqh;
|
||||
}
|
||||
|
||||
/* Stretch editor to fit inside its containing div */
|
||||
.cm-editor {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
grid-template-columns: 100%;
|
||||
grid-template-rows: auto;
|
||||
|
|
@ -49,21 +66,18 @@ body {
|
|||
}
|
||||
.page-nav {
|
||||
grid-column: 2 / 3;
|
||||
background: #bbdefb;
|
||||
background: red;
|
||||
|
||||
}
|
||||
.page-main {
|
||||
grid-column: 2 / 3;
|
||||
background: #dcedc8;
|
||||
}
|
||||
.page-footer {
|
||||
grid-column: 1 / -1;
|
||||
background: #ffecb3;
|
||||
}
|
||||
|
||||
details p {
|
||||
text-transform: none;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -6,77 +6,163 @@
|
|||
<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="grail.css" />
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="page-wrap">
|
||||
<header class="page-header">
|
||||
Header
|
||||
<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>
|
||||
</header>
|
||||
<nav class="page-nav">
|
||||
Nav
|
||||
<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" />
|
||||
|
||||
<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" title="Search" type="button" class="btn btn-light"><i
|
||||
class="bi bi-search"></i></button>
|
||||
|
||||
<button id="lint" title="Display diagnostics" type="button" class="btn btn-light"><i
|
||||
class="bi bi-info-square"></i></button>
|
||||
|
||||
<button id="sync" title="Sync changes to server" type="button" class="btn btn-light">
|
||||
<i class="bi bi-arrow-repeat"></i>
|
||||
</button>
|
||||
<button id="fullscreen" title="Full screen editor" type="button" class="btn btn-light">
|
||||
<i class="bi bi-arrows-fullscreen"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="btn-group" role="group" aria-label="Third group">
|
||||
|
||||
<button id="syntax" type="button" class="btn btn-light" title="Syntax"><i
|
||||
class="bi bi-chat"></i></button>
|
||||
|
||||
<button id="format" type="button" class="btn btn-light" title="Format (Shift-Alt-f)"><i
|
||||
class="bi bi-justify-left"></i></button>
|
||||
|
||||
<button id="cmd" type="button" class="btn btn-light" title="Cmd list to console">
|
||||
<i class="bi bi-hammer"></i>
|
||||
</button>
|
||||
|
||||
<button type="button" class="btn btn-light" popovertarget="popSettings" title="Settings">
|
||||
<i class="bi bi-gear"></i></button>
|
||||
|
||||
<button id="wordAt" type="button" class="btn btn-light" title="word at">
|
||||
<i class="bi bi-1-square"></i></button>
|
||||
|
||||
<button id="unused2" type="button" class="btn btn-light" title="unused2">
|
||||
<i class="bi bi-2-square"></i></button>
|
||||
|
||||
<button id="unused3" type="button" class="btn btn-light" title="unused3">
|
||||
<i class="bi bi-3-square"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<main class="page-main" style="overflow: auto;">
|
||||
<article >
|
||||
<details>
|
||||
<summary>Article</summary>
|
||||
<p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Dignissimos laborum cumque incidunt,
|
||||
enim ipsa dicta? Porro illo doloribus, consectetur eum exercitationem sit ipsam, est nesciunt
|
||||
maxime, eius animi dolor? Harum.</p>
|
||||
<p>Commodi culpa deserunt dolor sed, ipsam tempore ullam architecto fuga voluptas, quis veniam.
|
||||
Vitae veniam, odit adipisci, quas similique debitis excepturi quisquam minima facere temporibus,
|
||||
porro optio perferendis iusto fuga.</p>
|
||||
<p>Illo numquam, sapiente neque repellendus facere amet doloribus asperiores quia eum? Sunt vero
|
||||
amet neque vel? Tempora, nulla voluptatum amet autem culpa magnam debitis! Dolores esse quam
|
||||
amet nobis ut.</p>
|
||||
<p>Sunt excepturi in nostrum, fugiat veritatis ab sit sequi nemo aperiam deserunt temporibus,
|
||||
dolorem ex adipisci autem. Quasi, iure fugiat! Nulla amet doloribus velit nam tempora, soluta
|
||||
consequatur doloremque omnis?</p>
|
||||
<p>Officia ea repellat ad, sapiente eligendi modi magni quos temporibus totam culpa corporis,
|
||||
dignissimos quibusdam mollitia dolore eaque suscipit soluta beatae ipsam! Aperiam doloremque
|
||||
vero soluta pariatur possimus. Cupiditate, fuga.</p>
|
||||
<p>Beatae deserunt veritatis magni quis quae enim ad est dignissimos iste, quidem, dolores
|
||||
temporibus asperiores natus inventore, nobis eius facere adipisci doloremque eligendi autem
|
||||
magnam excepturi? Inventore, iusto soluta. Maiores.</p>
|
||||
<p>Enim facilis aspernatur, maiores unde at inventore temporibus minima possimus eveniet? Cum alias,
|
||||
asperiores quibusdam doloribus, vel ullam qui in dicta recusandae eaque atque dolor perspiciatis
|
||||
tenetur, fugit vero reprehenderit.</p>
|
||||
<p>Reiciendis, deleniti eius nostrum fugit commodi quasi esse molestias non voluptates, corrupti
|
||||
excepturi voluptatibus, consequatur ipsa animi placeat quia corporis ut itaque quos pariatur
|
||||
inventore. Quasi incidunt sapiente quisquam soluta?</p>
|
||||
<p>Laboriosam eos atque possimus assumenda quia voluptatem saepe optio, eveniet laborum. Sit esse
|
||||
doloremque laboriosam? Ullam inventore ut facilis accusamus, ipsum, autem labore incidunt
|
||||
consequatur eos dolorem, sit aperiam odit.</p>
|
||||
<p>Consequuntur pariatur illum doloremque, necessitatibus praesentium quis cumque officiis non
|
||||
commodi reprehenderit quaerat velit saepe impedit vitae dolores, veritatis reiciendis ducimus
|
||||
nobis totam, itaque porro temporibus excepturi error iste! Sunt.</p>
|
||||
<p>Commodi culpa deserunt dolor sed, ipsam tempore ullam architecto fuga voluptas, quis veniam.
|
||||
Vitae veniam, odit adipisci, quas similique debitis excepturi quisquam minima facere temporibus,
|
||||
porro optio perferendis iusto fuga.</p>
|
||||
<p>Illo numquam, sapiente neque repellendus facere amet doloribus asperiores quia eum? Sunt vero
|
||||
amet neque vel? Tempora, nulla voluptatum amet autem culpa magnam debitis! Dolores esse quam
|
||||
amet nobis ut.</p>
|
||||
<p>Sunt excepturi in nostrum, fugiat veritatis ab sit sequi nemo aperiam deserunt temporibus,
|
||||
dolorem ex adipisci autem. Quasi, iure fugiat! Nulla amet doloribus velit nam tempora, soluta
|
||||
consequatur doloremque omnis?</p>
|
||||
<p>Officia ea repellat ad, sapiente eligendi modi magni quos temporibus totam culpa corporis,
|
||||
dignissimos quibusdam mollitia dolore eaque suscipit soluta beatae ipsam! Aperiam doloremque
|
||||
vero soluta pariatur possimus. Cupiditate, fuga.</p>
|
||||
</details>
|
||||
</article>
|
||||
<!-- Editor goes in here -->
|
||||
<div id="editor"></div>
|
||||
|
||||
</main>
|
||||
<aside class="page-sidebar">
|
||||
Aside
|
||||
<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>
|
||||
</aside>
|
||||
<footer class="page-footer">
|
||||
Footer
|
||||
Footer <select id="language">
|
||||
<option selected>Language</option>
|
||||
<option value="plaintext">plaintext</option>
|
||||
<option value="xquery">xquery</option>
|
||||
<option value="xml">xml</option>
|
||||
</select>
|
||||
</footer>
|
||||
</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" 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>
|
||||
|
|
@ -37,7 +37,19 @@ $("search").onclick = e => lsp.openSearchPanel(view);
|
|||
|
||||
$("fullscreen").onclick = e => $("editor").requestFullscreen();
|
||||
|
||||
$("cmd").onclick = e => console.log("CMDS", lsp.listCommands(view));
|
||||
$("wordAt").onclick = e => {
|
||||
let pos=view.state.selection.main.head;
|
||||
let w= view.state.wordAt(pos);
|
||||
alert("wordAt " + JSON.stringify(w) );
|
||||
};
|
||||
|
||||
$("cmd").onclick = e => {
|
||||
let cmds = lsp.listCommands(view);
|
||||
[...cmds.keys()].forEach(key => {
|
||||
console.log(`${key} ${cmds.get(key).key}` )
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
$("lint").onclick = async e => {
|
||||
console.log("word", view.state.wordAt(1));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue