Commit Graph

25 Commits

Author SHA1 Message Date
Alex Hoppen
aa424d9eb4 Make the BuildServerProtocol module build with strict concurrency enabled 2024-03-12 13:14:25 -07:00
Alex Hoppen
d0fc00ce98 Format using swift-format
Add `.swift-format` to the repo and format the repo with `swift-format`.

This commit does not add any automation to enforce formatting of sourcekit-lsp in CI. The goal of this commit is to get the majority of source changes out of the way so that the diff of actually enforcing formatting will have fewer changes or conflicts.
2023-10-10 13:44:47 -07:00
Saleem Abdulrasool
fca0cd3913 build: build SourceKit-LSP with static linking
This adjusts the sourcekit-lsp build to use static linking for the
internal libraries.  It is not currently possible to build
SourceKitLSP.dll as that requires re-exporting the interfaces from the
consumed modules.  However, this allows us to reduce the overall size of
the distribution of SourceKit-LSP by ~1 MiB and reduces the
distributed file set.  The values here assume partial static linking of
swift-package-manager, which helps reduce the total size.

Before:

   228,352 BuildServerProtocol.dll
 1,773,056 LanguageServerProtocol.dll
   114,688 LanguageServerProtocolJSONRPC.dll
    49,152 LSPLogging.dll
   262,656 SKCore.dll
    54,784 SKSupport.dll
    80,896 SKSwiftPMWorkspace.dll
   150,528 SourceKitD.dll
   645,632 SourceKitLSP.dll

    70,144 sourcekit-lsp.exe

 3,429,888 bytes

After:

 2,416,640 sourcekit-lsp.exe

 2,416,640 bytes
2022-03-02 08:43:06 -08:00
Saleem Abdulrasool
54d5324613 build: add CMake build system 2019-12-04 16:47:34 -08:00
Ben Langmuir
ab4a25d581 [BSP] Use URI instead of URL
Similar to LSP, BSP also uses URI. We were handling this correctly
everywhere except one test that was using a string with no scheme.
2019-11-20 09:41:48 -08:00
Alex Hoppen
5c839f8640 Add support for non-URL URIs
According to the LSP specification, arbitrary URIs can be used as
document identifiers. Instead of internally assuming that all URIs are
URLs, use a DocumentURI enum to represent URIs. These can either be file
URLs or other URIs whose value as treated as an opaque string.
2019-11-20 09:41:48 -08:00
Richard Howell
130d81c96f make event kind optional 2019-10-21 11:24:07 -07:00
Richard Howell
4c59633e2d add test case 2019-10-21 10:39:22 -07:00
Richard Howell
1d7858e023 call delegate on build targets change 2019-10-21 10:39:22 -07:00
Richard Howell
ec9681023e add BuildTargetChangedNotification 2019-10-21 10:39:22 -07:00
Richard Howell
0f6f260701 add interface for fetching output paths 2019-10-04 14:51:26 -07:00
Richard Howell
ca63a2e69d add request for build target output paths 2019-10-04 14:50:48 -07:00
Richard Howell
1158e1178a add target sources request 2019-10-04 14:49:52 -07:00
Richard Howell
c04e760ed9 use Language and structs for tags 2019-09-30 16:21:26 -07:00
Richard Howell
81c50db7e1 add the workspace/buildTargets request 2019-09-25 14:16:30 -07:00
Richard Howell
2e861f72d7 add buildTargets request and model 2019-09-25 14:10:24 -07:00
Richard Howell
d9b57b57bb use SourceKitOptionsResult for options update 2019-09-24 15:35:40 -07:00
Richard Howell
6313416977 add requests for file watching in the bsp 2019-09-13 15:07:08 -07:00
Richard Howell
1b254949f1 add file options request 2019-09-10 10:40:14 -07:00
Richard Howell
7b842235be add build server lifecycle notifications 2019-08-29 10:04:18 -07:00
Richard Howell
0c44eeb4a6 use LSPAny for data payload 2019-08-28 19:44:48 -07:00
Richard Howell
58a42b08b3 use Language instead of String 2019-08-28 19:43:10 -07:00
Richard Howell
fb9feeb8aa use VoidResponse type 2019-08-28 15:17:18 -07:00
Richard Howell
89f62f8229 add copyright headers 2019-08-28 15:15:59 -07:00
Richard Howell
366f7d930d Add initial BuildServerBuildSystem based on BSP 2019-08-27 15:47:40 -07:00