mirror of
https://github.com/apple/sourcekit-lsp.git
synced 2026-03-02 18:23:24 +01:00
4.4 KiB
4.4 KiB
Configuration File
.sourcekit-lsp/config.json configuration files can be used to modify the behavior of SourceKit-LSP in various ways. The following locations are checked. Settings in later configuration files override settings in earlier configuration files
~/.sourcekit-lsp/config.json- On macOS:
~/Library/Application Support/org.swift.sourcekit-lsp/config.jsonfrom the variousLibraryfolders on the system - If the
XDG_CONFIG_HOMEenvironment variable is set:$XDG_CONFIG_HOME/sourcekit-lsp/config.json - Initialization options passed in the initialize request
- A
.sourcekit-lsp/config.jsonfile in a workspace’s root
The structure of the file is currently not guaranteed to be stable. Options may be removed or renamed.
Structure
config.json is a JSON file with the following structure. All keys are optional and unknown keys are ignored.
swiftPM: Dictionary with the following keys, defining options for SwiftPM workspacesconfiguration: "debug"|"release": The configuration to build the project for during background indexing and the configuration whose build folder should be used for Swift modules if background indexing is disabled. Equivalent to SwiftPM's--configurationoption.scratchPath: string: Build artifacts directory path. If nil, the build system may choose a default value. Equivalent to SwiftPM's--scratch-pathoption.swiftSDKsDirectory: string: Equivalent to SwiftPM's--swift-sdks-pathoptionswiftSDK: string: Equivalent to SwiftPM's--swift-sdkoptiontriple: string: Equivalent to SwiftPM's--tripleoptioncCompilerFlags: string[]: Extra arguments passed to the compiler for C files. Equivalent to SwiftPM's-Xccoption.cxxCompilerFlags: string[]: Extra arguments passed to the compiler for C++ files. Equivalent to SwiftPM's-Xcxxoption.swiftCompilerFlags: string[]: Extra arguments passed to the compiler for Swift files. Equivalent to SwiftPM's-Xswiftcoption.linkerFlags: string[]: Extra arguments passed to the linker. Equivalent to SwiftPM's-Xlinkeroption.
compilationDatabase: Dictionary with the following keys, defining options for workspaces with a compilation databasesearchPaths: string[]: Additional paths to search for a compilation database, relative to a workspace root.
fallbackBuildSystem: Dictionary with the following keys, defining options for files that aren't managed by any build systemcCompilerFlags: string[]: Extra arguments passed to the compiler for C filescxxCompilerFlags: string[]: Extra arguments passed to the compiler for C++ filesswiftCompilerFlags: string[]: Extra arguments passed to the compiler for Swift files
clangdOptions: string[]: Extra command line arguments passed toclangdwhen launching itindex: Dictionary with the following keys, defining options related to indexingindexStorePath: string: Directory in which a separate compilation stores the index store. By default, inferred from the build system.indexDatabasePath: string: Directory in which the indexstore-db should be stored. By default, inferred from the build system.indexPrefixMap: [string: string]: Path remappings for remapping index data for local use.maxCoresPercentageToUseForBackgroundIndexing: double: A hint indicating how many cores background indexing should use at most (value between 0 and 1). Background indexing is not required to honor this settingupdateIndexStoreTimeout: int: Number of seconds to wait for an update index store task to finish before killing it.
defaultWorkspaceType: "buildserver"|"compdb"|"swiftpm": Overrides workspace type selection logic.generatedFilesPath: string: Directory in which generated interfaces and macro expansions should be stored.backgroundIndexing: bool: Explicitly enable or disable background indexing.backgroundPreparationMode: "build"|"noLazy"|"enabled": Determines how background indexing should prepare a target. Possible values are:build: Build a target to prepare it,noLazy: Prepare a target without generating object files but do not do lazy type checking and function body skipping,enabled: Prepare a target without generating object files and the likeexperimentalFeatures: string[]: Experimental features to enableswiftPublishDiagnosticsDebounce: The time thatSwiftLanguageServiceshould wait after an edit before starting to compute diagnostics and sending aPublishDiagnosticsNotification.