On 16 May 2020, at 03:31, Allan Odgaard mailinglist@textmate.org wrote: From Apple: “The system detects how an app was built by looking at the “SDK” entry in the app’s Mach-O header. When you relink your app against the latest SDK, you might notice different behaviors, some of which might cause incompatibilities.”.
Ha! Sneaky.
I tried to find a working LSP implementation that would provide “intelligence” for some of my projects, and the results were somewhat disappointing.
Hmm, that’s unfortunate. It depends on which language those projects are written in, but for TextMate which is implemented in C++ and Objective-C++ there’s clangd [1]. I have not used it myself though so I don’t know how good it is. There’s also SourceKit-LSP [2], which is an LSP server for Swift and C-based languages. It uses clangd under the hood for the C-based languages. I don’t know if it’s any better than plain clangd.
For testing the client you could try the LSP server that Visual Studio Code uses for C# or TypeScript. I would expect those to be top notch, since they’re heavily prompted by Microsoft.
langserver.org http://langserver.org/ has a list of LSP server implementations as well [3].
But too early to give any ETA, as I currently add items to my to-do faster than I can check them off (as mentioned, this isn’t just about LSP, there are lots of other things that needs to be improved in TextMate, and most of it really requires major overhauls).
Yeah, I can imagine.
Not sure if you want/need it but there’s a Swift library, SwiftLSPClient [4], for communicating with LSP servers. It’s used by the Chime text editor [5], a Go editor for macOS.
Perhaps it’s too soon to start discussing, but clangd supports some useful extensions to the LSP protocol [6]. I’m mostly thinking of the UTF-8 offsets. Code completion scores would be nice to have as well.
[1] https://clangd.llvm.org https://clangd.llvm.org/ [2] https://github.com/apple/sourcekit-lsp https://github.com/apple/sourcekit-lsp [3] https://langserver.org/#implementations-server [4] https://github.com/ChimeHQ/SwiftLSPClient https://github.com/ChimeHQ/SwiftLSPClient [5] https://www.chimehq.com https://www.chimehq.com/ [6] https://clangd.llvm.org/extensions.html