Skip to content

Commit 7416ce8

Browse files
committed
Change which annotations we use for formatting and folding ranges
1 parent 4e0f9f5 commit 7416ce8

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

parser-typechecker/src/Unison/UnisonFile/Type.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import Unison.WatchKind (WatchKind)
1717
data UnisonFile v a = UnisonFileId
1818
{ dataDeclarationsId :: Map v (TypeReferenceId, DataDeclaration v a),
1919
effectDeclarationsId :: Map v (TypeReferenceId, EffectDeclaration v a),
20-
terms :: Map v (a {- ann for whole binding -}, Term v a),
20+
terms :: Map v (a {- ann for name of the binding -}, Term v a),
2121
watches :: Map WatchKind [(v, a {- ann for whole watch -}, Term v a)]
2222
}
2323
deriving stock (Generic, Show)

unison-cli/src/Unison/Codebase/Editor/HandleInput/FormatFile.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ formatFile makePPEDForFile formattingWidth currentPath inputParsedFile inputType
8282
& over _2 Pretty.syntaxToColor
8383
formattedTerms <-
8484
(FileSummary.termsBySymbol fileSummary)
85-
& Map.filter (\(tldAnn, _, trm, _) -> shouldFormatTerm tldAnn trm)
86-
& itraverse \sym (tldAnn, mayRefId, trm, _typ) -> do
85+
& Map.filter (\(_bindingAnn, _, trm, _) -> shouldFormatTerm (ABT.annotation trm) trm)
86+
& itraverse \sym (_bindingAnn, mayRefId, trm, _typ) -> do
8787
symName <- hoistMaybe (Name.parseVar sym)
8888
let defNameSegments = NEL.appendr (Path.toList (Path.unabsolute currentPath)) (Name.segments symName)
8989
let defName = Name.fromSegments defNameSegments
@@ -102,7 +102,7 @@ formatFile makePPEDForFile formattingWidth currentPath inputParsedFile inputType
102102
-- Pretty.syntaxToColor $ Pretty.string wk <> "> " <> TermPrinter.prettyBindingWithoutTypeSignature definitionPPE hqName (stripTypeAnnotation trm)
103103
-- (Just wk, _) -> Pretty.string wk <> "> " <> TermPrinter.prettyBlock False definitionPPE (stripTypeAnnotation trm)
104104
-- (Nothing, _) -> "> " <> TermPrinter.prettyBlock False definitionPPE (stripTypeAnnotation trm)
105-
pure (tldAnn, formattedTerm)
105+
pure (ABT.annotation trm, formattedTerm)
106106

107107
-- Only keep definitions which are _actually_ in the file, skipping generated accessors
108108
-- and such.

unison-cli/src/Unison/LSP/FoldingRange.hs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import Data.Text qualified as Text
1212
import Language.LSP.Protocol.Lens hiding (id, to)
1313
import Language.LSP.Protocol.Message qualified as Msg
1414
import Language.LSP.Protocol.Types
15+
import Unison.ABT qualified as ABT
1516
import Unison.DataDeclaration qualified as DD
1617
import Unison.LSP.Conversions (annToRange)
1718
import Unison.LSP.FileAnalysis (getFileAnalysis)
@@ -44,7 +45,11 @@ foldingRangesForFile UnisonFileId {dataDeclarationsId, effectDeclarationsId, ter
4445
effectDeclarationsId
4546
& Map.toList
4647
& map \(sym, (_typ, decl)) -> (Just sym, DD.annotation . DD.toDataDecl $ decl)
47-
termFolds = terms & Map.toList & fmap \(sym, (ann, _trm)) -> (Just sym, ann)
48+
termFolds =
49+
terms
50+
& Map.toList
51+
<&> \case
52+
(sym, (_ann, trm)) -> (Just sym, ABT.annotation trm)
4853
watchFolds =
4954
watches
5055
& fold

0 commit comments

Comments
 (0)