0.48.1
what's new
code help
- minor fixes to completion suggestions: error codes are now displayed, and avoid spurious suggestions when typing
>
in some cases - show suggestions and signature help for
this
andbase
accesses and constructor invocations - show suggestions for
class
symbols
VLS now supports document- and project-wide symbol renaming
VLS now supports the textDocument/rename
and textDocument/prepareRename
portions of the language server protocol, making it easier to refactor your code.
greatly improved rendering of documentation, support for ValaDoc and GTK-Doc comments
VLS now runs an internal parser on comments written in ValaDoc and GTK-Doc format. As a result, documentation looks much cleaner and more beautiful. Lists, tables, links, code snippets, parameters, and images are now properly rendered. VLS even goes the extra mile by converting C symbol names to their equivalent in Vala, wherever they appear in documentation. For example, g_timeout_add_full()
becomes GLib.Timeout.add()
, GVariantIter
becomes GLib.VariantIter
, etc.
In addition, some fixes to symbol lookup have been made, allowing you to see documentation for more symbols on hover.
vala-language-server(1)
man page
VLS now has a man page. Thanks to @Cogitri (Rasmus Thomsen), you can now do man vala-language-server
to get information about VLS. We plan on expanding this manual as VLS becomes more configurable.
fixes
- show more symbol modifiers/improve rendering on properties, fields, methods, and setters (1307a92)
- gracefully handle duplicate invalid constructors (#135)
- mesonproject: handle new behavior in Meson 0.55 (#139, #149, 485fcf6)
- fix
null
generic type arguments when hovering over named constructors (83536db) - improve signature help with anonymous function calls and delegates (e0412a3)
- the GNOME Builder plugin is configured automatically to the version of GNOME Builder preinstalled; otherwise, version 3.38 is assumed
- project: don't ignore the last build target in a project when looking for dependents of a build target (#124)
packaging
We are in the process of transitioning to Open Build Service to package VLS for rpm- and deb- based distributions. Currently, you can install VLS 0.48.1 through our OBS repository for Debian Testing and Unstable, Fedora 33 and Rawhide, and Ubuntu 20.10. Fedora 32 and Ubuntu 20.04 currently only have VLS 0.48.0 due to a dependency on libvala 0.48.7. You can also get VLS for other distros in these ways:
-
Guix:
guix install vala-language-server
(thanks to @ryanprior) -
Arch Linux (via AUR):
yay -S vala-language-server
oryay -S vala-language-server-git
-
Alpine Linux Edge:
apk add vala-language-server
(thanks to @Cogitri) -
Ubuntu 18.04 and elementaryOS
In order to install VLS, you need Vala 0.48 or later, which is only available
by default on Ubuntu 20.04. You can get an up-to-date version of Vala
from the Vala Team's Vala-Next repository. First you need to remove older
Vala components:sudo apt-add-repository ppa:vala-team/next # If you have 0.40 and 0.48, there may be random issues popping out sudo apt-get remove valac-0.40-vapi "libvala.*-0.40-0" sudo apt-get install valac-0.48 valac-bin
Now you can install the Vala Language Server:
sudo add-apt-repository ppa:prince781/vala-language-server sudo apt-get update sudo apt-get install vala-language-server
contributors
Princeton Ferro (@Prince781), Rasmus Thomsen (@Cogitri), Ryan Prior (@ryanprior), Florian Märkl (@thestr4ng3r), @soiamsoNG, Alex Cleac (@cleac)