A reimplementation of my Meson language server in Swift.
Sources/MesonDocs
directory due to ShareAlike)
set_variable
/get_variable
with non-constant variable name will fail in more complex cases. See here for working patternssubdir
with non-constant subdir name will fail in more complex cases. See here for working patternsThe first version, written in Vala, had some code maintenance problems because basically everything was done in one file. I had the choice between untangling that mess or rewriting it as cleanly as possible. I have chosen the latter because I wanted to learn Swift.
git clone https://github.com/JCWasmx86/Swift-MesonLSP
cd Swift-MesonLSP
swift build -c release --static-swift-stdlib
sudo cp .build/release/Swift-MesonLSP /usr/local/bin
Or you can use podman (Maybe even docker, but only podman is tested):
DOCKER_BUILDKIT=1 podman build --file docker/Dockerfile --output out --no-cache .
# If you want to use Ubuntu 22.04 as docker image
DOCKER_BUILDKIT=1 podman build --file docker/Dockerfile.ubuntu --output out --no-cache .
# If you want to use Ubuntu 18.04 as docker image
DOCKER_BUILDKIT=1 podman build --file docker/Dockerfile.ubuntu1804 --output out --no-cache .
# If you want to use Ubuntu 20.04 as docker image
DOCKER_BUILDKIT=1 podman build --file docker/Dockerfile.ubuntu2004 --output out --no-cache .
This will place a file "Fedora37.zip" (Or Ubuntu22.04.zip) in the directory out
. It contains
two statically linked binaries. Copy Swift-MesonLSP
to /usr/local/bin
.
A debug build is provided, too. Just rename it from Swift-MesonLSP.debug
to Swift-MesonLSP
and copy it to the right destination.
Install this fork of vscode-meson: https://github.com/JCWasmx86/vscode-meson
You have to do nothing. The editor already has the support code for Swift-MesonLSP. All you have to do is installing the language server.
Add this JSON to ~/.config/kate/lspclient/settings.json
:
{
"servers": {
"meson": {
"command": [
"Swift-MesonLSP",
"--lsp"
],
"rootIndicationFileNames": [
"meson.build",
"meson_options.txt"
],
"url": "https://github.com/JCWasmx86/Swift-MesonLSP",
"highlightingModeRegex": "^Meson$"
}
}
}
After that, a dialog should be shown asking you to confirm that the language server may be started.
Add this JSON to :CocConfig
:
{
"languageserver": {
"meson": {
"command": "Swift-MesonLSP",
"args": ["--lsp"],
"rootPatterns": ["meson.build"],
"filetypes": ["meson"]
}
}
}
Take an item from the TODO list in PROGRESS.md and work on it. Feel free to join the matrix channel #mesonlsp:matrix.org
link |
Stars: 13 |
Last commit: 6 hours ago |
Attempts to fix build on Arch Linux and Fedora 39
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics