import public Data.List
import public Data.Stringdata Namespace : Typedata ModuleIdent : TypeMkMI : List String -> ModuleIdentshowSep : String -> List String -> StringFilePos : Typedata VirtualIdent : Typedata OriginDesc : TypePhysicalIdrSrc : ModuleIdent -> OriginDescAnything that originates in physical Idris source files is assigned a
`PhysicalIdrSrc modIdent`,
where `modIdent` is the top-level module identifier of that file.
PhysicalPkgSrc : String -> OriginDescAnything parsed from a package file is decorated with `PhysicalPkgSrc fname`,
where `fname` is path to the package file.
Virtual : VirtualIdent -> OriginDescdata FC : TypeA file context is a filename together with starting and ending positions.
It's often carried by AST nodes that might have been created from a source
file or by the compiler. That makes it useful to have the notion of
`EmptyFC` as part of the type.
MkFC : OriginDesc -> FilePos -> FilePos -> FCMkVirtualFC : OriginDesc -> FilePos -> FilePos -> FCVirtual FCs are FC attached to desugared/generated code. They can help with marking
errors, but we shouldn't attach semantic highlighting metadata to them.
EmptyFC : FCemptyFC : FCdata NameType : Typedata PrimType : TypeIntType : PrimTypeIntegerType : PrimTypeInt8Type : PrimTypeInt16Type : PrimTypeInt32Type : PrimTypeInt64Type : PrimTypeBits8Type : PrimTypeBits16Type : PrimTypeBits32Type : PrimTypeBits64Type : PrimTypeStringType : PrimTypeCharType : PrimTypeDoubleType : PrimTypeWorldType : PrimTypedata Constant : TypeI : Int -> ConstantBI : Integer -> ConstantI8 : Int8 -> ConstantI16 : Int16 -> ConstantI32 : Int32 -> ConstantI64 : Int64 -> ConstantB8 : Bits8 -> ConstantB16 : Bits16 -> ConstantB32 : Bits32 -> ConstantB64 : Bits64 -> ConstantStr : String -> ConstantCh : Char -> ConstantDb : Double -> ConstantPrT : PrimType -> ConstantWorldVal : Constantdata UserName : Typedata Name : TypeNS : Namespace -> Name -> NameUN : UserName -> NameMN : String -> Int -> NameDN : String -> Name -> NameNested : (Int, Int) -> Name -> NameCaseBlock : String -> Int -> NameWithBlock : String -> Int -> NamedropNS : Name -> NameisOp : Name -> BoolshowPrefix : Bool -> Name -> Stringrecord NameInfo : TypeMkNameInfo : NameType -> NameInfo.nametype : NameInfo -> NameTypenametype : NameInfo -> NameTypedata Count : Typeenunciate : Count -> StringshowCount : Count -> String -> Stringdata PiInfo : Type -> TypeImplicitArg : PiInfo tExplicitArg : PiInfo tAutoImplicit : PiInfo tDefImplicit : t -> PiInfo tEq a => Eq (PiInfo a)showPiInfo : Show a => {default True _ : Bool} -> PiInfo a -> String -> Stringdata IsVar : Name -> Nat -> List Name -> Typedata LazyReason : TypeEq LazyReasonShow LazyReasondata TotalReq : TypeshowTotalReq : Maybe TotalReq -> String -> Stringdata Visibility : TypeEq VisibilityShow Visibilitydata BuiltinType : TypeEq BuiltinTypeShow BuiltinType