Skip to content

Commit

Permalink
Revert partial changes from #2483
Browse files Browse the repository at this point in the history
Instead of using a low-level `is_ident` that only works on ascii
characters. Instead match directly on the '_' character. The original
functionality has been restored (using `isAlpha` instead).

This commit removes the now unneccessary `is_ident` compat layer
  • Loading branch information
drsooch committed Apr 30, 2022
1 parent da0379b commit 528a8bd
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 9 deletions.
4 changes: 0 additions & 4 deletions ghcide/src/Development/IDE/GHC/Compat/Util.hs
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,6 @@ module Development.IDE.GHC.Compat.Util (
stringToStringBuffer,
nextChar,
atEnd,
-- * Char
is_ident
) where

#if MIN_VERSION_ghc(9,0,0)
Expand All @@ -83,7 +81,6 @@ import GHC.Data.FastString
import GHC.Data.Maybe
import GHC.Data.Pair
import GHC.Data.StringBuffer
import GHC.Parser.CharClass (is_ident)
import GHC.Types.Unique
import GHC.Types.Unique.DFM
import GHC.Utils.Fingerprint
Expand All @@ -93,7 +90,6 @@ import GHC.Utils.Panic hiding (try)
#else
import Bag
import BooleanFormula
import Ctype (is_ident)
import EnumSet
import qualified Exception
import FastString
Expand Down
13 changes: 8 additions & 5 deletions ghcide/src/Development/IDE/Plugin/CodeAction.hs
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ import qualified Data.Rope.UTF16 as Rope
import qualified Data.Set as S
import qualified Data.Text as T
import Data.Tuple.Extra (fst3)
import Development.IDE.Core.RuleTypes
import Development.IDE.Core.Rules
import Development.IDE.Core.RuleTypes
import Development.IDE.Core.Service
import Development.IDE.GHC.Compat
import Development.IDE.GHC.Compat.Util
Expand Down Expand Up @@ -1606,8 +1606,11 @@ rangesForBindingImport _ _ = []
wrapOperatorInParens :: String -> String
wrapOperatorInParens x =
case uncons x of
Just (h, _t) -> if is_ident h then x else "(" <> x <> ")"
Nothing -> mempty
-- see #2483 and #2859
-- common lens functions use the _ prefix, and should not be wrapped in parens
Just ('_', _t) -> x
Just (h, _t) -> if isAlpha h then x else "(" <> x <> ")"
Nothing -> mempty

smallerRangesForBindingExport :: [LIE GhcPs] -> String -> [Range]
smallerRangesForBindingExport lies b =
Expand Down Expand Up @@ -1763,8 +1766,8 @@ renderImportStyle (ImportAllConstructors p) = p <> "(..)"

-- | Used for extending import lists
unImportStyle :: ImportStyle -> (Maybe String, String)
unImportStyle (ImportTopLevel x) = (Nothing, T.unpack x)
unImportStyle (ImportViaParent x y) = (Just $ T.unpack y, T.unpack x)
unImportStyle (ImportTopLevel x) = (Nothing, T.unpack x)
unImportStyle (ImportViaParent x y) = (Just $ T.unpack y, T.unpack x)
unImportStyle (ImportAllConstructors x) = (Just $ T.unpack x, wildCardSymbol)


Expand Down

0 comments on commit 528a8bd

Please # to comment.