@vladimirven/openswe 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/AGENTS.md +203 -0
  2. package/CLAUDE.md +203 -0
  3. package/README.md +166 -0
  4. package/bun.lock +447 -0
  5. package/bunfig.toml +4 -0
  6. package/package.json +42 -0
  7. package/src/app.tsx +84 -0
  8. package/src/components/App.tsx +526 -0
  9. package/src/components/ConfirmDialog.tsx +88 -0
  10. package/src/components/Footer.tsx +50 -0
  11. package/src/components/HelpModal.tsx +136 -0
  12. package/src/components/IssueSelectorModal.tsx +701 -0
  13. package/src/components/ManualSessionModal.tsx +191 -0
  14. package/src/components/PhaseProgress.tsx +45 -0
  15. package/src/components/Preview.tsx +249 -0
  16. package/src/components/ProviderSwitcherModal.tsx +156 -0
  17. package/src/components/ScrollableText.tsx +120 -0
  18. package/src/components/SessionCard.tsx +60 -0
  19. package/src/components/SessionList.tsx +79 -0
  20. package/src/components/SessionTerminal.tsx +89 -0
  21. package/src/components/StatusBar.tsx +84 -0
  22. package/src/components/ThemeSwitcherModal.tsx +237 -0
  23. package/src/components/index.ts +58 -0
  24. package/src/components/session-utils.ts +337 -0
  25. package/src/components/theme.ts +206 -0
  26. package/src/components/types.ts +215 -0
  27. package/src/config/defaults.ts +44 -0
  28. package/src/config/env.ts +67 -0
  29. package/src/config/global.ts +252 -0
  30. package/src/config/index.ts +171 -0
  31. package/src/config/types.ts +131 -0
  32. package/src/core/.gitkeep +0 -0
  33. package/src/core/index.ts +5 -0
  34. package/src/core/parser.ts +62 -0
  35. package/src/core/process-manager.ts +52 -0
  36. package/src/core/session.ts +423 -0
  37. package/src/core/tmux.ts +206 -0
  38. package/src/git/.gitkeep +0 -0
  39. package/src/git/index.ts +8 -0
  40. package/src/git/repo.ts +443 -0
  41. package/src/git/worktree.ts +317 -0
  42. package/src/github/.gitkeep +0 -0
  43. package/src/github/client.ts +208 -0
  44. package/src/github/index.ts +8 -0
  45. package/src/github/issues.ts +351 -0
  46. package/src/index.ts +369 -0
  47. package/src/prompts/.gitkeep +0 -0
  48. package/src/prompts/index.ts +1 -0
  49. package/src/prompts/swe-system.ts +22 -0
  50. package/src/providers/claude.ts +103 -0
  51. package/src/providers/index.ts +21 -0
  52. package/src/providers/opencode.ts +98 -0
  53. package/src/providers/registry.ts +53 -0
  54. package/src/providers/types.ts +117 -0
  55. package/src/store/buffers.ts +234 -0
  56. package/src/store/db.test.ts +579 -0
  57. package/src/store/db.ts +249 -0
  58. package/src/store/index.ts +101 -0
  59. package/src/store/project.ts +119 -0
  60. package/src/store/schema.sql +71 -0
  61. package/src/store/sessions.ts +454 -0
  62. package/src/store/types.ts +194 -0
  63. package/src/theme/context.tsx +170 -0
  64. package/src/theme/custom.ts +134 -0
  65. package/src/theme/index.ts +58 -0
  66. package/src/theme/loader.ts +264 -0
  67. package/src/theme/themes/aura.json +69 -0
  68. package/src/theme/themes/ayu.json +80 -0
  69. package/src/theme/themes/carbonfox.json +248 -0
  70. package/src/theme/themes/catppuccin-frappe.json +233 -0
  71. package/src/theme/themes/catppuccin-macchiato.json +233 -0
  72. package/src/theme/themes/catppuccin.json +112 -0
  73. package/src/theme/themes/cobalt2.json +228 -0
  74. package/src/theme/themes/cursor.json +249 -0
  75. package/src/theme/themes/dracula.json +219 -0
  76. package/src/theme/themes/everforest.json +241 -0
  77. package/src/theme/themes/flexoki.json +237 -0
  78. package/src/theme/themes/github.json +233 -0
  79. package/src/theme/themes/gruvbox.json +242 -0
  80. package/src/theme/themes/kanagawa.json +77 -0
  81. package/src/theme/themes/lucent-orng.json +237 -0
  82. package/src/theme/themes/material.json +235 -0
  83. package/src/theme/themes/matrix.json +77 -0
  84. package/src/theme/themes/mercury.json +252 -0
  85. package/src/theme/themes/monokai.json +221 -0
  86. package/src/theme/themes/nightowl.json +221 -0
  87. package/src/theme/themes/nord.json +223 -0
  88. package/src/theme/themes/one-dark.json +84 -0
  89. package/src/theme/themes/opencode.json +245 -0
  90. package/src/theme/themes/orng.json +249 -0
  91. package/src/theme/themes/osaka-jade.json +93 -0
  92. package/src/theme/themes/palenight.json +222 -0
  93. package/src/theme/themes/rosepine.json +234 -0
  94. package/src/theme/themes/solarized.json +223 -0
  95. package/src/theme/themes/synthwave84.json +226 -0
  96. package/src/theme/themes/tokyonight.json +243 -0
  97. package/src/theme/themes/vercel.json +245 -0
  98. package/src/theme/themes/vesper.json +218 -0
  99. package/src/theme/themes/zenburn.json +223 -0
  100. package/src/theme/types.ts +225 -0
  101. package/src/types/sql.d.ts +4 -0
  102. package/src/utils/ansi-parser.ts +225 -0
  103. package/src/utils/format.ts +46 -0
  104. package/src/utils/id.ts +15 -0
  105. package/src/utils/logger.ts +112 -0
  106. package/src/utils/prerequisites.ts +118 -0
  107. package/src/utils/shell.ts +9 -0
  108. package/src/wizard/flows.ts +419 -0
  109. package/src/wizard/index.ts +37 -0
  110. package/src/wizard/prompts.ts +190 -0
  111. package/src/workspace/detect.test.ts +51 -0
  112. package/src/workspace/detect.ts +223 -0
  113. package/src/workspace/index.ts +71 -0
  114. package/src/workspace/init.ts +131 -0
  115. package/src/workspace/paths.ts +143 -0
  116. package/src/workspace/project.ts +164 -0
  117. package/tsconfig.json +22 -0
@@ -0,0 +1,243 @@
1
+ {
2
+ "$schema": "https://opencode.ai/theme.json",
3
+ "defs": {
4
+ "darkStep1": "#1a1b26",
5
+ "darkStep2": "#1e2030",
6
+ "darkStep3": "#222436",
7
+ "darkStep4": "#292e42",
8
+ "darkStep5": "#3b4261",
9
+ "darkStep6": "#545c7e",
10
+ "darkStep7": "#737aa2",
11
+ "darkStep8": "#9099b2",
12
+ "darkStep9": "#82aaff",
13
+ "darkStep10": "#89b4fa",
14
+ "darkStep11": "#828bb8",
15
+ "darkStep12": "#c8d3f5",
16
+ "darkRed": "#ff757f",
17
+ "darkOrange": "#ff966c",
18
+ "darkYellow": "#ffc777",
19
+ "darkGreen": "#c3e88d",
20
+ "darkCyan": "#86e1fc",
21
+ "darkPurple": "#c099ff",
22
+ "lightStep1": "#e1e2e7",
23
+ "lightStep2": "#d5d6db",
24
+ "lightStep3": "#c8c9ce",
25
+ "lightStep4": "#b9bac1",
26
+ "lightStep5": "#a8aecb",
27
+ "lightStep6": "#9699a8",
28
+ "lightStep7": "#737a8c",
29
+ "lightStep8": "#5a607d",
30
+ "lightStep9": "#2e7de9",
31
+ "lightStep10": "#1a6ce7",
32
+ "lightStep11": "#8990a3",
33
+ "lightStep12": "#3760bf",
34
+ "lightRed": "#f52a65",
35
+ "lightOrange": "#b15c00",
36
+ "lightYellow": "#8c6c3e",
37
+ "lightGreen": "#587539",
38
+ "lightCyan": "#007197",
39
+ "lightPurple": "#9854f1"
40
+ },
41
+ "theme": {
42
+ "primary": {
43
+ "dark": "darkStep9",
44
+ "light": "lightStep9"
45
+ },
46
+ "secondary": {
47
+ "dark": "darkPurple",
48
+ "light": "lightPurple"
49
+ },
50
+ "accent": {
51
+ "dark": "darkOrange",
52
+ "light": "lightOrange"
53
+ },
54
+ "error": {
55
+ "dark": "darkRed",
56
+ "light": "lightRed"
57
+ },
58
+ "warning": {
59
+ "dark": "darkOrange",
60
+ "light": "lightOrange"
61
+ },
62
+ "success": {
63
+ "dark": "darkGreen",
64
+ "light": "lightGreen"
65
+ },
66
+ "info": {
67
+ "dark": "darkStep9",
68
+ "light": "lightStep9"
69
+ },
70
+ "text": {
71
+ "dark": "darkStep12",
72
+ "light": "lightStep12"
73
+ },
74
+ "textMuted": {
75
+ "dark": "darkStep11",
76
+ "light": "lightStep11"
77
+ },
78
+ "background": {
79
+ "dark": "darkStep1",
80
+ "light": "lightStep1"
81
+ },
82
+ "backgroundPanel": {
83
+ "dark": "darkStep2",
84
+ "light": "lightStep2"
85
+ },
86
+ "backgroundElement": {
87
+ "dark": "darkStep3",
88
+ "light": "lightStep3"
89
+ },
90
+ "border": {
91
+ "dark": "darkStep7",
92
+ "light": "lightStep7"
93
+ },
94
+ "borderActive": {
95
+ "dark": "darkStep8",
96
+ "light": "lightStep8"
97
+ },
98
+ "borderSubtle": {
99
+ "dark": "darkStep6",
100
+ "light": "lightStep6"
101
+ },
102
+ "diffAdded": {
103
+ "dark": "#4fd6be",
104
+ "light": "#1e725c"
105
+ },
106
+ "diffRemoved": {
107
+ "dark": "#c53b53",
108
+ "light": "#c53b53"
109
+ },
110
+ "diffContext": {
111
+ "dark": "#828bb8",
112
+ "light": "#7086b5"
113
+ },
114
+ "diffHunkHeader": {
115
+ "dark": "#828bb8",
116
+ "light": "#7086b5"
117
+ },
118
+ "diffHighlightAdded": {
119
+ "dark": "#b8db87",
120
+ "light": "#4db380"
121
+ },
122
+ "diffHighlightRemoved": {
123
+ "dark": "#e26a75",
124
+ "light": "#f52a65"
125
+ },
126
+ "diffAddedBg": {
127
+ "dark": "#20303b",
128
+ "light": "#d5e5d5"
129
+ },
130
+ "diffRemovedBg": {
131
+ "dark": "#37222c",
132
+ "light": "#f7d8db"
133
+ },
134
+ "diffContextBg": {
135
+ "dark": "darkStep2",
136
+ "light": "lightStep2"
137
+ },
138
+ "diffLineNumber": {
139
+ "dark": "darkStep3",
140
+ "light": "lightStep3"
141
+ },
142
+ "diffAddedLineNumberBg": {
143
+ "dark": "#1b2b34",
144
+ "light": "#c5d5c5"
145
+ },
146
+ "diffRemovedLineNumberBg": {
147
+ "dark": "#2d1f26",
148
+ "light": "#e7c8cb"
149
+ },
150
+ "markdownText": {
151
+ "dark": "darkStep12",
152
+ "light": "lightStep12"
153
+ },
154
+ "markdownHeading": {
155
+ "dark": "darkPurple",
156
+ "light": "lightPurple"
157
+ },
158
+ "markdownLink": {
159
+ "dark": "darkStep9",
160
+ "light": "lightStep9"
161
+ },
162
+ "markdownLinkText": {
163
+ "dark": "darkCyan",
164
+ "light": "lightCyan"
165
+ },
166
+ "markdownCode": {
167
+ "dark": "darkGreen",
168
+ "light": "lightGreen"
169
+ },
170
+ "markdownBlockQuote": {
171
+ "dark": "darkYellow",
172
+ "light": "lightYellow"
173
+ },
174
+ "markdownEmph": {
175
+ "dark": "darkYellow",
176
+ "light": "lightYellow"
177
+ },
178
+ "markdownStrong": {
179
+ "dark": "darkOrange",
180
+ "light": "lightOrange"
181
+ },
182
+ "markdownHorizontalRule": {
183
+ "dark": "darkStep11",
184
+ "light": "lightStep11"
185
+ },
186
+ "markdownListItem": {
187
+ "dark": "darkStep9",
188
+ "light": "lightStep9"
189
+ },
190
+ "markdownListEnumeration": {
191
+ "dark": "darkCyan",
192
+ "light": "lightCyan"
193
+ },
194
+ "markdownImage": {
195
+ "dark": "darkStep9",
196
+ "light": "lightStep9"
197
+ },
198
+ "markdownImageText": {
199
+ "dark": "darkCyan",
200
+ "light": "lightCyan"
201
+ },
202
+ "markdownCodeBlock": {
203
+ "dark": "darkStep12",
204
+ "light": "lightStep12"
205
+ },
206
+ "syntaxComment": {
207
+ "dark": "darkStep11",
208
+ "light": "lightStep11"
209
+ },
210
+ "syntaxKeyword": {
211
+ "dark": "darkPurple",
212
+ "light": "lightPurple"
213
+ },
214
+ "syntaxFunction": {
215
+ "dark": "darkStep9",
216
+ "light": "lightStep9"
217
+ },
218
+ "syntaxVariable": {
219
+ "dark": "darkRed",
220
+ "light": "lightRed"
221
+ },
222
+ "syntaxString": {
223
+ "dark": "darkGreen",
224
+ "light": "lightGreen"
225
+ },
226
+ "syntaxNumber": {
227
+ "dark": "darkOrange",
228
+ "light": "lightOrange"
229
+ },
230
+ "syntaxType": {
231
+ "dark": "darkYellow",
232
+ "light": "lightYellow"
233
+ },
234
+ "syntaxOperator": {
235
+ "dark": "darkCyan",
236
+ "light": "lightCyan"
237
+ },
238
+ "syntaxPunctuation": {
239
+ "dark": "darkStep12",
240
+ "light": "lightStep12"
241
+ }
242
+ }
243
+ }
@@ -0,0 +1,245 @@
1
+ {
2
+ "$schema": "https://opencode.ai/theme.json",
3
+ "defs": {
4
+ "background100": "#0A0A0A",
5
+ "background200": "#000000",
6
+ "gray100": "#1A1A1A",
7
+ "gray200": "#1F1F1F",
8
+ "gray300": "#292929",
9
+ "gray400": "#2E2E2E",
10
+ "gray500": "#454545",
11
+ "gray600": "#878787",
12
+ "gray700": "#8F8F8F",
13
+ "gray900": "#A1A1A1",
14
+ "gray1000": "#EDEDED",
15
+ "blue600": "#0099FF",
16
+ "blue700": "#0070F3",
17
+ "blue900": "#52A8FF",
18
+ "blue1000": "#EBF8FF",
19
+ "red700": "#E5484D",
20
+ "red900": "#FF6166",
21
+ "red1000": "#FDECED",
22
+ "amber700": "#FFB224",
23
+ "amber900": "#F2A700",
24
+ "amber1000": "#FDF4DC",
25
+ "green700": "#46A758",
26
+ "green900": "#63C46D",
27
+ "green1000": "#E6F9E9",
28
+ "teal700": "#12A594",
29
+ "teal900": "#0AC7AC",
30
+ "purple700": "#8E4EC6",
31
+ "purple900": "#BF7AF0",
32
+ "pink700": "#E93D82",
33
+ "pink900": "#F75590",
34
+ "highlightPink": "#FF0080",
35
+ "highlightPurple": "#F81CE5",
36
+ "cyan": "#50E3C2",
37
+ "lightBackground": "#FFFFFF",
38
+ "lightGray100": "#FAFAFA",
39
+ "lightGray200": "#EAEAEA",
40
+ "lightGray600": "#666666",
41
+ "lightGray1000": "#171717"
42
+ },
43
+ "theme": {
44
+ "primary": {
45
+ "dark": "blue700",
46
+ "light": "blue700"
47
+ },
48
+ "secondary": {
49
+ "dark": "blue900",
50
+ "light": "#0062D1"
51
+ },
52
+ "accent": {
53
+ "dark": "purple700",
54
+ "light": "purple700"
55
+ },
56
+ "error": {
57
+ "dark": "red700",
58
+ "light": "#DC3545"
59
+ },
60
+ "warning": {
61
+ "dark": "amber700",
62
+ "light": "#FF9500"
63
+ },
64
+ "success": {
65
+ "dark": "green700",
66
+ "light": "#388E3C"
67
+ },
68
+ "info": {
69
+ "dark": "blue900",
70
+ "light": "blue700"
71
+ },
72
+ "text": {
73
+ "dark": "gray1000",
74
+ "light": "lightGray1000"
75
+ },
76
+ "textMuted": {
77
+ "dark": "gray600",
78
+ "light": "lightGray600"
79
+ },
80
+ "background": {
81
+ "dark": "background200",
82
+ "light": "lightBackground"
83
+ },
84
+ "backgroundPanel": {
85
+ "dark": "gray100",
86
+ "light": "lightGray100"
87
+ },
88
+ "backgroundElement": {
89
+ "dark": "gray300",
90
+ "light": "lightGray200"
91
+ },
92
+ "border": {
93
+ "dark": "gray200",
94
+ "light": "lightGray200"
95
+ },
96
+ "borderActive": {
97
+ "dark": "gray500",
98
+ "light": "#999999"
99
+ },
100
+ "borderSubtle": {
101
+ "dark": "gray100",
102
+ "light": "#EAEAEA"
103
+ },
104
+ "diffAdded": {
105
+ "dark": "green900",
106
+ "light": "green700"
107
+ },
108
+ "diffRemoved": {
109
+ "dark": "red900",
110
+ "light": "red700"
111
+ },
112
+ "diffContext": {
113
+ "dark": "gray600",
114
+ "light": "lightGray600"
115
+ },
116
+ "diffHunkHeader": {
117
+ "dark": "gray600",
118
+ "light": "lightGray600"
119
+ },
120
+ "diffHighlightAdded": {
121
+ "dark": "green900",
122
+ "light": "green700"
123
+ },
124
+ "diffHighlightRemoved": {
125
+ "dark": "red900",
126
+ "light": "red700"
127
+ },
128
+ "diffAddedBg": {
129
+ "dark": "#0B1D0F",
130
+ "light": "#E6F9E9"
131
+ },
132
+ "diffRemovedBg": {
133
+ "dark": "#2A1314",
134
+ "light": "#FDECED"
135
+ },
136
+ "diffContextBg": {
137
+ "dark": "background200",
138
+ "light": "lightBackground"
139
+ },
140
+ "diffLineNumber": {
141
+ "dark": "gray600",
142
+ "light": "lightGray600"
143
+ },
144
+ "diffAddedLineNumberBg": {
145
+ "dark": "#0F2613",
146
+ "light": "#D6F5D6"
147
+ },
148
+ "diffRemovedLineNumberBg": {
149
+ "dark": "#3C1618",
150
+ "light": "#FFE5E5"
151
+ },
152
+ "markdownText": {
153
+ "dark": "gray1000",
154
+ "light": "lightGray1000"
155
+ },
156
+ "markdownHeading": {
157
+ "dark": "purple900",
158
+ "light": "purple700"
159
+ },
160
+ "markdownLink": {
161
+ "dark": "blue900",
162
+ "light": "blue700"
163
+ },
164
+ "markdownLinkText": {
165
+ "dark": "teal900",
166
+ "light": "teal700"
167
+ },
168
+ "markdownCode": {
169
+ "dark": "green900",
170
+ "light": "green700"
171
+ },
172
+ "markdownBlockQuote": {
173
+ "dark": "gray600",
174
+ "light": "lightGray600"
175
+ },
176
+ "markdownEmph": {
177
+ "dark": "amber900",
178
+ "light": "amber700"
179
+ },
180
+ "markdownStrong": {
181
+ "dark": "pink900",
182
+ "light": "pink700"
183
+ },
184
+ "markdownHorizontalRule": {
185
+ "dark": "gray500",
186
+ "light": "#999999"
187
+ },
188
+ "markdownListItem": {
189
+ "dark": "gray1000",
190
+ "light": "lightGray1000"
191
+ },
192
+ "markdownListEnumeration": {
193
+ "dark": "blue900",
194
+ "light": "blue700"
195
+ },
196
+ "markdownImage": {
197
+ "dark": "teal900",
198
+ "light": "teal700"
199
+ },
200
+ "markdownImageText": {
201
+ "dark": "cyan",
202
+ "light": "teal700"
203
+ },
204
+ "markdownCodeBlock": {
205
+ "dark": "gray1000",
206
+ "light": "lightGray1000"
207
+ },
208
+ "syntaxComment": {
209
+ "dark": "gray600",
210
+ "light": "#888888"
211
+ },
212
+ "syntaxKeyword": {
213
+ "dark": "pink900",
214
+ "light": "pink700"
215
+ },
216
+ "syntaxFunction": {
217
+ "dark": "purple900",
218
+ "light": "purple700"
219
+ },
220
+ "syntaxVariable": {
221
+ "dark": "blue900",
222
+ "light": "blue700"
223
+ },
224
+ "syntaxString": {
225
+ "dark": "green900",
226
+ "light": "green700"
227
+ },
228
+ "syntaxNumber": {
229
+ "dark": "amber900",
230
+ "light": "amber700"
231
+ },
232
+ "syntaxType": {
233
+ "dark": "teal900",
234
+ "light": "teal700"
235
+ },
236
+ "syntaxOperator": {
237
+ "dark": "pink900",
238
+ "light": "pink700"
239
+ },
240
+ "syntaxPunctuation": {
241
+ "dark": "gray1000",
242
+ "light": "lightGray1000"
243
+ }
244
+ }
245
+ }
@@ -0,0 +1,218 @@
1
+ {
2
+ "$schema": "https://opencode.ai/theme.json",
3
+ "defs": {
4
+ "vesperBg": "#101010",
5
+ "vesperFg": "#FFF",
6
+ "vesperComment": "#8b8b8b",
7
+ "vesperKeyword": "#A0A0A0",
8
+ "vesperFunction": "#FFC799",
9
+ "vesperString": "#99FFE4",
10
+ "vesperNumber": "#FFC799",
11
+ "vesperError": "#FF8080",
12
+ "vesperWarning": "#FFC799",
13
+ "vesperSuccess": "#99FFE4",
14
+ "vesperMuted": "#A0A0A0"
15
+ },
16
+ "theme": {
17
+ "primary": {
18
+ "dark": "#FFC799",
19
+ "light": "#FFC799"
20
+ },
21
+ "secondary": {
22
+ "dark": "#99FFE4",
23
+ "light": "#99FFE4"
24
+ },
25
+ "accent": {
26
+ "dark": "#FFC799",
27
+ "light": "#FFC799"
28
+ },
29
+ "error": {
30
+ "dark": "vesperError",
31
+ "light": "vesperError"
32
+ },
33
+ "warning": {
34
+ "dark": "vesperWarning",
35
+ "light": "vesperWarning"
36
+ },
37
+ "success": {
38
+ "dark": "vesperSuccess",
39
+ "light": "vesperSuccess"
40
+ },
41
+ "info": {
42
+ "dark": "#FFC799",
43
+ "light": "#FFC799"
44
+ },
45
+ "text": {
46
+ "dark": "vesperFg",
47
+ "light": "vesperBg"
48
+ },
49
+ "textMuted": {
50
+ "dark": "vesperMuted",
51
+ "light": "vesperMuted"
52
+ },
53
+ "background": {
54
+ "dark": "vesperBg",
55
+ "light": "#FFF"
56
+ },
57
+ "backgroundPanel": {
58
+ "dark": "vesperBg",
59
+ "light": "#F0F0F0"
60
+ },
61
+ "backgroundElement": {
62
+ "dark": "vesperBg",
63
+ "light": "#E0E0E0"
64
+ },
65
+ "border": {
66
+ "dark": "#282828",
67
+ "light": "#D0D0D0"
68
+ },
69
+ "borderActive": {
70
+ "dark": "#FFC799",
71
+ "light": "#FFC799"
72
+ },
73
+ "borderSubtle": {
74
+ "dark": "#1C1C1C",
75
+ "light": "#E8E8E8"
76
+ },
77
+ "diffAdded": {
78
+ "dark": "vesperSuccess",
79
+ "light": "vesperSuccess"
80
+ },
81
+ "diffRemoved": {
82
+ "dark": "vesperError",
83
+ "light": "vesperError"
84
+ },
85
+ "diffContext": {
86
+ "dark": "vesperMuted",
87
+ "light": "vesperMuted"
88
+ },
89
+ "diffHunkHeader": {
90
+ "dark": "vesperMuted",
91
+ "light": "vesperMuted"
92
+ },
93
+ "diffHighlightAdded": {
94
+ "dark": "vesperSuccess",
95
+ "light": "vesperSuccess"
96
+ },
97
+ "diffHighlightRemoved": {
98
+ "dark": "vesperError",
99
+ "light": "vesperError"
100
+ },
101
+ "diffAddedBg": {
102
+ "dark": "#0d2818",
103
+ "light": "#e8f5e8"
104
+ },
105
+ "diffRemovedBg": {
106
+ "dark": "#281a1a",
107
+ "light": "#f5e8e8"
108
+ },
109
+ "diffContextBg": {
110
+ "dark": "vesperBg",
111
+ "light": "#F8F8F8"
112
+ },
113
+ "diffLineNumber": {
114
+ "dark": "#505050",
115
+ "light": "#808080"
116
+ },
117
+ "diffAddedLineNumberBg": {
118
+ "dark": "#0d2818",
119
+ "light": "#e8f5e8"
120
+ },
121
+ "diffRemovedLineNumberBg": {
122
+ "dark": "#281a1a",
123
+ "light": "#f5e8e8"
124
+ },
125
+ "markdownText": {
126
+ "dark": "vesperFg",
127
+ "light": "vesperBg"
128
+ },
129
+ "markdownHeading": {
130
+ "dark": "#FFC799",
131
+ "light": "#FFC799"
132
+ },
133
+ "markdownLink": {
134
+ "dark": "#FFC799",
135
+ "light": "#FFC799"
136
+ },
137
+ "markdownLinkText": {
138
+ "dark": "vesperMuted",
139
+ "light": "vesperMuted"
140
+ },
141
+ "markdownCode": {
142
+ "dark": "vesperMuted",
143
+ "light": "vesperMuted"
144
+ },
145
+ "markdownBlockQuote": {
146
+ "dark": "vesperFg",
147
+ "light": "vesperBg"
148
+ },
149
+ "markdownEmph": {
150
+ "dark": "vesperFg",
151
+ "light": "vesperBg"
152
+ },
153
+ "markdownStrong": {
154
+ "dark": "vesperFg",
155
+ "light": "vesperBg"
156
+ },
157
+ "markdownHorizontalRule": {
158
+ "dark": "#65737E",
159
+ "light": "#65737E"
160
+ },
161
+ "markdownListItem": {
162
+ "dark": "vesperFg",
163
+ "light": "vesperBg"
164
+ },
165
+ "markdownListEnumeration": {
166
+ "dark": "vesperFg",
167
+ "light": "vesperBg"
168
+ },
169
+ "markdownImage": {
170
+ "dark": "#FFC799",
171
+ "light": "#FFC799"
172
+ },
173
+ "markdownImageText": {
174
+ "dark": "vesperMuted",
175
+ "light": "vesperMuted"
176
+ },
177
+ "markdownCodeBlock": {
178
+ "dark": "vesperFg",
179
+ "light": "vesperBg"
180
+ },
181
+ "syntaxComment": {
182
+ "dark": "vesperComment",
183
+ "light": "vesperComment"
184
+ },
185
+ "syntaxKeyword": {
186
+ "dark": "vesperKeyword",
187
+ "light": "vesperKeyword"
188
+ },
189
+ "syntaxFunction": {
190
+ "dark": "vesperFunction",
191
+ "light": "vesperFunction"
192
+ },
193
+ "syntaxVariable": {
194
+ "dark": "vesperFg",
195
+ "light": "vesperBg"
196
+ },
197
+ "syntaxString": {
198
+ "dark": "vesperString",
199
+ "light": "vesperString"
200
+ },
201
+ "syntaxNumber": {
202
+ "dark": "vesperNumber",
203
+ "light": "vesperNumber"
204
+ },
205
+ "syntaxType": {
206
+ "dark": "vesperFunction",
207
+ "light": "vesperFunction"
208
+ },
209
+ "syntaxOperator": {
210
+ "dark": "vesperKeyword",
211
+ "light": "vesperKeyword"
212
+ },
213
+ "syntaxPunctuation": {
214
+ "dark": "vesperFg",
215
+ "light": "vesperBg"
216
+ }
217
+ }
218
+ }