Skip to content

Commit 57731a7

Browse files
committed
Add RenameOptions
1 parent 521dedf commit 57731a7

File tree

2 files changed

+29
-3
lines changed

2 files changed

+29
-3
lines changed

haskell-lsp-types/src/Language/Haskell/LSP/Types/DataTypesJSON.hs

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,31 @@ data DocumentLinkOptions =
307307

308308
deriveJSON lspOptions ''DocumentLinkOptions
309309

310+
-- ---------------------------------------------------------------------
311+
{-
312+
New in 3.12
313+
----------
314+
315+
/**
316+
* Rename options
317+
*/
318+
export interface RenameOptions {
319+
/**
320+
* Renames should be checked and tested before being executed.
321+
*/
322+
prepareProvider?: boolean;
323+
}
324+
-}
325+
326+
data RenameOptions =
327+
RenameOptionsStatic Bool
328+
| RenameOptions
329+
{ -- |Renames should be checked and tested before being executed.
330+
_prepareProvider :: Maybe Bool
331+
} deriving (Show, Read, Eq)
332+
333+
deriveJSON lspOptions { sumEncoding = A.UntaggedValue } ''RenameOptions
334+
310335
-- ---------------------------------------------------------------------
311336

312337
{-
@@ -672,7 +697,7 @@ data InitializeResponseCapabilitiesInner =
672697
-- | The server provides document formatting on typing.
673698
, _documentOnTypeFormattingProvider :: Maybe DocumentOnTypeFormattingOptions
674699
-- | The server provides rename support.
675-
, _renameProvider :: Maybe Bool
700+
, _renameProvider :: Maybe RenameOptions
676701
-- | The server provides document link support.
677702
, _documentLinkProvider :: Maybe DocumentLinkOptions
678703
-- | The server provides color provider support. Since LSP 3.6

src/Language/Haskell/LSP/Core.hs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ data Options =
107107
, implementationProvider :: Maybe J.GotoOptions
108108
, codeLensProvider :: Maybe J.CodeLensOptions
109109
, documentOnTypeFormattingProvider :: Maybe J.DocumentOnTypeFormattingOptions
110+
, renameProvider :: Maybe J.RenameOptions
110111
, documentLinkProvider :: Maybe J.DocumentLinkOptions
111112
, colorProvider :: Maybe J.ColorOptions
112113
, foldingRangeProvider :: Maybe J.FoldingRangeOptions
@@ -116,7 +117,7 @@ data Options =
116117
instance Default Options where
117118
def = Options Nothing Nothing Nothing Nothing Nothing
118119
Nothing Nothing Nothing Nothing Nothing
119-
Nothing
120+
Nothing Nothing
120121

121122
-- | A function to publish diagnostics. It aggregates all diagnostics pertaining
122123
-- to a particular version of a document, by source, and sends a
@@ -851,7 +852,7 @@ initializeRequestHandler' onStartup mHandler tvarCtx req@(J.RequestMessage _ ori
851852
, J._documentFormattingProvider = supported (documentFormattingHandler h)
852853
, J._documentRangeFormattingProvider = supported (documentRangeFormattingHandler h)
853854
, J._documentOnTypeFormattingProvider = documentOnTypeFormattingProvider o
854-
, J._renameProvider = supported (renameHandler h)
855+
, J._renameProvider = renameProvider o
855856
, J._documentLinkProvider = documentLinkProvider o
856857
, J._colorProvider = colorProvider o
857858
, J._foldingRangeProvider = foldingRangeProvider o

0 commit comments

Comments
 (0)