vault backup: 2026-06-09 15:24:02

This commit is contained in:
2026-06-09 15:24:02 +08:00
parent a9b3b7f12f
commit 4d0ecb3b74
7 changed files with 3808 additions and 2064 deletions
+308 -2
View File
@@ -1,5 +1,5 @@
{ {
"lastVersion": "3.1.18", "lastVersion": "4.0.8",
"aestheticStyle": "default", "aestheticStyle": "default",
"positionStyle": "top", "positionStyle": "top",
"menuCommands": [ "menuCommands": [
@@ -80,6 +80,104 @@
"name": "Underline", "name": "Underline",
"icon": "underline-glyph" "icon": "underline-glyph"
}, },
{
"id": "SubmenuCommands-text-tools",
"name": "Text Tools",
"icon": "box",
"menuType": "dropdown",
"SubmenuCommands": [
{
"id": "editing-toolbar:get-plain-text",
"name": "Get Plain Text",
"icon": "lucide-file-text"
},
{
"id": "editing-toolbar:smart-symbols",
"name": "Full Half Converter",
"icon": "lucide-at-sign"
},
{
"id": "editingToolbar-Divider-Line",
"name": "Line Operations",
"icon": "vertical-split"
},
{
"id": "editing-toolbar:insert-blank-lines",
"name": "Insert Blank Lines",
"icon": "lucide-space"
},
{
"id": "editing-toolbar:remove-blank-lines",
"name": "Remove Blank Lines",
"icon": "lucide-minimize-2"
},
{
"id": "editing-toolbar:split-lines",
"name": "Split Lines",
"icon": "lucide-split"
},
{
"id": "editing-toolbar:merge-lines",
"name": "Merge Lines",
"icon": "lucide-merge"
},
{
"id": "editing-toolbar:dedupe-lines",
"name": "Dedupe Lines",
"icon": "lucide-filter"
},
{
"id": "editingToolbar-Divider-Line",
"name": "Text Processing",
"icon": "vertical-split"
},
{
"id": "editing-toolbar:add-wrap",
"name": "Add Prefix/Suffix",
"icon": "lucide-wrap-text"
},
{
"id": "editing-toolbar:number-lines",
"name": "Number Lines (Custom)",
"icon": "lucide-list-ordered"
},
{
"id": "editing-toolbar:remove-whitespace-trim",
"name": "Trim Line Ends",
"icon": "lucide-scissors"
},
{
"id": "editing-toolbar:remove-whitespace-compress",
"name": "Shrink Extra Spaces",
"icon": "lucide-minimize"
},
{
"id": "editing-toolbar:remove-whitespace-all",
"name": "Remove All Whitespace",
"icon": "lucide-eraser"
},
{
"id": "editingToolbar-Divider-Line",
"name": "Advanced Tools",
"icon": "vertical-split"
},
{
"id": "editing-toolbar:list-to-table",
"name": "List to Table",
"icon": "lucide-table"
},
{
"id": "editing-toolbar:table-to-list",
"name": "Table to List",
"icon": "lucide-list"
},
{
"id": "editing-toolbar:extract-between",
"name": "Extract Between Strings",
"icon": "lucide-brackets"
}
]
},
{ {
"id": "editing-toolbar:toggle-highlight", "id": "editing-toolbar:toggle-highlight",
"name": "==Highlight==", "name": "==Highlight==",
@@ -648,6 +746,104 @@
"name": "Underline", "name": "Underline",
"icon": "underline-glyph" "icon": "underline-glyph"
}, },
{
"id": "SubmenuCommands-text-tools",
"name": "Text Tools",
"icon": "box",
"menuType": "dropdown",
"SubmenuCommands": [
{
"id": "editing-toolbar:get-plain-text",
"name": "Get Plain Text",
"icon": "lucide-file-text"
},
{
"id": "editing-toolbar:smart-symbols",
"name": "Full Half Converter",
"icon": "lucide-at-sign"
},
{
"id": "editingToolbar-Divider-Line",
"name": "Line Operations",
"icon": "vertical-split"
},
{
"id": "editing-toolbar:insert-blank-lines",
"name": "Insert Blank Lines",
"icon": "lucide-space"
},
{
"id": "editing-toolbar:remove-blank-lines",
"name": "Remove Blank Lines",
"icon": "lucide-minimize-2"
},
{
"id": "editing-toolbar:split-lines",
"name": "Split Lines",
"icon": "lucide-split"
},
{
"id": "editing-toolbar:merge-lines",
"name": "Merge Lines",
"icon": "lucide-merge"
},
{
"id": "editing-toolbar:dedupe-lines",
"name": "Dedupe Lines",
"icon": "lucide-filter"
},
{
"id": "editingToolbar-Divider-Line",
"name": "Text Processing",
"icon": "vertical-split"
},
{
"id": "editing-toolbar:add-wrap",
"name": "Add Prefix/Suffix",
"icon": "lucide-wrap-text"
},
{
"id": "editing-toolbar:number-lines",
"name": "Number Lines (Custom)",
"icon": "lucide-list-ordered"
},
{
"id": "editing-toolbar:remove-whitespace-trim",
"name": "Trim Line Ends",
"icon": "lucide-scissors"
},
{
"id": "editing-toolbar:remove-whitespace-compress",
"name": "Shrink Extra Spaces",
"icon": "lucide-minimize"
},
{
"id": "editing-toolbar:remove-whitespace-all",
"name": "Remove All Whitespace",
"icon": "lucide-eraser"
},
{
"id": "editingToolbar-Divider-Line",
"name": "Advanced Tools",
"icon": "vertical-split"
},
{
"id": "editing-toolbar:list-to-table",
"name": "List to Table",
"icon": "lucide-table"
},
{
"id": "editing-toolbar:table-to-list",
"name": "Table to List",
"icon": "lucide-list"
},
{
"id": "editing-toolbar:extract-between",
"name": "Extract Between Strings",
"icon": "lucide-brackets"
}
]
},
{ {
"id": "editing-toolbar:toggle-highlight", "id": "editing-toolbar:toggle-highlight",
"name": "==Highlight==", "name": "==Highlight==",
@@ -1140,6 +1336,9 @@
], ],
"mobileCommands": [], "mobileCommands": [],
"enableMultipleConfig": true, "enableMultipleConfig": true,
"enableTopToolbar": true,
"enableFollowingToolbar": false,
"enableFixedToolbar": false,
"appendMethod": "body", "appendMethod": "body",
"shouldShowMenuOnSelect": false, "shouldShowMenuOnSelect": false,
"cMenuVisibility": false, "cMenuVisibility": false,
@@ -1169,7 +1368,114 @@
"OPP Profile View": false, "OPP Profile View": false,
"thino_view": false "thino_view": false
}, },
"appearanceByStyle": {
"top": {
"toolbarBackgroundColor": "rgba(var(--background-secondary-rgb), 0.7)",
"toolbarIconColor": "var(--text-normal)",
"toolbarIconSize": 18,
"aestheticStyle": "default"
},
"following": {
"toolbarBackgroundColor": "rgba(var(--background-secondary-rgb), 0.7)",
"toolbarIconColor": "var(--text-normal)",
"toolbarIconSize": 18,
"aestheticStyle": "default"
},
"fixed": {
"toolbarBackgroundColor": "rgba(var(--background-secondary-rgb), 0.7)",
"toolbarIconColor": "var(--text-normal)",
"toolbarIconSize": 18,
"aestheticStyle": "default"
},
"mobile": {
"toolbarBackgroundColor": "rgba(var(--background-secondary-rgb), 0.7)",
"toolbarIconColor": "var(--text-normal)",
"toolbarIconSize": 18,
"aestheticStyle": "default"
}
},
"toolbarBackgroundColor": "rgba(var(--background-secondary-rgb), 0.7)", "toolbarBackgroundColor": "rgba(var(--background-secondary-rgb), 0.7)",
"toolbarIconColor": "var(--text-normal)", "toolbarIconColor": "var(--text-normal)",
"toolbarIconSize": 18 "toolbarIconSize": 18,
"useCurrentLineForRegex": false,
"ai": {
"enabled": false,
"consentAccepted": false,
"onboardingShown": true,
"providerMode": "pkmer-first",
"enableInlineCompletion": true,
"inlineCompletionHintLearned": false,
"completionTrigger": "manual",
"completionDelay": 500,
"enableRewrite": true,
"showRewriteToolbarOnSelection": false,
"rewriteMinSelectionLength": 1,
"pkmerApiBaseUrl": "https://newapi.pkmer.cn",
"pkmerModel": "04-fast",
"pkmerModelRouting": {
"mode": "smart",
"completion": "04-fast",
"rewrite": "04-fast",
"reasoning": "03-agent",
"artifact": "03-agent"
},
"pkmer": {
"tokenExpiresAt": 0,
"userInfo": null
},
"enableCustomModel": false,
"customModel": {
"apiFormat": "openai-compatible",
"baseUrl": "",
"apiKey": "",
"model": "",
"temperature": 0.2
},
"customPromptHistory": [],
"customPromptTemplates": [
{
"id": "template-demo-variables",
"name": "📝 总结要点",
"prompt": "分析 {{file:content}} 的内容结构,重点关注:\n{{selection}}\n\n请提供:\n1. 内容概要\n2. 关键要点\n3. 改进建议",
"icon": "lucide-sparkles"
},
{
"id": "template-task-variables",
"name": "提炼任务",
"prompt": "当前日期{{date}},从 {{file:content}} 中提取所有待办事项,重点关注:\n{{selection}}\n\n请严格按 Obsidian Tasks 插件格式输出,每条任务单独一行:\n\n- [ ] 任务描述 ⏫/🔼/🔽/⏬ 优先级\n- [ ] 任务描述 📅 YYYY-MM-DD 截止日期\n- [ ] 任务描述 ⏰ YYYY-MM-DD HH:mm 提醒时间\n- [ ] 任务描述 🛫 YYYY-MM-DD 开始日期\n- [ ] 任务描述 🔁 every day/week/month 重复周期\n- [ ] 任务描述 #标签 #项目名\n\n提取规则:\n1. 如果原文提到\"紧急/马上/立即/今天\",添加 ⏫(最高优先级)\n2. 如果提到\"明天/本周/尽快\",添加 🔼(高优先级)\n3. 如果提到具体日期,转换为 📅 YYYY-MM-DD 格式\n4. 如果提到时间,转换为 ⏰ YYYY-MM-DD HH:mm 格式\n5. 如果提到周期性工作,添加 🔁 every week/month\n6. 为每个任务添加合适的标签(如 #工作 #会议 #跟进)\n\n示例输出:\n- [ ] 完成项目报告 ⏫ 📅 2026-04-25 #工作\n- [ ] 每周团队例会 🔁 every week on Monday ⏰ 09:00 #会议\n- [ ] 跟进客户需求 🔼 📅 2026-04-23 #跟进",
"icon": "lucide-sparkles"
},
{
"id": "template-dataview",
"name": "生成 Dataview",
"prompt": "根据我的需求,帮我生成一个 Obsidian Dataview 查询代码块。要求:\n1. 使用 DataviewJS 或 DQL 语法\n2. 包含必要的字段筛选和排序\n3. 添加注释说明每个部分的作用\n4. 如果需要复杂逻辑,使用 DataviewJS\n\n我的需求:",
"icon": "lucide-database"
},
{
"id": "template-templater",
"name": "设计 Templater 模板",
"prompt": "帮我设计一个 Obsidian Templater 模板。要求:\n1. 使用 Templater 语法 (<% %>)\n2. 包含动态日期、时间等变量\n3. 支持用户输入提示\n4. 添加必要的条件判断和循环\n5. 注释说明每个部分的用途\n\n模板用途:",
"icon": "lucide-file-code"
},
{
"id": "template-mermaid",
"name": "绘制 Mermaid 图表",
"prompt": "根据我选中的文本内容 {{selection}},生成 Mermaid 图表代码。要求:\n1. 选择合适的图表类型(流程图/时序图/类图/甘特图等)\n2. 使用清晰的节点命名\n3. 添加必要的样式和注释\n4. 确保语法正确可渲染\n",
"icon": "lucide-workflow"
},
{
"id": "template-metadata",
"name": "设计 YAML",
"prompt": "根据当前笔记内容 {{file:content}},帮我设计一个适合当前笔记的 YAML Frontmatter 元数据结构。要求:\n1. 根据笔记内容推荐合适的字段\n2. 包含常用字段(tags, aliases, date等)\n3. 添加自定义字段建议\n4. 注释说明每个字段的用途\n\n笔记类型:",
"icon": "lucide-file-json"
},
{
"id": "template-callout",
"name": "使用Callout包装",
"prompt": "根据我选中的文本内容 {{selection}},帮我使用 Obsidian Callout 块进行包装。要求:\n1. 选择合适的 callout 类型(note/tip/warning/danger等)\n2. 支持嵌套和折叠\n3. 包含标题和内容\n4. 可以包含代码块或列表\n\n内容需求:",
"icon": "lucide-message-square"
}
]
},
"commandIdsFixed": true
} }
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"id": "editing-toolbar", "id": "editing-toolbar",
"name": "Editing Toolbar", "name": "Editing Toolbar",
"version": "3.1.18", "version": "4.0.8",
"minAppVersion": "0.14.0", "minAppVersion": "0.14.0",
"description": "The Obsidian Editing Toolbar is modified from cmenu, which provides more powerful customization settings and has many built-in editing commands to be a MS Word-like toolbar editing experience.", "description": "The Obsidian Editing Toolbar is modified from cmenu, which provides more powerful customization settings and has many built-in editing commands to be a MS Word-like toolbar editing experience.",
"author": "Cuman", "author": "Cuman",
File diff suppressed because it is too large Load Diff
+288 -299
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -6,5 +6,5 @@
"description": "Integrate Git version control with automatic backup and other advanced features.", "description": "Integrate Git version control with automatic backup and other advanced features.",
"isDesktopOnly": false, "isDesktopOnly": false,
"fundingUrl": "https://ko-fi.com/vinzent", "fundingUrl": "https://ko-fi.com/vinzent",
"version": "2.35.2" "version": "2.38.3"
} }
+517 -441
View File
@@ -72,6 +72,11 @@
height: 100%; height: 100%;
} }
/* Re-enable wrapping of nav buttns to prevent overflow on smaller screens #*/
.workspace-drawer .git-view .nav-buttons-container {
flex-wrap: wrap;
}
.git-tools { .git-tools {
display: flex; display: flex;
margin-left: auto; margin-left: auto;
@@ -94,7 +99,7 @@
display: flex; display: flex;
} }
.git-tools .buttons > * { .git-tools .buttons > * {
padding: 0 0; padding: 0;
height: auto; height: auto;
} }
@@ -129,451 +134,419 @@
color: var(--text-accent); color: var(--text-accent);
} }
.workspace-leaf-content[data-type="diff-view"] .d2h-d-none { /* ====== diff2html ======
display: none; The following styles are adapted from the obsidian-version-history plugin by
} @kometenstaub https://github.com/kometenstaub/obsidian-version-history-diff/blob/main/src/styles.scss
which itself is adapted from the diff2html library with the following original license:
.workspace-leaf-content[data-type="diff-view"] .d2h-wrapper {
text-align: left; https://github.com/rtfpessoa/diff2html/blob/master/LICENSE.md
}
Copyright 2014-2016 Rodrigo Fernandes https://rtfpessoa.github.io/
.workspace-leaf-content[data-type="diff-view"] .d2h-file-header {
background-color: var(--background-primary); Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
border-bottom: 1px solid var(--interactive-accent); documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
font-family: var(--font-monospace); rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
height: 35px; persons to whom the Software is furnished to do so, subject to the following conditions:
padding: 5px 10px;
} The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
.workspace-leaf-content[data-type="diff-view"] .d2h-file-header,
.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats { THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
display: -webkit-box; WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
display: -ms-flexbox; COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
display: flex; OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
} */
.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats { .theme-dark,
font-size: 14px; .theme-light {
margin-left: auto; --git-delete-bg: #ff475040;
} --git-delete-hl: #96050a75;
--git-insert-bg: #68d36840;
.workspace-leaf-content[data-type="diff-view"] .d2h-lines-added { --git-insert-hl: #23c02350;
border: 1px solid #b4e2b4; --git-change-bg: #ffd55840;
border-radius: 5px 0 0 5px; --git-selected: #3572b0;
color: #399839;
padding: 2px; --git-delete: #cc3333;
text-align: right; --git-insert: #399839;
vertical-align: middle; --git-change: #d0b44c;
} --git-move: #3572b0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-lines-deleted {
border: 1px solid #e9aeae; .git-diff {
border-radius: 0 5px 5px 0; .d2h-d-none {
color: #c33; display: none;
margin-left: 1px; }
padding: 2px; .d2h-wrapper {
text-align: left; text-align: left;
vertical-align: middle; border-radius: 0.25em;
} overflow: auto;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-name-wrapper { .d2h-file-header.d2h-file-header {
-webkit-box-align: center; background-color: var(--background-secondary);
-ms-flex-align: center; border-bottom: 1px solid var(--background-modifier-border);
align-items: center; font-family:
display: -webkit-box; Source Sans Pro,
display: -ms-flexbox; Helvetica Neue,
display: flex; Helvetica,
font-size: 15px; Arial,
width: 100%; sans-serif;
} height: 35px;
padding: 5px 10px;
.workspace-leaf-content[data-type="diff-view"] .d2h-file-name { }
overflow-x: hidden; .d2h-file-header,
text-overflow: ellipsis; .d2h-file-stats {
white-space: nowrap; display: -webkit-box;
} display: -ms-flexbox;
display: flex;
.workspace-leaf-content[data-type="diff-view"] .d2h-file-wrapper { }
border: 1px solid var(--background-modifier-border); .d2h-file-header {
border-radius: 3px; display: none;
margin-bottom: 1em; }
} .d2h-file-stats {
font-size: 14px;
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse { margin-left: auto;
-webkit-box-pack: end; }
-ms-flex-pack: end; .d2h-lines-added {
-webkit-box-align: center; border: 1px solid var(--color-green);
-ms-flex-align: center; border-radius: 5px 0 0 5px;
align-items: center; color: var(--color-green);
border: 1px solid var(--background-modifier-border); padding: 2px;
border-radius: 3px; text-align: right;
cursor: pointer; vertical-align: middle;
display: none; }
font-size: 12px; .d2h-lines-deleted {
justify-content: flex-end; border: 1px solid var(--color-red);
padding: 4px 8px; border-radius: 0 5px 5px 0;
} color: var(--color-red);
margin-left: 1px;
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse.d2h-selected { padding: 2px;
background-color: #c8e1ff; text-align: left;
} vertical-align: middle;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse-input { .d2h-file-name-wrapper {
margin: 0 4px 0 0; -webkit-box-align: center;
} -ms-flex-align: center;
align-items: center;
.workspace-leaf-content[data-type="diff-view"] .d2h-diff-table { display: -webkit-box;
border-collapse: collapse; display: -ms-flexbox;
font-family: Menlo, Consolas, monospace; display: flex;
font-size: 13px; font-size: 15px;
width: 100%; width: 100%;
} }
.d2h-file-name {
.workspace-leaf-content[data-type="diff-view"] .d2h-files-diff { overflow: hidden;
width: 100%; text-overflow: ellipsis;
} white-space: nowrap;
color: var(--text-normal);
.workspace-leaf-content[data-type="diff-view"] .d2h-file-diff { font-size: var(--h5-size);
overflow-y: hidden; }
} .d2h-file-wrapper {
border: 1px solid var(--background-secondary-alt);
.workspace-leaf-content[data-type="diff-view"] .d2h-file-side-diff { border-radius: 3px;
display: inline-block; margin-bottom: 1em;
margin-bottom: -8px; max-height: 100%;
margin-right: -4px; }
overflow-x: scroll; .d2h-file-collapse {
overflow-y: hidden; -webkit-box-pack: end;
width: 50%; -ms-flex-pack: end;
} -webkit-box-align: center;
-ms-flex-align: center;
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line { align-items: center;
padding: 0 8em; border: 1px solid var(--background-secondary-alt);
} border-radius: 3px;
cursor: pointer;
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line, display: none;
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line { font-size: 12px;
display: inline-block; justify-content: flex-end;
-webkit-user-select: none; padding: 4px 8px;
-moz-user-select: none; }
-ms-user-select: none; .d2h-file-collapse.d2h-selected {
user-select: none; background-color: var(--git-selected);
white-space: nowrap; }
width: 100%; .d2h-file-collapse-input {
} margin: 0 4px 0 0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line { .d2h-diff-table {
padding: 0 4.5em; border-collapse: collapse;
} font-family: var(--font-monospace);
font-size: var(--code-size);
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-ctn { width: 100%;
word-wrap: normal; }
background: none; .d2h-files-diff {
display: inline-block; width: 100%;
padding: 0; }
-webkit-user-select: text; .d2h-file-diff {
-moz-user-select: text; /*
-ms-user-select: text; overflow-y: scroll;
user-select: text; */
vertical-align: middle; border-radius: 5px;
white-space: pre; font-size: var(--font-text-size);
width: 100%; line-height: var(--line-height-normal);
} }
.d2h-file-side-diff {
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del, display: inline-block;
.theme-light margin-bottom: -8px;
.workspace-leaf-content[data-type="diff-view"] margin-right: -4px;
.d2h-code-side-line overflow-x: scroll;
del { overflow-y: hidden;
background-color: #ffb6ba; width: 50%;
} }
.d2h-code-line {
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del, padding-left: 6em;
.theme-dark padding-right: 1.5em;
.workspace-leaf-content[data-type="diff-view"] }
.d2h-code-side-line .d2h-code-line,
del { .d2h-code-side-line {
background-color: #8d232881; display: inline-block;
} -webkit-user-select: none;
-moz-user-select: none;
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line del, -ms-user-select: none;
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins, user-select: none;
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line del, white-space: nowrap;
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line ins { width: 100%;
border-radius: 0.2em; }
display: inline-block; .d2h-code-side-line {
margin-top: -1px; /* needed to be changed */
text-decoration: none; padding-left: 0.5em;
vertical-align: middle; padding-right: 0.5em;
} }
.d2h-code-line-ctn {
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins, word-wrap: normal;
.theme-light background: none;
.workspace-leaf-content[data-type="diff-view"] display: inline-block;
.d2h-code-side-line padding: 0;
ins { -webkit-user-select: text;
background-color: #97f295; -moz-user-select: text;
text-align: left; -ms-user-select: text;
} user-select: text;
vertical-align: middle;
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins, width: 100%;
.theme-dark /* only works for line-by-line */
.workspace-leaf-content[data-type="diff-view"] white-space: pre-wrap;
.d2h-code-side-line }
ins { .d2h-code-line del,
background-color: #1d921996; .d2h-code-side-line del {
text-align: left; background-color: var(--git-delete-hl);
} color: var(--text-normal);
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix { .d2h-code-line del,
word-wrap: normal; .d2h-code-line ins,
background: none; .d2h-code-side-line del,
display: inline; .d2h-code-side-line ins {
padding: 0; border-radius: 0.2em;
white-space: pre; display: inline-block;
} margin-top: -1px;
text-decoration: none;
.workspace-leaf-content[data-type="diff-view"] .line-num1 { vertical-align: middle;
float: left; }
} .d2h-code-line ins,
.d2h-code-side-line ins {
.workspace-leaf-content[data-type="diff-view"] .line-num1, background-color: var(--git-insert-hl);
.workspace-leaf-content[data-type="diff-view"] .line-num2 { text-align: left;
-webkit-box-sizing: border-box; }
box-sizing: border-box; .d2h-code-line-prefix {
overflow: hidden; word-wrap: normal;
padding: 0 0.5em; background: none;
text-overflow: ellipsis; display: inline;
width: 3.5em; padding: 0;
} white-space: pre;
}
.workspace-leaf-content[data-type="diff-view"] .line-num2 { .line-num1 {
float: right; float: left;
} }
.line-num1,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber { .line-num2 {
background-color: var(--background-primary); -webkit-box-sizing: border-box;
border: solid var(--background-modifier-border); box-sizing: border-box;
border-width: 0 1px; overflow: hidden;
-webkit-box-sizing: border-box; /*
box-sizing: border-box; padding: 0 0.5em;
color: var(--text-muted); */
cursor: pointer; text-overflow: ellipsis;
display: inline-block; width: 2.5em;
position: absolute; padding-left: 0;
text-align: right; }
width: 7.5em; .line-num2 {
} float: right;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber:after { .d2h-code-linenumber {
content: "\200b"; background-color: var(--background-primary);
} border: solid var(--background-modifier-border);
border-width: 0 1px;
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber { -webkit-box-sizing: border-box;
background-color: var(--background-primary); box-sizing: border-box;
border: solid var(--background-modifier-border); color: var(--text-faint);
border-width: 0 1px; cursor: pointer;
-webkit-box-sizing: border-box; display: inline-block;
box-sizing: border-box; position: absolute;
color: var(--text-muted); text-align: right;
cursor: pointer; width: 5.5em;
display: inline-block; }
overflow: hidden; .d2h-code-linenumber:after {
padding: 0 0.5em; content: "\200b";
position: absolute; }
text-align: right; .d2h-code-side-linenumber {
text-overflow: ellipsis; background-color: var(--background-primary);
width: 4em; border: solid var(--background-modifier-border);
} border-width: 0 1px;
-webkit-box-sizing: border-box;
.workspace-leaf-content[data-type="diff-view"] .d2h-diff-tbody tr { box-sizing: border-box;
position: relative; color: var(--text-faint);
} cursor: pointer;
overflow: hidden;
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber:after { padding: 0 0.5em;
content: "\200b"; text-align: right;
} text-overflow: ellipsis;
width: 4em;
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-emptyplaceholder, /* needed to be changed */
.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder { display: table-cell;
background-color: var(--background-primary); position: relative;
border-color: var(--background-modifier-border); }
} .d2h-code-side-linenumber:after {
content: "\200b";
.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix, }
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber, .d2h-code-side-emptyplaceholder,
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber, .d2h-emptyplaceholder {
.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder { background-color: var(--background-primary);
-webkit-user-select: none; border-color: var(--background-modifier-border);
-moz-user-select: none; }
-ms-user-select: none; .d2h-code-line-prefix,
user-select: none; .d2h-code-linenumber,
} .d2h-code-side-linenumber,
.d2h-emptyplaceholder {
.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber, -webkit-user-select: none;
.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber { -moz-user-select: none;
direction: rtl; -ms-user-select: none;
} user-select: none;
}
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-del { .d2h-code-linenumber,
background-color: #fee8e9; .d2h-code-side-linenumber {
border-color: #e9aeae; direction: rtl;
} }
.d2h-del {
.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-ins { background-color: var(--git-delete-bg);
background-color: #dfd; border-color: var(--git-delete-hl);
border-color: #b4e2b4; }
} .d2h-ins {
background-color: var(--git-insert-bg);
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-del { border-color: var(--git-insert-hl);
background-color: #521b1d83; }
border-color: #691d1d73; .d2h-info {
} background-color: var(--background-primary);
border-color: var(--background-modifier-border);
.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-ins { color: var(--text-faint);
background-color: rgba(30, 71, 30, 0.5); }
border-color: #13501381; .d2h-del,
} .d2h-ins,
.d2h-file-diff .d2h-change {
.workspace-leaf-content[data-type="diff-view"] .d2h-info { color: var(--text-normal);
background-color: var(--background-primary); }
border-color: var(--background-modifier-border); .d2h-file-diff .d2h-del.d2h-change {
color: var(--text-normal); background-color: var(--git-change-bg);
} }
.d2h-file-diff .d2h-ins.d2h-change {
.theme-light background-color: var(--git-insert-bg);
.workspace-leaf-content[data-type="diff-view"] }
.d2h-file-diff .d2h-file-list-wrapper {
.d2h-del.d2h-change { a {
background-color: #fdf2d0; text-decoration: none;
} cursor: default;
-webkit-user-drag: none;
.theme-dark }
.workspace-leaf-content[data-type="diff-view"]
.d2h-file-diff svg {
.d2h-del.d2h-change { display: none;
background-color: #55492480; }
} }
.d2h-file-list-header {
.theme-light text-align: left;
.workspace-leaf-content[data-type="diff-view"] }
.d2h-file-diff .d2h-file-list-title {
.d2h-ins.d2h-change { display: none;
background-color: #ded; }
} .d2h-file-list-line {
display: -webkit-box;
.theme-dark display: -ms-flexbox;
.workspace-leaf-content[data-type="diff-view"] display: flex;
.d2h-file-diff text-align: left;
.d2h-ins.d2h-change { }
background-color: rgba(37, 78, 37, 0.418); .d2h-file-list {
} }
.d2h-file-list > li {
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper { border-bottom: 1px solid var(--background-modifier-border);
margin-bottom: 10px; margin: 0;
} padding: 5px 10px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper a { .d2h-file-list > li:last-child {
color: #3572b0; border-bottom: none;
text-decoration: none; }
} .d2h-file-switch {
cursor: pointer;
.workspace-leaf-content[data-type="diff-view"] display: none;
.d2h-file-list-wrapper font-size: 10px;
a:visited { }
color: #3572b0; .d2h-icon {
} fill: currentColor;
margin-right: 10px;
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-header { vertical-align: middle;
text-align: left; }
} .d2h-deleted {
color: var(--git-delete);
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-title { }
font-weight: 700; .d2h-added {
} color: var(--git-insert);
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-line { .d2h-changed {
display: -webkit-box; color: var(--git-change);
display: -ms-flexbox; }
display: flex; .d2h-moved {
text-align: left; color: var(--git-move);
} }
.d2h-tag {
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list { background-color: var(--background-secondary);
display: block; display: -webkit-box;
list-style: none; display: -ms-flexbox;
margin: 0; display: flex;
padding: 0; font-size: 10px;
} margin-left: 5px;
padding: 0 2px;
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list > li { }
border-bottom: 1px solid var(--background-modifier-border); .d2h-deleted-tag {
margin: 0; border: 1px solid var(--git-delete);
padding: 5px 10px; }
} .d2h-added-tag {
border: 1px solid var(--git-insert);
.workspace-leaf-content[data-type="diff-view"] .d2h-file-list > li:last-child { }
border-bottom: none; .d2h-changed-tag {
} border: 1px solid var(--git-change);
}
.workspace-leaf-content[data-type="diff-view"] .d2h-file-switch { .d2h-moved-tag {
cursor: pointer; border: 1px solid var(--git-move);
display: none; }
font-size: 10px;
} /* needed for line-by-line*/
.workspace-leaf-content[data-type="diff-view"] .d2h-icon { .d2h-diff-tbody {
fill: currentColor; position: relative;
margin-right: 10px; }
vertical-align: middle;
} /* My additions */
.cm-merge-revert {
.workspace-leaf-content[data-type="diff-view"] .d2h-deleted { width: 4em;
color: #c33; }
} /* Ensure that merge revert markers are positioned correctly */
.cm-merge-revert > * {
.workspace-leaf-content[data-type="diff-view"] .d2h-added { position: absolute;
color: #399839; background-color: var(--background-secondary);
} display: flex;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-changed {
color: #d0b44c;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-moved {
color: #3572b0;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-tag {
background-color: var(--background-primary);
display: -webkit-box;
display: -ms-flexbox;
display: flex;
font-size: 10px;
margin-left: 5px;
padding: 0 2px;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-deleted-tag {
border: 2px solid #c33;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-added-tag {
border: 1px solid #399839;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-changed-tag {
border: 1px solid #d0b44c;
}
.workspace-leaf-content[data-type="diff-view"] .d2h-moved-tag {
border: 1px solid #3572b0;
} }
/* ====================== Line Authoring Information ====================== */ /* ====================== Line Authoring Information ====================== */
.cm-gutterElement.obs-git-blame-gutter { .cm-gutterElement.obs-git-blame-gutter {
/* Add background color to spacing inbetween and around the gutter for better aesthetics */ /* Add background color to spacing inbetween and around the gutter for better aesthetics */
border-width: 0px 2px 0.2px 2px; border-width: 0px 2px 0.2px;
border-style: solid; border-style: solid;
border-color: var(--background-secondary); border-color: var(--background-secondary);
background-color: var(--background-secondary); background-color: var(--background-secondary);
@@ -586,7 +559,7 @@
font-family: monospace; font-family: monospace;
height: 100%; /* ensure, that age-based background color occupies entire parent */ height: 100%; /* ensure, that age-based background color occupies entire parent */
text-align: right; text-align: right;
padding: 0px 6px 0px 6px; padding: 0px 6px;
white-space: pre; /* Keep spaces and do not collapse them. */ white-space: pre; /* Keep spaces and do not collapse them. */
} }
@@ -627,3 +600,106 @@
background: var(--interactive-hover); background: var(--interactive-hover);
color: var(--text-accent-hover); color: var(--text-accent-hover);
} }
.git-signs-gutter {
.cm-gutterElement {
display: grid;
/* Needed to align the sign properly for different line heigts. Such as
* when having a heading or list item.
*/
padding-top: 0 !important;
}
}
.git-gutter-marker:hover {
border-radius: 2px;
}
.git-gutter-marker.git-add {
background-color: var(--color-green);
justify-self: center;
height: inherit;
width: 0.2rem;
}
.git-gutter-marker.git-change {
background-color: var(--color-yellow);
justify-self: center;
height: inherit;
width: 0.2rem;
}
.git-gutter-marker.git-changedelete {
color: var(--color-yellow);
font-weight: var(--font-bold);
font-size: 1rem;
justify-self: center;
height: inherit;
}
.git-gutter-marker.git-delete {
background-color: var(--color-red);
height: 0.2rem;
width: 0.8rem;
align-self: end;
}
.git-gutter-marker.git-topdelete {
background-color: var(--color-red);
height: 0.2rem;
width: 0.8rem;
align-self: start;
}
div:hover > .git-gutter-marker.git-change {
width: 0.6rem;
}
div:hover > .git-gutter-marker.git-add {
width: 0.6rem;
}
div:hover > .git-gutter-marker.git-delete {
height: 0.6rem;
}
div:hover > .git-gutter-marker.git-topdelete {
height: 0.6rem;
}
div:hover > .git-gutter-marker.git-changedelete {
font-weight: var(--font-bold);
}
.git-gutter-marker.staged {
opacity: 0.5;
}
/* Prevent shifting of the editor when git signs gutter is the only gutter present */
.cm-gutters.cm-gutters-before:has(> .git-signs-gutter:only-child) {
margin-inline-end: 0;
.git-signs-gutter {
margin-inline-start: -1rem;
}
}
.git-changes-status-bar-colored {
.git-add {
color: var(--color-green);
}
.git-change {
color: var(--color-yellow);
}
.git-delete {
color: var(--color-red);
}
}
.git-changes-status-bar .git-add {
margin-right: 0.3em;
}
.git-changes-status-bar .git-change {
margin-right: 0.3em;
}