Skip to content

Commit 5a08df6

Browse files
committed
Use plain comments instead of annotations for HLint ignores
1 parent ae5f6a7 commit 5a08df6

File tree

8 files changed

+14
-40
lines changed

8 files changed

+14
-40
lines changed

plugins/hls-hlint-plugin/src/Ide/Plugin/Hlint.hs

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,9 @@ import System.Environment (setEnv,
6464
#endif
6565

6666
import Development.IDE.GHC.Compat (DynFlags,
67-
WarningFlag (Opt_WarnUnrecognisedPragmas),
6867
extensionFlags,
6968
ms_hspp_opts,
70-
topDir,
71-
wopt)
69+
topDir)
7270
import qualified Development.IDE.GHC.Compat.Util as EnumSet
7371

7472
#if MIN_GHC_API_VERSION(9,4,0)
@@ -466,19 +464,10 @@ mkSuppressHintTextEdits dynFlags fileContents hint =
466464
NextPragmaInfo{ nextPragmaLine, lineSplitTextEdits } = getNextPragmaInfo dynFlags (Just fileContents)
467465
nextPragmaLinePosition = Position (fromIntegral nextPragmaLine) 0
468466
nextPragmaRange = Range nextPragmaLinePosition nextPragmaLinePosition
469-
wnoUnrecognisedPragmasText =
470-
if wopt Opt_WarnUnrecognisedPragmas dynFlags
471-
then Just "{-# OPTIONS_GHC -Wno-unrecognised-pragmas #-}\n"
472-
else Nothing
473-
hlintIgnoreText = Just ("{-# HLINT ignore \"" <> hint <> "\" #-}\n")
474-
-- we combine the texts into a single text because lsp-test currently
475-
-- applies text edits backwards and I want the options pragma to
476-
-- appear above the hlint pragma in the tests
477-
combinedText = mconcat $ catMaybes [wnoUnrecognisedPragmasText, hlintIgnoreText]
478-
combinedTextEdit = LSP.TextEdit nextPragmaRange combinedText
467+
textEdit = LSP.TextEdit nextPragmaRange $ "{- HLINT ignore \"" <> hint <> "\" -}\n"
479468
lineSplitTextEditList = maybe [] (\LineSplitTextEdits{..} -> [lineSplitInsertTextEdit, lineSplitDeleteTextEdit]) lineSplitTextEdits
480469
in
481-
combinedTextEdit : lineSplitTextEditList
470+
textEdit : lineSplitTextEditList
482471
-- ---------------------------------------------------------------------
483472

484473
ignoreHint :: Recorder (WithPriority Log) -> IdeState -> NormalizedFilePath -> VersionedTextDocumentIdentifier -> HintTitle -> IO (Either PluginError WorkspaceEdit)

plugins/hls-hlint-plugin/test/Main.hs

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@ resolveTests :: TestTree
4848
resolveTests = knownBrokenForGhcVersions [GHC910] "apply-refact doesn't work on 9.10" $ testGroup "hlint resolve tests"
4949
[
5050
ignoreHintGoldenResolveTest
51-
"Resolve version of: Ignore hint in this module inserts -Wno-unrecognised-pragmas and hlint ignore pragma if warn unrecognized pragmas is off"
52-
"UnrecognizedPragmasOff"
53-
(Point 3 8)
51+
"Resolve version of: Ignore hint in this module inserts hlint ignore pragma"
52+
"IgnoreHintAction"
53+
(Point 2 8)
5454
"Eta reduce"
5555
, applyHintGoldenResolveTest
5656
"Resolve version of: [#2612] Apply hint works when operator fixities go right-to-left"
@@ -64,14 +64,9 @@ ignoreHintTests :: TestTree
6464
ignoreHintTests = testGroup "hlint ignore hint tests"
6565
[
6666
ignoreHintGoldenTest
67-
"Ignore hint in this module inserts -Wno-unrecognised-pragmas and hlint ignore pragma if warn unrecognized pragmas is off"
68-
"UnrecognizedPragmasOff"
69-
(Point 3 8)
70-
"Eta reduce"
71-
, ignoreHintGoldenTest
72-
"Ignore hint in this module inserts only hlint ignore pragma if warn unrecognized pragmas is on"
73-
"UnrecognizedPragmasOn"
74-
(Point 3 9)
67+
"Ignore hint in this module inserts hlint ignore pragma"
68+
"IgnoreHintAction"
69+
(Point 2 8)
7570
"Eta reduce"
7671
]
7772

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{- HLINT ignore "Eta reduce" -}
2+
module IgnoreHintAction where
3+
foo x = id x
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
module IgnoreHintAction where
2+
foo x = id x

plugins/hls-hlint-plugin/test/testdata/UnrecognizedPragmasOff.expected.hs

Lines changed: 0 additions & 4 deletions
This file was deleted.

plugins/hls-hlint-plugin/test/testdata/UnrecognizedPragmasOff.hs

Lines changed: 0 additions & 3 deletions
This file was deleted.

plugins/hls-hlint-plugin/test/testdata/UnrecognizedPragmasOn.expected.hs

Lines changed: 0 additions & 5 deletions
This file was deleted.

plugins/hls-hlint-plugin/test/testdata/UnrecognizedPragmasOn.hs

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)