Skip to content

Commit e8fed44

Browse files
committed
enable to execute fixAllFixableProblems on monaco_editor example
1 parent 55075ea commit e8fed44

File tree

4 files changed

+45
-8
lines changed

4 files changed

+45
-8
lines changed

docker-compose.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ services:
55
context: .
66
dockerfile: dockerfile
77
volumes:
8-
- .:/opt/sql-language-server/rw
9-
command: 'yarn run dev'
8+
- .:/opt/sql-language-server:rw
9+
command: 'yarn dev' # 'tail -f /dev/null'
1010
ports:
1111
- '3000:3000'
1212
postgres:

dockerfile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
FROM node:12
22

3-
COPY . /opt/sql-language-server
3+
COPY ./example /opt/sql-language-server/example
4+
COPY ./package.json yarn.lock /opt/sql-language-server/
5+
COPY ./packages/server/package.json /opt/sql-language-server/packages/server/
6+
COPY ./packages/sql-parser/package.json /opt/sql-language-server/packages/sql-parser/
7+
COPY ./packages/sqlint/package.json /opt/sql-language-server/packages/sqlint/
48
WORKDIR /opt/sql-language-server
59
RUN yarn
Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,31 @@
11
<script>
2-
export let name;
3-
// require('./main')
2+
import { executeFixAllFixableProblemsCommand } from './client'
3+
4+
const commands = [
5+
{ id: 'fixAllFixableProblems', text: 'fixAllFixableProblems' },
6+
{ id: 'switchDatabaseConnection', text: 'switchDatabaseConnection' },
7+
]
8+
9+
let command = commands[0]
10+
11+
function handleSubmitCommand() {
12+
if (command.id === 'fixAllFixableProblems') {
13+
executeFixAllFixableProblemsCommand()
14+
}
15+
}
416
</script>
517

618
<h1>Monaco Language Client SQLLanguageServer Sample</h1>
7-
<div id="container" style="width:800px;height:600px;border:1px solid grey"></div>
819

9-
<span>Hell {name}</span>
20+
<form on:submit|preventDefault={handleSubmitCommand}>
21+
<select bind:value={command}>
22+
{#each commands as command}
23+
<option value={command}>
24+
{command.text}
25+
</option>
26+
{/each}
27+
</select>
28+
<button type=submit>Submit</button>
29+
</form>
30+
31+
<div id="container" style="width:800px;height:600px;border:1px solid grey"></div>

example/monaco_editor/src/client/client.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {
55
MonacoLanguageClient,
66
MonacoServices,
77
createConnection,
8+
ExecuteCommandParams,
89
} from "monaco-languageclient";
910
import ReconnectingWebSocket from "reconnecting-websocket";
1011

@@ -36,7 +37,9 @@ export function initClient() {
3637
listen({
3738
webSocket,
3839
onConnection: (connection) => {
39-
const languageClient = createLanguageClient(connection);
40+
languageClient = createLanguageClient(connection);
41+
console.log('--- languageClient ---')
42+
console.log(languageClient)
4043
const disposable = languageClient.start();
4144
connection.onClose(() => disposable.dispose());
4245
},
@@ -76,3 +79,11 @@ export function initClient() {
7679
export function getLanguageClient() {
7780
return languageClient;
7881
}
82+
83+
export function executeFixAllFixableProblemsCommand() {
84+
const params: ExecuteCommandParams = {
85+
command: 'fixAllFixableProblems',
86+
arguments: ['inmemory://model.sql']
87+
}
88+
languageClient.sendRequest('workspace/executeCommand', params)
89+
}

0 commit comments

Comments
 (0)