asp-studio 0.2.2__tar.gz → 0.2.3__tar.gz
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.
- {asp_studio-0.2.2/src/asp_studio.egg-info → asp_studio-0.2.3}/PKG-INFO +1 -1
- {asp_studio-0.2.2 → asp_studio-0.2.3}/pyproject.toml +1 -1
- {asp_studio-0.2.2 → asp_studio-0.2.3}/src/asp_studio/__init__.py +1 -1
- asp_studio-0.2.3/src/asp_studio/static/themes.css +49 -0
- {asp_studio-0.2.2 → asp_studio-0.2.3}/src/asp_studio/static/webview.css +27 -26
- {asp_studio-0.2.2 → asp_studio-0.2.3/src/asp_studio.egg-info}/PKG-INFO +1 -1
- asp_studio-0.2.2/src/asp_studio/static/themes.css +0 -100
- {asp_studio-0.2.2 → asp_studio-0.2.3}/LICENSE +0 -0
- {asp_studio-0.2.2 → asp_studio-0.2.3}/README.md +0 -0
- {asp_studio-0.2.2 → asp_studio-0.2.3}/setup.cfg +0 -0
- {asp_studio-0.2.2 → asp_studio-0.2.3}/src/asp_studio/__main__.py +0 -0
- {asp_studio-0.2.2 → asp_studio-0.2.3}/src/asp_studio/magic.py +0 -0
- {asp_studio-0.2.2 → asp_studio-0.2.3}/src/asp_studio/render.py +0 -0
- {asp_studio-0.2.2 → asp_studio-0.2.3}/src/asp_studio/solver.py +0 -0
- {asp_studio-0.2.2 → asp_studio-0.2.3}/src/asp_studio/static/bootstrap.js +0 -0
- {asp_studio-0.2.2 → asp_studio-0.2.3}/src/asp_studio/static/engine.js +0 -0
- {asp_studio-0.2.2 → asp_studio-0.2.3}/src/asp_studio/static/webview.js +0 -0
- {asp_studio-0.2.2 → asp_studio-0.2.3}/src/asp_studio.egg-info/SOURCES.txt +0 -0
- {asp_studio-0.2.2 → asp_studio-0.2.3}/src/asp_studio.egg-info/dependency_links.txt +0 -0
- {asp_studio-0.2.2 → asp_studio-0.2.3}/src/asp_studio.egg-info/entry_points.txt +0 -0
- {asp_studio-0.2.2 → asp_studio-0.2.3}/src/asp_studio.egg-info/requires.txt +0 -0
- {asp_studio-0.2.2 → asp_studio-0.2.3}/src/asp_studio.egg-info/top_level.txt +0 -0
- {asp_studio-0.2.2 → asp_studio-0.2.3}/tests/test_cli.py +0 -0
- {asp_studio-0.2.2 → asp_studio-0.2.3}/tests/test_magic.py +0 -0
- {asp_studio-0.2.2 → asp_studio-0.2.3}/tests/test_render.py +0 -0
- {asp_studio-0.2.2 → asp_studio-0.2.3}/tests/test_solver.py +0 -0
- {asp_studio-0.2.2 → asp_studio-0.2.3}/tests/test_static_sync.py +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "asp-studio"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.3"
|
|
8
8
|
description = "Answer sets, a graph and a step-by-step animator for Answer Set Programming, in Jupyter, VS Code notebooks and the command line."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { text = "MIT" }
|
|
@@ -9,7 +9,7 @@ In a notebook: ``%load_ext asp_studio`` and start a cell with ``%%asp``.
|
|
|
9
9
|
from .solver import Diagnostic, Result, solve
|
|
10
10
|
from .render import iframe, page, show
|
|
11
11
|
|
|
12
|
-
__version__ = "0.2.
|
|
12
|
+
__version__ = "0.2.3"
|
|
13
13
|
__all__ = ["solve", "show", "Result", "Diagnostic", "page", "iframe", "load_ipython_extension", "__version__"]
|
|
14
14
|
|
|
15
15
|
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/* Fallback theme for hosts that do not provide --vscode-* variables (Jupyter, browsers). Black and white only.
|
|
2
|
+
Inside VS Code the real variables are used instead. Choose with <html data-theme="light|dark">; default follows the OS. */
|
|
3
|
+
:root, :root[data-theme="light"] {
|
|
4
|
+
--vscode-foreground: #1a1a1a;
|
|
5
|
+
--vscode-descriptionForeground: #5c5c5c;
|
|
6
|
+
--vscode-editor-background: #ffffff;
|
|
7
|
+
--vscode-editorWidget-background: #f7f7f7;
|
|
8
|
+
--vscode-widget-border: #e2e2e2;
|
|
9
|
+
--vscode-dropdown-background: #ffffff;
|
|
10
|
+
--vscode-dropdown-foreground: #1a1a1a;
|
|
11
|
+
--vscode-dropdown-border: #d4d4d4;
|
|
12
|
+
--vscode-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
13
|
+
--vscode-font-size: 13px;
|
|
14
|
+
--vscode-editor-font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
|
|
15
|
+
--vscode-editor-font-size: 12px;
|
|
16
|
+
color-scheme: light;
|
|
17
|
+
}
|
|
18
|
+
@media (prefers-color-scheme: dark) {
|
|
19
|
+
:root:not([data-theme="light"]) {
|
|
20
|
+
--vscode-foreground: #e8e8e8;
|
|
21
|
+
--vscode-descriptionForeground: #a0a0a0;
|
|
22
|
+
--vscode-editor-background: #0a0a0a;
|
|
23
|
+
--vscode-editorWidget-background: #121212;
|
|
24
|
+
--vscode-widget-border: #272727;
|
|
25
|
+
--vscode-dropdown-background: #151515;
|
|
26
|
+
--vscode-dropdown-foreground: #e8e8e8;
|
|
27
|
+
--vscode-dropdown-border: #2f2f2f;
|
|
28
|
+
--vscode-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
29
|
+
--vscode-font-size: 13px;
|
|
30
|
+
--vscode-editor-font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
|
|
31
|
+
--vscode-editor-font-size: 12px;
|
|
32
|
+
color-scheme: dark;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
:root[data-theme="dark"] {
|
|
36
|
+
--vscode-foreground: #e8e8e8;
|
|
37
|
+
--vscode-descriptionForeground: #a0a0a0;
|
|
38
|
+
--vscode-editor-background: #0a0a0a;
|
|
39
|
+
--vscode-editorWidget-background: #121212;
|
|
40
|
+
--vscode-widget-border: #272727;
|
|
41
|
+
--vscode-dropdown-background: #151515;
|
|
42
|
+
--vscode-dropdown-foreground: #e8e8e8;
|
|
43
|
+
--vscode-dropdown-border: #2f2f2f;
|
|
44
|
+
--vscode-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
45
|
+
--vscode-font-size: 13px;
|
|
46
|
+
--vscode-editor-font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
|
|
47
|
+
--vscode-editor-font-size: 12px;
|
|
48
|
+
color-scheme: dark;
|
|
49
|
+
}
|
|
@@ -5,27 +5,27 @@
|
|
|
5
5
|
--card: var(--vscode-editorWidget-background, var(--vscode-sideBar-background, #252526));
|
|
6
6
|
--soft: color-mix(in srgb, var(--fg) 7%, transparent);
|
|
7
7
|
--border: var(--vscode-widget-border, var(--vscode-panel-border, color-mix(in srgb, var(--fg) 18%, transparent)));
|
|
8
|
-
--accent: var(--
|
|
9
|
-
--ok: var(--
|
|
10
|
-
--bad: var(--
|
|
11
|
-
--warn: var(--
|
|
12
|
-
--new: var(--
|
|
8
|
+
--accent: var(--fg);
|
|
9
|
+
--ok: color-mix(in srgb, var(--fg) 62%, var(--bg));
|
|
10
|
+
--bad: var(--fg);
|
|
11
|
+
--warn: color-mix(in srgb, var(--fg) 72%, var(--bg));
|
|
12
|
+
--new: var(--fg);
|
|
13
13
|
--base: color-mix(in srgb, var(--fg) 40%, transparent);
|
|
14
14
|
--mono: var(--vscode-editor-font-family, ui-monospace, Menlo, Consolas, monospace);
|
|
15
|
-
--c0: var(--
|
|
16
|
-
--c1: var(--
|
|
17
|
-
--c2: var(--
|
|
18
|
-
--c3: var(--
|
|
19
|
-
--c4: var(--
|
|
20
|
-
--c5: var(--
|
|
15
|
+
--c0: var(--fg);
|
|
16
|
+
--c1: color-mix(in srgb, var(--fg) 58%, var(--bg));
|
|
17
|
+
--c2: color-mix(in srgb, var(--fg) 80%, var(--bg));
|
|
18
|
+
--c3: color-mix(in srgb, var(--fg) 40%, var(--bg));
|
|
19
|
+
--c4: color-mix(in srgb, var(--fg) 68%, var(--bg));
|
|
20
|
+
--c5: color-mix(in srgb, var(--fg) 50%, var(--bg));
|
|
21
21
|
--radius: 6px;
|
|
22
22
|
}
|
|
23
23
|
* { box-sizing: border-box; }
|
|
24
24
|
html, body { margin: 0; height: 100%; }
|
|
25
25
|
body { font-family: var(--vscode-font-family, system-ui, sans-serif); font-size: var(--vscode-font-size, 13px); color: var(--fg); background: var(--bg); line-height: 1.45; }
|
|
26
26
|
button, select, input { font: inherit; color: inherit; }
|
|
27
|
-
a { color: var(--
|
|
28
|
-
a:hover {
|
|
27
|
+
a { color: var(--fg); text-underline-offset: 2px; }
|
|
28
|
+
a:hover { text-decoration-thickness: 2px; }
|
|
29
29
|
code, pre, .mono { font-family: var(--mono); font-size: calc(var(--vscode-editor-font-size, 13px) - 0.5px); }
|
|
30
30
|
:focus-visible { outline: 1px solid var(--accent); outline-offset: 1px; }
|
|
31
31
|
|
|
@@ -39,17 +39,18 @@ code, pre, .mono { font-family: var(--mono); font-size: calc(var(--vscode-editor
|
|
|
39
39
|
.chip, .pill { display: inline-flex; align-items: center; gap: 5px; border-radius: 10px; padding: 1px 8px; font-size: 11.5px; line-height: 18px; white-space: nowrap; }
|
|
40
40
|
.chip { background: var(--soft); color: var(--muted); }
|
|
41
41
|
.chip.link { cursor: pointer; text-decoration: underline dotted; }
|
|
42
|
-
.pill { font-weight: 600; color:
|
|
43
|
-
.pill.sat { background:
|
|
44
|
-
.pill.unsat
|
|
45
|
-
.pill.
|
|
42
|
+
.pill { font-weight: 600; color: var(--bg); background: var(--muted); }
|
|
43
|
+
.pill.sat { background: var(--ok); }
|
|
44
|
+
.pill.unsat { background: transparent; color: var(--fg); box-shadow: inset 0 0 0 1.5px var(--fg); }
|
|
45
|
+
.pill.err { background: var(--fg); }
|
|
46
|
+
.pill.unk, .pill.busy { background: color-mix(in srgb, var(--fg) 35%, var(--bg)); color: var(--fg); }
|
|
46
47
|
.spacer { flex: 1; }
|
|
47
48
|
|
|
48
|
-
.btn { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--
|
|
49
|
-
background: var(--
|
|
50
|
-
.btn:hover:not(:disabled) { background:
|
|
51
|
-
.btn.primary { background: var(--
|
|
52
|
-
.btn.primary:hover:not(:disabled) { background: var(--
|
|
49
|
+
.btn { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--border); border-radius: 3px; padding: 3px 11px; cursor: pointer;
|
|
50
|
+
background: var(--soft); color: var(--fg); }
|
|
51
|
+
.btn:hover:not(:disabled) { background: color-mix(in srgb, var(--fg) 14%, transparent); }
|
|
52
|
+
.btn.primary { background: var(--fg); border-color: var(--fg); color: var(--bg); }
|
|
53
|
+
.btn.primary:hover:not(:disabled) { background: color-mix(in srgb, var(--fg) 85%, var(--bg)); }
|
|
53
54
|
.btn:disabled { opacity: .45; cursor: default; }
|
|
54
55
|
.icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: 0; border-radius: 4px; background: transparent; cursor: pointer; color: var(--fg); }
|
|
55
56
|
.icon-btn:hover:not(:disabled) { background: var(--vscode-toolbar-hoverBackground, var(--soft)); }
|
|
@@ -62,7 +63,7 @@ svg.i { width: 16px; height: 16px; fill: currentColor; flex: none; }
|
|
|
62
63
|
.tab { border: 0; background: transparent; padding: 7px 12px; cursor: pointer; color: var(--muted); border-bottom: 2px solid transparent; white-space: nowrap; display: inline-flex; gap: 6px; align-items: center; }
|
|
63
64
|
.tab:hover { color: var(--fg); }
|
|
64
65
|
.tab[aria-selected=true] { color: var(--fg); border-bottom-color: var(--accent); }
|
|
65
|
-
.count { background:
|
|
66
|
+
.count { background: color-mix(in srgb, var(--fg) 18%, transparent); color: var(--fg); border-radius: 9px; padding: 0 6px; font-size: 11px; line-height: 16px; }
|
|
66
67
|
|
|
67
68
|
/* ---------- content ---------- */
|
|
68
69
|
main { padding: 16px; flex: 1; }
|
|
@@ -89,8 +90,8 @@ main { padding: 16px; flex: 1; }
|
|
|
89
90
|
.ticks span.cur { color: var(--fg); font-weight: 600; }
|
|
90
91
|
.transport select { background: var(--vscode-dropdown-background, var(--card)); color: var(--vscode-dropdown-foreground, var(--fg)); border: 1px solid var(--vscode-dropdown-border, var(--border)); border-radius: 3px; padding: 2px 4px; }
|
|
91
92
|
.status-line { display: flex; align-items: center; gap: 8px; padding: 10px 12px; font-weight: 600; flex-wrap: wrap; }
|
|
92
|
-
.tag { font-size: 11px; font-weight: 600; background: var(--
|
|
93
|
-
.tag.done { background:
|
|
93
|
+
.tag { font-size: 11px; font-weight: 600; background: var(--fg); color: var(--bg); border-radius: 9px; padding: 0 8px; line-height: 18px; }
|
|
94
|
+
.tag.done { background: var(--ok); }
|
|
94
95
|
.fix { color: var(--ok); font-weight: 500; }
|
|
95
96
|
|
|
96
97
|
/* ---------- rules list ---------- */
|
|
@@ -115,7 +116,7 @@ main { padding: 16px; flex: 1; }
|
|
|
115
116
|
.predgroup .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--pc); flex: none; }
|
|
116
117
|
.predgroup .pname { font: 600 12px var(--mono); color: var(--fg); }
|
|
117
118
|
.predgroup .parity { font: 12px var(--mono); color: var(--muted); margin-left: -4px; }
|
|
118
|
-
.predgroup .pcount { margin-left: 4px; background:
|
|
119
|
+
.predgroup .pcount { margin-left: 4px; background: color-mix(in srgb, var(--fg) 18%, transparent); color: var(--fg); border-radius: 9px; padding: 0 7px; font-size: 11px; line-height: 16px; }
|
|
119
120
|
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
|
|
120
121
|
.dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
|
|
121
122
|
.atom-chip { display: inline-flex; align-items: baseline; font: 12px/20px var(--mono); border: 1px solid color-mix(in srgb, var(--pc, var(--accent)) 38%, transparent);
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
/* Fallback theme for hosts that do not provide --vscode-* variables (Jupyter, browsers).
|
|
2
|
-
Inside VS Code the real variables are used instead. Choose with <html data-theme="light|dark">; default follows the OS. */
|
|
3
|
-
:root, :root[data-theme="light"] {
|
|
4
|
-
--vscode-foreground:#3b3b3b;
|
|
5
|
-
--vscode-descriptionForeground:#717171;
|
|
6
|
-
--vscode-editor-background:#ffffff;
|
|
7
|
-
--vscode-editorWidget-background:#f8f8f8;
|
|
8
|
-
--vscode-widget-border:#c8c8c8;
|
|
9
|
-
--vscode-focusBorder:#005fb8;
|
|
10
|
-
--vscode-button-background:#005fb8;
|
|
11
|
-
--vscode-button-foreground:#fff;
|
|
12
|
-
--vscode-button-hoverBackground:#0258a8;
|
|
13
|
-
--vscode-button-secondaryBackground:#e5e5e5;
|
|
14
|
-
--vscode-button-secondaryForeground:#3b3b3b;
|
|
15
|
-
--vscode-badge-background:#cccccc;
|
|
16
|
-
--vscode-badge-foreground:#3b3b3b;
|
|
17
|
-
--vscode-charts-blue:#1a85ff;
|
|
18
|
-
--vscode-charts-orange:#d18616;
|
|
19
|
-
--vscode-charts-green:#388a34;
|
|
20
|
-
--vscode-charts-purple:#652d90;
|
|
21
|
-
--vscode-charts-red:#e51400;
|
|
22
|
-
--vscode-charts-yellow:#bf8803;
|
|
23
|
-
--vscode-testing-iconPassed:#388a34;
|
|
24
|
-
--vscode-testing-iconFailed:#f14c4c;
|
|
25
|
-
--vscode-editorWarning-foreground:#bf8803;
|
|
26
|
-
--vscode-dropdown-background:#fff;
|
|
27
|
-
--vscode-dropdown-foreground:#3b3b3b;
|
|
28
|
-
--vscode-dropdown-border:#cecece;
|
|
29
|
-
--vscode-font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
|
|
30
|
-
--vscode-font-size:13px;
|
|
31
|
-
--vscode-editor-font-family:Menlo,Monaco,monospace;
|
|
32
|
-
--vscode-editor-font-size:12px;
|
|
33
|
-
color-scheme: light;
|
|
34
|
-
}
|
|
35
|
-
@media (prefers-color-scheme: dark) {
|
|
36
|
-
:root:not([data-theme="light"]) {
|
|
37
|
-
--vscode-foreground:#cccccc;
|
|
38
|
-
--vscode-descriptionForeground:#9d9d9d;
|
|
39
|
-
--vscode-editor-background:#1f1f1f;
|
|
40
|
-
--vscode-editorWidget-background:#202020;
|
|
41
|
-
--vscode-widget-border:#2b2b2b;
|
|
42
|
-
--vscode-focusBorder:#0078d4;
|
|
43
|
-
--vscode-button-background:#0078d4;
|
|
44
|
-
--vscode-button-foreground:#fff;
|
|
45
|
-
--vscode-button-hoverBackground:#026ec1;
|
|
46
|
-
--vscode-button-secondaryBackground:#313131;
|
|
47
|
-
--vscode-button-secondaryForeground:#cccccc;
|
|
48
|
-
--vscode-badge-background:#616161;
|
|
49
|
-
--vscode-badge-foreground:#f8f8f8;
|
|
50
|
-
--vscode-charts-blue:#3794ff;
|
|
51
|
-
--vscode-charts-orange:#d18616;
|
|
52
|
-
--vscode-charts-green:#89d185;
|
|
53
|
-
--vscode-charts-purple:#b180d7;
|
|
54
|
-
--vscode-charts-red:#f14c4c;
|
|
55
|
-
--vscode-charts-yellow:#cca700;
|
|
56
|
-
--vscode-testing-iconPassed:#73c991;
|
|
57
|
-
--vscode-testing-iconFailed:#f14c4c;
|
|
58
|
-
--vscode-editorWarning-foreground:#cca700;
|
|
59
|
-
--vscode-dropdown-background:#313131;
|
|
60
|
-
--vscode-dropdown-foreground:#ccc;
|
|
61
|
-
--vscode-dropdown-border:#3c3c3c;
|
|
62
|
-
--vscode-font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
|
|
63
|
-
--vscode-font-size:13px;
|
|
64
|
-
--vscode-editor-font-family:Menlo,Monaco,monospace;
|
|
65
|
-
--vscode-editor-font-size:12px;
|
|
66
|
-
color-scheme: dark;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
:root[data-theme="dark"] {
|
|
70
|
-
--vscode-foreground:#cccccc;
|
|
71
|
-
--vscode-descriptionForeground:#9d9d9d;
|
|
72
|
-
--vscode-editor-background:#1f1f1f;
|
|
73
|
-
--vscode-editorWidget-background:#202020;
|
|
74
|
-
--vscode-widget-border:#2b2b2b;
|
|
75
|
-
--vscode-focusBorder:#0078d4;
|
|
76
|
-
--vscode-button-background:#0078d4;
|
|
77
|
-
--vscode-button-foreground:#fff;
|
|
78
|
-
--vscode-button-hoverBackground:#026ec1;
|
|
79
|
-
--vscode-button-secondaryBackground:#313131;
|
|
80
|
-
--vscode-button-secondaryForeground:#cccccc;
|
|
81
|
-
--vscode-badge-background:#616161;
|
|
82
|
-
--vscode-badge-foreground:#f8f8f8;
|
|
83
|
-
--vscode-charts-blue:#3794ff;
|
|
84
|
-
--vscode-charts-orange:#d18616;
|
|
85
|
-
--vscode-charts-green:#89d185;
|
|
86
|
-
--vscode-charts-purple:#b180d7;
|
|
87
|
-
--vscode-charts-red:#f14c4c;
|
|
88
|
-
--vscode-charts-yellow:#cca700;
|
|
89
|
-
--vscode-testing-iconPassed:#73c991;
|
|
90
|
-
--vscode-testing-iconFailed:#f14c4c;
|
|
91
|
-
--vscode-editorWarning-foreground:#cca700;
|
|
92
|
-
--vscode-dropdown-background:#313131;
|
|
93
|
-
--vscode-dropdown-foreground:#ccc;
|
|
94
|
-
--vscode-dropdown-border:#3c3c3c;
|
|
95
|
-
--vscode-font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
|
|
96
|
-
--vscode-font-size:13px;
|
|
97
|
-
--vscode-editor-font-family:Menlo,Monaco,monospace;
|
|
98
|
-
--vscode-editor-font-size:12px;
|
|
99
|
-
color-scheme: dark;
|
|
100
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|