@@ -20,10 +20,10 @@ module Language.PureScript.Ide.Util
2020 , unwrapPositioned
2121 , unwrapPositionedRef
2222 , completionFromMatch
23- , infoFromMatch
2423 , encodeT
2524 , decodeT
2625 , discardAnn
26+ , withEmptyAnn
2727 , module Language.PureScript.Ide.Conversions
2828 ) where
2929
@@ -48,48 +48,52 @@ identifierFromIdeDeclaration d = case d of
4848discardAnn :: IdeDeclarationAnn -> IdeDeclaration
4949discardAnn (IdeDeclarationAnn _ d) = d
5050
51+ withEmptyAnn :: IdeDeclaration -> IdeDeclarationAnn
52+ withEmptyAnn = IdeDeclarationAnn emptyAnn
53+
5154unwrapMatch :: Match a -> a
5255unwrapMatch (Match (_, ed)) = ed
5356
54- completionFromMatch :: Match IdeDeclaration -> Completion
55- completionFromMatch = Completion . completionFromMatch'
56-
57- completionFromMatch' :: Match IdeDeclaration -> (Text , Text , Text )
58- completionFromMatch' (Match (m', d)) = case d of
59- IdeValue name type' -> (m, runIdentT name, prettyTypeT type')
60- IdeType name kind -> (m, runProperNameT name, toS (P. prettyPrintKind kind))
61- IdeTypeSynonym name kind -> (m, runProperNameT name, prettyTypeT kind)
62- IdeDataConstructor name _ type' -> (m, runProperNameT name, prettyTypeT type')
63- IdeTypeClass name -> (m, runProperNameT name, " class" )
64- IdeValueOperator op ref precedence associativity ->
65- (m, runOpNameT op, showFixity precedence associativity ref op)
66- IdeTypeOperator op ref precedence associativity ->
67- (m, runOpNameT op, showFixity precedence associativity ref op)
57+ completionFromMatch :: Match IdeDeclarationAnn -> Completion
58+ completionFromMatch (Match (m, IdeDeclarationAnn ann decl)) =
59+ Completion {.. }
6860 where
69- m = runModuleNameT m'
61+ (complIdentifier, complExpandedType) = case decl of
62+ IdeValue name type' -> (runIdentT name, prettyTypeT type')
63+ IdeType name kind -> (runProperNameT name, toS (P. prettyPrintKind kind))
64+ IdeTypeSynonym name kind -> (runProperNameT name, prettyTypeT kind)
65+ IdeDataConstructor name _ type' -> (runProperNameT name, prettyTypeT type')
66+ IdeTypeClass name -> (runProperNameT name, " class" )
67+ IdeValueOperator op ref precedence associativity ->
68+ (runOpNameT op, showFixity precedence associativity ref op)
69+ IdeTypeOperator op ref precedence associativity ->
70+ (runOpNameT op, showFixity precedence associativity ref op)
71+
72+ complModule = runModuleNameT m
73+
74+ complType = maybe complExpandedType prettyTypeT (annTypeAnnotation ann)
75+
76+ complLocation = annLocation ann
77+
78+ complDocumentation = Nothing
79+
7080 showFixity p a r o =
7181 let asso = case a of
7282 P. Infix -> " infix"
7383 P. Infixl -> " infixl"
7484 P. Infixr -> " infixr"
7585 in T. unwords [asso, show p, r, " as" , runOpNameT o]
7686
77- infoFromMatch :: Match IdeDeclarationAnn -> Info
78- infoFromMatch (Match (m, IdeDeclarationAnn ann d)) =
79- Info (a, b, maybe c prettyTypeT (annTypeAnnotation ann), annLocation ann)
80- where
81- (a, b, c) = completionFromMatch' (Match (m, d))
82-
8387encodeT :: (ToJSON a ) => a -> Text
8488encodeT = toS . decodeUtf8 . encode
8589
8690decodeT :: (FromJSON a ) => Text -> Maybe a
8791decodeT = decode . encodeUtf8 . toS
8892
8993unwrapPositioned :: P. Declaration -> P. Declaration
90- unwrapPositioned (P. PositionedDeclaration _ _ x) = x
94+ unwrapPositioned (P. PositionedDeclaration _ _ x) = unwrapPositioned x
9195unwrapPositioned x = x
9296
9397unwrapPositionedRef :: P. DeclarationRef -> P. DeclarationRef
94- unwrapPositionedRef (P. PositionedDeclarationRef _ _ x) = x
98+ unwrapPositionedRef (P. PositionedDeclarationRef _ _ x) = unwrapPositionedRef x
9599unwrapPositionedRef x = x
0 commit comments