@@ -192,7 +192,7 @@ instance ToJSON Config where
192192 , " formattingProvider" .= formattingProvider
193193 , " cabalFormattingProvider" .= cabalFormattingProvider
194194 , " maxCompletions" .= maxCompletions
195- , " sessionLoading " .= sessionLoading
195+ , " componentsLoading " .= sessionLoading
196196 , " linkSourceTo" .= linkSourceTo
197197 , " linkDocTo" .= linkDocTo
198198 , " plugin" .= Map. mapKeysMonotonic (\ (PluginId p) -> p) plugins
@@ -240,22 +240,30 @@ data SessionLoadingPreferenceConfig
240240 --
241241 -- The cradle can decide how to handle these situations, and whether
242242 -- to honour the preference at all.
243+ | PreferMultiWholeProjectLoading
244+ -- ^ Prefer loading all the components specified in the cradle, if possible.
243245 deriving stock (Eq , Ord , Show , Generic )
244246
245247instance Pretty SessionLoadingPreferenceConfig where
246- pretty PreferSingleComponentLoading = " Prefer Single Component Loading"
247- pretty PreferMultiComponentLoading = " Prefer Multiple Components Loading"
248+ pretty PreferSingleComponentLoading = " Prefer Single Component Loading"
249+ pretty PreferMultiComponentLoading = " Prefer Multiple Components Loading"
250+ pretty PreferMultiWholeProjectLoading = " Prefer Whole Project Loading"
248251
249252instance ToJSON SessionLoadingPreferenceConfig where
250253 toJSON PreferSingleComponentLoading =
251- String " singleComponent "
254+ String " single "
252255 toJSON PreferMultiComponentLoading =
253- String " multipleComponents"
256+ String " multi: needed-only"
257+ toJSON PreferMultiWholeProjectLoading =
258+ String " multi: whole-project"
254259
255260instance FromJSON SessionLoadingPreferenceConfig where
256261 parseJSON (String val) = case val of
257262 " singleComponent" -> pure PreferSingleComponentLoading
263+ " single" -> pure PreferSingleComponentLoading
258264 " multipleComponents" -> pure PreferMultiComponentLoading
265+ " multi: needed-only" -> pure PreferMultiComponentLoading
266+ " multi: whole-project" -> pure PreferMultiWholeProjectLoading
259267 _ -> A. prependFailure " parsing SessionLoadingPreferenceConfig failed, "
260268 (A. parseFail $ " Expected one of \" singleComponent\" or \" multipleComponents\" but got " <> T. unpack val )
261269 parseJSON o = A. prependFailure " parsing SessionLoadingPreferenceConfig failed, "
0 commit comments