From e657c9868819516826750dc3d030c6479076c702 Mon Sep 17 00:00:00 2001 From: lxsang Date: Wed, 14 Apr 2021 15:17:13 +0200 Subject: [PATCH] move some API from CodePad to system API --- release/antos-1.2.0.tar.gz | Bin 4764978 -> 4765550 bytes src/core/vfs.ts | 420 ++++++++++++++++++++- src/packages/CodePad/ACEModel.ts | 167 +++++--- src/packages/CodePad/AntOSDK.ts | 33 +- src/packages/CodePad/BaseEditorModel.ts | 247 ++++++------ src/packages/CodePad/BaseExtension.ts | 381 +------------------ src/packages/CodePad/ExtensionMaker.ts | 18 +- src/packages/CodePad/libs/corelib.d.ts.zip | Bin 121079 -> 121215 bytes src/packages/CodePad/main.ts | 84 ++--- 9 files changed, 685 insertions(+), 665 deletions(-) diff --git a/release/antos-1.2.0.tar.gz b/release/antos-1.2.0.tar.gz index 5746d3418975df1440f39b859bb2853a295f4dd6..cd51d0a8f686fb0a25d0a125f97d9edcb44dab0d 100644 GIT binary patch delta 4126150 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�}>zK-oB(f#B#Qpi8tr#$`AjLIAWTkE;muC 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