[mod] re-org

This commit is contained in:
Andy Bunce 2025-08-06 14:57:52 +01:00
parent 198bd66c09
commit 784010fbdc
32 changed files with 114 additions and 14 deletions

View file

@ -9,8 +9,8 @@ services:
- "3001:1984"
volumes:
- ./data:/srv/basex/data
- ./webapp/lsp:/srv/basex/webapp/lsp
- ./webapp/web.xml:/srv/basex/webapp/WEB-INF/web.xml # set websocket options 12.1+
- ./webapp/lsp:/srv/basex/webapp/lsp
- ./webapp/static/clients:/srv/basex/webapp/static/clients

View file

@ -0,0 +1,25 @@
{
"jsonrpc": "2.0",
"method": "textDocument/didChange",
"params": {
"textDocument": {
"uri": "file:///some/file.xml",
"version": 2
},
"contentChanges": [
{
"range": {
"start": {
"line": 1,
"character": 4
},
"end": {
"line": 1,
"character": 4
}
},
"text": "d"
}
]
}
}

12
package-lock.json generated
View file

@ -147,9 +147,9 @@
}
},
"node_modules/@codemirror/lsp-client": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/@codemirror/lsp-client/-/lsp-client-6.0.0.tgz",
"integrity": "sha512-g/BwdbsPJmD6N5rCY4NpzLAeZ57QXV8JWM8mYMHAADWWOgVCEXAPK9+itYGng4X0bU3fhRt2UsZsZkiP0HQM2A==",
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/@codemirror/lsp-client/-/lsp-client-6.0.1.tgz",
"integrity": "sha512-HxvGP1i+LkTQIKa9NWYJ/6djNEEo70IV+FU16FbORD0E3p9FNkcrAujDWyOJHtLxMFDFXdQsaHIiqxtCzZ5v2A==",
"license": "MIT",
"dependencies": {
"@codemirror/autocomplete": "^6.18.6",
@ -1342,9 +1342,9 @@
"license": "0BSD"
},
"node_modules/typescript": {
"version": "5.8.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
"integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
"version": "5.9.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz",
"integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==",
"dev": true,
"license": "Apache-2.0",
"peer": true,

View file

@ -29699,7 +29699,7 @@ ${text}</tr>
this on every mapping you create, except when you use
[`withMapping`](https://codemirror.net/6/docs/ref/#lsp-client.LSPClient.withMapping), which will
automatically schedule a disconnect when the given promise
resolves.
resolves or aborts.
*/
destroy() {
this.client.activeMappings = this.client.activeMappings.filter(m => m != this);
@ -30025,7 +30025,7 @@ ${text}</tr>
}
if (!prefixes.length)
return /^\w*$/;
return new RegExp("^(?:" + prefixes.map(RegExp.escape || (s => s.replace(/[^\w\s]/g, "\\$&"))).join("|") + ")?\w*$");
return new RegExp("^(?:" + prefixes.map(RegExp.escape || (s => s.replace(/[^\w\s]/g, "\\$&"))).join("|") + ")?\\w*$");
}
/**
A completion source that requests completions from a language
@ -30172,8 +30172,9 @@ ${text}</tr>
return plugin.docToHTML(value);
}
function renderCode(plugin, code) {
if (typeof code == "string") return plugin.docToHTML(code, "markdown")
let {language, value} = code;
if (typeof code == "string")
return plugin.docToHTML(code, "markdown");
let { language: language$1, value } = code;
let lang = plugin.client.config.highlightLanguage && plugin.client.config.highlightLanguage(language$1 || "");
if (!lang) {
let viewLang = plugin.view.state.facet(language);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -41,6 +41,7 @@ document.getElementById("load").onchange = e => {
}
})
});
document.getElementById("load").value="";
};
function connect() {
const server = document.getElementById("iServer").value;

73
webapp/web.xml Normal file
View file

@ -0,0 +1,73 @@
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0">
<display-name>BaseX: The XML Database and XQuery Processor</display-name>
<description>HTTP Services</description>
<!-- Global session and servlet listener -->
<listener>
<listener-class>org.basex.http.SessionListener</listener-class>
<listener-class>org.basex.http.ServletListener</listener-class>
</listener>
<!-- RESTXQ Service (can be disabled by removing this entry) -->
<servlet>
<servlet-name>RESTXQ</servlet-name>
<servlet-class>org.basex.http.restxq.RestXqServlet</servlet-class>
<init-param>
<param-name>org.basex.user</param-name>
<param-value>admin</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>RESTXQ</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<!-- WebSocket Service (can be disabled by removing this entry) -->
<servlet>
<servlet-name>WebSocket</servlet-name>
<servlet-class>org.basex.http.ws.WsServlet</servlet-class>
<init-param>
<param-name>maxIdleTime</param-name> <!-- Close Websocket after given number of seconds -->
<param-value>3600</param-value>
</init-param>
<init-param>
<param-name>maxTextMessageSize</param-name> <!-- Maximum allowed size of text messages -->
<param-value>131072</param-value>
</init-param>
<init-param>
<param-name>maxBinaryMessageSize</param-name> <!-- Maximum allowed size of binary messages -->
<param-value>131072</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>WebSocket</servlet-name>
<url-pattern>/ws/*</url-pattern>
</servlet-mapping>
<!-- REST Service (can be disabled by removing this entry) -->
<servlet>
<servlet-name>REST</servlet-name>
<servlet-class>org.basex.http.rest.RESTServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>REST</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<!-- Mapping for static resources (may be restricted to a sub path) -->
<servlet>
<servlet-name>default</servlet-name>
<init-param>
<param-name>useFileMappedBuffer</param-name>
<param-value>false</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/static/*</url-pattern>
</servlet-mapping>
</web-app>