mirror of
https://github.com/zyedidia/micro.git
synced 2025-06-18 14:55:38 -04:00
Replace toml with yaml
This commit is contained in:
parent
25f65a5f7b
commit
a26dd63d93
1
go.mod
1
go.mod
@ -1,7 +1,6 @@
|
||||
module github.com/zyedidia/micro/v2
|
||||
|
||||
require (
|
||||
github.com/BurntSushi/toml v0.3.1
|
||||
github.com/blang/semver v3.5.1+incompatible
|
||||
github.com/dustin/go-humanize v1.0.0
|
||||
github.com/go-errors/errors v1.0.1
|
||||
|
@ -3,38 +3,46 @@ package lsp
|
||||
import (
|
||||
"errors"
|
||||
"io"
|
||||
"log"
|
||||
"os/exec"
|
||||
"strings"
|
||||
|
||||
"github.com/BurntSushi/toml"
|
||||
"gopkg.in/yaml.v2"
|
||||
)
|
||||
|
||||
var ErrManualInstall = errors.New("Requires manual installation")
|
||||
|
||||
type Config struct {
|
||||
Languages map[string]Language `toml:"language"`
|
||||
Languages map[string]Language `yaml:"language"`
|
||||
}
|
||||
|
||||
type Language struct {
|
||||
Command string `toml:"command"`
|
||||
Args []string `toml:"args"`
|
||||
Install [][]string `toml:"install"`
|
||||
Command string `yaml:"command"`
|
||||
Args []string `yaml:"args"`
|
||||
Install [][]string `yaml:"install"`
|
||||
}
|
||||
|
||||
var conf *Config
|
||||
|
||||
func GetLanguage(lang string) (Language, bool) {
|
||||
l, ok := conf.Languages[lang]
|
||||
return l, ok
|
||||
if conf != nil {
|
||||
l, ok := conf.Languages[lang]
|
||||
return l, ok
|
||||
}
|
||||
return Language{}, false
|
||||
}
|
||||
|
||||
func init() {
|
||||
conf, _ = LoadConfig([]byte(servers))
|
||||
var err error
|
||||
conf, err = LoadConfig([]byte(servers))
|
||||
if err != nil {
|
||||
log.Println("[micro-lsp]", err)
|
||||
}
|
||||
}
|
||||
|
||||
func LoadConfig(data []byte) (*Config, error) {
|
||||
var conf Config
|
||||
if _, err := toml.Decode(string(data), &conf); err != nil {
|
||||
if err := yaml.Unmarshal(data, &conf); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
@ -1,88 +0,0 @@
|
||||
package lsp
|
||||
|
||||
var servers = `[language.rust]
|
||||
command = "rls"
|
||||
install = [
|
||||
["rustup", "update"],
|
||||
["rustup", "component", "add", "rls", "rust-analysis", "rust-src"],
|
||||
]
|
||||
|
||||
[language.javascript]
|
||||
command = "typescript-language-server"
|
||||
args = ["--stdio"]
|
||||
install = [["npm", "install", "-g", "typescript-language-server"]]
|
||||
|
||||
[language.typescript]
|
||||
command = "typescript-language-server"
|
||||
args = ["--stdio"]
|
||||
install = [["npm", "install", "-g", "typescript-language-server"]]
|
||||
|
||||
[language.html]
|
||||
command = "html-languageserver"
|
||||
args = ["--stdio"]
|
||||
install = [["npm", "install", "-g", "vscode-html-languageserver-bin"]]
|
||||
|
||||
[language.ocaml]
|
||||
command = "ocaml-language-server"
|
||||
args = ["--stdio"]
|
||||
install = [["npm", "install", "-g", "ocaml-language-server"]]
|
||||
|
||||
[language.python]
|
||||
command = "pyls"
|
||||
install = [["pip", "install", "python-language-server"]]
|
||||
|
||||
[language.c]
|
||||
command = "clangd"
|
||||
args = []
|
||||
|
||||
[language.cpp]
|
||||
command = "clangd"
|
||||
args = []
|
||||
|
||||
[language.haskell]
|
||||
command = "hie"
|
||||
args = ["--lsp"]
|
||||
|
||||
[language.go]
|
||||
command = "gopls"
|
||||
args = ["serve"]
|
||||
install = [["go", "get", "-u", "golang.org/x/tools/gopls"]]
|
||||
|
||||
[language.dart]
|
||||
command = "dart_language_server"
|
||||
install = [["pub", "global", "activate", "dart_language_server"]]
|
||||
|
||||
[language.ruby]
|
||||
command = "solargraph"
|
||||
args = ["stdio"]
|
||||
install = [["gem", "install", "solargraph"]]
|
||||
|
||||
[language.css]
|
||||
command = "css-languageserver"
|
||||
args = ["--stdio"]
|
||||
install = [["npm", "install", "-g", "vscode-css-languageserver-bin"]]
|
||||
|
||||
[language.scss]
|
||||
command = "css-languageserver"
|
||||
args = ["--stdio"]
|
||||
install = [["npm", "install", "-g", "vscode-css-languageserver-bin"]]
|
||||
|
||||
[language.viml]
|
||||
command = "vim-language-server"
|
||||
args = ["--stdio"]
|
||||
install = [["npm", "install", "-g", "vim-language-server"]]
|
||||
|
||||
[language.purescript]
|
||||
command = "purescript-language-server"
|
||||
args = ["--stdio"]
|
||||
install = [["npm", "install", "-g", "purescript-language-server"]]
|
||||
|
||||
[language.verilog]
|
||||
command = "svls"
|
||||
args = []
|
||||
install = [["cargo", "install", "svls"]]
|
||||
|
||||
[language.d]
|
||||
command = "serve-d"
|
||||
args = []
|
||||
`
|
67
internal/lsp/servers_yaml.go
Normal file
67
internal/lsp/servers_yaml.go
Normal file
@ -0,0 +1,67 @@
|
||||
package lsp
|
||||
|
||||
var servers = `language:
|
||||
rust:
|
||||
command: rls
|
||||
install: [["rustup", "update"], ["rustup", "component", "add", "rls", "rust-analysis", "rust-src"]]
|
||||
javascript:
|
||||
command: typescript-language-server
|
||||
args: ["--stdio"]
|
||||
install: [["npm", "install", "-g", "typescript-language-server"]]
|
||||
typescript:
|
||||
command: typescript-language-server
|
||||
args: ["--stdio"]
|
||||
install: [["npm", "install", "-g", "typescript-language-server"]]
|
||||
html:
|
||||
command: html-languageserver
|
||||
args: ["--stdio"]
|
||||
install: [["npm", "install", "-g", "vscode-html-languageserver-bin"]]
|
||||
ocaml:
|
||||
command: ocaml-language-server
|
||||
args: ["--stdio"]
|
||||
install: [["npm", "install", "-g", "ocaml-language-server"]]
|
||||
python:
|
||||
command: pyls
|
||||
install: [["pip", "install", "python-language-server"]]
|
||||
c:
|
||||
command: clangd
|
||||
args: []
|
||||
cpp:
|
||||
command: clangd
|
||||
args: []
|
||||
haskell:
|
||||
command: hie
|
||||
args: ["--lsp"]
|
||||
go:
|
||||
command: gopls
|
||||
args: ["serve"]
|
||||
install: [["go", "get", "-u", "golang.org/x/tools/gopls"]]
|
||||
dart:
|
||||
command: dart_language_server
|
||||
install: [["pub", "global", "activate", "dart_language_server"]]
|
||||
ruby:
|
||||
command: solargraph
|
||||
args: ["stdio"]
|
||||
install: [["gem", "install", "solargraph"]]
|
||||
css:
|
||||
command: css-languageserver
|
||||
args: ["--stdio"]
|
||||
install: [["npm", "install", "-g", "vscode-css-languageserver-bin"]]
|
||||
scss:
|
||||
command: css-languageserver
|
||||
args: ["--stdio"]
|
||||
install: [["npm", "install", "-g", "vscode-css-languageserver-bin"]]
|
||||
viml:
|
||||
command: vim-language-server
|
||||
args: ["--stdio"]
|
||||
install: [["npm", "install", "-g", "vim-language-server"]]
|
||||
purescript:
|
||||
command: purescript-language-server
|
||||
args: ["--stdio"]
|
||||
install: [["npm", "install", "-g", "purescript-language-server"]]
|
||||
verilog:
|
||||
command: svls
|
||||
install: [["cargo", "install", "svls"]]
|
||||
d:
|
||||
command: serve-d
|
||||
`
|
Loading…
Reference in New Issue
Block a user