lean4monaco 1.0.8 → 1.0.10

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 (77) hide show
  1. package/README.md +7 -0
  2. package/dist/infowebview.d.ts +2 -2
  3. package/dist/infowebview.js +2 -2
  4. package/dist/leanmonaco.d.ts +4 -4
  5. package/dist/leanmonaco.js +11 -11
  6. package/dist/monacoleanclient.d.ts +1 -1
  7. package/dist/preconditions.d.ts +2 -2
  8. package/dist/vscode-lean4/lean4-infoview/package.json +59 -0
  9. package/dist/vscode-lean4/lean4-infoview/src/infoview/index.css +266 -0
  10. package/dist/vscode-lean4/lean4-infoview/test/tsconfig.json +7 -0
  11. package/dist/vscode-lean4/lean4-infoview/tsconfig.json +34 -0
  12. package/dist/vscode-lean4/lean4-infoview-api/package.json +20 -0
  13. package/dist/vscode-lean4/lean4-infoview-api/tsconfig.json +29 -0
  14. package/dist/vscode-lean4/lean4-unicode-input/package.json +19 -0
  15. package/dist/vscode-lean4/lean4-unicode-input/src/abbreviations.json +1836 -0
  16. package/dist/vscode-lean4/lean4-unicode-input/tsconfig.json +18 -0
  17. package/dist/vscode-lean4/lean4-unicode-input-component/package.json +22 -0
  18. package/dist/vscode-lean4/lean4-unicode-input-component/tsconfig.json +18 -0
  19. package/dist/vscode-lean4/lerna.json +4 -0
  20. package/dist/vscode-lean4/package-lock.json +14153 -0
  21. package/dist/vscode-lean4/package.json +39 -0
  22. package/dist/vscode-lean4/vscode-lean4/abbreviationview/tsconfig.json +10 -0
  23. package/dist/vscode-lean4/vscode-lean4/language-configuration.json +157 -0
  24. package/dist/vscode-lean4/vscode-lean4/loogleview/static/index.css +94 -0
  25. package/dist/vscode-lean4/vscode-lean4/loogleview/tsconfig.json +10 -0
  26. package/dist/vscode-lean4/vscode-lean4/package.json +963 -0
  27. package/dist/vscode-lean4/vscode-lean4/src/abbreviation/AbbreviationFeature.d.ts +8 -0
  28. package/dist/vscode-lean4/vscode-lean4/src/abbreviation/AbbreviationFeature.js +20 -0
  29. package/dist/vscode-lean4/vscode-lean4/src/abbreviation/AbbreviationHoverProvider.d.ts +12 -0
  30. package/dist/vscode-lean4/vscode-lean4/src/abbreviation/AbbreviationHoverProvider.js +40 -0
  31. package/dist/vscode-lean4/vscode-lean4/src/abbreviation/AbbreviationRewriterFeature.d.ts +20 -0
  32. package/dist/vscode-lean4/vscode-lean4/src/abbreviation/AbbreviationRewriterFeature.js +82 -0
  33. package/dist/vscode-lean4/vscode-lean4/src/abbreviation/VSCodeAbbreviationConfig.d.ts +13 -0
  34. package/dist/vscode-lean4/vscode-lean4/src/abbreviation/VSCodeAbbreviationConfig.js +29 -0
  35. package/dist/vscode-lean4/vscode-lean4/src/abbreviation/VSCodeAbbreviationRewriter.d.ts +28 -0
  36. package/dist/vscode-lean4/vscode-lean4/src/abbreviation/VSCodeAbbreviationRewriter.js +131 -0
  37. package/dist/vscode-lean4/vscode-lean4/src/config.d.ts +33 -0
  38. package/dist/vscode-lean4/vscode-lean4/src/config.js +119 -0
  39. package/dist/vscode-lean4/vscode-lean4/src/diagnostics/setupNotifs.d.ts +27 -0
  40. package/dist/vscode-lean4/vscode-lean4/src/diagnostics/setupNotifs.js +133 -0
  41. package/dist/vscode-lean4/vscode-lean4/src/infoview.d.ts +69 -0
  42. package/dist/vscode-lean4/vscode-lean4/src/infoview.js +710 -0
  43. package/dist/vscode-lean4/vscode-lean4/src/leanclient.d.ts +66 -0
  44. package/dist/vscode-lean4/vscode-lean4/src/leanclient.js +439 -0
  45. package/dist/vscode-lean4/vscode-lean4/src/rpc.d.ts +16 -0
  46. package/dist/vscode-lean4/vscode-lean4/src/rpc.js +102 -0
  47. package/dist/vscode-lean4/vscode-lean4/src/taskgutter.d.ts +11 -0
  48. package/dist/vscode-lean4/vscode-lean4/src/taskgutter.js +130 -0
  49. package/dist/vscode-lean4/vscode-lean4/src/utils/batch.d.ts +37 -0
  50. package/dist/vscode-lean4/vscode-lean4/src/utils/batch.js +203 -0
  51. package/dist/vscode-lean4/vscode-lean4/src/utils/clientProvider.d.ts +40 -0
  52. package/dist/vscode-lean4/vscode-lean4/src/utils/clientProvider.js +209 -0
  53. package/dist/vscode-lean4/vscode-lean4/src/utils/converters.d.ts +16 -0
  54. package/dist/vscode-lean4/vscode-lean4/src/utils/converters.js +129 -0
  55. package/dist/vscode-lean4/vscode-lean4/src/utils/elan.d.ts +3 -0
  56. package/dist/vscode-lean4/vscode-lean4/src/utils/elan.js +4 -0
  57. package/dist/vscode-lean4/vscode-lean4/src/utils/envPath.d.ts +21 -0
  58. package/dist/vscode-lean4/vscode-lean4/src/utils/envPath.js +53 -0
  59. package/dist/vscode-lean4/vscode-lean4/src/utils/exturi.d.ts +36 -0
  60. package/dist/vscode-lean4/vscode-lean4/src/utils/exturi.js +143 -0
  61. package/dist/vscode-lean4/vscode-lean4/src/utils/fsHelper.d.ts +19 -0
  62. package/dist/vscode-lean4/vscode-lean4/src/utils/fsHelper.js +43 -0
  63. package/dist/vscode-lean4/vscode-lean4/src/utils/leanInstaller.d.ts +37 -0
  64. package/dist/vscode-lean4/vscode-lean4/src/utils/leanInstaller.js +210 -0
  65. package/dist/vscode-lean4/vscode-lean4/src/utils/logger.d.ts +7 -0
  66. package/dist/vscode-lean4/vscode-lean4/src/utils/logger.js +20 -0
  67. package/dist/vscode-lean4/vscode-lean4/src/utils/notifs.d.ts +24 -0
  68. package/dist/vscode-lean4/vscode-lean4/src/utils/notifs.js +110 -0
  69. package/dist/vscode-lean4/vscode-lean4/src/utils/projectInfo.d.ts +27 -0
  70. package/dist/vscode-lean4/vscode-lean4/src/utils/projectInfo.js +131 -0
  71. package/dist/vscode-lean4/vscode-lean4/syntaxes/codeblock.json +45 -0
  72. package/dist/vscode-lean4/vscode-lean4/syntaxes/lean4-markdown.json +2637 -0
  73. package/dist/vscode-lean4/vscode-lean4/syntaxes/lean4.json +127 -0
  74. package/dist/vscode-lean4/vscode-lean4/tsconfig.json +18 -0
  75. package/dist/vscode-lean4/vscode-lean4/webview/tsconfig.json +11 -0
  76. package/dist/webview.js +1 -1
  77. package/package.json +5 -1
package/README.md CHANGED
@@ -1,8 +1,15 @@
1
1
  # Lean 4 Monaco
2
2
 
3
+ Provides browser support for running Lean in a Monaco editor.
4
+
5
+ This package is based on the VSCode extension
6
+ [Lean 4](https://marketplace.visualstudio.com/items?itemName=leanprover.lean4) and the
7
+ [Lean Infoview](https://www.npmjs.com/package/@leanprover/infoview).
8
+
3
9
  ## Usage
4
10
 
5
11
  Install this package in your npm project.
12
+
6
13
  ```
7
14
  npm install lean4monaco
8
15
  ```
@@ -1,6 +1,6 @@
1
1
  import { EditorApi, InfoviewApi } from "@leanprover/infoview-api";
2
- import { InfoWebviewFactory, InfoWebview } from "./monaco-lean4/vscode-lean4/src/infoview";
3
- import { Rpc } from "./monaco-lean4/vscode-lean4/src/rpc";
2
+ import { InfoWebviewFactory, InfoWebview } from "./vscode-lean4/vscode-lean4/src/infoview";
3
+ import { Rpc } from "./vscode-lean4/vscode-lean4/src/rpc";
4
4
  import { ViewColumn } from "vscode";
5
5
  export declare class IFrameInfoWebview implements InfoWebview {
6
6
  private iframe;
@@ -1,4 +1,4 @@
1
- import { Rpc } from "./monaco-lean4/vscode-lean4/src/rpc";
1
+ import { Rpc } from "./vscode-lean4/vscode-lean4/src/rpc";
2
2
  import { EventEmitter } from "vscode";
3
3
  export class IFrameInfoWebview {
4
4
  iframe;
@@ -69,7 +69,7 @@ export class IFrameInfoWebviewFactory {
69
69
  <title>Infoview</title>
70
70
  <style>${stylesheet}</style>
71
71
  <link rel="stylesheet" href="${new URL('./vscode.css', import.meta.url)}">
72
- <link rel="stylesheet" href="${new URL('./monaco-lean4/lean4-infoview/src/infoview/index.css', import.meta.url)}">
72
+ <link rel="stylesheet" href="${new URL('./vscode-lean4/lean4-infoview/src/infoview/index.css', import.meta.url)}">
73
73
  </head>
74
74
  <body>
75
75
  <div id="react_root"></div>
@@ -1,9 +1,9 @@
1
1
  import 'vscode/localExtensionHost';
2
2
  import { RegisterExtensionResult, WebSocketConfigOptionsUrl } from 'monaco-editor-wrapper';
3
- import { LeanClientProvider } from './monaco-lean4/vscode-lean4/src/utils/clientProvider';
4
- import { InfoProvider } from './monaco-lean4/vscode-lean4/src/infoview';
5
- import { AbbreviationFeature } from './monaco-lean4/vscode-lean4/src/abbreviation/AbbreviationFeature';
6
- import { LeanTaskGutter } from './monaco-lean4/vscode-lean4/src/taskgutter';
3
+ import { LeanClientProvider } from './vscode-lean4/vscode-lean4/src/utils/clientProvider';
4
+ import { InfoProvider } from './vscode-lean4/vscode-lean4/src/infoview';
5
+ import { AbbreviationFeature } from './vscode-lean4/vscode-lean4/src/abbreviation/AbbreviationFeature';
6
+ import { LeanTaskGutter } from './vscode-lean4/vscode-lean4/src/taskgutter';
7
7
  import { IFrameInfoWebviewFactory } from './infowebview';
8
8
  import { IExtensionManifest } from 'vscode/extensions';
9
9
  import { DisposableStore } from 'vscode/monaco';
@@ -1,9 +1,9 @@
1
1
  import 'vscode/localExtensionHost';
2
- import { LeanClientProvider } from './monaco-lean4/vscode-lean4/src/utils/clientProvider';
2
+ import { LeanClientProvider } from './vscode-lean4/vscode-lean4/src/utils/clientProvider';
3
3
  import { Uri } from 'vscode';
4
- import { InfoProvider } from './monaco-lean4/vscode-lean4/src/infoview';
5
- import { AbbreviationFeature } from './monaco-lean4/vscode-lean4/src/abbreviation/AbbreviationFeature';
6
- import { LeanTaskGutter } from './monaco-lean4/vscode-lean4/src/taskgutter';
4
+ import { InfoProvider } from './vscode-lean4/vscode-lean4/src/infoview';
5
+ import { AbbreviationFeature } from './vscode-lean4/vscode-lean4/src/abbreviation/AbbreviationFeature';
6
+ import { LeanTaskGutter } from './vscode-lean4/vscode-lean4/src/taskgutter';
7
7
  import { IFrameInfoWebviewFactory } from './infowebview';
8
8
  import { setupMonacoClient } from './monacoleanclient';
9
9
  import { checkLean4ProjectPreconditions } from './preconditions';
@@ -15,7 +15,7 @@ import getLanguagesServiceOverride from '@codingame/monaco-vscode-languages-serv
15
15
  import getModelServiceOverride from '@codingame/monaco-vscode-model-service-override';
16
16
  import { registerExtension } from 'vscode/extensions';
17
17
  import { DisposableStore } from 'vscode/monaco';
18
- import packageJson from './monaco-lean4/vscode-lean4/package.json';
18
+ import packageJson from './vscode-lean4/vscode-lean4/package.json';
19
19
  export class LeanMonaco {
20
20
  ready;
21
21
  whenReady = new Promise((resolve) => {
@@ -89,8 +89,8 @@ export class LeanMonaco {
89
89
  testLeanVersion: () => { return "lean4/stable"; },
90
90
  getElanDefaultToolchain: () => { return "lean4/stable"; }
91
91
  }, { appendLine: () => { }
92
- }, setupMonacoClient(this.getWebSocketOptions(options)), checkLean4ProjectPreconditions, (docUri) => { return true; });
93
- this.taskGutter = new LeanTaskGutter(this.clientProvider, { asAbsolutePath: (path) => Uri.parse(`${new URL('monaco-lean4/vscode-lean4/' + path, import.meta.url)}`), });
92
+ }, setupMonacoClient(this.getWebSocketOptions(options)), checkLean4ProjectPreconditions);
93
+ this.taskGutter = new LeanTaskGutter(this.clientProvider, { asAbsolutePath: (path) => Uri.parse(`${new URL('vscode-lean4/vscode-lean4/' + path, import.meta.url)}`), });
94
94
  if (!this.iframeWebviewFactory)
95
95
  this.iframeWebviewFactory = new IFrameInfoWebviewFactory();
96
96
  this.infoProvider = new InfoProvider(this.clientProvider, { language: 'lean4' }, {}, this.iframeWebviewFactory);
@@ -108,10 +108,10 @@ export class LeanMonaco {
108
108
  }
109
109
  getExtensionFiles() {
110
110
  const extensionFiles = new Map();
111
- extensionFiles.set('/language-configuration.json', new URL('./monaco-lean4/vscode-lean4/language-configuration.json', import.meta.url));
112
- extensionFiles.set('/syntaxes/lean4.json', new URL('./monaco-lean4/vscode-lean4/syntaxes/lean4.json', import.meta.url));
113
- extensionFiles.set('/syntaxes/lean4-markdown.json', new URL('./monaco-lean4/vscode-lean4/syntaxes/lean4-markdown.json', import.meta.url));
114
- extensionFiles.set('/syntaxes/codeblock.json', new URL('./monaco-lean4/vscode-lean4/syntaxes/codeblock.json', import.meta.url));
111
+ extensionFiles.set('/language-configuration.json', new URL('./vscode-lean4/vscode-lean4/language-configuration.json', import.meta.url));
112
+ extensionFiles.set('/syntaxes/lean4.json', new URL('./vscode-lean4/vscode-lean4/syntaxes/lean4.json', import.meta.url));
113
+ extensionFiles.set('/syntaxes/lean4-markdown.json', new URL('./vscode-lean4/vscode-lean4/syntaxes/lean4-markdown.json', import.meta.url));
114
+ extensionFiles.set('/syntaxes/codeblock.json', new URL('./vscode-lean4/vscode-lean4/syntaxes/codeblock.json', import.meta.url));
115
115
  extensionFiles.set('/themes/cobalt2.json', new URL('./themes/cobalt2.json', import.meta.url));
116
116
  return extensionFiles;
117
117
  }
@@ -1,4 +1,4 @@
1
1
  import { WorkerConfigDirect, WebSocketConfigOptions, WebSocketConfigOptionsUrl, WorkerConfigOptions } from 'monaco-editor-wrapper';
2
- import { ExtUri } from './monaco-lean4/vscode-lean4/src/utils/exturi';
2
+ import { ExtUri } from './vscode-lean4/vscode-lean4/src/utils/exturi';
3
3
  import { LanguageClientOptions } from 'vscode-languageclient/node';
4
4
  export declare const setupMonacoClient: (options: WebSocketConfigOptions | WebSocketConfigOptionsUrl | WorkerConfigOptions | WorkerConfigDirect) => (clientOptions: LanguageClientOptions, folderUri: ExtUri, elanDefaultToolchain: string) => Promise<import("monaco-languageclient").MonacoLanguageClient>;
@@ -1,4 +1,4 @@
1
1
  import { OutputChannel } from "vscode";
2
- import { ExtUri } from "./monaco-lean4/vscode-lean4/src/utils/exturi";
3
- import { PreconditionCheckResult } from "./monaco-lean4/vscode-lean4/src/diagnostics/setupNotifs";
2
+ import { ExtUri } from "./vscode-lean4/vscode-lean4/src/utils/exturi";
3
+ import { PreconditionCheckResult } from "./vscode-lean4/vscode-lean4/src/diagnostics/setupNotifs";
4
4
  export declare function checkLean4ProjectPreconditions(channel: OutputChannel, folderUri: ExtUri): Promise<PreconditionCheckResult>;
@@ -0,0 +1,59 @@
1
+ {
2
+ "name": "@leanprover/infoview",
3
+ "version": "0.7.3",
4
+ "description": "An interactive display for the Lean 4 theorem prover.",
5
+ "scripts": {
6
+ "watch": "rollup --config --environment NODE_ENV:development --watch",
7
+ "build": "rollup --config --environment NODE_ENV:production",
8
+ "watchTest": "npm run watch",
9
+ "test": "tsc -p test/tsconfig.json"
10
+ },
11
+ "exports": {
12
+ ".": "./dist/index.development.js",
13
+ "./loader": "./dist/loader.production.min.js",
14
+ "./package.json": "./package.json"
15
+ },
16
+ "typesVersions": {
17
+ "*": {
18
+ "*": [
19
+ "dist/index.d.ts"
20
+ ],
21
+ "loader": [
22
+ "dist/loader.d.ts"
23
+ ]
24
+ }
25
+ },
26
+ "files": [
27
+ "dist/*"
28
+ ],
29
+ "type": "module",
30
+ "license": "Apache-2.0",
31
+ "devDependencies": {
32
+ "@floating-ui/react": "^0.24.7",
33
+ "@rollup/plugin-commonjs": "^23.0.7",
34
+ "@rollup/plugin-node-resolve": "^15.1.0",
35
+ "@rollup/plugin-replace": "^5.0.2",
36
+ "@rollup/plugin-terser": "^0.1.0",
37
+ "@rollup/plugin-typescript": "^9.0.2",
38
+ "@rollup/plugin-url": "^8.0.1",
39
+ "@types/marked": "^4.3.1",
40
+ "@types/react": "^18.2.15",
41
+ "@types/react-dom": "^18.2.7",
42
+ "current-release": "npm:@leanprover/infoview@latest",
43
+ "react": "^18.2.0",
44
+ "react-dom": "^18.2.0",
45
+ "rollup": "^3.26.2",
46
+ "rollup-plugin-css-only": "^4.3.0",
47
+ "typescript": "^5.4.5"
48
+ },
49
+ "dependencies": {
50
+ "@leanprover/infoview-api": "~0.4.0",
51
+ "@vscode/codicons": "^0.0.32",
52
+ "@vscode/webview-ui-toolkit": "^1.4.0",
53
+ "es-module-shims": "^1.7.3",
54
+ "marked": "^4.3.0",
55
+ "react-fast-compare": "^3.2.2",
56
+ "tachyons": "^4.12.0",
57
+ "vscode-languageserver-protocol": "^3.17.3"
58
+ }
59
+ }
@@ -0,0 +1,266 @@
1
+ /* Some styles specific to the infoview. */
2
+
3
+ html,
4
+ body {
5
+ height: 100%;
6
+ }
7
+
8
+ .font-code {
9
+ color: var(--vscode-editor-foreground);
10
+ font-family: var(--vscode-editor-font-family);
11
+ font-weight: var(--vscode-editor-font-weight);
12
+ font-size: var(--vscode-editor-font-size);
13
+ line-height: var(--vscode-editor-line-height);
14
+ }
15
+
16
+ .font-size-code-smaller {
17
+ font-size: calc(0.8 * var(--vscode-editor-font-size));
18
+ line-height: calc(0.8 * var(--vscode-editor-line-height));
19
+ }
20
+
21
+ .font-normal {
22
+ font-family: var(--vscode-font-family);
23
+ font-weight: var(--vscode-font-weight);
24
+ font-size: var(--vscode-font-size);
25
+ }
26
+
27
+ .codicon-blank {
28
+ width: 20px;
29
+ height: 16px;
30
+ }
31
+
32
+ /* These are syntax highlights for the string goal view. */
33
+ .goal-goals {
34
+ color: var(--vscode-lean4-infoView\.goalCount);
35
+ }
36
+ .goal-vdash {
37
+ color: var(--vscode-lean4-infoView\.turnstile);
38
+ }
39
+ .goal-case {
40
+ color: var(--vscode-lean4-infoView\.caseLabel);
41
+ }
42
+ .goal-hyp {
43
+ color: var(--vscode-lean4-infoView\.hypothesisName);
44
+ }
45
+ .goal-inaccessible {
46
+ color: var(--vscode-lean4-infoView\.inaccessibleHypothesisName);
47
+ opacity: 0.7;
48
+ font-style: italic;
49
+ font-weight: normal;
50
+ }
51
+
52
+ .highlight-selected {
53
+ background-color: var(--vscode-editorOverviewRuler-rangeHighlightForeground) !important;
54
+ }
55
+
56
+ .highlight {
57
+ background-color: var(--vscode-editor-selectionBackground) !important;
58
+ }
59
+
60
+ /* Interactive traces */
61
+ .trace-line:hover {
62
+ background-color: #dbeeff;
63
+ }
64
+ .vscode-dark .trace-line:hover {
65
+ background-color: #1a2c3c;
66
+ }
67
+ .trace-class {
68
+ opacity: 0.4;
69
+ }
70
+
71
+ .pre-wrap {
72
+ white-space: pre-wrap;
73
+ }
74
+
75
+ .error {
76
+ color: #e51400;
77
+ }
78
+
79
+ .warning {
80
+ color: #bf8803;
81
+ }
82
+
83
+ .information {
84
+ color: darkgreen;
85
+ }
86
+
87
+ .vscode-dark .error {
88
+ color: #f14c4c;
89
+ }
90
+
91
+ .vscode-dark .warning {
92
+ color: #cca700;
93
+ }
94
+
95
+ .vscode-dark .information {
96
+ color: #89d185;
97
+ }
98
+
99
+ .vscode-high-contrast .error {
100
+ color: lightpink;
101
+ }
102
+
103
+ .vscode-high-contrast .warning {
104
+ color: yellow;
105
+ }
106
+
107
+ .vscode-high-contrast .information {
108
+ color: lightgreen;
109
+ }
110
+
111
+ /* Headers for infoview */
112
+
113
+ .restart-file-button {
114
+ position: fixed;
115
+ bottom: 10px;
116
+ right: 10px;
117
+ z-index: 37;
118
+ }
119
+
120
+ select {
121
+ background-color: var(--vscode-dropdown-background);
122
+ color: var(--vscode-dropdown-foreground);
123
+ border-color: var(--vscode-dropdown-border);
124
+ }
125
+
126
+ /* Style for the rounded box that is the outermost div of every tooltip.
127
+ * We use more specific classes for styling tooltip contents. */
128
+ .tooltip {
129
+ background-color: var(--vscode-editorHoverWidget-background);
130
+ border-radius: 4px;
131
+ border-color: var(--vscode-editorHoverWidget-border);
132
+ border-width: 1px;
133
+ border-style: solid;
134
+ box-shadow: 1px 1px 5px var(--vscode-widget-shadow);
135
+ box-sizing: border-box;
136
+ /* Note: max-height is set in JS. */
137
+ max-width: 70%;
138
+ /* Flexbox ensures that contents don't overflow. */
139
+ display: flex;
140
+ }
141
+
142
+ .tooltip-content {
143
+ padding: 4px 8px;
144
+ overflow-y: auto;
145
+ overscroll-behavior: contain;
146
+ }
147
+
148
+ /* Contents of a list of selections shown as a tooltip. */
149
+ .tooltip-menu-content {
150
+ color: var(--vscode-editorHoverWidget-foreground);
151
+ }
152
+
153
+ .tooltip-menu-content .tooltip-menu-text {
154
+ text-align: center;
155
+ padding: 5px;
156
+ vertical-align: top;
157
+ display: inline-block;
158
+ }
159
+
160
+ .tooltip-menu-content .tooltip-menu-icon {
161
+ padding: 0px;
162
+ margin-top: 6px;
163
+ }
164
+
165
+ /*---------------------------------------------------------------------------------------------
166
+ * Copyright (c) Microsoft Corporation. All rights reserved.
167
+ * Licensed under the MIT License. See License.txt in the project root for license information.
168
+ *--------------------------------------------------------------------------------------------*/
169
+ /* adapted from https://github.com/microsoft/vscode/blob/main/src/vs/base/browser/ui/hover/hover.css */
170
+
171
+ /* Contents of a code tooltip showing a value, type, documentation, etc. */
172
+ .tooltip-code-content {
173
+ color: var(--vscode-editorHoverWidget-foreground);
174
+ line-height: var(--vscode-editor-line-height);
175
+ }
176
+
177
+ .tooltip-code-content a:hover {
178
+ cursor: pointer;
179
+ }
180
+
181
+ .tooltip-code-content p,
182
+ .tooltip-code-content .code,
183
+ .tooltip-code-content ul {
184
+ margin: 8px 0;
185
+ }
186
+
187
+ .tooltip-code-content hr {
188
+ box-sizing: border-box;
189
+ border-left: -8px;
190
+ border-right: -8px;
191
+ margin-top: 4px;
192
+ margin-bottom: 4px;
193
+ height: 1px;
194
+ border-bottom-width: 0px;
195
+ border-top-width: 1px;
196
+ border-top-style: solid;
197
+ border-top-color: var(--vscode-editorHoverWidget-border);
198
+ }
199
+
200
+ .tooltip-code-content p:first-child,
201
+ .tooltip-code-content .code:first-child,
202
+ .tooltip-code-content ul:first-child {
203
+ margin-top: 0;
204
+ }
205
+
206
+ .tooltip-code-content p:last-child,
207
+ .tooltip-code-content .code:last-child,
208
+ .tooltip-code-content ul:last-child {
209
+ margin-bottom: 0;
210
+ }
211
+
212
+ /* MarkupContent Layout */
213
+ .tooltip-code-content ul {
214
+ padding-left: 20px;
215
+ }
216
+ .tooltip-code-content ol {
217
+ padding-left: 20px;
218
+ }
219
+
220
+ .tooltip-code-content li > p {
221
+ margin-bottom: 0;
222
+ }
223
+
224
+ .tooltip-code-content li > ul {
225
+ margin-top: 0;
226
+ }
227
+
228
+ .tooltip-code-content code {
229
+ border-radius: 3px;
230
+ padding: 0 0.4em;
231
+ background-color: var(--vscode-textCodeBlock-background);
232
+ }
233
+
234
+ .vscode-high-contrast .inserted-text {
235
+ border: thin solid var(--vscode-diffEditor-insertedTextBorder);
236
+ }
237
+
238
+ .vscode-high-contrast .removed-text {
239
+ border: thin solid var(--vscode-diffEditor-removedTextBorder);
240
+ }
241
+
242
+ .inserted-text {
243
+ background-color: var(--vscode-diffEditor-insertedTextBackground);
244
+ border-radius: 2pt;
245
+ }
246
+
247
+ .removed-text {
248
+ background-color: var(--vscode-diffEditor-removedTextBackground);
249
+ border-radius: 2pt;
250
+ }
251
+
252
+ .b--inserted {
253
+ border-color: var(--vscode-diffEditor-insertedTextBackground) !important;
254
+ }
255
+
256
+ .b--modified {
257
+ border-color: var(--vscode-diffEditor-insertedTextBackground) !important;
258
+ }
259
+
260
+ .b--removed {
261
+ border-color: var(--vscode-diffEditor-removedTextBackground) !important;
262
+ }
263
+
264
+ .b--transparent {
265
+ border-color: transparent;
266
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "extends": "../tsconfig",
3
+ "compilerOptions": {
4
+ "rootDir": "../"
5
+ },
6
+ "include": ["./**/*", "../src/**/*"]
7
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "compilerOptions": {
3
+ /* Projects */
4
+ "composite": true,
5
+
6
+ /* Language and Environment */
7
+ "target": "esnext",
8
+ "lib": ["DOM", "DOM.Iterable", "ESNext"],
9
+ "jsx": "react-jsx",
10
+
11
+ /* Modules */
12
+ "module": "esnext",
13
+ "moduleResolution": "node",
14
+
15
+ /* Emit */
16
+ "sourceMap": true,
17
+ "rootDir": "src",
18
+ "outDir": "dist",
19
+
20
+ /* Interop Constraints */
21
+ "esModuleInterop": true,
22
+ "forceConsistentCasingInFileNames": true,
23
+
24
+ /* Type Checking */
25
+ "strict": true,
26
+ "noImplicitAny": true,
27
+ "noFallthroughCasesInSwitch": true,
28
+
29
+ /* Completeness */
30
+ "skipLibCheck": true
31
+ },
32
+ "include": ["src/**/*"],
33
+ "exclude": ["dist"]
34
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "@leanprover/infoview-api",
3
+ "version": "0.4.0",
4
+ "description": "Types and API for @leanprover/infoview.",
5
+ "scripts": {
6
+ "watch": "tsc --watch",
7
+ "watchTest": "tsc --watch",
8
+ "build": "tsc"
9
+ },
10
+ "main": "dist/index",
11
+ "types": "dist/index",
12
+ "files": [
13
+ "dist/*"
14
+ ],
15
+ "license": "Apache-2.0",
16
+ "devDependencies": {
17
+ "typescript": "^5.4.5",
18
+ "vscode-languageserver-protocol": "^3.17.3"
19
+ }
20
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "compilerOptions": {
3
+ /* Code generation */
4
+ "target": "ES2021",
5
+ "module": "ES6",
6
+ "lib": ["dom", "dom.iterable", "ES2021"],
7
+ "allowJs": true,
8
+ "esModuleInterop": true,
9
+
10
+ /* Type-checking */
11
+ "strict": true,
12
+ "noFallthroughCasesInSwitch": true,
13
+ "skipLibCheck": true,
14
+
15
+ /* Module resolution */
16
+ "moduleResolution": "node",
17
+ "allowSyntheticDefaultImports": true,
18
+ "forceConsistentCasingInFileNames": true,
19
+
20
+ /* Output */
21
+ "composite": true,
22
+ "rootDir": "src/",
23
+ "outDir": "dist/",
24
+ "declaration": true,
25
+ "sourceMap": true
26
+ },
27
+
28
+ "include": ["src/**/*"]
29
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "@leanprover/unicode-input",
3
+ "version": "0.1.0",
4
+ "description": "Unicode input mechanism for the Lean 4 theorem prover",
5
+ "scripts": {
6
+ "watch": "tsc --watch",
7
+ "watchTest": "tsc --watch",
8
+ "build": "tsc"
9
+ },
10
+ "main": "dist/index",
11
+ "types": "dist/index",
12
+ "files": [
13
+ "dist/*"
14
+ ],
15
+ "license": "Apache-2.0",
16
+ "devDependencies": {
17
+ "typescript": "^5.4.5"
18
+ }
19
+ }