mirror of
https://github.com/laosb/SvelteNova.git
synced 2025-04-30 20:51:10 +00:00
v0.1.4
This commit is contained in:
parent
694049180f
commit
f55a5ca26a
7 changed files with 32 additions and 7 deletions
|
@ -1,3 +1,7 @@
|
||||||
|
# v0.1.4
|
||||||
|
|
||||||
|
- `chmod +x` before try starting server.
|
||||||
|
|
||||||
# v0.1.3
|
# v0.1.3
|
||||||
|
|
||||||
- Remove some unused code.
|
- Remove some unused code.
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"name": "Svelte",
|
"name": "Svelte",
|
||||||
"organization": "Shibo Lyu",
|
"organization": "Shibo Lyu",
|
||||||
"description": "LSP support for Svelte.",
|
"description": "LSP support for Svelte.",
|
||||||
"version": "0.1.3",
|
"version": "0.1.4",
|
||||||
"categories": ["languages"],
|
"categories": ["languages"],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bugs": "https://github.com/laosb/SvelteNova/issues",
|
"bugs": "https://github.com/laosb/SvelteNova/issues",
|
||||||
|
|
4
SvelteNova.novaextension/npm-shrinkwrap.json
generated
4
SvelteNova.novaextension/npm-shrinkwrap.json
generated
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "sveltenova.novaextension",
|
"name": "sveltenova.novaextension",
|
||||||
"version": "0.1.3",
|
"version": "0.1.4",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "sveltenova.novaextension",
|
"name": "sveltenova.novaextension",
|
||||||
"version": "0.1.3",
|
"version": "0.1.4",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"svelte-language-server": "^0.10.147"
|
"svelte-language-server": "^0.10.147"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "sveltenova.novaextension",
|
"name": "sveltenova.novaextension",
|
||||||
"version": "0.1.3",
|
"version": "0.1.4",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"svelte-language-server": "^0.10.147"
|
"svelte-language-server": "^0.10.147"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "svelte-nova",
|
"name": "svelte-nova",
|
||||||
"version": "0.1.3",
|
"version": "0.1.4",
|
||||||
"main": "SvelteNova.novaextension/main.js",
|
"main": "SvelteNova.novaextension/main.js",
|
||||||
"repository": "https://github.com/laosb/SvelteNova",
|
"repository": "https://github.com/laosb/SvelteNova",
|
||||||
"author": "laosb <laosb@lasteam.net>",
|
"author": "laosb <laosb@lasteam.net>",
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import { dependencyManagement } from 'nova-extension-utils'
|
import { dependencyManagement } from 'nova-extension-utils'
|
||||||
|
import { makeFileExecutable } from './utils'
|
||||||
|
|
||||||
var langServer: SvelteLanguageServer | null = null
|
var langServer: SvelteLanguageServer | null = null
|
||||||
|
|
||||||
|
@ -46,7 +47,7 @@ class SvelteLanguageServer {
|
||||||
this.stop()
|
this.stop()
|
||||||
}
|
}
|
||||||
|
|
||||||
start(path: string) {
|
async start(path: string) {
|
||||||
if (this.languageClient) {
|
if (this.languageClient) {
|
||||||
this.languageClient.stop()
|
this.languageClient.stop()
|
||||||
nova.subscriptions.remove(this.languageClient)
|
nova.subscriptions.remove(this.languageClient)
|
||||||
|
@ -63,13 +64,17 @@ class SvelteLanguageServer {
|
||||||
console.log('using server at', path)
|
console.log('using server at', path)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let runShPath = nova.path.join(nova.extension.path, 'run.sh')
|
||||||
|
|
||||||
|
await makeFileExecutable(runShPath)
|
||||||
|
|
||||||
// Create the client
|
// Create the client
|
||||||
var client = new DisposableLanguageClient(
|
var client = new DisposableLanguageClient(
|
||||||
'svelte-langserver',
|
'svelte-langserver',
|
||||||
'Svelte Language Server',
|
'Svelte Language Server',
|
||||||
{
|
{
|
||||||
type: 'stdio',
|
type: 'stdio',
|
||||||
path: nova.path.join(nova.extension.path, 'run.sh'),
|
path: runShPath,
|
||||||
env: {
|
env: {
|
||||||
SVELTE_SERVER: path,
|
SVELTE_SERVER: path,
|
||||||
WORKDIR: nova.workspace.path || '.',
|
WORKDIR: nova.workspace.path || '.',
|
||||||
|
|
16
src/utils.ts
Normal file
16
src/utils.ts
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
// https://github.com/apexskier/nova-json-language-server/blob/a64f704bee06071ad6fd82062a3656669d62b0a8/src/main.ts#L18-L32
|
||||||
|
export async function makeFileExecutable(file: string) {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
const process = new Process('/usr/bin/env', {
|
||||||
|
args: ['chmod', 'u+x', file],
|
||||||
|
})
|
||||||
|
process.onDidExit((status) => {
|
||||||
|
if (status === 0) {
|
||||||
|
resolve()
|
||||||
|
} else {
|
||||||
|
reject(status)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
process.start()
|
||||||
|
})
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue