diff --git a/.github/docs/Sillot-Gibbet/README.md b/.github/docs/Sillot-Gibbet/README.md index b29443400e..02c0d103ec 100644 --- a/.github/docs/Sillot-Gibbet/README.md +++ b/.github/docs/Sillot-Gibbet/README.md @@ -45,7 +45,7 @@ 汐洛绞架始终坚持精品路线,从不在任何一个细节上妥协。专注于为目标用户提供最好的使用体验,这是实现极致优雅的必由之路。汐洛绞架尊重非目标用户的声音,但并不关心。
- +
## 开发者友好 @@ -69,7 +69,3 @@ go install github.com/ofabry/go-callvis 注意事项: 1. tpl 模板直接合并冲突没有作用,汐洛绞架是通过 JS 生成的 tpl ,因此需要修改 genTPLData.js 等 JS 文件 - -- -
diff --git a/.vscode/extensions/Sillot/package.json b/.vscode/extensions/Sillot/package.json index 0a3178d2ff..99ab15e77a 100644 --- a/.vscode/extensions/Sillot/package.json +++ b/.vscode/extensions/Sillot/package.json @@ -2,7 +2,7 @@ "name": "sillot", "displayName": "汐洛 Sillot", "description": "汐洛彖夲肜矩阵(Sillot T☳Converbenk Matrix)为智慧新彖务服务。此插件为汐洛官方插件,提供多功能一体化集成。", - "version": "0.35.2400", + "version": "0.35.2600", "preview": true, "repository": "https://github.com/Hi-Windom/Sillot", "publisher": "Hi-Windom", diff --git a/app/electron-builder-linux-arm64.yml b/app/electron-builder-linux-arm64.yml index f65fb624ec..3478b5a2cf 100644 --- a/app/electron-builder-linux-arm64.yml +++ b/app/electron-builder-linux-arm64.yml @@ -15,8 +15,15 @@ extraFiles: to: "LICENSE" linux: - icon: "src/assets/icon.png" + icon: "src/assets/icon.icns" category: "Utility" + executableName: "siyuan" + desktop: { + "Name": "SiYuan", + "Comment": "Refactor your thinking", + "Type": "Application", + "Categories": "Utility;" + } extraResources: - from: "kernel-linux-arm64" to: "kernel" @@ -25,6 +32,8 @@ linux: arch: "arm64" - target: "AppImage" arch: "arm64" + - target: "deb" + arch: "arm64" extraResources: - from: "changelogs" diff --git a/app/electron-builder-linux.yml b/app/electron-builder-linux.yml index 15fff4c3fa..6a67c3370c 100644 --- a/app/electron-builder-linux.yml +++ b/app/electron-builder-linux.yml @@ -15,14 +15,22 @@ extraFiles: to: "LICENSE" linux: - icon: "src/assets/icon.png" + icon: "src/assets/icon.icns" category: "Utility" + executableName: "siyuan" + desktop: { + "Name": "SiYuan", + "Comment": "Refactor your thinking", + "Type": "Application", + "Categories": "Utility;" + } extraResources: - from: "kernel-linux" to: "kernel" target: - target: "tar.gz" - target: "AppImage" + - target: "deb" extraResources: - from: "changelogs" diff --git a/app/package.json b/app/package.json index 6a9468eeef..e49c2c6991 100644 --- a/app/package.json +++ b/app/package.json @@ -1,10 +1,9 @@ { "name": "sillot", - "version": "0.35.2400", + "version": "0.35.2600", "syv": "3.0.17", "sypv": "[3.0.16]", "description": "Build Your Eternal Digital Garden", - "author": "Hi-Windom", "homepage": "https://sillot.db.sc.cn", "repository": "https://github.com/Hi-Windom/Sillot", "main": "./electron/main.js", @@ -56,6 +55,11 @@ "note-taking", "notebook" ], + "author": { + "name": "Hi-Windom", + "email": "694357845@qq.com", + "url": "https://ld246.com/member/soltus" + }, "maintainers": [ { "name": "Liang Ding", diff --git a/app/src/assets/icon.svg b/app/src/assets/icon.svg new file mode 100644 index 0000000000..fc15edd5eb --- /dev/null +++ b/app/src/assets/icon.svg @@ -0,0 +1,10 @@ + + diff --git a/app/src/assets/icon256.png b/app/src/assets/icon256.png new file mode 100644 index 0000000000..1edc1c35b5 Binary files /dev/null and b/app/src/assets/icon256.png differ diff --git a/app/src/mobile/settings/about.ts b/app/src/mobile/settings/about.ts index bc0c9f6615..ecb1181ed0 100644 --- a/app/src/mobile/settings/about.ts +++ b/app/src/mobile/settings/about.ts @@ -376,9 +376,6 @@ ${ fetchPost("/api/import/importData", formData); }); const networkServeElement = modelMainElement.querySelector("#networkServe") as HTMLInputElement; - if(networkServeElement.checked){ - window.JSAndroid?.showWifi(); - } networkServeElement.addEventListener("change", () => { fetchPost("/api/system/setNetworkServe", {networkServe: networkServeElement.checked}, () => { if(networkServeElement.checked){ diff --git a/app/src/protyle/util/editorCommonEvent.ts b/app/src/protyle/util/editorCommonEvent.ts index 629231a109..93cfa84517 100644 --- a/app/src/protyle/util/editorCommonEvent.ts +++ b/app/src/protyle/util/editorCommonEvent.ts @@ -891,7 +891,7 @@ export const dropEvent = (protyle: IProtyle, editorElement: HTMLElement) => { // 行内拖拽 const doOperations: IOperation[] = []; const undoOperations: IOperation[] = []; - const undoPreviousId = blockElement.querySelector(`[data-id="${selectedIds[0]}"]`).previousElementSibling.getAttribute("data-id") || ""; + const undoPreviousId = blockElement.querySelector(`.av__row[data-id="${selectedIds[0]}"]`).previousElementSibling.getAttribute("data-id") || ""; selectedIds.reverse().forEach(item => { if (previousID !== item && undoPreviousId !== previousID) { doOperations.push({ diff --git a/app/src/types/index.d.ts b/app/src/types/index.d.ts index 885c70f7ee..d4e60bf363 100644 --- a/app/src/types/index.d.ts +++ b/app/src/types/index.d.ts @@ -1,950 +1,949 @@ -type TPluginDockPosition = "LeftTop" | "LeftBottom" | "RightTop" | "RightBottom" | "BottomLeft" | "BottomRight" -type TDockPosition = "Left" | "Right" | "Bottom" -type TWS = "main" | "filetree" | "protyle" -type TEditorMode = "preview" | "wysiwyg" -type TOperation = - "insert" - | "update" - | "delete" - | "move" - | "foldHeading" - | "unfoldHeading" - | "setAttrs" - | "updateAttrs" - | "append" - | "insertAttrViewBlock" - | "removeAttrViewBlock" - | "addAttrViewCol" - | "removeAttrViewCol" - | "addFlashcards" - | "removeFlashcards" - | "updateAttrViewCell" - | "updateAttrViewCol" - | "updateAttrViewColTemplate" - | "sortAttrViewRow" - | "sortAttrViewCol" - | "sortAttrViewKey" - | "setAttrViewColPin" - | "setAttrViewColHidden" - | "setAttrViewColWrap" - | "setAttrViewColWidth" - | "updateAttrViewColOptions" - | "removeAttrViewColOption" - | "updateAttrViewColOption" - | "setAttrViewName" - | "doUpdateUpdated" - | "setAttrViewColIcon" - | "setAttrViewFilters" - | "setAttrViewSorts" - | "setAttrViewColCalc" - | "updateAttrViewColNumberFormat" - | "replaceAttrViewBlock" - | "addAttrViewView" - | "setAttrViewViewName" - | "removeAttrViewView" - | "setAttrViewViewIcon" - | "duplicateAttrViewView" - | "sortAttrViewView" - | "setAttrViewPageSize" - | "updateAttrViewColRelation" - | "moveOutlineHeading" - | "updateAttrViewColRollup" - | "hideAttrViewName" - | "setAttrViewColDate" - | "unbindAttrViewBlock" -type TBazaarType = "templates" | "icons" | "widgets" | "themes" | "plugins" -type TCardType = "doc" | "notebook" | "all" -type TEventBus = "ws-main" | "sync-start" | "sync-end" | "sync-fail" | - "click-blockicon" | "click-editorcontent" | "click-pdf" | "click-editortitleicon" | "click-flashcard-action" | - "open-noneditableblock" | - "open-menu-blockref" | "open-menu-fileannotationref" | "open-menu-tag" | "open-menu-link" | "open-menu-image" | - "open-menu-av" | "open-menu-content" | "open-menu-breadcrumbmore" | "open-menu-doctree" | "open-menu-inbox" | - "open-siyuan-url-plugin" | "open-siyuan-url-block" | - "paste" | - "input-search" | - "loaded-protyle" | "loaded-protyle-dynamic" | "loaded-protyle-static" | - "switch-protyle" | - "destroy-protyle" | - "lock-screen" | - "mobile-keyboard-show" | "mobile-keyboard-hide" -type TAVCol = - "text" - | "date" - | "number" - | "relation" - | "rollup" - | "select" - | "block" - | "mSelect" - | "url" - | "email" - | "phone" - | "mAsset" - | "template" - | "created" - | "updated" - | "checkbox" - | "lineNumber" -type THintSource = "search" | "av" | "hint"; -type TAVFilterOperator = - "=" - | "!=" - | ">" - | ">=" - | "<" - | "<=" - | "Contains" - | "Does not contains" - | "Is empty" - | "Is not empty" - | "Starts with" - | "Ends with" - | "Is between" - | "Is relative to today" - | "Is true" - | "Is false" -// declare module "blueimp-md5" - -interface Window { - echarts: { - init(element: HTMLElement, theme?: string, options?: { - width: number - }): { - setOption(option: any): void; - getZr(): any; - on(name: string, event: (e: any) => void): any; - containPixel(name: string, position: number[]): any; - resize(): void; - }; - dispose(element: Element): void; - getInstanceById(id: string): { - resize: () => void - }; - } - ABCJS: { - renderAbc(element: Element, text: string, options: { - responsive: string - }): void; - } - hljs: { - listLanguages(): string[]; - highlight(text: string, options: { - language?: string, - ignoreIllegals: boolean - }): { - value: string - }; - getLanguage(text: string): { - name: string - }; - }; - katex: { - renderToString(math: string, option: { - displayMode: boolean; - output: string; - macros: IObject; - trust: boolean; - strict: (errorCode: string) => "ignore" | "warn"; - }): string; - } - mermaid: { - initialize(options: any): void, - render(id: string, text: string): { svg: string } - }; - plantumlEncoder: { - encode(options: string): string, - }; - pdfjsLib: any - - dataLayer: any[] - - siyuan: ISiyuan - webkit: any - html2canvas: (element: Element, opitons: { - useCORS: boolean, - scale?: number - }) => Promiseq){b.pos=b.pos+(1)>>0;c=new B.Node.ptr("","","","",16,CY.nil,CY.nil,CY.nil,CY.nil,CY.nil,CZ.nil,g,"","",false,false,false,0,false,0,0,0,CW.nil,CW.nil,CW.nil,0,DA.nil,false,DB.nil,0,0,0,0,CW.nil,0,false,"",0,CW.nil,"",CZ.nil,CW.nil,DD.nil,false,"","","","","","","","","","","",0,"");return c;}if(((120===p.charCodeAt(2))||(88===p.charCodeAt(2)))&&5>q){b.pos=b.pos+(1)>>0;c=new B.Node.ptr("","","","",16,CY.nil,CY.nil,CY.nil,CY.nil,CY.nil,CZ.nil,g,"","",false,false,false,0,false,0,0,0,CW.nil,CW.nil,CW.nil,0,DA.nil,false,DB.nil,0,0,0,0,CW.nil,0,false,"",0,CW.nil,"",CZ.nil,CW.nil,DD.nil,false,"","","","","","","","","","","",0,"");return c;}}r=G.HtmlUnescapeString(p);if(r===p){b.pos=b.pos+(1)>>0;c=new B.Node.ptr("","","","",16,CY.nil,CY.nil,CY.nil,CY.nil,CY.nil,CZ.nil,g,"","",false,false,false,0,false,0,0,0,CW.nil,CW.nil,CW.nil,0,DA.nil,false,DB.nil,0,0,0,0,CW.nil,0,false,"",0,CW.nil,"",CZ.nil,CW.nil,DD.nil,false,"","","","","","","","","","","",0,"");return c;}b.pos=b.pos+((l-h>>0))>>0;c=new B.Node.ptr("","","","",44,CY.nil,CY.nil,CY.nil,CY.nil,CY.nil,CZ.nil,E.StrToBytes(r),"","",false,false,false,0,false,0,0,0,CW.nil,CW.nil,CW.nil,0,DA.nil,false,DB.nil,0,0,0,0,CW.nil,0,false,"",0,CW.nil,"",CZ.nil,E.StrToBytes(p),DD.nil,false,"","","","","","","","","","","",0,"");return c;};AC.prototype.parseEntity=function(b){return this.$val.parseEntity(b);};AC.ptr.prototype.parseCloseBracket=function(b){var{aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r,$c}=$restore(this,{b});$s=$s||0;s:while(true){switch($s){case 0:c=this;f=new CW([(d=b.tokens,e=b.pos,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]))]);b.pos=b.pos+(1)>>0;g=b.pos;h=b.brackets;if(DM.nil===h){$s=-1;return new B.Node.ptr("","","","",16,CY.nil,CY.nil,CY.nil,CY.nil,CY.nil,CZ.nil,f,"","",false,false,false,0,false,0,0,0,CW.nil,CW.nil,CW.nil,0,DA.nil,false,DB.nil,0,0,0,0,CW.nil,0,false,"",0,CW.nil,"",CZ.nil,CW.nil,DD.nil,false,"","","","","","","","","","","",0,"");}if(!h.active){c.removeBracket(b);$s=-1;return new B.Node.ptr("","","","",16,CY.nil,CY.nil,CY.nil,CY.nil,CY.nil,CZ.nil,f,"","",false,false,false,0,false,0,0,0,CW.nil,CW.nil,CW.nil,0,DA.nil,false,DB.nil,0,0,0,0,CW.nil,0,false,"",0,CW.nil,"",CZ.nil,CW.nil,DD.nil,false,"","","","","","","","","","","",0,"");}i=h.image;j=CW.nil;k=CW.nil;l=CW.nil;m=CW.nil;n=CW.nil;o=j;p=k;q=l;r=m;s=n;t=b.pos;u=false;if((b.pos+1>>0)=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+w])))){$s=1;continue;}$s=2;continue;case 1:b.pos=b.pos+(1)>>0;x=false;y=CW.nil;z=CW.nil;aa=y;ab=z;case 3:ac=D.Spnl($subslice(b.tokens,(b.pos-1>>0)));x=ac[0];aa=ac[1];ab=ac[2];if(!x){$s=4;continue;}b.pos=b.pos+(aa.$length)>>0;ae=c.Context.parseInlineLinkDest(ab);$s=5;case 5:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ad=ae;aa=ad[0];ab=ad[1];p=ad[2];if(CW.nil===aa){$s=4;continue;}if(c.Context.ParseOption.VditorWYSIWYG||c.Context.ParseOption.VditorIR||c.Context.ParseOption.VditorSV||c.Context.ParseOption.ProtyleWYSIWYG){if(!i&&CY.nil===h.node.Next){$s=4;continue;}}b.pos=b.pos+(aa.$length)>>0;o=$subslice(aa,0,1);s=$subslice(aa,(aa.$length-1>>0));u=41===(af=aa.$length-1>>0,((af<0||af>=aa.$length)?($throwRuntimeError("index out of range"),undefined):aa.$array[aa.$offset+af]));if(u&&1 =ab.$length?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+0]))&&!((34===(1>=ab.$length?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+1])));}if(u){b.pos=b.pos-(1)>>0;$s=4;continue;}if(1>ab.$length||!D.IsWhitespace((0>=ab.$length?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+0]))){$s=4;continue;}ag=D.Spnl(ab);x=ag[0];aa=ag[1];ab=ag[2];if(!x){$s=4;continue;}q=aa;b.pos=b.pos+(aa.$length)>>0;u=41===(0>=ab.$length?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+0]);s=$subslice(ab,0,1);if(u){$s=4;continue;}b.pos=b.pos+(1)>>0;ah=false;ai=c.Context.parseLinkTitle(ab);ah=ai[0];aa=ai[1];ab=ai[2];r=ai[3];if(!ah){$s=4;continue;}b.pos=b.pos+(aa.$length)>>0;aj=D.Spnl(ab);x=aj[0];aa=aj[1];ab=aj[2];b.pos=b.pos+(aa.$length)>>0;u=x&&0 >0)),ab);}else{r=C.CaretTokens;ab=$subslice(ab,C.CaretTokens.$length);b.pos=b.pos+(3)>>0;}}else if(A.HasPrefix(ab,(new CW($stringToBytes(")\xE2\x80\xB8"))))){if(0===r.$length){r=C.CaretTokens;ab=A.ReplaceAll(ab,C.CaretTokens,CW.nil);b.pos=b.pos+(3)>>0;}}}u=41===(0>=ab.$length?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+0]);}s=$subslice(ab,0);$s=4;continue;case 4:if(!u){b.pos=t;}case 2:ak=CW.nil;al=0;if(!u){$s=6;continue;}$s=7;continue;case 6:am=b.pos;an=c.Context.parseLinkLabel($subslice(b.tokens,am));ao=an[0];ap=an[2];if(2 >0;}else if(!h.bracketAfter){aq=h.index;if(91===(ar=b.tokens,((aq<0||aq>=ar.$length)?($throwRuntimeError("index out of range"),undefined):ar.$array[ar.$offset+aq]))){aq=aq+(1)>>0;}ak=$subslice(b.tokens,aq,(g-1>>0));b.pos=b.pos+(2)>>0;}if(0===ao){b.pos=g;}if(!(CW.nil===ak)){$s=8;continue;}$s=9;continue;case 8:if(c.Context.ParseOption.Footnotes){$s=10;continue;}$s=11;continue;case 10:at=c.FindFootnotesDef(ak);$s=12;case 12:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}as=at;au=as[0];av=as[1];if(!(CY.nil===av)){c.removeBracket(b);if(c.Context.ParseOption.Sup&&!(CY.nil===h.node.Next.Next)){h.node.Next.Next.Unlink();h.node.Next.Unlink();}else{h.node.Next.Unlink();}h.node.Unlink();aw=I.Itoa(au);ax=av.FootnotesRefs.$length;if(0 >0));}ay=new B.Node.ptr("","","","",412,CY.nil,CY.nil,CY.nil,CY.nil,CY.nil,CZ.nil,ak,"","",false,false,false,0,false,0,0,0,CW.nil,CW.nil,CW.nil,0,DA.nil,false,DB.nil,0,0,0,0,CW.nil,0,false,"",0,A.ReplaceAll(ak,C.CaretTokens,CW.nil),aw,CZ.nil,CW.nil,DD.nil,false,"","","","","","","","","","","",0,"");av.FootnotesRefs=$append(av.FootnotesRefs,ay);$s=-1;return ay;}case 11:az=c.FindLinkRefDefLink(ak);$s=13;case 13:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ba=az;if(!(CY.nil===ba)){p=ba.ChildByType(41).Tokens;bb=ba.ChildByType(42);if(!(CY.nil===bb)){r=bb.Tokens;}u=true;al=3;}case 9:case 7:if(u){bc=new B.Node.ptr("","","","",33,CY.nil,CY.nil,CY.nil,CY.nil,CY.nil,CZ.nil,CW.nil,"","",false,false,false,0,false,0,0,0,CW.nil,CW.nil,CW.nil,0,DA.nil,false,DB.nil,0,0,0,al,ak,0,false,"",0,CW.nil,"",CZ.nil,CW.nil,DD.nil,false,"","","","","","","","","","","",0,"");if(i){bc.Type=34;bc.AppendChild(new B.Node.ptr("","","","",35,CY.nil,CY.nil,CY.nil,CY.nil,CY.nil,CZ.nil,$subslice(h.node.Tokens,0,1),"","",false,false,false,0,false,0,0,0,CW.nil,CW.nil,CW.nil,0,DA.nil,false,DB.nil,0,0,0,0,CW.nil,0,false,"",0,CW.nil,"",CZ.nil,CW.nil,DD.nil,false,"","","","","","","","","","","",0,""));h.node.Tokens=$subslice(h.node.Tokens,1);}bc.AppendChild(new B.Node.ptr("","","","",36,CY.nil,CY.nil,CY.nil,CY.nil,CY.nil,CZ.nil,h.node.Tokens,"","",false,false,false,0,false,0,0,0,CW.nil,CW.nil,CW.nil,0,DA.nil,false,DB.nil,0,0,0,0,CW.nil,0,false,"",0,CW.nil,"",CZ.nil,CW.nil,DD.nil,false,"","","","","","","","","","","",0,""));bd=CY.nil;be=CY.nil;bf=bd;bg=be;bf=h.node.Next;while(true){if(!(!(CY.nil===bf))){break;}bg=bf.Next;bf.Unlink();if(16===bf.Type){bf.Type=40;}bc.AppendChild(bf);bf=bg;}bc.AppendChild(new B.Node.ptr("","","","",37,CY.nil,CY.nil,CY.nil,CY.nil,CY.nil,CZ.nil,f,"","",false,false,false,0,false,0,0,0,CW.nil,CW.nil,CW.nil,0,DA.nil,false,DB.nil,0,0,0,0,CW.nil,0,false,"",0,CW.nil,"",CZ.nil,CW.nil,DD.nil,false,"","","","","","","","","","","",0,""));bc.AppendChild(new B.Node.ptr("","","","",38,CY.nil,CY.nil,CY.nil,CY.nil,CY.nil,CZ.nil,o,"","",false,false,false,0,false,0,0,0,CW.nil,CW.nil,CW.nil,0,DA.nil,false,DB.nil,0,0,0,0,CW.nil,0,false,"",0,CW.nil,"",CZ.nil,CW.nil,DD.nil,false,"","","","","","","","","","","",0,""));bc.AppendChild(new B.Node.ptr("","","","",41,CY.nil,CY.nil,CY.nil,CY.nil,CY.nil,CZ.nil,p,"","",false,false,false,0,false,0,0,0,CW.nil,CW.nil,CW.nil,0,DA.nil,false,DB.nil,0,0,0,0,CW.nil,0,false,"",0,CW.nil,"",CZ.nil,CW.nil,DD.nil,false,"","","","","","","","","","","",0,""));if(!(CW.nil===q)){bc.AppendChild(new B.Node.ptr("","","","",43,CY.nil,CY.nil,CY.nil,CY.nil,CY.nil,CZ.nil,q,"","",false,false,false,0,false,0,0,0,CW.nil,CW.nil,CW.nil,0,DA.nil,false,DB.nil,0,0,0,0,CW.nil,0,false,"",0,CW.nil,"",CZ.nil,CW.nil,DD.nil,false,"","","","","","","","","","","",0,""));}if(0 >0;c=new B.Node.ptr("","","","",16,CY.nil,CY.nil,CY.nil,CY.nil,CY.nil,CZ.nil,$subslice(b.tokens,e,b.pos),"","",false,false,false,0,false,0,0,0,CW.nil,CW.nil,CW.nil,0,DA.nil,false,DB.nil,0,0,0,0,CW.nil,0,false,"",0,CW.nil,"",CZ.nil,CW.nil,DD.nil,false,"","","","","","","","","","","",0,"");d.addBracket(c,b.pos-1>>0,false,b);return c;};AC.prototype.parseOpenBracket=function(b){return this.$val.parseOpenBracket(b);};AC.ptr.prototype.addBracket=function(b,c,d,e){var b,c,d,e,f;f=this;if(!(DM.nil===e.brackets)){e.brackets.bracketAfter=true;}e.brackets=new CA.ptr(b,0,0,0,false,false,e.brackets,DM.nil,true,d,false,c,e.delimiters);};AC.prototype.addBracket=function(b,c,d,e){return this.$val.addBracket(b,c,d,e);};AC.ptr.prototype.removeBracket=function(b){var b,c;c=this;b.brackets=b.brackets.previous;};AC.prototype.removeBracket=function(b){return this.$val.removeBracket(b);};AC.ptr.prototype.parseBang=function(b){var b,c,d,e,f,g;c=CY.nil;d=this;e=b.pos;b.pos=b.pos+(1)>>0;if(b.pos =f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g])))){b.pos=b.pos+(1)>>0;c=new B.Node.ptr("","","","",16,CY.nil,CY.nil,CY.nil,CY.nil,CY.nil,CZ.nil,$subslice(b.tokens,e,b.pos),"","",false,false,false,0,false,0,0,0,CW.nil,CW.nil,CW.nil,0,DA.nil,false,DB.nil,0,0,0,0,CW.nil,0,false,"",0,CW.nil,"",CZ.nil,CW.nil,DD.nil,false,"","","","","","","","","","","",0,"");d.addBracket(c,e+2>>0,true,b);return c;}c=new B.Node.ptr("","","","",16,CY.nil,CY.nil,CY.nil,CY.nil,CY.nil,CZ.nil,$subslice(b.tokens,e,b.pos),"","",false,false,false,0,false,0,0,0,CW.nil,CW.nil,CW.nil,0,DA.nil,false,DB.nil,0,0,0,0,CW.nil,0,false,"",0,CW.nil,"",CZ.nil,CW.nil,DD.nil,false,"","","","","","","","","","","",0,"");return c;};AC.prototype.parseBang=function(b){return this.$val.parseBang(b);};BI=function(b,c){var{b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r,$c}=$restore(this,{b,c});$s=$s||0;s:while(true){switch($s){case 0:if(b.Context.indented){$s=-1;return 0;}if(!((60===D.Peek(b.Context.currentLine,b.Context.nextNonspace)))){$s=-1;return 0;}if(b.Context.ParseOption.VditorWYSIWYG){if(A.Contains(b.Context.currentLine,(new CW($stringToBytes("vditor-comment"))))){$s=-1;return 0;}}if(b.Context.ParseOption.ProtyleWYSIWYG){if(A.Contains(b.Context.currentLine,(new CW($stringToBytes(""))))){$s=7;continue;}if(A.HasPrefix(d,(new CW($stringToBytes("