Skip to content

Commit 53a2aa0

Browse files
committed
Consolidate comment, undo whitespace changes
1 parent f1f33d0 commit 53a2aa0

File tree

1 file changed

+9
-6
lines changed
  • plugins/hls-rename-plugin/src/Ide/Plugin

1 file changed

+9
-6
lines changed

plugins/hls-rename-plugin/src/Ide/Plugin/Rename.hs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ renameProvider state pluginId (RenameParams _prog (TextDocumentIdentifier uri) p
101101
[] -> throwError $ PluginInvalidParams "No symbol to rename at given position"
102102
_ -> do
103103
refs <- HS.fromList . concat <$> mapM (refsAtName state nfp) oldNames
104+
104105
-- Validate rename
105106
crossModuleEnabled <- liftIO $ runAction "rename: config" state $ usePropertyAction #crossModule pluginId properties
106107
unless crossModuleEnabled $ failWhenImportOrExport state nfp refs oldNames
@@ -196,10 +197,7 @@ refsAtName state nfp name = do
196197
dbRefs <- case nameModule_maybe name of
197198
Nothing -> pure []
198199
Just mod -> liftIO $ mapMaybe rowToLoc <$> withHieDb (\hieDb ->
199-
-- GHC inserts `Use`s of record constructor everywhere where its record selectors are used,
200-
-- which leads to fields being renamed whenever corresponding constructor is renamed.
201-
-- see https://github.com/haskell/haskell-language-server/issues/2915
202-
-- To work around this, we filter out compiler-generated references.
200+
-- See Note [Generated references]
203201
filter (\(refRow HieDb.:. _) -> refIsGenerated refRow) <$>
204202
findReferences
205203
hieDb
@@ -235,8 +233,13 @@ handleGetHieAst state nfp =
235233
-- which is bad (see https://github.com/haskell/haskell-language-server/issues/3799)
236234
fmap removeGenerated $ runActionE "Rename.GetHieAst" state $ useE GetHieAst nfp
237235

238-
-- | We don't want to rename in code generated by GHC as this gives false positives.
239-
-- So we restrict the HIE file to remove all the generated code.
236+
{- Note [Generated references]
237+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
238+
GHC inserts `Use`s of record constructor everywhere where its record selectors are used,
239+
which leads to record fields being renamed whenever corresponding constructor is renamed.
240+
see https://github.com/haskell/haskell-language-server/issues/2915
241+
To work around this, we filter out compiler-generated references.
242+
-}
240243
removeGenerated :: HieAstResult -> HieAstResult
241244
removeGenerated HAR{..} =
242245
HAR{hieAst = sourceOnlyAsts, refMap = sourceOnlyRefMap, ..}

0 commit comments

Comments
 (0)