Something went wrong. Try again.
A Zig library that reads git repositories without running git, with log, show and diff output byte-identical to git's.
Something went wrong. Try again.
6.9 kB · 277 lines
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352procedure Xfunction Xconstructor Xdestructor Xinterfaceimplementationinitializationfinalizationprocedurexproceduree Xfunctiointerfacesxprocedure procedure X procedure XProcedure XPROCEDURE Xprocedure Xprocedure(X)procedure;unit Foo;program Foo;typevarbeginend;end.uses SysUtils;class procedureclass function Xclass constructor Xclass destructor Xclass operator Xclass varclassprocedureclass procedureclass procedure class procedureClass procedureclass Procedureclass procedurexclassprocedureclassprocedureclass class procedurexclass procedureTFoo = classTFoo = class(TObject)TFoo = class; TFoo = class(TObject) TFoo = classTFoo=classTFoo =classTFoo= classTFoo = classTFoo = classx = classTFoo = ClassTFoo = CLASSTFoo = recordTFoo = packed recordTFoo = objectTFoo = interface= class=classx = classesx = recordxx = record;x == classx := classx : classx = a classx = recordx = classx =classx= classx= classa = b; c = classé = class{ procedure X }// procedure X
functionclasses tfoo. begin =object procedure (TObject) procedureinitialization objectFUNCTION classeS % objEcT:=recoRD enD; implementation x class function class procedure class constructorprocedureinitialization claen^d of interfacexclass constructoruses offunctiFUNCTIONon classuses class constructor } ofprogramobjectpackedclass constructor TFoO CLaSS funCtIon CLaSS FUNcTioN TFOO claSSes ;finalization interface objectproc DeStRu ctoR unit object == class functionvar records xclasses X INTERFACEINITIALIZATION OF(A: INTEGER)FUNCTIONRECORDde x ;class unit implementation { ; records class packed record procedure Classclass TFoo.Bar := usesclass functionclass functionfinalizationend ; Classobject procedure useimplementation destructorfuncio :== { c^lass functionproc interface x usesprogram program record record uni#t {classes : proc record{ ,; ProcclAsS fuNctionedURe class function (A: Integer)} records :=beginProcedure class constructor record (TObject) destructor initialization var procedure IMPLEMENYPECLASS FUNCTION OBJECTCONSTRUCTOR class functionClass class finaliz!ation{ CLASS " // class constructor objectTFoo proc record finalization interfaceunit class procedure > =procedure record destructor procFUNCTION FUNCTIONclassclass records end class procedure TFoo.Bar beginbeginclass func tion class~objedestructor =class procedure objec t TFoo } class TFoo classprocedure beginclassesclass va function of= TFoo.Bar begin functioclass(TObject) Procedure ; class function typeend class functionClas (A: Integer)recorddestructor typetype }initialization classclass procedure class functionfunctionTFoo.Barclass procedureuses(TObject) type procedure procedure / procedure RECORDclasses obje ctclassconstructor uses procedure recorssclasses proc usesfunCTIoCLaSs FuNctIon eNd; End claSs TFoo FUNCTION(TObject)function class function class classrocion tyPE intErfACe :. implementation CLASSTYPE FUNCTION initia,l[ization procedurefunctio :implementationprogram class constructorpackedoftyperecords PROC CONSTRUCTOR TFOO.BARPROCEDURE UNITFUNCTION functiondestructor ;function cl asses(TObject) var FinalizaioN = (A: Integer)object {unit (T Procedure packed classes (TObject)program =unIT X ==END; CLASS : FUNCTION TFOO.BAR i class Class= cfunctio : class Class initialization Cl FUNCTIONend; recordofprogram TFooclass{ DESTRUCTORCONSTRUCTOR UNIT PROGRAM PROGRAM recORD:= COnstructOR béegin} cLass FuncTionProceDurE CLAss ==: CLasSiNterFaCe; class function classesTFoo.Barinitializationunit programclass procedurefunction :procedure(TObject) program\records ; ProC (TObjeprOgram ClaSs FuNction finalization==RECORD varclass destructor typec = class(lass procedureClass class RECORDDESTRUCTOR interface finalizationclas s constructorclass (TObject): CLASS PROCEDURE ]UNITOF CLASS$ PROCEDUREclass ofproc TFoofunct &interface functio OBJECT//RECORDS interface Classrecord class function finalization class var implementation unit class Procedure class(A: Integer) type class functiontypevar programpacked object destructrecord classTFoo Procedure functio record finalization constructor FUNCTIONinitialization class of class procedure procedureclass classRECORD TFoo.Bar Procedure begin begiünClassrecordClass procedure function nctiobjectoof unit (TObject) ; class constructor begin constructor ofinitialiationclasses destructor// UsesprOc }(tObjEct)claSs fUNCtIONInitIaLiZATion clAsSxfunctio records procedure class constructorclass function object uses finalizatordsclass record;program (TObject) TFoo.Bar ; x TFoo.Bar class construcion OBJECT PROCEDURE class class {== typefunctionclassClass fuNCtioN fInA` FUNCTION implementation constructor functionClass object// class construct or function functio end; class Procede var BEgINUNiT tfOO //CLASS } OBJECTCONSTRUCTORobject recor of= class classbeginimplementation= procedureof x }classesof endProcedure==record of record implementationedclassesure |end;unit varproc packedTFoo.Bar CL ASS PROCEDUREunitclass class function uses object var begin var : of functionfunCtionClAssesOfConstRUCtor RecorDdEstrUctOrCLaSsoBjEcT fuNcTioTFoo clAss consTrUcTor CLASS PROCEDUREdestructo constructorclass record class function PROCOBJECT TFOO END RECORDEND VAR CLASSUNIT TYPETFOO.BARobjectclass procend; end;procedure (TObject)RECORDclass procedure FunCti|o claSS{ record cLAss iNitializatIOn= classESREcord// End;={classinterface pRogram OBJeCt {PRoCEDuRE RecOrd rECORdS = class implementationprocedureClass class constructor ?procedure clasked of functionunit class constructor classTFoo.Barimplementation destructor functionend }Procedure constructor TFoo.Bar object constructorclass procedure imrecordplementation functio{ class functionRECORD unitpacked TFoo ;begin constructordestruclassof== unit packed // initialization; :=begin var uses unit uses record object procedurefinalization := procedurevarpacked classesdestructor FUNCTION USes;tfOorecOrDsDestrclass constructor ==(TObject) } implementation objectClass procedur=recordeprogram class function funclassesction TFoo.Bar end;endrecords class function class procedurebe gin . VARCLASS CLASS CONSTRU]CTOR{ CLASS FUNCTION (TOBJECT)finalization record (TObject) class function TFoo.Bar initializationunittypeclass var object{ usesfunctio functio