Using SourceKit-LSP to visualize SourceKit-LSP 😁

Ben Langmuir and Alex Hoppen had shown tremendous patience multiple times in helping me get a SourceKit-LSP client off the ground. Back then, I promised to be back with visualizations of SourceKit-LSP.

I know the forum also has a dedicated place for showcases, and I won't stretch the SK-LSP category too much, so here we go ...

Edit: elements over which the mouse hovers have blue borders and blue ingoing and outgoing dependencies, but the mouse pointer is invisible in the screenshots :see_no_evil:

  1. High-level overview with many dependencies:

  1. Typing search term "Symbol" narrows it down:

  1. Hitting enter zooms in on the search filter result:

Of course, I'm happy to hear feedback and answer all questions. More about the app is at


Looks fascinating! Though I'm hesitant to try since the LSPService seems so invasive and isn't signed. Is it just a service daemon?

1 Like

Oh that's a very good point! I'm making a note to sign the thing if possible. It's a command line tool that hosts a local Vapor webservice.

Here are 21 images of SourceKit-LSP from the latest Codeface version :blush:

Btw, I made the app's infrastructure open-source:

  • LSPService for providing local LSP servers via WebSocket
  • LSPServiceKit for talking to LSPService from a client
  • SwiftLSP for working with the LSP
  • And now: SwiftNodes for storing stuff in graphs and applying graph algorithms

... Right now, only LSPService is well documented ...