mirror of
https://github.com/unisonweb/unison.git
synced 2024-09-17 13:27:30 +03:00
fix #407
This commit is contained in:
parent
528307dd2f
commit
21b86ba141
@ -40,7 +40,6 @@ import Unison.Parser (Ann (..), Annotated, ann)
|
||||
import qualified Unison.Parser as Parser
|
||||
import qualified Unison.Reference as R
|
||||
import Unison.Referent (Referent)
|
||||
import qualified Unison.Referent as Referent
|
||||
import Unison.Result (Note (..))
|
||||
import qualified Unison.Settings as Settings
|
||||
import qualified Unison.Term as Term
|
||||
@ -58,6 +57,7 @@ import Unison.Util.Range (Range (..))
|
||||
import Unison.Var (Var)
|
||||
import qualified Unison.Var as Var
|
||||
import qualified Unison.PrettyPrintEnv as PPE
|
||||
import qualified Unison.TermPrinter as TermPrinter
|
||||
|
||||
type Env = PPE.PrettyPrintEnv
|
||||
|
||||
@ -709,16 +709,11 @@ renderContext env ctx@(C.Context es) = " Γ\n "
|
||||
showElem _ (C.Marker v) = "|" <> shortName v <> "|"
|
||||
|
||||
renderTerm :: (IsString s, Var v) => Env -> C.Term v loc -> s
|
||||
renderTerm _ (ABT.Var' v) | Settings.demoHideVarNumber =
|
||||
fromString (Text.unpack $ Var.name v)
|
||||
renderTerm env (Term.Ref' r) =
|
||||
fromString (HQ.toString $ PPE.termName env (Referent.Ref r))
|
||||
renderTerm _ e =
|
||||
let s = show e
|
||||
in -- todo: pretty print
|
||||
if length s > Settings.renderTermMaxLength
|
||||
then fromString (take Settings.renderTermMaxLength s <> "...")
|
||||
else fromString s
|
||||
renderTerm env e =
|
||||
let s = Color.toPlain $ TermPrinter.pretty' (Just 80) env (Term.unTypeVar e)
|
||||
in if length s > Settings.renderTermMaxLength
|
||||
then fromString (take Settings.renderTermMaxLength s <> "...")
|
||||
else fromString s
|
||||
|
||||
-- | renders a type with no special styling
|
||||
renderType' :: (IsString s, Var v) => Env -> Type.AnnotatedType v loc -> s
|
||||
|
@ -130,7 +130,8 @@ pretty
|
||||
pretty n AmbientContext { precedence = p, blockContext = bc, infixContext = ic } term
|
||||
= specialCases term $ \case
|
||||
Var' v -> parenIfInfix name ic . prettyHashQualified $ name
|
||||
where name = HQ.fromVar v
|
||||
-- OK since all term vars are user specified, any freshening was just added during typechecking
|
||||
where name = HQ.fromVar (Var.reset v)
|
||||
Ref' r -> parenIfInfix name ic . prettyHashQualified' $ name
|
||||
where name = PrettyPrintEnv.termName n (Referent.Ref r)
|
||||
Ann' tm t ->
|
||||
|
@ -801,7 +801,6 @@ synthesize e = scope (InSynthesize e) $
|
||||
if isClosed then pure $ generalizeExistentials ctx2 t
|
||||
else pure (apply ctx t)
|
||||
doRetract (Marker m)
|
||||
-- m <- extendMarker Var.inferOther
|
||||
v' <- ABT.freshen e freshenVar
|
||||
appendContext (context [Ann v' tbinding])
|
||||
t <- applyM =<< synthesize (ABT.bindInheritAnnotation e (Term.var() v'))
|
||||
|
Loading…
Reference in New Issue
Block a user