lsp workspace stuff (#1677)

* some lsp shit

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* more stuffs

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* on open send close and open events

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* update the path

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* send on close

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* on close project

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* update on close

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* initpromise

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* add to wasm.ts

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* Update src/lang/wasm.ts

Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>

* restart lsps on failure

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* add panic hook

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updartes

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
This commit is contained in:
Jess Frazelle
2024-03-11 17:50:31 -07:00
committed by GitHub
parent cd158f8db0
commit db5657a298
17 changed files with 436 additions and 137 deletions

View File

@ -1,11 +1,7 @@
import init, {
copilot_lsp_run,
InitOutput,
kcl_lsp_run,
ServerConfig,
} from 'wasm-lib/pkg/wasm_lib'
import { InitOutput, ServerConfig } from 'wasm-lib/pkg/wasm_lib'
import { FromServer, IntoServer } from './codec'
import { fileSystemManager } from 'lang/std/fileSystemManager'
import { copilotLspRun, initPromise, kclLspRun } from 'lang/wasm'
export default class Server {
readonly initOutput: InitOutput
@ -26,7 +22,7 @@ export default class Server {
intoServer: IntoServer,
fromServer: FromServer
): Promise<Server> {
const initOutput = await init()
const initOutput = await initPromise
const server = new Server(initOutput, intoServer, fromServer)
return server
}
@ -38,12 +34,12 @@ export default class Server {
fileSystemManager
)
if (type_ === 'copilot') {
if (!token) {
if (!token || token === '') {
throw new Error('auth token is required for copilot')
}
await copilot_lsp_run(config, token)
await copilotLspRun(config, token)
} else if (type_ === 'kcl') {
await kcl_lsp_run(config)
await kclLspRun(config)
}
}
}