java.lang.Object
org.aya.prettier.BasePrettier<Term>
- Direct Known Subclasses:
ConcretePrettier,CorePrettier
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static interfaceBasePrettier.Fmt<T extends AyaDocile>static enumExpression: where am I? Top-level expression may not need parentheses, stone free! An argument of an application! Stay in parentheses! An operand of a binary application! Applications within are safe, but other binary applications are in danger! Codomain of a telescope -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final @NotNull org.aya.pretty.doc.Stylestatic final @NotNull org.aya.pretty.doc.Stylestatic final @NotNull org.aya.pretty.doc.Stylestatic final @NotNull org.aya.pretty.doc.Stylestatic final @NotNull org.aya.pretty.doc.Stylestatic final @NotNull org.aya.pretty.doc.Stylestatic final @NotNull org.aya.pretty.doc.Stylestatic final @NotNull org.aya.pretty.doc.Stylestatic final @NotNull org.aya.pretty.doc.Stylefinal @NotNull org.aya.util.prettier.PrettierOptionsstatic final @NotNull org.aya.pretty.doc.Stylestatic final @NotNull org.aya.pretty.doc.Style -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedBasePrettier(@NotNull org.aya.util.prettier.PrettierOptions options) -
Method Summary
Modifier and TypeMethodDescriptionstatic <T extends AyaDocile>
org.aya.pretty.doc.Docarg(@NotNull BasePrettier.Fmt<T> fmt, org.aya.util.binop.BinOpParser.Elem<T> arg, @NotNull BasePrettier.Outer outer) static @NotNull org.aya.pretty.doc.DocargDoc(@NotNull org.aya.util.prettier.PrettierOptions options, @NotNull org.aya.util.Arg<? extends AyaDocile> self) static <T extends AyaDocile>
@NotNull org.aya.pretty.doc.DocargsDoc(@NotNull org.aya.util.prettier.PrettierOptions options, @NotNull kala.collection.SeqLike<org.aya.util.Arg<T>> self) static @NotNull org.aya.pretty.doc.DoccheckParen(@NotNull BasePrettier.Outer outer, @NotNull org.aya.pretty.doc.Doc binApp, @NotNull BasePrettier.Outer binOp) protected static @Nullable org.aya.pretty.doc.StylechooseStyle(Object concrete) static <T extends org.aya.guest0x0.cubical.Restr.TermLike<T> & AyaDocile>
@NotNull org.aya.pretty.doc.Doccofib(@NotNull org.aya.util.prettier.PrettierOptions options, org.aya.guest0x0.cubical.Restr.Conj<T> conj) static @NotNull org.aya.pretty.doc.Doc@NotNull org.aya.pretty.doc.Docformula(@NotNull BasePrettier.Outer outer, @NotNull org.aya.guest0x0.cubical.Formula<Term> formula) static @NotNull org.aya.pretty.doc.Docstatic @NotNull org.aya.pretty.doc.Docstatic @NotNull org.aya.pretty.doc.Linkstatic @NotNull org.aya.pretty.doc.DoclinkListLit(org.aya.pretty.doc.Doc display, @NotNull AnyVar ref, @NotNull org.aya.pretty.doc.Style color) static @NotNull org.aya.pretty.doc.Docstatic @NotNull org.aya.pretty.doc.Docstatic <T extends org.aya.guest0x0.cubical.Restr.TermLike<T> & AyaDocile>
@NotNull org.aya.pretty.doc.Docpartial(@NotNull org.aya.util.prettier.PrettierOptions options, @NotNull org.aya.guest0x0.cubical.Partial<T> partial, boolean showEmpty, @NotNull org.aya.pretty.doc.Doc lb, @NotNull org.aya.pretty.doc.Doc rb) static <T extends org.aya.guest0x0.cubical.Restr.TermLike<T> & AyaDocile>
@NotNull org.aya.pretty.doc.Docrestr(@NotNull org.aya.util.prettier.PrettierOptions options, @NotNull org.aya.guest0x0.cubical.Restr<T> restr) static <T extends org.aya.guest0x0.cubical.Restr.TermLike<T> & AyaDocile>
@NotNull org.aya.pretty.doc.Docside(@NotNull org.aya.util.prettier.PrettierOptions options, org.aya.guest0x0.cubical.Restr.Side<T> side) protected abstract @NotNull org.aya.pretty.doc.Docterm(@NotNull BasePrettier.Outer outer, Term term) static @NotNull org.aya.pretty.doc.Doc@NotNull org.aya.pretty.doc.DocvisitArgsCalls(@NotNull DefVar<?, ?> var, @NotNull org.aya.pretty.doc.Style style, @NotNull kala.collection.SeqLike<@NotNull org.aya.util.Arg<Term>> args, @NotNull BasePrettier.Outer outer) @NotNull org.aya.pretty.doc.DocvisitCalls(@NotNull DefVar<?, ?> var, @NotNull org.aya.pretty.doc.Style style, @NotNull kala.collection.SeqLike<@NotNull org.aya.util.Arg<Term>> args, @NotNull BasePrettier.Outer outer, boolean showImplicits) @NotNull org.aya.pretty.doc.DocvisitCalls(@Nullable org.aya.util.binop.Assoc assoc, @NotNull org.aya.pretty.doc.Doc fn, @NotNull kala.collection.SeqView<? extends @NotNull org.aya.util.binop.BinOpParser.Elem<Term>> args, @NotNull BasePrettier.Outer outer, boolean showImplicits) @NotNull org.aya.pretty.doc.DocPretty-print a telescope in a dumb (but conservative) way.@NotNull org.aya.pretty.doc.DocvisitTele(@NotNull kala.collection.Seq<? extends ParamLike<Term>> telescope, Term body, @NotNull ToIntBiFunction<Term, AnyVar> altF7) Pretty-print a telescope in a smart way.
-
Field Details
-
KEYWORD
@NotNull public static final @NotNull org.aya.pretty.doc.Style KEYWORD -
CALL
@NotNull public static final @NotNull org.aya.pretty.doc.Style CALL -
PRIM
@NotNull public static final @NotNull org.aya.pretty.doc.Style PRIM -
FN
@NotNull public static final @NotNull org.aya.pretty.doc.Style FN -
DATA
@NotNull public static final @NotNull org.aya.pretty.doc.Style DATA -
STRUCT
@NotNull public static final @NotNull org.aya.pretty.doc.Style STRUCT -
CON
@NotNull public static final @NotNull org.aya.pretty.doc.Style CON -
FIELD
@NotNull public static final @NotNull org.aya.pretty.doc.Style FIELD -
GENERALIZED
@NotNull public static final @NotNull org.aya.pretty.doc.Style GENERALIZED -
COMMENT
@NotNull public static final @NotNull org.aya.pretty.doc.Style COMMENT -
LOCAL_VAR
@NotNull public static final @NotNull org.aya.pretty.doc.Style LOCAL_VAR -
options
@NotNull public final @NotNull org.aya.util.prettier.PrettierOptions options
-
-
Constructor Details
-
BasePrettier
protected BasePrettier(@NotNull @NotNull org.aya.util.prettier.PrettierOptions options)
-
-
Method Details
-
argDoc
@NotNull public static @NotNull org.aya.pretty.doc.Doc argDoc(@NotNull @NotNull org.aya.util.prettier.PrettierOptions options, @NotNull @NotNull org.aya.util.Arg<? extends AyaDocile> self) -
argsDoc
@NotNull public static <T extends AyaDocile> @NotNull org.aya.pretty.doc.Doc argsDoc(@NotNull @NotNull org.aya.util.prettier.PrettierOptions options, @NotNull @NotNull kala.collection.SeqLike<org.aya.util.Arg<T>> self) -
term
@NotNull protected abstract @NotNull org.aya.pretty.doc.Doc term(@NotNull @NotNull BasePrettier.Outer outer, @NotNull Term term) -
visitCalls
@NotNull public @NotNull org.aya.pretty.doc.Doc visitCalls(@Nullable @Nullable org.aya.util.binop.Assoc assoc, @NotNull @NotNull org.aya.pretty.doc.Doc fn, @NotNull @NotNull kala.collection.SeqView<? extends @NotNull org.aya.util.binop.BinOpParser.Elem<Term>> args, @NotNull @NotNull BasePrettier.Outer outer, boolean showImplicits) -
visitCalls
@NotNull public @NotNull org.aya.pretty.doc.Doc visitCalls(@NotNull @NotNull DefVar<?, ?> var, @NotNull @NotNull org.aya.pretty.doc.Style style, @NotNull @NotNull kala.collection.SeqLike<@NotNull org.aya.util.Arg<Term>> args, @NotNull @NotNull BasePrettier.Outer outer, boolean showImplicits) -
visitArgsCalls
@NotNull public @NotNull org.aya.pretty.doc.Doc visitArgsCalls(@NotNull @NotNull DefVar<?, ?> var, @NotNull @NotNull org.aya.pretty.doc.Style style, @NotNull @NotNull kala.collection.SeqLike<@NotNull org.aya.util.Arg<Term>> args, @NotNull @NotNull BasePrettier.Outer outer) -
arg
public static <T extends AyaDocile> org.aya.pretty.doc.Doc arg(@NotNull @NotNull BasePrettier.Fmt<T> fmt, @NotNull org.aya.util.binop.BinOpParser.Elem<T> arg, @NotNull @NotNull BasePrettier.Outer outer) -
checkParen
@NotNull public static @NotNull org.aya.pretty.doc.Doc checkParen(@NotNull @NotNull BasePrettier.Outer outer, @NotNull @NotNull org.aya.pretty.doc.Doc binApp, @NotNull @NotNull BasePrettier.Outer binOp) -
visitTele
@NotNull public @NotNull org.aya.pretty.doc.Doc visitTele(@NotNull @NotNull kala.collection.Seq<? extends ParamLike<Term>> telescope) Pretty-print a telescope in a dumb (but conservative) way. -
visitTele
@NotNull public @NotNull org.aya.pretty.doc.Doc visitTele(@NotNull @NotNull kala.collection.Seq<? extends ParamLike<Term>> telescope, @Nullable Term body, @NotNull @NotNull ToIntBiFunction<Term, AnyVar> altF7) Pretty-print a telescope in a smart way. The bindings that are not used in the telescope/body are omitted. Bindings of the same type (by 'same' I meanObjects.equalsreturns true) are merged together.- Parameters:
body- the body of the telescope (like the return type in a pi type), only used for finding usages (of the variables in the telescope).altF7- a function for finding usages.- See Also:
-
varDoc
-
linkDef
@NotNull public static @NotNull org.aya.pretty.doc.Doc linkDef(@NotNull @NotNull AnyVar ref, @NotNull @NotNull org.aya.pretty.doc.Style color) -
linkRef
@NotNull public static @NotNull org.aya.pretty.doc.Doc linkRef(@NotNull @NotNull AnyVar ref, @NotNull @NotNull org.aya.pretty.doc.Style color) -
linkIdOf
-
linkLit
@NotNull public static @NotNull org.aya.pretty.doc.Doc linkLit(int literal, @NotNull @NotNull AnyVar ref, @NotNull @NotNull org.aya.pretty.doc.Style color) -
linkListLit
@NotNull public static @NotNull org.aya.pretty.doc.Doc linkListLit(org.aya.pretty.doc.Doc display, @NotNull @NotNull AnyVar ref, @NotNull @NotNull org.aya.pretty.doc.Style color) -
linkDef
-
defVar
-
formula
@NotNull public @NotNull org.aya.pretty.doc.Doc formula(@NotNull @NotNull BasePrettier.Outer outer, @NotNull @NotNull org.aya.guest0x0.cubical.Formula<Term> formula) -
partial
@NotNull public static <T extends org.aya.guest0x0.cubical.Restr.TermLike<T> & AyaDocile> @NotNull org.aya.pretty.doc.Doc partial(@NotNull @NotNull org.aya.util.prettier.PrettierOptions options, @NotNull @NotNull org.aya.guest0x0.cubical.Partial<T> partial, boolean showEmpty, @NotNull @NotNull org.aya.pretty.doc.Doc lb, @NotNull @NotNull org.aya.pretty.doc.Doc rb) -
restr
@NotNull public static <T extends org.aya.guest0x0.cubical.Restr.TermLike<T> & AyaDocile> @NotNull org.aya.pretty.doc.Doc restr(@NotNull @NotNull org.aya.util.prettier.PrettierOptions options, @NotNull @NotNull org.aya.guest0x0.cubical.Restr<T> restr) -
side
@NotNull public static <T extends org.aya.guest0x0.cubical.Restr.TermLike<T> & AyaDocile> @NotNull org.aya.pretty.doc.Doc side(@NotNull @NotNull org.aya.util.prettier.PrettierOptions options, @NotNull org.aya.guest0x0.cubical.Restr.Side<T> side) -
cofib
@NotNull public static <T extends org.aya.guest0x0.cubical.Restr.TermLike<T> & AyaDocile> @NotNull org.aya.pretty.doc.Doc cofib(@NotNull @NotNull org.aya.util.prettier.PrettierOptions options, @NotNull org.aya.guest0x0.cubical.Restr.Conj<T> conj) -
chooseStyle
-