{"tiddlers":{"$:/plugins/linonetwo/source-control-management/images/apply-version":{"title":"$:/plugins/linonetwo/source-control-management/images/apply-version","caption":"SCM Apply Version","category":"","collection":"Fill","library":"Eva Icons","library_version":"1.1.3","tags":"$:/tags/Image Icons Images SVG","type":"text/vnd.tiddlywiki","text":""},"$:/plugins/linonetwo/source-control-management/images/branch":{"title":"$:/plugins/linonetwo/source-control-management/images/branch","caption":"branch-fill-fill","category":"Others","collection":"Fill","library":"IconPark","library_version":"1.3.0","tags":"$:/tags/Image Icons Images SVG","type":"text/vnd.tiddlywiki","text":" branchs Created with Sketch. "},"$:/plugins/linonetwo/source-control-management/images/clear":{"title":"$:/plugins/linonetwo/source-control-management/images/clear","caption":"clear","category":"Content","collection":"filled","library":"Google Material Design","library_version":"5.9.55","tags":"$:/tags/Image Icons Images SVG","type":"text/vnd.tiddlywiki","text":""},"$:/plugins/linonetwo/source-control-management/images/diff":{"title":"$:/plugins/linonetwo/source-control-management/images/diff","caption":"SCM Diff","collection":"oct","library":"svg-icon","tags":"$:/tags/Image Icons Images SVG","type":"text/vnd.tiddlywiki","text":""},"$:/plugins/linonetwo/source-control-management/images/open-in-story":{"title":"$:/plugins/linonetwo/source-control-management/images/open-in-story","caption":"SCM Open in Story","collection":"","library":"Bootstrap","library_version":"1.3.0","tags":"$:/tags/Image Icons Images SVG","type":"text/vnd.tiddlywiki","text":""},"$:/plugins/linonetwo/source-control-management/images/search":{"title":"$:/plugins/linonetwo/source-control-management/images/search","caption":"135-search","collection":"","library":"IcoMoon Free","library_version":"13-Mar-2016","tags":"$:/tags/Image Icons Images SVG","type":"text/vnd.tiddlywiki","text":""},"$:/plugins/linonetwo/source-control-management/images/view-files":{"title":"$:/plugins/linonetwo/source-control-management/images/view-files","caption":"SCM View Files","category":"Maps","collection":"round","library":"Google Material Design","library_version":"5.9.55","tags":"$:/tags/Image Icons Images SVG","type":"text/vnd.tiddlywiki","text":""},"$:/plugins/linonetwo/source-control-management/images/zoom-in":{"title":"$:/plugins/linonetwo/source-control-management/images/zoom-in","caption":"zoom-in","collection":"","library":"Open Iconic","library_version":"1.1.1","tags":"$:/tags/Image Icons Images SVG","type":"text/vnd.tiddlywiki","text":""},"$:/plugins/linonetwo/source-control-management/language/en-GB/Name":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/Name","text":"Version History"},"$:/plugins/linonetwo/source-control-management/language/en-GB/Description":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/Description","text":"View and manage Git version history with commit search and file content inspection."},"$:/plugins/linonetwo/source-control-management/language/en-GB/SideBarTab/Caption":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/SideBarTab/Caption","text":"History"},"$:/plugins/linonetwo/source-control-management/language/en-GB/SideBarTab/Description":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/SideBarTab/Description","text":"View and manage Git version history"},"$:/plugins/linonetwo/source-control-management/language/en-GB/History/SectionTitle":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/History/SectionTitle","text":"History Commits"},"$:/plugins/linonetwo/source-control-management/language/en-GB/ViewTiddler/Button":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/ViewTiddler/Button","text":"View"},"$:/plugins/linonetwo/source-control-management/language/en-GB/Search/Placeholder":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/Search/Placeholder","text":"Search commits by message..."},"$:/plugins/linonetwo/source-control-management/language/en-GB/Search/Button":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/Search/Button","text":"Search"},"$:/plugins/linonetwo/source-control-management/language/en-GB/Search/Clear":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/Search/Clear","text":"Clear"},"$:/plugins/linonetwo/source-control-management/language/en-GB/CommitList/Empty":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/CommitList/Empty","text":"No commits found"},"$:/plugins/linonetwo/source-control-management/language/en-GB/CommitList/Loading":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/CommitList/Loading","text":"Loading..."},"$:/plugins/linonetwo/source-control-management/language/en-GB/CommitList/Uncommitted":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/CommitList/Uncommitted","text":"Uncommitted Changes"},"$:/plugins/linonetwo/source-control-management/language/en-GB/CommitList/Author":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/CommitList/Author","text":"Author"},"$:/plugins/linonetwo/source-control-management/language/en-GB/CommitList/Date":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/CommitList/Date","text":"Date"},"$:/plugins/linonetwo/source-control-management/language/en-GB/CommitList/Message":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/CommitList/Message","text":"Message"},"$:/plugins/linonetwo/source-control-management/language/en-GB/FileList/Title":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/FileList/Title","text":"Changed Files"},"$:/plugins/linonetwo/source-control-management/language/en-GB/FileList/Empty":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/FileList/Empty","text":"No files changed"},"$:/plugins/linonetwo/source-control-management/language/en-GB/FileContent/Title":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/FileContent/Title","text":"File Content"},"$:/plugins/linonetwo/source-control-management/language/en-GB/FileContent/NoSelection":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/FileContent/NoSelection","text":"Select a file to view its content"},"$:/plugins/linonetwo/source-control-management/language/en-GB/FileContent/Loading":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/FileContent/Loading","text":"Loading file content..."},"$:/plugins/linonetwo/source-control-management/language/en-GB/FileContent/OpenInStory":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/FileContent/OpenInStory","text":"Open in Story"},"$:/plugins/linonetwo/source-control-management/language/en-GB/FileContent/Apply":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/FileContent/Apply","text":"Apply this version"},"$:/plugins/linonetwo/source-control-management/language/en-GB/FileContent/ApplyConfirm":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/FileContent/ApplyConfirm","text":"Are you sure you want to apply this historic version? This will replace the current content."},"$:/plugins/linonetwo/source-control-management/language/en-GB/FileContent/ShowDiff":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/FileContent/ShowDiff","text":"Show Diff"},"$:/plugins/linonetwo/source-control-management/language/en-GB/FileContent/ShowRendered":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/FileContent/ShowRendered","text":"Rendered View"},"$:/plugins/linonetwo/source-control-management/language/en-GB/FileContent/ShowOtherFiles":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/FileContent/ShowOtherFiles","text":"View other files"},"$:/plugins/linonetwo/source-control-management/language/en-GB/FileContent/HideOtherFiles":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/FileContent/HideOtherFiles","text":"Hide other files"},"$:/plugins/linonetwo/source-control-management/language/en-GB/FileContent/ShowMetadata":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/FileContent/ShowMetadata","text":"Toggle Metadata Display"},"$:/plugins/linonetwo/source-control-management/language/en-GB/Configs/Caption":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/Configs/Caption","text":"Settings"},"$:/plugins/linonetwo/source-control-management/language/en-GB/Configs/Debug/Caption":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/Configs/Debug/Caption","text":"Debug Mode"},"$:/plugins/linonetwo/source-control-management/language/en-GB/Configs/Debug/Description":{"title":"$:/plugins/linonetwo/source-control-management/language/en-GB/Configs/Debug/Description","text":"Enable debug mode to use mock data for testing UI without real Git backend."},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/Name":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/Name","text":"版本历史"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/Description":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/Description","text":"查看和管理 Git 版本历史,支持提交搜索和文件内容查看。"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/SideBarTab/Caption":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/SideBarTab/Caption","text":"历史记录"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/SideBarTab/Description":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/SideBarTab/Description","text":"查看和管理 Git 版本历史"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/History/SectionTitle":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/History/SectionTitle","text":"历史提交"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/ViewTiddler/Button":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/ViewTiddler/Button","text":"查看"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/Search/Placeholder":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/Search/Placeholder","text":"搜索提交消息..."},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/Search/Button":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/Search/Button","text":"搜索"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/Search/Clear":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/Search/Clear","text":"清除"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/CommitList/Empty":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/CommitList/Empty","text":"未找到提交"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/CommitList/Loading":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/CommitList/Loading","text":"加载中..."},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/CommitList/Uncommitted":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/CommitList/Uncommitted","text":"未提交的更改"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/CommitList/Author":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/CommitList/Author","text":"作者"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/CommitList/Date":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/CommitList/Date","text":"日期"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/CommitList/Message":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/CommitList/Message","text":"消息"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileList/Title":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileList/Title","text":"更改的文件"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileList/Empty":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileList/Empty","text":"没有文件更改"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileContent/Title":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileContent/Title","text":"文件内容"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileContent/NoSelection":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileContent/NoSelection","text":"选择一个文件以查看其内容"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileContent/Loading":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileContent/Loading","text":"加载文件内容中..."},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileContent/OpenInStory":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileContent/OpenInStory","text":"在故事流中打开"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileContent/Apply":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileContent/Apply","text":"应用此版本"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileContent/ApplyConfirm":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileContent/ApplyConfirm","text":"您确定要应用此历史版本吗?这将替换当前内容。"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileContent/ShowDiff":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileContent/ShowDiff","text":"显示差异"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileContent/ShowRendered":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileContent/ShowRendered","text":"渲染视图"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileContent/ShowOtherFiles":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileContent/ShowOtherFiles","text":"查看其他文件"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileContent/HideOtherFiles":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileContent/HideOtherFiles","text":"隐藏其他文件"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileContent/ShowMetadata":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileContent/ShowMetadata","text":"切换元信息显示"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/Configs/Caption":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/Configs/Caption","text":"设置"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/Configs/Debug/Caption":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/Configs/Debug/Caption","text":"调试模式"},"$:/plugins/linonetwo/source-control-management/language/zh-Hans/Configs/Debug/Description":{"title":"$:/plugins/linonetwo/source-control-management/language/zh-Hans/Configs/Debug/Description","text":"启用调试模式以使用模拟数据测试 UI,无需真实 Git 后端。"},"$:/plugins/linonetwo/source-control-management/palette-styles":{"title":"$:/plugins/linonetwo/source-control-management/palette-styles","tags":"$:/tags/Stylesheet","type":"text/css","text":".tidgi-scm-error{background-color:<>;border-color:<>;color:<>}.tidgi-scm-input-section,.tidgi-scm-search-section{border-bottom-color:<>}.tidgi-scm-search-input{border-color:<>;background-color:<>;color:<>}.tidgi-scm-commit-item{border-bottom-color:<>}.tidgi-scm-commit-item.selected .tidgi-scm-commit-button{background-color:<>;border-left-color:<>}.tidgi-scm-commit-section{border-bottom-color:<>}.tidgi-scm-uncommitted-item{border-bottom-color:<>;color:<>}.tidgi-scm-uncommitted-item::before{color:<>}.tidgi-scm-uncommitted-item.selected{border-left-color:<>}.tidgi-scm-uncommitted-label{color:<>}div.tidgi-scm-commit-item{border-bottom-color:<>;color:<>}div.tidgi-scm-commit-item::before{color:<>}div.tidgi-scm-commit-item:hover{background-color:<>}div.tidgi-scm-commit-item.selected{background-color:<>;border-left-color:<>}.tidgi-scm-commit-message{color:<>}.tidgi-scm-commit-meta,.tidgi-scm-empty,.tidgi-scm-loading{color:<>}.tidgi-scm-load-more{color:<>;border-top-color:<>}.tidgi-scm-btn{background-color:<>;border-color:<>;color:<>}.tidgi-scm-btn.tc-btn-invisible{background:0 0;border-color:transparent}.tidgi-scm-btn.tc-btn-invisible:hover{background-color:<>;border-color:<>}.tidgi-scm-btn.tc-btn-invisible:active{background-color:<>}.tidgi-scm-btn:hover{background-color:<>;border-color:<>;color:<>}.tidgi-scm-btn:active{background-color:<>}.tidgi-scm-divider{border-top-color:<>}.tidgi-scm-section-title{color:<>}.tidgi-scm-files-section{border-color:<>}.tidgi-scm-files-section h4{color:<>;border-bottom-color:<>}div.tidgi-scm-file-item{border-bottom-color:<>;background:0 0;color:<>}div.tidgi-scm-file-item::before{color:<>}div.tidgi-scm-file-item:hover{background-color:<>}div.tidgi-scm-file-item.selected{background-color:<>;border-left-color:<>}.tidgi-scm-checkbox{color:<>}.tidgi-scm-content-preview{background-color:<>;border-color:<>;color:<>}.tidgi-scm-rendered-content{background-color:<>}.tidgi-scm-metadata-section{border-color:<>}.tidgi-scm-metadata-table td{border-bottom-color:<>}.tidgi-scm-field-name{color:<>}.tidgi-scm-field-value{color:<>}"},"$:/plugins/linonetwo/source-control-management/readme":{"title":"$:/plugins/linonetwo/source-control-management/readme","type":"text/vnd.tiddlywiki","text":"!! Features\n\nThis plugin integrates with [ext[TidGi-Desktop|https://github.com/tiddly-gittly/TidGi-Desktop/]]'s Git version history features, allowing you to:\n\n# Search and browse Git commit history\n# View changed files in each commit\n# Inspect historical file content\n# Restore previous versions of tiddlers\n\n!! Requirements\n\n* Requires [ext[TidGi-Desktop|https://github.com/tiddly-gittly/TidGi-Desktop/]] version 0.13.0 or higher\n* Works with Git-backed wikis only\n\n!! Usage\n\nOpen the \"History\" tab in the sidebar to:\n\n# Search Commits: Enter keywords to search commit messages\n# Browse History: View the list of commits with author and date\n# Inspect Changes: Click on a commit to see changed files\n# View Content: Click on a file to see its content at that point in time\n# Restore Version: Use the \"Apply This Version\" button to restore historical content (requires confirmation)\n\nThe historical file content is stored in a temporary tiddler and can be opened in the story river for easy editing or copying.\n\n!! Technical Details\n\nThis plugin uses TidGi-Desktop's exposed Git APIs to query commit history and file content without requiring external Git commands in the wiki context.\n\n"},"$:/plugins/linonetwo/source-control-management/style.css":{"title":"$:/plugins/linonetwo/source-control-management/style.css","text":".tidgi-scm-history-container{display:flex;flex-direction:column;gap:.25rem;height:100%}.tidgi-scm-error{padding:.5rem;border:1px solid;border-radius:4px}.tidgi-scm-input-section,.tidgi-scm-search-section{display:flex;gap:.25rem;padding:.5rem;border-bottom:1px solid;align-items:center}.tidgi-scm-commit-button{display:block;width:100%;text-align:left;border:none;background:0 0;padding:.5rem;margin:0;cursor:pointer;line-height:normal;color:inherit;font:inherit;border-left:3px solid transparent}.tidgi-scm-commit-item{border-bottom:1px solid}.tidgi-scm-file-button{display:flex;width:100%;align-items:center;gap:.5rem;text-align:left;border:none;background:0 0;padding:0;margin:0;cursor:pointer;color:inherit;font:inherit}.tidgi-scm-view-button{padding:4px 8px}.tidgi-scm-search-input{flex:1;padding:.5rem;border:1px solid;border-radius:4px}.tidgi-scm-commit-section{flex:1;overflow-y:auto;border-bottom:1px solid;max-height:300px}.tidgi-scm-uncommitted-item{padding:.5rem .75rem .5rem 1.75rem;border-bottom:2px solid;cursor:pointer!important;transition:background-color .15s;position:relative}.tidgi-scm-uncommitted-item::before{content:\"\";position:absolute;left:.5rem;font-size:1.5em;line-height:1}.tidgi-scm-uncommitted-item.selected{border-left:3px solid;padding-left:calc(1.75rem - 3px)}.tidgi-scm-uncommitted-item.selected::before{left:calc(.5rem - 3px)}.tidgi-scm-uncommitted-label{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}div.tidgi-scm-commit-item{padding:.5rem .75rem .5rem 1.75rem;border:none;border-bottom:1px solid;background:0 0;transition:background-color .15s;cursor:pointer!important;width:100%;text-align:left;display:block;overflow:hidden;font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;user-select:none;position:relative}div.tidgi-scm-commit-item::before{content:\"\";position:absolute;left:.5rem;font-size:1.5em;line-height:1}div.tidgi-scm-commit-item:last-child{border-bottom:none}div.tidgi-scm-commit-item.selected{border-left:3px solid;padding-left:calc(1.75rem - 3px)}div.tidgi-scm-commit-item.selected::before{left:calc(.5rem - 3px)}.tidgi-scm-commit-message{word-break:break-word;font-size:.9em;font-weight:500;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tidgi-scm-commit-meta{font-size:.75em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tidgi-scm-empty,.tidgi-scm-loading{padding:2rem;text-align:center}.tidgi-scm-load-more{display:block;width:100%;padding:.5rem;text-align:center;border-top:1px solid}.tidgi-scm-content-section{flex:1;overflow-y:auto;padding:0 .25rem .25rem}.tidgi-scm-button-bar{display:flex;gap:.25rem;margin:.25rem 0;flex-wrap:wrap;align-items:center}.tidgi-scm-divider{border:none;border-top:2px solid}.tidgi-scm-section-title{font-size:.9em;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.tidgi-scm-btn{padding:5px 14px;border:1px solid;border-radius:6px;cursor:pointer;font-size:.85em;font-weight:500;transition:.2s cubic-bezier(.4, 0, .2, 1);box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.tidgi-scm-btn.tc-btn-invisible{padding:4px 8px;border:1px solid;box-shadow:none}.tidgi-scm-btn svg{width:1.2em;height:1.2em;fill:currentColor}.tidgi-scm-btn:active{transform:translateY(1px)}.tidgi-scm-files-section{border:1px solid;border-radius:8px;margin-top:.5rem;margin-bottom:.5rem;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.05)}.tidgi-scm-files-section h4{margin:0;padding:.5rem .75rem;font-size:.85em;font-weight:600;border-bottom:1px solid;text-transform:uppercase;letter-spacing:.05em}.tidgi-scm-files-list{max-height:200px;overflow-y:auto}div.tidgi-scm-file-item{display:flex;align-items:center;padding:.4rem .75rem .4rem 1.75rem;border:none;border-bottom:1px solid;background:0 0;cursor:pointer!important;transition:background-color .15s;width:100%;text-align:left;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:thin;gap:.75rem;font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;user-select:none;position:relative}div.tidgi-scm-file-item::before{content:\"\";position:absolute;left:.5rem;font-size:1.5em;line-height:1}div.tidgi-scm-file-item::-webkit-scrollbar{height:4px}div.tidgi-scm-file-item::-webkit-scrollbar-track{background:0 0}div.tidgi-scm-file-item::-webkit-scrollbar-thumb{border-radius:2px}div.tidgi-scm-file-item:last-child{border-bottom:none}div.tidgi-scm-file-item.selected{border-left:3px solid;padding-left:calc(1.75rem - 3px)}div.tidgi-scm-file-item.selected::before{left:calc(.5rem - 3px)}.tidgi-scm-checkbox{margin-left:auto;font-size:.9em;user-select:none;display:flex;align-items:center}.tidgi-scm-file-status{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:9999px;font-size:.7rem;font-weight:700;color:#fff;min-width:4.5em;text-transform:uppercase;letter-spacing:.05em}.tidgi-scm-status-modified{background-color:#f59e0b}.tidgi-scm-status-added{background-color:#10b981}.tidgi-scm-status-deleted{background-color:#ef4444}.tidgi-scm-status-renamed{background-color:#3b82f6}.tidgi-scm-content-preview{border:1px solid;border-radius:8px;padding:1rem;margin-top:.5rem;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;font-size:.85rem;max-height:500px;overflow-y:auto;line-height:1.6;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.tidgi-scm-rendered-content{font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif;white-space:normal;padding:1.5rem}.tidgi-scm-metadata-section{margin-bottom:1rem;border:1px solid;border-radius:6px;overflow:hidden}.tidgi-scm-metadata-table{width:100%;border-collapse:collapse;font-size:.875rem}.tidgi-scm-metadata-table td{padding:.5rem .75rem;border-bottom:1px solid}.tidgi-scm-metadata-table tbody tr:last-child td{border-bottom:none}.tidgi-scm-field-name{font-weight:500;width:120px;white-space:nowrap}.tidgi-scm-field-value{word-break:break-word}.tidgi-scm-rendered-content h1,.tidgi-scm-rendered-content h2,.tidgi-scm-rendered-content h3{margin-top:1em;margin-bottom:.5em}.tidgi-scm-rendered-content p{margin-bottom:1em}.tidgi-scm-rendered-content ol,.tidgi-scm-rendered-content ul{margin-left:1.5em;margin-bottom:1em}","created":"20200415090452849","modified":"20260119000000000","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/linonetwo/source-control-management/tree":{"title":"$:/plugins/linonetwo/source-control-management/tree","type":"text/vnd.tiddlywiki","text":"<>"},"$:/plugins/linonetwo/source-control-management/CommitListSection":{"title":"$:/plugins/linonetwo/source-control-management/CommitListSection","type":"text/vnd.tiddlywiki","text":"\\define lingo-base() $:/plugins/linonetwo/source-control-management/language/\n\n\n
\n <$list filter=\"[[$:/state/scm/viewing-tiddler]get[text]]\" variable=\"viewingTiddler\">\n \n <$git-commit-list tiddler=<> search={{$:/state/scm/search}}>\n\n \n <$list filter=\"[[$:/state/scm/has-uncommitted]text[yes]]\">\n <$eventcatcher $click=\"\"\"<$action-sendmessage $message='tm-scm-load-uncommitted' />\"\"\">\n
\n
<>
\n
\n \n \n\n \n <$list filter=\"[[$:/state/scm/loading]text[yes]]\">\n
<>
\n \n \n \n <$set name=\"commitsTiddler\" value={{{ [[$:/temp/source-control-management/]addsuffixaddsuffix[/commits]] }}}>\n <$list filter=\"[has[list]]\">\n <$list filter=\"[list]\" variable=\"commitHash\">\n <$tiddler tiddler={{{ [[$:/temp/source-control-management/]addsuffixaddsuffix[/commit/]addsuffix] }}}>\n <$eventcatcher $click=\"\"\"<$action-sendmessage $message='tm-scm-load-files' $param=<> />\"\"\">\n
then[selected]] +[join[ ]] }}}>\n
<$text text={{!!text}} />
\n
\n <$text text={{!!author}} /> • <$view field=\"date\" format=\"date\" template=\"YYYY-MM-DD 0hh:0mm:0ss\" />\n
\n
\n \n \n \n \n \n \n <$list filter=\"[!has[list]] [get[list]is[blank]] +[limit[1]]\">\n
<>
\n \n \n \n \n
\n"},"$:/plugins/linonetwo/source-control-management/FilesSection":{"title":"$:/plugins/linonetwo/source-control-management/FilesSection","type":"text/vnd.tiddlywiki","text":"\\define lingo-base() $:/plugins/linonetwo/source-control-management/language/\n\n\n<$list filter=\"[[$:/state/scm/selected-commit]has[text]]\" variable=\"selectedCommit\">\n <$list filter=\"[[$:/state/scm/viewing-tiddler]get[text]]\" variable=\"viewingTiddler\">\n
\n\n \n <$list filter=\"[[$:/state/scm/selected-file]has[text]]\">\n

<>

\n\n \n <$list filter=\"[[$:/state/scm/loading-content]text[yes]]\">\n
<>
\n \n\n <$wikify name=\"tooltipOpenInStory\" text=\"<>\">\n <$wikify name=\"tooltipApply\" text=\"<>\">\n <$wikify name=\"tooltipShowFiles\" text=\"<>\">\n <$wikify name=\"tooltipHideFiles\" text=\"<>\">\n <$wikify name=\"tooltipShowDiff\" text=\"<>\">\n <$wikify name=\"tooltipShowRendered\" text=\"<>\">\n <$wikify name=\"tooltipShowMetadata\" text=\"<>\">\n
\n <$button class=\"tidgi-scm-btn tc-btn-invisible\" message=\"tm-open-in-story\" param={{{ [[$:/temp/source-control-management/]addsuffixaddsuffix[/file-content]] }}} tooltip=<>>\n {{$:/plugins/linonetwo/source-control-management/images/open-in-story}}\n <$action-sendmessage $message=\"tm-add-to-history\" $param={{{ [[$:/temp/source-control-management/]addsuffixaddsuffix[/file-content]] }}} />\n <$action-navigate $to={{{ [[$:/temp/source-control-management/]addsuffixaddsuffix[/file-content]] }}} />\n \n\n <$button class=\"tidgi-scm-btn tc-btn-invisible\" message=\"tm-scm-apply-content\" tooltip=<>>\n {{$:/plugins/linonetwo/source-control-management/images/apply-version}}\n \n\n <$list filter=\"[[$:/state/scm/show-file-list]text[yes]]\" variable=\"null\">\n <$button class=\"tidgi-scm-btn tc-btn-invisible\" tooltip=<>>\n <$action-setfield $tiddler=\"$:/state/scm/show-file-list\" text=\"no\" />\n {{$:/plugins/linonetwo/source-control-management/images/view-files}}\n \n \n <$list filter=\"[[$:/state/scm/show-file-list]!text[yes]]\" variable=\"null\">\n <$button class=\"tidgi-scm-btn tc-btn-invisible\" tooltip=<>>\n <$action-setfield $tiddler=\"$:/state/scm/show-file-list\" text=\"yes\" />\n {{$:/plugins/linonetwo/source-control-management/images/view-files}}\n \n \n\n <$list filter=\"[[$:/state/scm/show-diff]text[yes]]\" variable=\"null\">\n <$button class=\"tidgi-scm-btn tc-btn-invisible\" tooltip=<>>\n <$action-setfield $tiddler=\"$:/state/scm/show-diff\" text=\"no\" />\n {{$:/plugins/linonetwo/source-control-management/images/diff}}\n \n \n <$list filter=\"[[$:/state/scm/show-diff]!text[yes]]\" variable=\"null\">\n <$button class=\"tidgi-scm-btn tc-btn-invisible\" tooltip=<>>\n <$action-setfield $tiddler=\"$:/state/scm/show-diff\" text=\"yes\" />\n {{$:/plugins/linonetwo/source-control-management/images/diff}}\n \n \n \n <$list filter=\"[[$:/state/scm/show-diff]!text[yes]]\" variable=\"null\">\n <$list filter=\"[[$:/state/scm/show-rendered]text[yes]]\" variable=\"null\">\n <$button class=\"tidgi-scm-btn tc-btn-invisible\" tooltip=<>>\n <$action-setfield $tiddler=\"$:/state/scm/show-rendered\" text=\"no\" />\n {{$:/core/images/preview-open}}\n \n \n <$list filter=\"[[$:/state/scm/show-rendered]!text[yes]]\" variable=\"null\">\n <$button class=\"tidgi-scm-btn tc-btn-invisible\" tooltip=<>>\n <$action-setfield $tiddler=\"$:/state/scm/show-rendered\" text=\"yes\" />\n {{$:/core/images/preview-open}}\n \n \n \n \n <$list filter=\"[[$:/state/scm/show-metadata]text[yes]]\" variable=\"null\">\n <$button class=\"tidgi-scm-btn tc-btn-invisible\" tooltip=<>>\n <$action-setfield $tiddler=\"$:/state/scm/show-metadata\" text=\"no\" />\n {{$:/core/images/info-button}}\n \n \n <$list filter=\"[[$:/state/scm/show-metadata]!text[yes]]\" variable=\"null\">\n <$button class=\"tidgi-scm-btn tc-btn-invisible\" tooltip=<>>\n <$action-setfield $tiddler=\"$:/state/scm/show-metadata\" text=\"yes\" />\n {{$:/core/images/info-button}}\n \n \n
\n \n \n \n \n \n \n \n\n <$list filter=\"[[$:/state/scm/show-diff]text[yes]]\" variable=\"null\">\n <$diff-text\n source={{{ [[$:/temp/source-control-management/]addsuffixaddsuffix[/file-content]get[scm-current-content]] }}}\n dest={{{ [[$:/temp/source-control-management/]addsuffixaddsuffix[/file-content]get[text]] }}}\n />\n \n\n <$list filter=\"[[$:/state/scm/show-diff]!text[yes]]\" variable=\"null\">\n <$list filter=\"[[$:/state/scm/show-rendered]text[yes]]\" variable=\"null\">\n
\n <$transclude tiddler={{{ [[$:/temp/source-control-management/]addsuffixaddsuffix[/file-content]] }}} field=\"text\" mode=\"block\" />\n
\n \n \n <$list filter=\"[[$:/state/scm/show-metadata]text[yes]]\" variable=\"null\">\n <$set name=\"fieldsJson\" tiddler={{{ [[$:/temp/source-control-management/]addsuffixaddsuffix[/file-content]] }}} field=\"scm-fields\">\n <$list filter=\"[!is[blank]]\" variable=\"null\">\n \n \n \n \n \n <$list filter=\"[[$:/state/scm/show-rendered]!text[yes]]\" variable=\"null\">\n
<$view tiddler={{{ [[$:/temp/source-control-management/]addsuffixaddsuffix[/file-content]] }}} field=\"text\" />
\n \n \n <$list filter=\"[[$:/state/scm/show-metadata]text[yes]]\" variable=\"null\">\n <$set name=\"fieldsJson\" tiddler={{{ [[$:/temp/source-control-management/]addsuffixaddsuffix[/file-content]] }}} field=\"scm-fields\">\n <$list filter=\"[!is[blank]]\" variable=\"null\">\n \n \n \n \n \n \n \n\n \n <$list filter=\"[[$:/state/scm/selected-file]!has[text]]\">\n
<>
\n \n\n \n <$list filter=\"[[$:/state/scm/selected-file]!has[text]] [[$:/state/scm/show-file-list]text[yes]] +[limit[1]]\">\n
\n

<>

\n\n \n <$list filter=\"[[$:/state/scm/loading-files]text[yes]]\">\n
<>
\n \n\n
\n <$set name=\"filesTiddler\" value={{{ [[$:/temp/source-control-management/]addsuffixaddsuffix[/files]] }}}>\n <$list filter=\"[list]\" variable=\"fileTiddler\">\n <$tiddler tiddler=<>>\n <$eventcatcher $click=\"\"\"<$action-sendmessage $message='tm-scm-load-content' $param={{!!path}} /><$action-setfield $tiddler='$:/state/scm/show-file-list' text='no' />\"\"\">\n
\n \n <$view field=\"status\" />\n \n <$view field=\"path\" />\n
\n \n \n \n \n
\n
\n \n\n
\n \n\n"},"$:/plugins/linonetwo/source-control-management/SearchSection":{"title":"$:/plugins/linonetwo/source-control-management/SearchSection","type":"text/vnd.tiddlywiki","text":"\\define lingo-base() $:/plugins/linonetwo/source-control-management/language/\n\n\n
\n <$wikify name=\"searchPlaceholder\" text=\"<>\">\n <$edit-text tiddler=\"$:/state/scm/search\" default=\"\" placeholder=<> tag=\"input\" class=\"tidgi-scm-search-input tc-edit-texteditor\" />\n \n \n <$wikify name=\"tooltipSearch\" text=\"<>\">\n <$button class=\"tc-btn-invisible\" message=\"tm-scm-reload\" tooltip=<>>\n {{$:/plugins/linonetwo/source-control-management/images/search}}\n \n \n \n <$wikify name=\"tooltipClear\" text=\"<>\">\n <$button class=\"tc-btn-invisible\" tooltip=<>>\n <$action-setfield $tiddler=\"$:/state/scm/search\" text=\"\" />\n <$action-sendmessage $message=\"tm-scm-reload\" />\n {{$:/plugins/linonetwo/source-control-management/images/clear}}\n \n \n
\n"},"$:/plugins/linonetwo/source-control-management/SideBarTab":{"title":"$:/plugins/linonetwo/source-control-management/SideBarTab","tags":"$:/tags/SideBar","type":"text/vnd.tiddlywiki","caption":"<>","description":"<>","text":"\\define lingo-base() $:/plugins/linonetwo/source-control-management/language/\n\n
\n \n <$list filter=\"[[$:/info/tidgi/git-api-available]!text[yes]]\">\n
\n Git API not available. Please use [ext[TidGi-Desktop|https://github.com/tiddly-gittly/TidGi-Desktop/]] 0.13.0+\n
\n \n\n {{$:/plugins/linonetwo/source-control-management/TiddlerInputSection}}\n \n {{$:/plugins/linonetwo/source-control-management/FilesSection}}\n \n \n <$list filter=\"[[$:/state/scm/viewing-tiddler]get[text]]\" variable=\"viewingTiddler\">\n <$set name=\"commitsTitle\" value={{{ [[$:/temp/source-control-management/]addsuffixaddsuffix[/commits]] }}}>\n <$list filter=\"[has[list]]\" variable=\"null\">\n
\n
\n
<>
\n
\n \n {{$:/plugins/linonetwo/source-control-management/SearchSection}}\n \n \n \n \n {{$:/plugins/linonetwo/source-control-management/CommitListSection}}\n\n
\n"},"$:/plugins/linonetwo/source-control-management/TiddlerInputSection":{"title":"$:/plugins/linonetwo/source-control-management/TiddlerInputSection","type":"text/vnd.tiddlywiki","text":"\\define lingo-base() $:/plugins/linonetwo/source-control-management/language/\n\n\n
\n <$edit-text tiddler=\"$:/state/scm/target-tiddler\" default={{$:/temp/focussedTiddler}} tag=\"input\" class=\"tidgi-scm-tiddler-input tc-edit-texteditor\" />\n \n <$wikify name=\"tooltipView\" text=\"<>\">\n <$button class=\"tidgi-scm-view-button tc-btn-invisible\" tooltip=<>>\n <$list filter=\"[[$:/state/scm/target-tiddler]has[text]]\" variable=\"ignore\">\n <$action-setfield $tiddler=\"$:/state/scm/viewing-tiddler\" text={{$:/state/scm/target-tiddler}} />\n \n <$list filter=\"[[$:/state/scm/target-tiddler]!has[text]]\" variable=\"ignore\">\n <$action-setfield $tiddler=\"$:/state/scm/viewing-tiddler\" text={{$:/temp/focussedTiddler}} />\n \n <$action-sendmessage $message=\"tm-scm-reload\" />\n <$action-sendmessage $message=\"tm-scm-auto-select-first-commit\" />\n {{$:/plugins/linonetwo/source-control-management/images/zoom-in}}\n \n \n
\n"},"$:/plugins/linonetwo/source-control-management/tab.js":{"title":"$:/plugins/linonetwo/source-control-management/tab.js","type":"application/javascript","module-type":"widget","Modern.TiddlyDev#Origin":"git-commit-list.ts","text":"\"use strict\";var import_widget=require(\"$:/core/modules/widgets/widget.js\");if($tw.browser){class a extends import_widget.widget{constructor(e,t){super(e,t),this.initialise(e,t)}render(e,t){this.parentDomNode=e,this.computeAttributes(),this.execute();var i=this.document.createElement(\"div\");i.className=\"tidgi-scm-commit-list-container\",this.renderChildren(i,null),e.insertBefore(i,t),this.domNodes.push(i)}execute(){this.getAttribute(\"tiddler\"),this.getAttribute(\"search\"),this.makeChildWidgets()}refresh(e){var t=this.computeAttributes();return t.tiddler||t.search?(this.refreshSelf(),!0):this.refreshChildren(e)}}const b=exports;b[\"git-commit-list\"]=a}"},"$:/plugins/linonetwo/source-control-management/info.js":{"title":"$:/plugins/linonetwo/source-control-management/info.js","type":"application/javascript","module-type":"info","Modern.TiddlyDev#Origin":"info.ts","text":"\"use strict\";function getInfoTiddlerFields(){var e,i=[];return null!==$tw.browser&&\"undefined\"!=typeof window&&(e=\"function\"==typeof window?.service?.git?.callGitOp,i.push({title:\"$:/info/tidgi/git-api-available\",text:e?\"yes\":\"no\"})),i}var moduleExports=exports;moduleExports.getInfoTiddlerFields=getInfoTiddlerFields;"},"$:/plugins/linonetwo/source-control-management/startup.js":{"title":"$:/plugins/linonetwo/source-control-management/startup.js","type":"application/javascript","module-type":"startup","Modern.TiddlyDev#Origin":"startup.ts","text":"\"use strict\";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(t,e)=>{for(var i in e)__defProp(t,i,{get:e[i],enumerable:!0})},__copyProps=(e,i,a,s)=>{if(i&&\"object\"==typeof i||\"function\"==typeof i)for(let t of __getOwnPropNames(i))__hasOwnProp.call(e,t)||t===a||__defProp(e,t,{get:()=>i[t],enumerable:!(s=__getOwnPropDesc(i,t))||s.enumerable});return e},__toCommonJS=t=>__copyProps(__defProp({},\"__esModule\",{value:!0}),t),startup_exports={},normalizePath=(__export(startup_exports,{startup:()=>startup}),module.exports=__toCommonJS(startup_exports),t=>t.replaceAll(\"\\\\\",\"/\")),getGitRepoPathForFile=async(t,e,i)=>{if(t){if(t.isSubWiki&&t.mainWikiToLink)return t.mainWikiToLink;if(e){var a=normalizePath(e),s=normalizePath(t.wikiFolderLocation);if(!a.startsWith(s)&&i)try{for(const r of(await i.getWorkspacesAsList()).filter(t=>t.wikiFolderLocation).sort((t,e)=>e.wikiFolderLocation.length-t.wikiFolderLocation.length)){var o=normalizePath(r.wikiFolderLocation);if(a.startsWith(o))return r.wikiFolderLocation}}catch{}}return t.wikiFolderLocation}},getRelativePath=(t,e)=>{var i=normalizePath(t),a=normalizePath(e);return i.startsWith(a)?i.substring(a.length).replace(/^\\/+/,\"\"):i},startup=()=>{if($tw.browser){var t=\"undefined\"==typeof global?void 0:global.window;const y=\"undefined\"==typeof window?t??$tw.mockWindow??{}:window;let x=0,k=[],T=!1,u;const P=()=>\"yes\"===$tw.wiki.getTiddlerText(\"$:/plugins/linonetwo/source-control-management/configs/debug\"),$=()=>[{path:\"tiddlers/TestTiddler.tid\",status:\"modified\"},{path:\"other.txt\",status:\"added\"}],_=(i,t)=>{$tw.wiki.addTiddler({title:`$:/temp/source-control-management/${i}/commits`,list:t.map(t=>t.hash)}),t.forEach(t=>{var e=`$:/temp/source-control-management/${i}/commit/`+t.hash;$tw.wiki.addTiddler({title:e,text:t.message,author:t.author?.name,date:t.committerDate,hash:t.hash})})},g=(t,e)=>{var i,a=`$:/temp/source-control-management/${t}/files`,s=(i=t,e.map(t=>({title:`$:/temp/source-control-management/${i}/file/`+encodeURIComponent(t.path),text:t.path,status:t.status,path:t.path})));return s.forEach(t=>{$tw.wiki.addTiddler(t)}),$tw.wiki.addTiddler({title:a,list:s.map(t=>t.title)}),s};$tw.rootWidget.addEventListener(\"tm-scm-reload\",async t=>{if(!T){var e=$tw.wiki.getTiddlerText(\"$:/state/scm/viewing-tiddler\");if(e){var i,a,s,o=$tw.wiki.getTiddlerText(\"$:/state/scm/search\"),r=(i=e,x=0,k=[],$tw.wiki.deleteTiddler(`$:/temp/source-control-management/${i}/commits`),P()),n=y.meta?.()?.workspace,l=y.service?.git,d=y.service?.wiki,c=y.service?.workspace;if(l&&d&&n)if(r)try{T=!0,$tw.wiki.setText(\"$:/state/scm/loading\",\"text\",void 0,\"yes\"),u=await getGitRepoPathForFile(n,void 0,c);var m=[{hash:\"mock1\",parents:[],branch:\"main\",message:\"Mock commit 1\",committerDate:\"2023-01-01\",author:{name:\"Mock User\"}},{hash:\"mock2\",parents:[],branch:\"main\",message:\"Mock commit 2\",committerDate:\"2023-01-02\",author:{name:\"Mock User\"}}];k=m,x=1,_(e,m),$tw.wiki.setText(\"$:/state/scm/has-uncommitted\",\"text\",void 0,\"no\")}catch(v){$tw.wiki.setText(\"$:/state/scm/error\",\"text\",void 0,String(v))}finally{T=!1,$tw.wiki.setText(\"$:/state/scm/loading\",\"text\",void 0,\"no\")}else try{T=!0,$tw.wiki.setText(\"$:/state/scm/loading\",\"text\",void 0,\"yes\");let t=await d.getTiddlerFilePath(e,n?.id);if(t||(a=($tw.boot?.files)?.[e])?.filepath&&(t=a.filepath),t){if(u=await getGitRepoPathForFile(n,t,c)){var w=getRelativePath(t,u),$=(await l.callGitOp(\"getGitLog\",u,{page:x,pageSize:50,searchQuery:o??void 0,searchMode:o?\"message\":\"file\",filePath:w})).entries;k=$,x+=1,_(e,$);try{var g=await l.callGitOp(\"getCommitFiles\",u,\"\"),p=Array.isArray(g)?g:[];const h=getRelativePath(t,u);var f=p.some(t=>normalizePath(t.path)===h);$tw.wiki.setText(\"$:/state/scm/has-uncommitted\",\"text\",void 0,f?\"yes\":\"no\")}catch{$tw.wiki.setText(\"$:/state/scm/has-uncommitted\",\"text\",void 0,\"no\")}}}else s=`$:/temp/source-control-management/${e}/commits`,$tw.wiki.addTiddler({title:s,list:[]})}catch(v){$tw.wiki.setText(\"$:/state/scm/error\",\"text\",void 0,String(v))}finally{T=!1,$tw.wiki.setText(\"$:/state/scm/loading\",\"text\",void 0,\"no\")}}}}),$tw.rootWidget.addEventListener(\"tm-scm-load-uncommitted\",async t=>{var e=$tw.wiki.getTiddlerText(\"$:/state/scm/viewing-tiddler\");if(e){$tw.wiki.setText(\"$:/state/scm/selected-commit\",\"text\",void 0,\"uncommitted\");$tw.wiki.deleteTiddler(`$:/temp/source-control-management/${e}/files`),$tw.wiki.setText(\"$:/state/scm/loading-files\",\"text\",void 0,\"yes\");var i=P(),a=y.meta?.()?.workspace,s=y.service?.workspace,o=y.service?.wiki,r=y.service?.git;if(o&&r){var n,o=await o.getTiddlerFilePath(e,a?.id),a=await getGitRepoPathForFile(a,o,s);try{if(i)n=$(),g(e,n),$tw.wiki.setText(\"$:/state/scm/has-uncommitted\",\"text\",void 0,0normalizePath(t.path)===m);d&&($tw.wiki.setText(\"$:/state/scm/selected-file\",\"text\",void 0,d.path),$tw.wiki.setText(\"$:/state/scm/show-file-list\",\"text\",void 0,\"no\"),$tw.rootWidget.dispatchEvent({type:\"tm-scm-load-working-copy\",param:d.path}),t=!0)}t||($tw.wiki.setText(\"$:/state/scm/selected-file\",\"text\",void 0,\"\"),$tw.wiki.setText(\"$:/state/scm/show-file-list\",\"text\",void 0,\"yes\"))}}catch(c){$tw.wiki.setText(\"$:/state/scm/error\",\"text\",void 0,c.message??String(c))}finally{$tw.wiki.setText(\"$:/state/scm/loading-files\",\"text\",void 0,\"no\")}}}}),$tw.rootWidget.addEventListener(\"tm-scm-load-files\",async t=>{let e=\"\";\"string\"==typeof t.param?e=t.param:\"string\"==typeof t.tiddlerTitle&&(e=t.tiddlerTitle);var i=$tw.wiki.getTiddlerText(\"$:/state/scm/viewing-tiddler\");if(e&&i){$tw.wiki.setText(\"$:/state/scm/selected-commit\",\"text\",void 0,e);$tw.wiki.deleteTiddler(`$:/temp/source-control-management/${i}/files`),$tw.wiki.setText(\"$:/state/scm/loading-files\",\"text\",void 0,\"yes\");var a=P(),s=y.meta?.()?.workspace,o=y.service?.workspace,r=y.service?.wiki,n=y.service?.git;if(r&&n){var l,r=await r.getTiddlerFilePath(i,s?.id),s=await getGitRepoPathForFile(s,r,o);try{if(a)l=$(),g(i,l),$tw.wiki.setText(\"$:/state/scm/selected-file\",\"text\",void 0,\"\"),$tw.wiki.setText(\"$:/state/scm/show-file-list\",\"text\",void 0,\"yes\");else if(s){var d=await n.callGitOp(\"getCommitFiles\",s,e);g(i,d);let t=!1;if(r){const w=getRelativePath(r,s);var c=d.find(t=>normalizePath(t.path)===w);c&&($tw.wiki.setText(\"$:/state/scm/selected-file\",\"text\",void 0,c.path),$tw.wiki.setText(\"$:/state/scm/show-file-list\",\"text\",void 0,\"no\"),$tw.rootWidget.dispatchEvent({type:\"tm-scm-load-content\",param:c.path}),t=!0)}t||($tw.wiki.setText(\"$:/state/scm/selected-file\",\"text\",void 0,\"\"),$tw.wiki.setText(\"$:/state/scm/show-file-list\",\"text\",void 0,\"yes\"))}}catch(m){$tw.wiki.setText(\"$:/state/scm/error\",\"text\",void 0,m.message??String(m))}finally{$tw.wiki.setText(\"$:/state/scm/loading-files\",\"text\",void 0,\"no\")}}}}),$tw.rootWidget.addEventListener(\"tm-scm-load-working-copy\",t=>{var e=\"string\"==typeof t.param?t.param:\"\",i=$tw.wiki.getTiddlerText(\"$:/state/scm/viewing-tiddler\");if(e&&i){$tw.wiki.setText(\"$:/state/scm/selected-file\",\"text\",void 0,e),$tw.wiki.setText(\"$:/state/scm/loading-content\",\"text\",void 0,\"yes\");try{var a=getTiddlerTitle(e);const n=$tw.wiki.getTiddler(a);if(!n)throw new Error(\"Tiddler not found: \"+a);var s=n.fields.text??\"\";const l={};Object.keys(n.fields).forEach(t=>{var e;\"text\"!==t&&\"title\"!==t&&(\"string\"==typeof(e=n.fields[t])?l[t]=e:e instanceof Date?l[t]=$tw.utils.stringifyDate(e):null!=e&&(l[t]=String(e)))});var o=`$:/temp/source-control-management/${i}/file-content`;$tw.wiki.addTiddler({title:o,text:s,\"scm-original-path\":e,\"scm-original-title\":a,\"scm-current-content\":s,\"scm-fields\":JSON.stringify(l)})}catch(r){}finally{$tw.wiki.setText(\"$:/state/scm/loading-content\",\"text\",void 0,\"no\")}}}),$tw.rootWidget.addEventListener(\"tm-scm-load-content\",async t=>{var i=\"string\"==typeof t.param?t.param:\"\",e=$tw.wiki.getTiddlerText(\"$:/state/scm/selected-commit\"),a=$tw.wiki.getTiddlerText(\"$:/state/scm/viewing-tiddler\"),s=y.meta?.()?.workspace,o=y.service?.workspace,r=y.service?.wiki,n=y.service?.git;if(i&&e&&a&&n&&r){r=await r.getTiddlerFilePath(a,s?.id),s=await getGitRepoPathForFile(s,r,o);if(s){$tw.wiki.setText(\"$:/state/scm/selected-file\",\"text\",void 0,i),$tw.wiki.setText(\"$:/state/scm/loading-content\",\"text\",void 0,\"yes\");try{var l=await n.callGitOp(\"getFileContent\",s,e,i),d=\"string\"==typeof l?.content?l.content:\"\";if(d){var c={};let e=d;if(i.endsWith(\".tid\")){var m=d.split(\"\\n\");let t=0;for(;t{var e=$tw.wiki.getTiddlerText(\"$:/state/scm/viewing-tiddler\");if(e){e=$tw.wiki.getTiddler(`$:/temp/source-control-management/${e}/file-content`);if(e){var i=e.fields[\"scm-original-title\"];if(\"string\"==typeof i&&i){var a=$tw.wiki.getTiddlerText(\"$:/plugins/linonetwo/source-control-management/language/zh-Hans/FileContent/ApplyConfirm\")??$tw.wiki.getTiddlerText(\"$:/plugins/linonetwo/source-control-management/language/en-GB/FileContent/ApplyConfirm\")??\"Are you sure you want to apply this historical version? This will replace the current content.\";if(!confirm(a))return;a=$tw.wiki.getTiddler(i),a=($tw.wiki.addTiddler({...a?.fields,title:i,text:e.fields.text,modified:new Date}),new $tw.Story);a.addToStory(i,\"$:/StoryList\"),a.addToHistory(i)}return!0}}}),$tw.rootWidget.addEventListener(\"tm-scm-auto-select-first-commit\",async t=>{await new Promise(t=>setTimeout(t,800));var e=$tw.wiki.getTiddlerText(\"$:/state/scm/viewing-tiddler\");e&&(e=$tw.wiki.getTiddlerList?.(`$:/temp/source-control-management/${e}/commits`))&&0