lean4monaco 1.0.14 → 1.0.16

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.
package/dist/editor.js CHANGED
@@ -15,7 +15,15 @@ export class LeanMonacoEditor {
15
15
  fs.writeFileSync(fileName, '');
16
16
  // Create editor and model
17
17
  this.modelRef = await createModelReference(Uri.parse(fileName), code);
18
- this.editor = monaco.editor.create(editorEl, { automaticLayout: true });
18
+ this.editor = monaco.editor.create(editorEl, {
19
+ automaticLayout: true,
20
+ // Note: looks like setting options here prevents them from being overwritten later.
21
+ // TODO: Looks like these options cannot be set in `updateVSCodeOptions` in `leanmonaco.ts`
22
+ // so we set them here
23
+ contextmenu: false, // the context menu breaks mobile support.
24
+ lineNumbersMinChars: 1, // minimal no. of characters for line numbers
25
+ lineDecorationsWidth: 5, // distance (px) between line number and code.
26
+ });
19
27
  this.editor.setModel(this.modelRef.object.textEditorModel);
20
28
  // Set focus on editor to trigger infoview to open
21
29
  this.editor.focus();
@@ -38,11 +38,13 @@ export declare class LeanMonaco {
38
38
  infoviewEl: HTMLElement | undefined;
39
39
  disposed: boolean;
40
40
  start(options: LeanMonacoOptions): Promise<void>;
41
+ /** Update options of the editor */
41
42
  updateVSCodeOptions(vsCodeOptions: {
42
43
  [id: string]: any;
43
44
  }): void;
44
45
  setInfoviewElement(infoviewEl: HTMLElement): void;
45
46
  protected getExtensionFiles(): Map<string, URL>;
47
+ /** This basically returns the `package.json` of `vscode-lean4` with some ts-fixes and the custom themes. */
46
48
  protected getExtensionManifest(): IExtensionManifest;
47
49
  protected getWebSocketOptions(options: LeanMonacoOptions): WebSocketConfigOptionsUrl;
48
50
  dispose(): void;
@@ -96,7 +96,15 @@ export class LeanMonaco {
96
96
  getElanDefaultToolchain: () => { return "lean4/stable"; }
97
97
  }, { appendLine: () => { }
98
98
  }, setupMonacoClient(this.getWebSocketOptions(options)), checkLean4ProjectPreconditions);
99
- this.taskGutter = new LeanTaskGutter(this.clientProvider, { asAbsolutePath: (path) => Uri.parse(`${new URL('vscode-lean4/vscode-lean4/' + path, import.meta.url)}`), });
99
+ const asAbsolutePath = (path) => {
100
+ switch (path) {
101
+ case "media/progress-light.svg": return Uri.parse(`${new URL('vscode-lean4/vscode-lean4/media/progress-light.svg', import.meta.url)}`);
102
+ case "media/progress-dark.svg": return Uri.parse(`${new URL('vscode-lean4/vscode-lean4/media/progress-dark.svg', import.meta.url)}`);
103
+ case "media/progress-error-light.svg": return Uri.parse(`${new URL('vscode-lean4/vscode-lean4/media/progress-error-light.svg', import.meta.url)}`);
104
+ case "media/progress-error-dark.svg": return Uri.parse(`${new URL('vscode-lean4/vscode-lean4/media/progress-error-dark.svg', import.meta.url)}`);
105
+ }
106
+ };
107
+ this.taskGutter = new LeanTaskGutter(this.clientProvider, { asAbsolutePath });
100
108
  const fontFile = new FontFace("JuliaMono", `url(${new URL("./JuliaMono-Regular.ttf", import.meta.url)})`);
101
109
  document.fonts.add(fontFile);
102
110
  this.iframeWebviewFactory = new IFrameInfoWebviewFactory(themeService, configurationService, fontFile);
@@ -104,11 +112,32 @@ export class LeanMonaco {
104
112
  this.iframeWebviewFactory.setInfoviewElement(this.infoviewEl);
105
113
  this.infoProvider = new InfoProvider(this.clientProvider, { language: 'lean4' }, {}, this.iframeWebviewFactory);
106
114
  await fontFile.load();
107
- this.updateVSCodeOptions(options.vscode ?? {});
115
+ // Here we provide default options for the editor. They can be overwritten by the user.
116
+ this.updateVSCodeOptions({
117
+ // Layout options, trying to maximise the usable space of the code editor
118
+ "editor.lineNumbers": "on",
119
+ "editor.stickyScroll.enabled": false,
120
+ "editor.folding": false,
121
+ "editor.minimap.enabled": false,
122
+ // features useful for Lean
123
+ "editor.glyphMargin": true, // Shows the yellow/red task gutter on the left.
124
+ "editor.semanticHighlighting.enabled": true,
125
+ "editor.lightbulb.enabled": "on",
126
+ "editor.detectIndentation": false, // rather, indentation in Lean is always 2
127
+ "editor.acceptSuggestionOnEnter": "off", // since there are plenty suggestions
128
+ // other options
129
+ "editor.renderWhitespace": "trailing",
130
+ "editor.fontFamily": "JuliaMono",
131
+ "editor.wordWrap": "on",
132
+ "editor.wrappingStrategy": "advanced",
133
+ "workbench.colorTheme": "Visual Studio Light",
134
+ ...options.vscode
135
+ });
108
136
  if (this.disposed)
109
137
  return;
110
138
  this.ready();
111
139
  }
140
+ /** Update options of the editor */
112
141
  updateVSCodeOptions(vsCodeOptions) {
113
142
  for (const key in vsCodeOptions) {
114
143
  workspace.getConfiguration().update(key, vsCodeOptions[key]);
@@ -128,76 +157,22 @@ export class LeanMonaco {
128
157
  extensionFiles.set('/themes/cobalt2.json', new URL('./themes/cobalt2.json', import.meta.url));
129
158
  return extensionFiles;
130
159
  }
160
+ /** This basically returns the `package.json` of `vscode-lean4` with some ts-fixes and the custom themes. */
131
161
  getExtensionManifest() {
132
162
  return {
133
- name: 'lean4web',
134
- publisher: 'leanprover-community',
135
- version: '1.0.0',
136
- engines: {
137
- vscode: '*'
138
- },
139
- "contributes": {
140
- "configuration": packageJson.contributes.configuration,
141
- "languages": [
142
- {
143
- "id": "lean4",
144
- "configuration": "./language-configuration.json",
145
- "extensions": [
146
- ".lean"
147
- ],
148
- },
149
- {
150
- "id": "lean4markdown",
151
- "aliases": [],
152
- "extensions": [
153
- ".lean4markdown"
154
- ],
155
- "configuration": "./language-configuration.json"
156
- }
157
- ],
158
- colors: packageJson.contributes.colors,
159
- "grammars": [
160
- {
161
- "language": "lean4",
162
- "scopeName": "source.lean4",
163
- "path": "./syntaxes/lean4.json"
164
- },
165
- {
166
- "language": "lean4markdown",
167
- "scopeName": "source.lean4.markdown",
168
- "path": "./syntaxes/lean4-markdown.json"
169
- },
170
- {
171
- "language": "lean4",
172
- "scopeName": "markdown.lean4.codeblock",
173
- "path": "./syntaxes/codeblock.json",
174
- "injectTo": [
175
- "text.html.markdown"
176
- ],
177
- "embeddedLanguages": {
178
- "meta.embedded.block.lean4": "lean4"
179
- }
180
- }
181
- ],
182
- "configurationDefaults": {
183
- "editor.folding": false,
184
- "editor.wordSeparators": "`~@$%^&*()-=+[{]}⟨⟩⦃⦄⟦⟧⟮⟯‹›\\|;:\",.<>/",
185
- "editor.lineNumbers": 'on',
186
- "editor.lineNumbersMinChars": 1,
187
- "editor.glyphMargin": true,
188
- "editor.lineDecorationsWidth": 5,
189
- "editor.tabSize": 2,
190
- "editor.detectIndentation": false,
191
- "editor.lightbulb.enabled": "on",
192
- "editor.unicodeHighlight.ambiguousCharacters": false,
193
- "editor.minimap.enabled": false,
194
- "editor.semanticHighlighting.enabled": true,
195
- "editor.wordWrap": "off",
196
- "editor.acceptSuggestionOnEnter": "off",
197
- "editor.fontFamily": "JuliaMono",
198
- "editor.wrappingStrategy": "advanced",
199
- },
200
- "themes": [
163
+ ...packageJson,
164
+ contributes: {
165
+ ...packageJson.contributes,
166
+ configuration: packageJson.contributes.configuration,
167
+ // TODO: This is suspect, the thrid entry does not have "language", yet it doesn't complain
168
+ // look into that.
169
+ grammars: packageJson.contributes.grammars,
170
+ // Somehow `submenu` is incompatible. Since we don't use that anyways we just drop
171
+ // `menus` and `submenus` from the package.json
172
+ menus: undefined,
173
+ submenus: undefined,
174
+ // Add custom themes here.
175
+ themes: [
201
176
  {
202
177
  "id": "Cobalt",
203
178
  "label": "Cobalt",
@@ -206,6 +181,7 @@ export class LeanMonaco {
206
181
  }
207
182
  ],
208
183
  },
184
+ extensionKind: packageJson.extensionKind,
209
185
  };
210
186
  }
211
187
  getWebSocketOptions(options) {
@@ -0,0 +1,402 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
4
+ xmlns:cc="http://creativecommons.org/ns#"
5
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6
+ xmlns:svg="http://www.w3.org/2000/svg"
7
+ xmlns="http://www.w3.org/2000/svg"
8
+ xmlns:xlink="http://www.w3.org/1999/xlink"
9
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
10
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
11
+ width="300"
12
+ height="150"
13
+ viewBox="0 0 240 120"
14
+ version="1.1"
15
+ id="svg2"
16
+ inkscape:version="0.48.4 r9939"
17
+ sodipodi:docname="lean_logo.svg">
18
+ <metadata
19
+ id="metadata113">
20
+ <rdf:RDF>
21
+ <cc:Work
22
+ rdf:about="">
23
+ <dc:format>image/svg+xml</dc:format>
24
+ <dc:type
25
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
26
+ </cc:Work>
27
+ </rdf:RDF>
28
+ </metadata>
29
+ <sodipodi:namedview
30
+ pagecolor="#ffffff"
31
+ bordercolor="#666666"
32
+ borderopacity="1"
33
+ objecttolerance="10"
34
+ gridtolerance="10"
35
+ guidetolerance="10"
36
+ inkscape:pageopacity="0"
37
+ inkscape:pageshadow="2"
38
+ inkscape:window-width="1244"
39
+ inkscape:window-height="759"
40
+ id="namedview111"
41
+ showgrid="false"
42
+ inkscape:zoom="0.30337662"
43
+ inkscape:cx="553.28599"
44
+ inkscape:cy="259.375"
45
+ inkscape:window-x="50"
46
+ inkscape:window-y="48"
47
+ inkscape:window-maximized="0"
48
+ inkscape:current-layer="svg2" />
49
+ <defs
50
+ id="defs4">
51
+ <g
52
+ id="g6">
53
+ <symbol
54
+ overflow="visible"
55
+ id="glyph0-0"
56
+ style="overflow:visible">
57
+ <path
58
+ style="stroke:none"
59
+ d="m -5.140625,0 -180.499995,0 0,-262.4375 180.499995,0 z M -178.125,-250.15625 l 0,237.09375 79.171875,-118.75 z m 5.14063,243.03125 154.781245,0 -77.1875,-117.5625 z m 77.593745,-131.8125 77.1875,-116.375 -154.781245,0 z m 3.5625,7.125 79.15625,118.75 0,-237.09375 z"
60
+ id="path9"
61
+ inkscape:connector-curvature="0" />
62
+ </symbol>
63
+ <symbol
64
+ overflow="visible"
65
+ id="glyph0-1"
66
+ style="overflow:visible">
67
+ <path
68
+ style="stroke:none"
69
+ d="m -24.9375,-135.375 -143.29687,0 0,-6.32812 143.29687,0 0,-129.04688 -146.45312,0 0,-5.9375 152.781245,0 0,276.6875 -153.578125,0 0,-5.9375 147.25,0 z"
70
+ id="path12"
71
+ inkscape:connector-curvature="0" />
72
+ </symbol>
73
+ <symbol
74
+ overflow="visible"
75
+ id="glyph1-0"
76
+ style="overflow:visible">
77
+ <path
78
+ style="stroke:none"
79
+ d="m 5.140625,0 180.499995,0 0,-262.4375 -180.499995,0 z M 178.125,-250.15625 l 0,237.09375 -79.171875,-118.75 z m -5.14063,243.03125 -154.781245,0 77.1875,-117.5625 z m -77.593745,-131.8125 -77.1875,-116.375 154.781245,0 z m -3.5625,7.125 -79.15625,118.75 0,-237.09375 z"
80
+ id="path15"
81
+ inkscape:connector-curvature="0" />
82
+ </symbol>
83
+ <symbol
84
+ overflow="visible"
85
+ id="glyph1-1"
86
+ style="overflow:visible">
87
+ <path
88
+ style="stroke:none"
89
+ d="m 24.9375,0 0,-264.40625 L 207.8125,0 l 6.32812,0 0,-277.07812 -5.9375,0 0,265.999995 -184.062495,-265.999995 -5.53125,-0.39063 0,277.46875 z"
90
+ id="path18"
91
+ inkscape:connector-curvature="0" />
92
+ </symbol>
93
+ <symbol
94
+ overflow="visible"
95
+ id="glyph1-2"
96
+ style="overflow:visible">
97
+ <path
98
+ style="stroke:none"
99
+ d="m 24.9375,-276.6875 -6.328125,0 0,276.6875 C 70.453125,0 121.92188,0 173.76562,0 l 0,-6.328125 -148.82812,0 z"
100
+ id="path21"
101
+ inkscape:connector-curvature="0" />
102
+ </symbol>
103
+ <symbol
104
+ overflow="visible"
105
+ id="glyph2-0"
106
+ style="overflow:visible">
107
+ <path
108
+ style="stroke:none"
109
+ d="m 1.21875,0 42.5,0 0,-61.796875 -42.5,0 z m 40.734375,-58.921875 0,55.84375 -18.640625,-27.96875 z m -1.21875,57.25 -36.453125,0 18.1875,-27.6875 z M 22.46875,-32.71875 4.28125,-60.125 l 36.453125,0 z m -0.84375,1.671875 -18.640625,27.96875 0,-55.84375 z"
110
+ id="path24"
111
+ inkscape:connector-curvature="0" />
112
+ </symbol>
113
+ <symbol
114
+ overflow="visible"
115
+ id="glyph2-1"
116
+ style="overflow:visible">
117
+ <path
118
+ style="stroke:none"
119
+ d="m 24.796875,0.28125 0,-64.046875 22.5625,0 0,-1.484375 -46.515625,0 0,1.484375 22.546875,0 0,64.046875 z"
120
+ id="path27"
121
+ inkscape:connector-curvature="0" />
122
+ </symbol>
123
+ <symbol
124
+ overflow="visible"
125
+ id="glyph2-2"
126
+ style="overflow:visible">
127
+ <path
128
+ style="stroke:none"
129
+ d="m 5.78125,-65.15625 -1.40625,0 0,65.15625 1.40625,0 0,-32.34375 40.921875,0 0,32.34375 1.484375,0 0,-65.15625 -1.484375,0 0,31.40625 -40.921875,0 z"
130
+ id="path30"
131
+ inkscape:connector-curvature="0" />
132
+ </symbol>
133
+ <symbol
134
+ overflow="visible"
135
+ id="glyph2-3"
136
+ style="overflow:visible">
137
+ <path
138
+ style="stroke:none"
139
+ d="m 5.875,-31.875 33.75,0 0,-1.5 -33.75,0 0,-30.390625 34.484375,0 0,-1.390625 -35.984375,0 0,65.15625 36.171875,0 0,-1.390625 -34.671875,0 z"
140
+ id="path33"
141
+ inkscape:connector-curvature="0" />
142
+ </symbol>
143
+ <symbol
144
+ overflow="visible"
145
+ id="glyph2-4"
146
+ style="overflow:visible">
147
+ <path
148
+ style="stroke:none"
149
+ d="m 67.765625,-32.625 c 0,8.859375 -3.53125,16.78125 -9.21875,22.5625 -5.78125,5.875 -13.796875,9.5 -22.5625,9.5 -8.765625,0 -16.6875,-3.625 -22.46875,-9.5 C 7.828125,-15.84375 4.1875,-23.765625 4.1875,-32.625 c 0,-8.859375 3.640625,-16.78125 9.328125,-22.5625 5.78125,-5.875 13.703125,-9.5 22.46875,-9.5 8.765625,0 16.78125,3.625 22.5625,9.5 5.6875,5.78125 9.21875,13.703125 9.21875,22.5625 z m -65.0625,0 c 0,9.234375 3.828125,17.609375 9.78125,23.671875 5.96875,6.15625 14.359375,9.890625 23.5,9.890625 9.234375,0 17.515625,-3.734375 23.578125,-9.890625 5.96875,-6.0625 9.796875,-14.4375 9.796875,-23.671875 0,-9.234375 -3.828125,-17.625 -9.796875,-23.671875 C 53.5,-62.453125 45.21875,-66.1875 35.984375,-66.1875 c -9.140625,0 -17.53125,3.734375 -23.5,9.890625 C 6.53125,-50.25 2.703125,-41.859375 2.703125,-32.625 z"
150
+ id="path36"
151
+ inkscape:connector-curvature="0" />
152
+ </symbol>
153
+ <symbol
154
+ overflow="visible"
155
+ id="glyph2-5"
156
+ style="overflow:visible">
157
+ <path
158
+ style="stroke:none"
159
+ d="m 5.78125,-63.765625 21.15625,0 c 24.234375,0 24.234375,35.234375 0,35.234375 l -12.671875,0 0,1.40625 L 44.28125,0 46.421875,0 16.40625,-27.125 l 10.53125,0 c 26.109375,0 26.109375,-38.125 0,-38.125 l -22.5625,0 0,65.25 1.40625,0 z"
160
+ id="path39"
161
+ inkscape:connector-curvature="0" />
162
+ </symbol>
163
+ <symbol
164
+ overflow="visible"
165
+ id="glyph2-6"
166
+ style="overflow:visible">
167
+ <path
168
+ style="stroke:none"
169
+ d="m 5.78125,-63.109375 26.5625,39.53125 1.21875,0 26.5625,-39.53125 0,63.109375 1.40625,0 0,-65.25 -1.5,0 -27.125,39.984375 L 5.875,-65.25 l -1.5,0 0,65.25 1.40625,0 z"
170
+ id="path42"
171
+ inkscape:connector-curvature="0" />
172
+ </symbol>
173
+ <symbol
174
+ overflow="visible"
175
+ id="glyph2-7"
176
+ style="overflow:visible">
177
+ <path
178
+ style="stroke:none"
179
+ d=""
180
+ id="path45"
181
+ inkscape:connector-curvature="0" />
182
+ </symbol>
183
+ <symbol
184
+ overflow="visible"
185
+ id="glyph2-8"
186
+ style="overflow:visible">
187
+ <path
188
+ style="stroke:none"
189
+ d="m 4.375,-64.5 c 0,21.53125 0,42.96875 0,64.5 l 1.5,0 0,-24.796875 21.0625,0 c 26.109375,0 26.109375,-40.453125 0,-40.453125 l -22.5625,0 z m 1.5,38.3125 0,-37.578125 21.0625,0 c 24.234375,0 24.234375,37.578125 0,37.578125 z"
190
+ id="path48"
191
+ inkscape:connector-curvature="0" />
192
+ </symbol>
193
+ <symbol
194
+ overflow="visible"
195
+ id="glyph2-9"
196
+ style="overflow:visible">
197
+ <path
198
+ style="stroke:none"
199
+ d="m 5.78125,-63.765625 21.15625,0 c 24.234375,0 24.234375,35.234375 0,35.234375 l -12.671875,0 0,1.40625 L 44.28125,0 46.421875,0 16.40625,-27.125 l 10.53125,0 c 26.109375,0 26.109375,-38.125 0,-38.125 l -22.5625,0 0,65.25 1.40625,0 z"
200
+ id="path51"
201
+ inkscape:connector-curvature="0" />
202
+ </symbol>
203
+ <symbol
204
+ overflow="visible"
205
+ id="glyph2-10"
206
+ style="overflow:visible">
207
+ <path
208
+ style="stroke:none"
209
+ d="m 67.03125,-32.625 c 0,8.859375 -3.546875,16.78125 -9.234375,22.5625 -5.78125,5.875 -13.796875,9.5 -22.5625,9.5 -8.765625,0 -16.6875,-3.625 -22.46875,-9.5 -5.6875,-5.78125 -9.3125,-13.703125 -9.3125,-22.5625 0,-8.859375 3.625,-16.78125 9.3125,-22.5625 5.78125,-5.875 13.703125,-9.5 22.46875,-9.5 8.765625,0 16.78125,3.625 22.5625,9.5 5.6875,5.78125 9.234375,13.703125 9.234375,22.5625 z m -65.078125,0 c 0,9.234375 3.828125,17.609375 9.796875,23.671875 5.96875,6.15625 14.34375,9.890625 23.484375,9.890625 9.234375,0 17.53125,-3.734375 23.59375,-9.890625 5.953125,-6.0625 9.78125,-14.4375 9.78125,-23.671875 0,-9.234375 -3.828125,-17.625 -9.78125,-23.671875 -6.0625,-6.15625 -14.359375,-9.890625 -23.59375,-9.890625 -9.140625,0 -17.515625,3.734375 -23.484375,9.890625 C 5.78125,-50.25 1.953125,-41.859375 1.953125,-32.625 z"
210
+ id="path54"
211
+ inkscape:connector-curvature="0" />
212
+ </symbol>
213
+ <symbol
214
+ overflow="visible"
215
+ id="glyph2-11"
216
+ style="overflow:visible">
217
+ <path
218
+ style="stroke:none"
219
+ d="m 27.5,-0.84375 -25.359375,-64.3125 -1.578125,0 26.1875,66.1875 1.59375,0 26.1875,-66.1875 -1.578125,0 z"
220
+ id="path57"
221
+ inkscape:connector-curvature="0" />
222
+ </symbol>
223
+ <symbol
224
+ overflow="visible"
225
+ id="glyph2-12"
226
+ style="overflow:visible">
227
+ <path
228
+ style="stroke:none"
229
+ d="m 5.875,-31.875 33.75,0 0,-1.5 -33.75,0 0,-30.390625 34.484375,0 0,-1.390625 -35.984375,0 0,65.15625 36.171875,0 0,-1.390625 -34.671875,0 z"
230
+ id="path60"
231
+ inkscape:connector-curvature="0" />
232
+ </symbol>
233
+ </g>
234
+ <clipPath
235
+ clipPathUnits="userSpaceOnUse"
236
+ id="clipPath3094">
237
+ <rect
238
+ style="fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
239
+ id="rect3096"
240
+ width="754.1781"
241
+ height="300.61642"
242
+ x="13.184932"
243
+ y="8.90411" />
244
+ </clipPath>
245
+ </defs>
246
+ <g
247
+ id="surface1"
248
+ clip-path="url(#clipPath3094)"
249
+ transform="matrix(0.30563256,0,0,0.25971391,2.2768141,14.142563)">
250
+ <g
251
+ style="fill:#000000;fill-opacity:1"
252
+ id="g63">
253
+ <use
254
+ xlink:href="#glyph0-1"
255
+ x="348.2168"
256
+ y="301.89426"
257
+ id="use65"
258
+ width="770"
259
+ height="415" />
260
+ </g>
261
+ <g
262
+ style="fill:#000000;fill-opacity:1"
263
+ id="g67">
264
+ <use
265
+ xlink:href="#glyph1-1"
266
+ x="529.64868"
267
+ y="301.89426"
268
+ id="use69"
269
+ width="770"
270
+ height="415" />
271
+ </g>
272
+ <g
273
+ style="fill:#000000;fill-opacity:1"
274
+ id="g71">
275
+ <use
276
+ xlink:href="#glyph1-2"
277
+ x="6.1280389"
278
+ y="301.89426"
279
+ id="use73"
280
+ width="770"
281
+ height="415" />
282
+ </g>
283
+ <path
284
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
285
+ d="m 493.91343,343.0006 35.08676,83.49946 34.99987,-83.49946"
286
+ transform="matrix(3.192199,0,0,3.192199,-1250.002,-1067.559)"
287
+ id="path75"
288
+ inkscape:connector-curvature="0" />
289
+ <path
290
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
291
+ d="m 511.0585,384.99996 35.69493,0"
292
+ transform="matrix(3.192199,0,0,3.192199,-1250.002,-1067.559)"
293
+ id="path77"
294
+ inkscape:connector-curvature="0" />
295
+ <g
296
+ style="fill:#000000;fill-opacity:1"
297
+ id="g79">
298
+ <use
299
+ xlink:href="#glyph2-1"
300
+ x="26.006697"
301
+ y="388.08368"
302
+ id="use81"
303
+ width="770"
304
+ height="415" />
305
+ <use
306
+ xlink:href="#glyph2-2"
307
+ x="74.570259"
308
+ y="388.08368"
309
+ id="use83"
310
+ width="770"
311
+ height="415" />
312
+ <use
313
+ xlink:href="#glyph2-3"
314
+ x="127.04873"
315
+ y="388.08368"
316
+ id="use85"
317
+ width="770"
318
+ height="415" />
319
+ <use
320
+ xlink:href="#glyph2-4"
321
+ x="170.01956"
322
+ y="388.08368"
323
+ id="use87"
324
+ width="770"
325
+ height="415" />
326
+ <use
327
+ xlink:href="#glyph2-5"
328
+ x="241.79297"
329
+ y="388.08368"
330
+ id="use89"
331
+ width="770"
332
+ height="415" />
333
+ <use
334
+ xlink:href="#glyph2-3"
335
+ x="291.10223"
336
+ y="388.08368"
337
+ id="use91"
338
+ width="770"
339
+ height="415" />
340
+ <use
341
+ xlink:href="#glyph2-6"
342
+ x="334.07306"
343
+ y="388.08368"
344
+ id="use93"
345
+ width="770"
346
+ height="415" />
347
+ <use
348
+ xlink:href="#glyph2-7"
349
+ x="399.97409"
350
+ y="388.08368"
351
+ id="use95"
352
+ width="770"
353
+ height="415" />
354
+ <use
355
+ xlink:href="#glyph2-8"
356
+ x="432.78479"
357
+ y="388.08368"
358
+ id="use97"
359
+ width="770"
360
+ height="415" />
361
+ <use
362
+ xlink:href="#glyph2-9"
363
+ x="481.34836"
364
+ y="388.08368"
365
+ id="use99"
366
+ width="770"
367
+ height="415" />
368
+ <use
369
+ xlink:href="#glyph2-10"
370
+ x="530.47119"
371
+ y="388.08368"
372
+ id="use101"
373
+ width="770"
374
+ height="415" />
375
+ </g>
376
+ <g
377
+ style="fill:#000000;fill-opacity:1"
378
+ id="g103">
379
+ <use
380
+ xlink:href="#glyph2-11"
381
+ x="599.16858"
382
+ y="388.08368"
383
+ id="use105"
384
+ width="770"
385
+ height="415" />
386
+ <use
387
+ xlink:href="#glyph2-12"
388
+ x="654.16376"
389
+ y="388.08368"
390
+ id="use107"
391
+ width="770"
392
+ height="415" />
393
+ <use
394
+ xlink:href="#glyph2-9"
395
+ x="697.13458"
396
+ y="388.08368"
397
+ id="use109"
398
+ width="770"
399
+ height="415" />
400
+ </g>
401
+ </g>
402
+ </svg>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="18" height="18" viewBox="0 0 18 18">
3
+ <g style="fill:#ffffff">
4
+ <path d="M 5 1.5 V 5 L 9.5 4 Z" />
5
+ <rect x="9" width="10" y="3.5" height="1.5" />
6
+ <rect x="9" width="6" y="5.5" height="1" />
7
+ <rect x="9" width="8" y="7.5" height="1" />
8
+ <rect x="6" width="14" y="11" height="3" />
9
+ <path d="M 1 12.5 L 6 9.5 V 15.5 Z" />
10
+ </g>
11
+ </svg>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="18" height="18" viewBox="0 0 18 18" fill="currentColor">
3
+ <g>
4
+ <path d="M 5 1.5 V 5 L 9.5 4 Z" />
5
+ <rect x="9" width="10" y="3.5" height="1.5" />
6
+ <rect x="9" width="6" y="5.5" height="1" />
7
+ <rect x="9" width="8" y="7.5" height="1" />
8
+ <rect x="6" width="14" y="11" height="3" />
9
+ <path d="M 1 12.5 L 6 9.5 V 15.5 Z" />
10
+ </g>
11
+ </svg>
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="18" height="18" viewBox="0 0 18 18">
3
+ <g style="fill:#ffffff">
4
+ <path d="M 1 1 V 5 L 5.5 3.5 Z" />
5
+ <rect x="5" width="12" y="3" height="5" />
6
+ <rect x="5" width="8" y="9" height="2" />
7
+ <rect x="5" width="10" y="12" height="2" />
8
+ <rect x="5" width="9" y="15" height="2" />
9
+ </g>
10
+ </svg>
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="18" height="18" viewBox="0 0 18 18">
3
+ <g style="fill:#000000">
4
+ <path d="M 1 1 V 5 L 5.5 3.5 Z" />
5
+ <rect x="5" width="12" y="3" height="5" />
6
+ <rect x="5" width="8" y="9" height="2" />
7
+ <rect x="5" width="10" y="12" height="2" />
8
+ <rect x="5" width="9" y="15" height="2" />
9
+ </g>
10
+ </svg>
@@ -0,0 +1,259 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ width="16"
4
+ height="16"
5
+ viewBox="0 0 12.8 12.8"
6
+ version="1.1"
7
+ id="svg2"
8
+ inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
9
+ sodipodi:docname="lean-mini-dark.svg"
10
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
11
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
12
+ xmlns="http://www.w3.org/2000/svg"
13
+ xmlns:svg="http://www.w3.org/2000/svg"
14
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
15
+ xmlns:cc="http://creativecommons.org/ns#"
16
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
17
+ <metadata
18
+ id="metadata113">
19
+ <rdf:RDF>
20
+ <cc:Work
21
+ rdf:about="">
22
+ <dc:format>image/svg+xml</dc:format>
23
+ <dc:type
24
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
25
+ </cc:Work>
26
+ </rdf:RDF>
27
+ </metadata>
28
+ <sodipodi:namedview
29
+ pagecolor="#000000"
30
+ bordercolor="#666666"
31
+ borderopacity="1"
32
+ objecttolerance="10"
33
+ gridtolerance="10"
34
+ guidetolerance="10"
35
+ inkscape:pageopacity="0"
36
+ inkscape:pageshadow="2"
37
+ inkscape:window-width="1920"
38
+ inkscape:window-height="1031"
39
+ id="namedview111"
40
+ showgrid="false"
41
+ inkscape:zoom="43.087793"
42
+ inkscape:cx="5.8253158"
43
+ inkscape:cy="9.0628917"
44
+ inkscape:window-x="0"
45
+ inkscape:window-y="0"
46
+ inkscape:window-maximized="1"
47
+ inkscape:current-layer="svg2"
48
+ inkscape:document-rotation="0"
49
+ showguides="true"
50
+ inkscape:guide-bbox="true"
51
+ inkscape:showpageshadow="2"
52
+ inkscape:pagecheckerboard="0"
53
+ inkscape:deskcolor="#d1d1d1" />
54
+ <defs
55
+ id="defs4">
56
+ <g
57
+ id="g6">
58
+ <symbol
59
+ overflow="visible"
60
+ id="glyph0-0"
61
+ style="overflow:visible">
62
+ <path
63
+ style="stroke:none"
64
+ d="M -5.140625,0 H -185.64062 V -262.4375 H -5.140625 Z M -178.125,-250.15625 V -13.0625 l 79.171875,-118.75 z m 5.14063,243.03125 h 154.781245 l -77.1875,-117.5625 z m 77.593745,-131.8125 77.1875,-116.375 H -172.98437 Z m 3.5625,7.125 79.15625,118.75 v -237.09375 z"
65
+ id="path9"
66
+ inkscape:connector-curvature="0" />
67
+ </symbol>
68
+ <symbol
69
+ overflow="visible"
70
+ id="glyph0-1"
71
+ style="overflow:visible">
72
+ <path
73
+ style="stroke:none"
74
+ d="m -24.9375,-135.375 h -143.29687 v -6.32812 H -24.9375 V -270.75 h -146.45312 v -5.9375 H -18.609375 V 0 H -172.1875 v -5.9375 h 147.25 z"
75
+ id="path12"
76
+ inkscape:connector-curvature="0" />
77
+ </symbol>
78
+ <symbol
79
+ overflow="visible"
80
+ id="glyph1-0"
81
+ style="overflow:visible">
82
+ <path
83
+ style="stroke:none"
84
+ d="M 5.140625,0 H 185.64062 V -262.4375 H 5.140625 Z M 178.125,-250.15625 V -13.0625 l -79.171875,-118.75 z M 172.98437,-7.125 H 18.203125 l 77.1875,-117.5625 z m -77.593745,-131.8125 -77.1875,-116.375 H 172.98437 Z m -3.5625,7.125 -79.15625,118.75 v -237.09375 z"
85
+ id="path15"
86
+ inkscape:connector-curvature="0" />
87
+ </symbol>
88
+ <symbol
89
+ overflow="visible"
90
+ id="glyph1-1"
91
+ style="overflow:visible">
92
+ <path
93
+ style="stroke:none"
94
+ d="M 24.9375,0 V -264.40625 L 207.8125,0 h 6.32812 v -277.07812 h -5.9375 V -11.078125 L 24.140625,-277.07812 l -5.53125,-0.39063 V 0 Z"
95
+ id="path18"
96
+ inkscape:connector-curvature="0" />
97
+ </symbol>
98
+ <symbol
99
+ overflow="visible"
100
+ id="glyph1-2"
101
+ style="overflow:visible">
102
+ <path
103
+ style="stroke:none"
104
+ d="M 24.9375,-276.6875 H 18.609375 V 0 C 70.453125,0 121.92188,0 173.76562,0 V -6.328125 H 24.9375 Z"
105
+ id="path21"
106
+ inkscape:connector-curvature="0" />
107
+ </symbol>
108
+ <symbol
109
+ overflow="visible"
110
+ id="glyph2-0"
111
+ style="overflow:visible">
112
+ <path
113
+ style="stroke:none"
114
+ d="m 1.21875,0 h 42.5 v -61.796875 h -42.5 z m 40.734375,-58.921875 v 55.84375 L 23.3125,-31.046875 Z m -1.21875,57.25 H 4.28125 l 18.1875,-27.6875 z M 22.46875,-32.71875 4.28125,-60.125 H 40.734375 Z M 21.625,-31.046875 2.984375,-3.078125 v -55.84375 z"
115
+ id="path24"
116
+ inkscape:connector-curvature="0" />
117
+ </symbol>
118
+ <symbol
119
+ overflow="visible"
120
+ id="glyph2-1"
121
+ style="overflow:visible">
122
+ <path
123
+ style="stroke:none"
124
+ d="m 24.796875,0.28125 v -64.046875 h 22.5625 V -65.25 H 0.84375 v 1.484375 H 23.390625 V 0.28125 Z"
125
+ id="path27"
126
+ inkscape:connector-curvature="0" />
127
+ </symbol>
128
+ <symbol
129
+ overflow="visible"
130
+ id="glyph2-2"
131
+ style="overflow:visible">
132
+ <path
133
+ style="stroke:none"
134
+ d="M 5.78125,-65.15625 H 4.375 V 0 H 5.78125 V -32.34375 H 46.703125 V 0 H 48.1875 V -65.15625 H 46.703125 V -33.75 H 5.78125 Z"
135
+ id="path30"
136
+ inkscape:connector-curvature="0" />
137
+ </symbol>
138
+ <symbol
139
+ overflow="visible"
140
+ id="glyph2-3"
141
+ style="overflow:visible">
142
+ <path
143
+ style="stroke:none"
144
+ d="m 5.875,-31.875 h 33.75 v -1.5 H 5.875 V -63.765625 H 40.359375 V -65.15625 H 4.375 V 0 H 40.546875 V -1.390625 H 5.875 Z"
145
+ id="path33"
146
+ inkscape:connector-curvature="0" />
147
+ </symbol>
148
+ <symbol
149
+ overflow="visible"
150
+ id="glyph2-4"
151
+ style="overflow:visible">
152
+ <path
153
+ style="stroke:none"
154
+ d="m 67.765625,-32.625 c 0,8.859375 -3.53125,16.78125 -9.21875,22.5625 -5.78125,5.875 -13.796875,9.5 -22.5625,9.5 -8.765625,0 -16.6875,-3.625 -22.46875,-9.5 C 7.828125,-15.84375 4.1875,-23.765625 4.1875,-32.625 c 0,-8.859375 3.640625,-16.78125 9.328125,-22.5625 5.78125,-5.875 13.703125,-9.5 22.46875,-9.5 8.765625,0 16.78125,3.625 22.5625,9.5 5.6875,5.78125 9.21875,13.703125 9.21875,22.5625 z m -65.0625,0 c 0,9.234375 3.828125,17.609375 9.78125,23.671875 5.96875,6.15625 14.359375,9.890625 23.5,9.890625 9.234375,0 17.515625,-3.734375 23.578125,-9.890625 5.96875,-6.0625 9.796875,-14.4375 9.796875,-23.671875 0,-9.234375 -3.828125,-17.625 -9.796875,-23.671875 C 53.5,-62.453125 45.21875,-66.1875 35.984375,-66.1875 c -9.140625,0 -17.53125,3.734375 -23.5,9.890625 C 6.53125,-50.25 2.703125,-41.859375 2.703125,-32.625 Z"
155
+ id="path36"
156
+ inkscape:connector-curvature="0" />
157
+ </symbol>
158
+ <symbol
159
+ overflow="visible"
160
+ id="glyph2-5"
161
+ style="overflow:visible">
162
+ <path
163
+ style="stroke:none"
164
+ d="M 5.78125,-63.765625 H 26.9375 c 24.234375,0 24.234375,35.234375 0,35.234375 H 14.265625 V -27.125 L 44.28125,0 h 2.140625 L 16.40625,-27.125 H 26.9375 c 26.109375,0 26.109375,-38.125 0,-38.125 H 4.375 V 0 h 1.40625 z"
165
+ id="path39"
166
+ inkscape:connector-curvature="0" />
167
+ </symbol>
168
+ <symbol
169
+ overflow="visible"
170
+ id="glyph2-6"
171
+ style="overflow:visible">
172
+ <path
173
+ style="stroke:none"
174
+ d="m 5.78125,-63.109375 26.5625,39.53125 H 33.5625 L 60.125,-63.109375 V 0 h 1.40625 v -65.25 h -1.5 L 32.90625,-25.265625 5.875,-65.25 h -1.5 V 0 h 1.40625 z"
175
+ id="path42"
176
+ inkscape:connector-curvature="0" />
177
+ </symbol>
178
+ <symbol
179
+ overflow="visible"
180
+ id="glyph2-7"
181
+ style="overflow:visible">
182
+ <path
183
+ style="stroke:none"
184
+ d=""
185
+ id="path45"
186
+ inkscape:connector-curvature="0" />
187
+ </symbol>
188
+ <symbol
189
+ overflow="visible"
190
+ id="glyph2-8"
191
+ style="overflow:visible">
192
+ <path
193
+ style="stroke:none"
194
+ d="m 4.375,-64.5 c 0,21.53125 0,42.96875 0,64.5 h 1.5 v -24.796875 h 21.0625 c 26.109375,0 26.109375,-40.453125 0,-40.453125 H 4.375 Z m 1.5,38.3125 v -37.578125 h 21.0625 c 24.234375,0 24.234375,37.578125 0,37.578125 z"
195
+ id="path48"
196
+ inkscape:connector-curvature="0" />
197
+ </symbol>
198
+ <symbol
199
+ overflow="visible"
200
+ id="glyph2-9"
201
+ style="overflow:visible">
202
+ <path
203
+ style="stroke:none"
204
+ d="M 5.78125,-63.765625 H 26.9375 c 24.234375,0 24.234375,35.234375 0,35.234375 H 14.265625 V -27.125 L 44.28125,0 h 2.140625 L 16.40625,-27.125 H 26.9375 c 26.109375,0 26.109375,-38.125 0,-38.125 H 4.375 V 0 h 1.40625 z"
205
+ id="path51"
206
+ inkscape:connector-curvature="0" />
207
+ </symbol>
208
+ <symbol
209
+ overflow="visible"
210
+ id="glyph2-10"
211
+ style="overflow:visible">
212
+ <path
213
+ style="stroke:none"
214
+ d="m 67.03125,-32.625 c 0,8.859375 -3.546875,16.78125 -9.234375,22.5625 -5.78125,5.875 -13.796875,9.5 -22.5625,9.5 -8.765625,0 -16.6875,-3.625 -22.46875,-9.5 -5.6875,-5.78125 -9.3125,-13.703125 -9.3125,-22.5625 0,-8.859375 3.625,-16.78125 9.3125,-22.5625 5.78125,-5.875 13.703125,-9.5 22.46875,-9.5 8.765625,0 16.78125,3.625 22.5625,9.5 5.6875,5.78125 9.234375,13.703125 9.234375,22.5625 z m -65.078125,0 c 0,9.234375 3.828125,17.609375 9.796875,23.671875 5.96875,6.15625 14.34375,9.890625 23.484375,9.890625 9.234375,0 17.53125,-3.734375 23.59375,-9.890625 5.953125,-6.0625 9.78125,-14.4375 9.78125,-23.671875 0,-9.234375 -3.828125,-17.625 -9.78125,-23.671875 -6.0625,-6.15625 -14.359375,-9.890625 -23.59375,-9.890625 -9.140625,0 -17.515625,3.734375 -23.484375,9.890625 C 5.78125,-50.25 1.953125,-41.859375 1.953125,-32.625 Z"
215
+ id="path54"
216
+ inkscape:connector-curvature="0" />
217
+ </symbol>
218
+ <symbol
219
+ overflow="visible"
220
+ id="glyph2-11"
221
+ style="overflow:visible">
222
+ <path
223
+ style="stroke:none"
224
+ d="M 27.5,-0.84375 2.140625,-65.15625 H 0.5625 L 26.75,1.03125 h 1.59375 l 26.1875,-66.1875 h -1.578125 z"
225
+ id="path57"
226
+ inkscape:connector-curvature="0" />
227
+ </symbol>
228
+ <symbol
229
+ overflow="visible"
230
+ id="glyph2-12"
231
+ style="overflow:visible">
232
+ <path
233
+ style="stroke:none"
234
+ d="m 5.875,-31.875 h 33.75 v -1.5 H 5.875 V -63.765625 H 40.359375 V -65.15625 H 4.375 V 0 H 40.546875 V -1.390625 H 5.875 Z"
235
+ id="path60"
236
+ inkscape:connector-curvature="0" />
237
+ </symbol>
238
+ </g>
239
+ </defs>
240
+ <g
241
+ id="forall"
242
+ transform="matrix(0.04873494,0,0,0.04761486,11.894795,-3.1880833)"
243
+ inkscape:label="forall">
244
+ <path
245
+ style="fill:none;stroke:#ffffff;stroke-width:11.62509614;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
246
+ d="M -225.01753,85.058532 -113.00637,312.33298 -0.4770204,85.148264"
247
+ id="v"
248
+ inkscape:connector-curvature="0"
249
+ sodipodi:nodetypes="ccc"
250
+ inkscape:label="v" />
251
+ <path
252
+ style="fill:none;stroke:#ffffff;stroke-width:11.62509614;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
253
+ d="M -168.48853,201.23967 H -56.98534"
254
+ id="straight"
255
+ inkscape:connector-curvature="0"
256
+ sodipodi:nodetypes="cc"
257
+ inkscape:label="straight" />
258
+ </g>
259
+ </svg>
@@ -0,0 +1,259 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ width="16"
4
+ height="16"
5
+ viewBox="0 0 12.8 12.8"
6
+ version="1.1"
7
+ id="svg2"
8
+ inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
9
+ sodipodi:docname="lean-mini-light.svg"
10
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
11
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
12
+ xmlns="http://www.w3.org/2000/svg"
13
+ xmlns:svg="http://www.w3.org/2000/svg"
14
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
15
+ xmlns:cc="http://creativecommons.org/ns#"
16
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
17
+ <metadata
18
+ id="metadata113">
19
+ <rdf:RDF>
20
+ <cc:Work
21
+ rdf:about="">
22
+ <dc:format>image/svg+xml</dc:format>
23
+ <dc:type
24
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
25
+ </cc:Work>
26
+ </rdf:RDF>
27
+ </metadata>
28
+ <sodipodi:namedview
29
+ pagecolor="#ffffff"
30
+ bordercolor="#666666"
31
+ borderopacity="1"
32
+ objecttolerance="10"
33
+ gridtolerance="10"
34
+ guidetolerance="10"
35
+ inkscape:pageopacity="0"
36
+ inkscape:pageshadow="2"
37
+ inkscape:window-width="1920"
38
+ inkscape:window-height="1031"
39
+ id="namedview111"
40
+ showgrid="false"
41
+ inkscape:zoom="43.087793"
42
+ inkscape:cx="5.8253158"
43
+ inkscape:cy="9.0628917"
44
+ inkscape:window-x="0"
45
+ inkscape:window-y="0"
46
+ inkscape:window-maximized="1"
47
+ inkscape:current-layer="svg2"
48
+ inkscape:document-rotation="0"
49
+ showguides="true"
50
+ inkscape:guide-bbox="true"
51
+ inkscape:showpageshadow="2"
52
+ inkscape:pagecheckerboard="0"
53
+ inkscape:deskcolor="#d1d1d1" />
54
+ <defs
55
+ id="defs4">
56
+ <g
57
+ id="g6">
58
+ <symbol
59
+ overflow="visible"
60
+ id="glyph0-0"
61
+ style="overflow:visible">
62
+ <path
63
+ style="stroke:none"
64
+ d="M -5.140625,0 H -185.64062 V -262.4375 H -5.140625 Z M -178.125,-250.15625 V -13.0625 l 79.171875,-118.75 z m 5.14063,243.03125 h 154.781245 l -77.1875,-117.5625 z m 77.593745,-131.8125 77.1875,-116.375 H -172.98437 Z m 3.5625,7.125 79.15625,118.75 v -237.09375 z"
65
+ id="path9"
66
+ inkscape:connector-curvature="0" />
67
+ </symbol>
68
+ <symbol
69
+ overflow="visible"
70
+ id="glyph0-1"
71
+ style="overflow:visible">
72
+ <path
73
+ style="stroke:none"
74
+ d="m -24.9375,-135.375 h -143.29687 v -6.32812 H -24.9375 V -270.75 h -146.45312 v -5.9375 H -18.609375 V 0 H -172.1875 v -5.9375 h 147.25 z"
75
+ id="path12"
76
+ inkscape:connector-curvature="0" />
77
+ </symbol>
78
+ <symbol
79
+ overflow="visible"
80
+ id="glyph1-0"
81
+ style="overflow:visible">
82
+ <path
83
+ style="stroke:none"
84
+ d="M 5.140625,0 H 185.64062 V -262.4375 H 5.140625 Z M 178.125,-250.15625 V -13.0625 l -79.171875,-118.75 z M 172.98437,-7.125 H 18.203125 l 77.1875,-117.5625 z m -77.593745,-131.8125 -77.1875,-116.375 H 172.98437 Z m -3.5625,7.125 -79.15625,118.75 v -237.09375 z"
85
+ id="path15"
86
+ inkscape:connector-curvature="0" />
87
+ </symbol>
88
+ <symbol
89
+ overflow="visible"
90
+ id="glyph1-1"
91
+ style="overflow:visible">
92
+ <path
93
+ style="stroke:none"
94
+ d="M 24.9375,0 V -264.40625 L 207.8125,0 h 6.32812 v -277.07812 h -5.9375 V -11.078125 L 24.140625,-277.07812 l -5.53125,-0.39063 V 0 Z"
95
+ id="path18"
96
+ inkscape:connector-curvature="0" />
97
+ </symbol>
98
+ <symbol
99
+ overflow="visible"
100
+ id="glyph1-2"
101
+ style="overflow:visible">
102
+ <path
103
+ style="stroke:none"
104
+ d="M 24.9375,-276.6875 H 18.609375 V 0 C 70.453125,0 121.92188,0 173.76562,0 V -6.328125 H 24.9375 Z"
105
+ id="path21"
106
+ inkscape:connector-curvature="0" />
107
+ </symbol>
108
+ <symbol
109
+ overflow="visible"
110
+ id="glyph2-0"
111
+ style="overflow:visible">
112
+ <path
113
+ style="stroke:none"
114
+ d="m 1.21875,0 h 42.5 v -61.796875 h -42.5 z m 40.734375,-58.921875 v 55.84375 L 23.3125,-31.046875 Z m -1.21875,57.25 H 4.28125 l 18.1875,-27.6875 z M 22.46875,-32.71875 4.28125,-60.125 H 40.734375 Z M 21.625,-31.046875 2.984375,-3.078125 v -55.84375 z"
115
+ id="path24"
116
+ inkscape:connector-curvature="0" />
117
+ </symbol>
118
+ <symbol
119
+ overflow="visible"
120
+ id="glyph2-1"
121
+ style="overflow:visible">
122
+ <path
123
+ style="stroke:none"
124
+ d="m 24.796875,0.28125 v -64.046875 h 22.5625 V -65.25 H 0.84375 v 1.484375 H 23.390625 V 0.28125 Z"
125
+ id="path27"
126
+ inkscape:connector-curvature="0" />
127
+ </symbol>
128
+ <symbol
129
+ overflow="visible"
130
+ id="glyph2-2"
131
+ style="overflow:visible">
132
+ <path
133
+ style="stroke:none"
134
+ d="M 5.78125,-65.15625 H 4.375 V 0 H 5.78125 V -32.34375 H 46.703125 V 0 H 48.1875 V -65.15625 H 46.703125 V -33.75 H 5.78125 Z"
135
+ id="path30"
136
+ inkscape:connector-curvature="0" />
137
+ </symbol>
138
+ <symbol
139
+ overflow="visible"
140
+ id="glyph2-3"
141
+ style="overflow:visible">
142
+ <path
143
+ style="stroke:none"
144
+ d="m 5.875,-31.875 h 33.75 v -1.5 H 5.875 V -63.765625 H 40.359375 V -65.15625 H 4.375 V 0 H 40.546875 V -1.390625 H 5.875 Z"
145
+ id="path33"
146
+ inkscape:connector-curvature="0" />
147
+ </symbol>
148
+ <symbol
149
+ overflow="visible"
150
+ id="glyph2-4"
151
+ style="overflow:visible">
152
+ <path
153
+ style="stroke:none"
154
+ d="m 67.765625,-32.625 c 0,8.859375 -3.53125,16.78125 -9.21875,22.5625 -5.78125,5.875 -13.796875,9.5 -22.5625,9.5 -8.765625,0 -16.6875,-3.625 -22.46875,-9.5 C 7.828125,-15.84375 4.1875,-23.765625 4.1875,-32.625 c 0,-8.859375 3.640625,-16.78125 9.328125,-22.5625 5.78125,-5.875 13.703125,-9.5 22.46875,-9.5 8.765625,0 16.78125,3.625 22.5625,9.5 5.6875,5.78125 9.21875,13.703125 9.21875,22.5625 z m -65.0625,0 c 0,9.234375 3.828125,17.609375 9.78125,23.671875 5.96875,6.15625 14.359375,9.890625 23.5,9.890625 9.234375,0 17.515625,-3.734375 23.578125,-9.890625 5.96875,-6.0625 9.796875,-14.4375 9.796875,-23.671875 0,-9.234375 -3.828125,-17.625 -9.796875,-23.671875 C 53.5,-62.453125 45.21875,-66.1875 35.984375,-66.1875 c -9.140625,0 -17.53125,3.734375 -23.5,9.890625 C 6.53125,-50.25 2.703125,-41.859375 2.703125,-32.625 Z"
155
+ id="path36"
156
+ inkscape:connector-curvature="0" />
157
+ </symbol>
158
+ <symbol
159
+ overflow="visible"
160
+ id="glyph2-5"
161
+ style="overflow:visible">
162
+ <path
163
+ style="stroke:none"
164
+ d="M 5.78125,-63.765625 H 26.9375 c 24.234375,0 24.234375,35.234375 0,35.234375 H 14.265625 V -27.125 L 44.28125,0 h 2.140625 L 16.40625,-27.125 H 26.9375 c 26.109375,0 26.109375,-38.125 0,-38.125 H 4.375 V 0 h 1.40625 z"
165
+ id="path39"
166
+ inkscape:connector-curvature="0" />
167
+ </symbol>
168
+ <symbol
169
+ overflow="visible"
170
+ id="glyph2-6"
171
+ style="overflow:visible">
172
+ <path
173
+ style="stroke:none"
174
+ d="m 5.78125,-63.109375 26.5625,39.53125 H 33.5625 L 60.125,-63.109375 V 0 h 1.40625 v -65.25 h -1.5 L 32.90625,-25.265625 5.875,-65.25 h -1.5 V 0 h 1.40625 z"
175
+ id="path42"
176
+ inkscape:connector-curvature="0" />
177
+ </symbol>
178
+ <symbol
179
+ overflow="visible"
180
+ id="glyph2-7"
181
+ style="overflow:visible">
182
+ <path
183
+ style="stroke:none"
184
+ d=""
185
+ id="path45"
186
+ inkscape:connector-curvature="0" />
187
+ </symbol>
188
+ <symbol
189
+ overflow="visible"
190
+ id="glyph2-8"
191
+ style="overflow:visible">
192
+ <path
193
+ style="stroke:none"
194
+ d="m 4.375,-64.5 c 0,21.53125 0,42.96875 0,64.5 h 1.5 v -24.796875 h 21.0625 c 26.109375,0 26.109375,-40.453125 0,-40.453125 H 4.375 Z m 1.5,38.3125 v -37.578125 h 21.0625 c 24.234375,0 24.234375,37.578125 0,37.578125 z"
195
+ id="path48"
196
+ inkscape:connector-curvature="0" />
197
+ </symbol>
198
+ <symbol
199
+ overflow="visible"
200
+ id="glyph2-9"
201
+ style="overflow:visible">
202
+ <path
203
+ style="stroke:none"
204
+ d="M 5.78125,-63.765625 H 26.9375 c 24.234375,0 24.234375,35.234375 0,35.234375 H 14.265625 V -27.125 L 44.28125,0 h 2.140625 L 16.40625,-27.125 H 26.9375 c 26.109375,0 26.109375,-38.125 0,-38.125 H 4.375 V 0 h 1.40625 z"
205
+ id="path51"
206
+ inkscape:connector-curvature="0" />
207
+ </symbol>
208
+ <symbol
209
+ overflow="visible"
210
+ id="glyph2-10"
211
+ style="overflow:visible">
212
+ <path
213
+ style="stroke:none"
214
+ d="m 67.03125,-32.625 c 0,8.859375 -3.546875,16.78125 -9.234375,22.5625 -5.78125,5.875 -13.796875,9.5 -22.5625,9.5 -8.765625,0 -16.6875,-3.625 -22.46875,-9.5 -5.6875,-5.78125 -9.3125,-13.703125 -9.3125,-22.5625 0,-8.859375 3.625,-16.78125 9.3125,-22.5625 5.78125,-5.875 13.703125,-9.5 22.46875,-9.5 8.765625,0 16.78125,3.625 22.5625,9.5 5.6875,5.78125 9.234375,13.703125 9.234375,22.5625 z m -65.078125,0 c 0,9.234375 3.828125,17.609375 9.796875,23.671875 5.96875,6.15625 14.34375,9.890625 23.484375,9.890625 9.234375,0 17.53125,-3.734375 23.59375,-9.890625 5.953125,-6.0625 9.78125,-14.4375 9.78125,-23.671875 0,-9.234375 -3.828125,-17.625 -9.78125,-23.671875 -6.0625,-6.15625 -14.359375,-9.890625 -23.59375,-9.890625 -9.140625,0 -17.515625,3.734375 -23.484375,9.890625 C 5.78125,-50.25 1.953125,-41.859375 1.953125,-32.625 Z"
215
+ id="path54"
216
+ inkscape:connector-curvature="0" />
217
+ </symbol>
218
+ <symbol
219
+ overflow="visible"
220
+ id="glyph2-11"
221
+ style="overflow:visible">
222
+ <path
223
+ style="stroke:none"
224
+ d="M 27.5,-0.84375 2.140625,-65.15625 H 0.5625 L 26.75,1.03125 h 1.59375 l 26.1875,-66.1875 h -1.578125 z"
225
+ id="path57"
226
+ inkscape:connector-curvature="0" />
227
+ </symbol>
228
+ <symbol
229
+ overflow="visible"
230
+ id="glyph2-12"
231
+ style="overflow:visible">
232
+ <path
233
+ style="stroke:none"
234
+ d="m 5.875,-31.875 h 33.75 v -1.5 H 5.875 V -63.765625 H 40.359375 V -65.15625 H 4.375 V 0 H 40.546875 V -1.390625 H 5.875 Z"
235
+ id="path60"
236
+ inkscape:connector-curvature="0" />
237
+ </symbol>
238
+ </g>
239
+ </defs>
240
+ <g
241
+ id="forall"
242
+ transform="matrix(0.04873494,0,0,0.04761486,11.894795,-3.1880833)"
243
+ inkscape:label="forall">
244
+ <path
245
+ style="fill:none;stroke:#000000;stroke-width:11.62509614;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
246
+ d="M -225.01753,85.058532 -113.00637,312.33298 -0.4770204,85.148264"
247
+ id="v"
248
+ inkscape:connector-curvature="0"
249
+ sodipodi:nodetypes="ccc"
250
+ inkscape:label="v" />
251
+ <path
252
+ style="fill:none;stroke:#000000;stroke-width:11.62509614;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
253
+ d="M -168.48853,201.23967 H -56.98534"
254
+ id="straight"
255
+ inkscape:connector-curvature="0"
256
+ sodipodi:nodetypes="cc"
257
+ inkscape:label="straight" />
258
+ </g>
259
+ </svg>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="18px" height="18px" viewBox="0 0 18 18" xml:space="preserve">
3
+ <g>
4
+ <rect fill="orange" fill-opacity="0.75" x="1" y="0" width="4" height="18"/>
5
+ </g>
6
+ </svg>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="18px" height="18px" viewBox="0 0 18 18" xml:space="preserve">
3
+ <g>
4
+ <rect fill="red" fill-opacity="0.75" x="1" y="0" width="4" height="18"/>
5
+ </g>
6
+ </svg>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="18px" height="18px" viewBox="0 0 18 18" xml:space="preserve">
3
+ <g>
4
+ <rect fill="red" fill-opacity="0.75" x="1" y="0" width="4" height="18"/>
5
+ </g>
6
+ </svg>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="18px" height="18px" viewBox="0 0 18 18" xml:space="preserve">
3
+ <g>
4
+ <rect fill="orange" fill-opacity="0.75" x="1" y="0" width="4" height="18"/>
5
+ </g>
6
+ </svg>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lean4monaco",
3
- "version": "1.0.14",
3
+ "version": "1.0.16",
4
4
  "description": "Monaco Editor support for the Lean 4 theorem prover.",
5
5
  "keywords": [
6
6
  "lean",
@@ -33,8 +33,10 @@
33
33
  "url": "https://github.com/hhu-adam/lean4monaco"
34
34
  },
35
35
  "scripts": {
36
- "start": "concurrently \"tsc -w\" \"webpack --watch\" \"cd demo && npm run start_client\" \"cd demo && npm run start_server\" -n tsc,webpack,vite,server -c \"bgGreen.bold,bgBlue.bold,bgYellow.bold,bgMagenta.bold\"",
37
- "build": "tsc && webpack && cd src && copyfiles \"**/*.json\" \"**/*.css\" \"**/*.ttf\" ../dist/",
36
+ "start": "concurrently \"tsc -w --preserveWatchOutput\" \"webpack --watch\" \"npm run watch:copyfiles\" \"cd demo && npm run start_client\" \"cd demo && npm run start_server\" -n tsc,webpack,copyfiles,vite,server -c \"bgGreen.bold,bgBlue.bold,bgCyan.bold,bgYellow.bold,bgMagenta.bold\"",
37
+ "watch:copyfiles": "nodemon --watch ./src --exec \"npm run build:copyfiles\"",
38
+ "build": "tsc && webpack && npm run build:copyfiles",
39
+ "build:copyfiles": "cd src && copyfiles \"**/*.json\" \"**/*.css\" \"**/*.ttf\" \"**/*.svg\" ../dist/",
38
40
  "test": "(cd demo && npm install && npm run build_server) && concurrently --kill-others \"npm start 1> /dev/null\" \"wait-on http://localhost:5173 && cypress run\" -n server,cypress -s command-cypress"
39
41
  },
40
42
  "dependencies": {
@@ -60,6 +62,7 @@
60
62
  "copyfiles": "^2.4.1",
61
63
  "cypress": "^13.13.0",
62
64
  "cypress-iframe": "^1.0.1",
65
+ "nodemon": "^3.1.4",
63
66
  "ts-loader": "^9.5.1",
64
67
  "typescript": "^5.4.5",
65
68
  "wait-on": "^7.2.0",