Skip to content

Commit b5c13a3

Browse files
committed
Use record syntax for data with many fields
This improves readability.
1 parent 757d4a5 commit b5c13a3

File tree

1 file changed

+20
-16
lines changed

1 file changed

+20
-16
lines changed

plugins/hls-signature-help-plugin/src/Ide/Plugin/SignatureHelp.hs

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
{-# LANGUAGE DataKinds #-}
2-
{-# LANGUAGE GADTs #-}
1+
{-# LANGUAGE DataKinds #-}
2+
{-# LANGUAGE DisambiguateRecordFields #-}
3+
{-# LANGUAGE GADTs #-}
34

45
module Ide.Plugin.SignatureHelp (descriptor) where
56

@@ -64,10 +65,10 @@ import Language.LSP.Protocol.Types (MarkupContent (MarkupCont
6465
Null (Null),
6566
ParameterInformation (ParameterInformation),
6667
Position (Position),
67-
SignatureHelp (SignatureHelp),
68-
SignatureHelpContext (SignatureHelpContext),
68+
SignatureHelp (..),
69+
SignatureHelpContext (..),
6970
SignatureHelpParams (SignatureHelpParams),
70-
SignatureInformation (SignatureInformation),
71+
SignatureInformation (..),
7172
TextDocumentIdentifier (TextDocumentIdentifier),
7273
UInt,
7374
type (|?) (InL, InR))
@@ -115,17 +116,19 @@ signatureHelpProvider ideState _pluginId (SignatureHelpParams (TextDocumentIdent
115116
mkSignatureHelp :: Maybe SignatureHelpContext -> DocMap -> ArgDocMap -> UInt -> Name -> [Type] -> SignatureHelp
116117
mkSignatureHelp mSignatureHelpContext docMap argDocMap parameterIndex functionName functionTypes =
117118
SignatureHelp
118-
(mkSignatureInformation docMap argDocMap parameterIndex functionName <$> functionTypes)
119-
activeSignature
120-
(Just $ InL parameterIndex)
119+
{ _signatures = mkSignatureInformation docMap argDocMap parameterIndex functionName <$> functionTypes,
120+
_activeSignature = activeSignature,
121+
_activeParameter = Just $ InL parameterIndex
122+
}
121123
where
122124
activeSignature = case mSignatureHelpContext of
123125
Just
124126
( SignatureHelpContext
125-
_triggerKind
126-
_triggerCharacter
127-
True
128-
(Just (SignatureHelp _signatures oldActivateSignature _activeParameter))
127+
{ _triggerKind,
128+
_triggerCharacter,
129+
_isRetrigger = True,
130+
_activeSignatureHelp = Just (SignatureHelp _signatures oldActivateSignature _activeParameter)
131+
}
129132
) -> oldActivateSignature
130133
_ -> Just 0
131134

@@ -139,10 +142,11 @@ mkSignatureInformation docMap argDocMap parameterIndex functionName functionType
139142
Nothing -> mempty
140143
Just thisArgDocMap' -> thisArgDocMap'
141144
in SignatureInformation
142-
(functionNameLabelPrefix <> printOutputableOneLine functionType)
143-
mFunctionDoc
144-
(Just $ mkParameterInformations thisArgDocMap (fromIntegral $ T.length functionNameLabelPrefix) functionType)
145-
(Just $ InL parameterIndex)
145+
{ _label = functionNameLabelPrefix <> printOutputableOneLine functionType,
146+
_documentation = mFunctionDoc,
147+
_parameters = Just $ mkParameterInformations thisArgDocMap (fromIntegral $ T.length functionNameLabelPrefix) functionType,
148+
_activeParameter = Just $ InL parameterIndex
149+
}
146150

147151
mkParameterInformations :: IntMap SpanDoc -> UInt -> Type -> [ParameterInformation]
148152
mkParameterInformations thisArgDocMap offset functionType =

0 commit comments

Comments
 (0)