The current state of Swift for Server and Linux

While the concept of Sourcekit-LSP is great, in practice, I think there is room to criticise the way it has been maintained. I've seen quite a few PRs from community members that would really improve the experience with VSCode, but they seem to go unreviewed until the authors give up hope and abandons them.

Some examples:

VSCode task providers: Add vscode extension task provider by satishbabariya · Pull Request #159 · apple/sourcekit-lsp · GitHub

This would give you easy access to common commands like building a project or running tests. Currently, you need to run the command line manually in the built-in terminal or manually configure a bunch of tasks (basically, a JSON file with the command lines) for each and every project. I mean, come on... that's a pretty awful experience. There is no way Apple would accept that kind of developer experience on their platform.

It's disheartening that somebody took the time to work on it, and their work was just left to rot. I think we should be ashamed and embarrassed at how that was handled. I mean, look at this:

Anybody who has tried to use Swift with VSCode knows what an enormous improvement this would have been.

Another one, document formatting: implement DocumentFormattingRequest by Trzyipolkostkicukru · Pull Request #361 · apple/sourcekit-lsp · GitHub

The original PR is from January 2020. The author even said at that time "I am used to waiting weeks and months" :frowning_face: They took the time to rebase it, but even that new PR has been sitting around since January (it is now May), and nobody has taken the time to review it.

Perhaps SourceKit-LSP needs a new maintainer, because the current situation really should not be considered acceptable. Lots of great engineers are doing fantastic work to take Swift forward, but this project is just not pulling its weight. And it's not because the community aren't interested in improving it.

28 Likes