Commit35250b60Recorded1 Apr 2026Repositorysigil-web-styles

Migrate to 0.9.1 transitive deps with version ranges and lockfile

Message

Replace tag-pinned dependency URLs with version ranges (^0.9.0), trim to direct deps only, and add sigil.lock for reproducible builds. Update README build instructions to include sigil deps install.

Changed
 .sigil/deps/sigil-ansi                         |   1 +
 .sigil/deps/sigil-build                        |   1 +
 .sigil/deps/sigil-css                          |   1 +
 .sigil/deps/sigil-git                          |   1 +
 .sigil/deps/sigil-json                         |   1 +
 .sigil/deps/sigil-stdlib                       |   1 +
 .sigil/deps/sigil-test                         |   1 +
 .sigil/deps/sigil-version                      |   1 +
 README.md                                      |   3 +-
 build/dev/lib/_pkg/sigil-ansi/manifest.json    |   2 +-
 build/dev/lib/_pkg/sigil-build/manifest.json   |   2 +-
 build/dev/lib/_pkg/sigil-css/manifest.json     |   2 +-
 build/dev/lib/_pkg/sigil-git/manifest.json     |   2 +-
 build/dev/lib/_pkg/sigil-json/manifest.json    |   2 +-
 build/dev/lib/_pkg/sigil-stdlib/manifest.json  |   2 +-
 build/dev/lib/_pkg/sigil-test/manifest.json    |   2 +-
 build/dev/lib/_pkg/sigil-version/manifest.json |   2 +-
 build/dev/lib/sigil/ansi.json                  |   2 +-
 build/dev/lib/sigil/ansi.sgb                   | Bin 26858 -> 33530 bytes
 build/dev/lib/sigil/array.sgb                  | Bin 12545 -> 13058 bytes
 build/dev/lib/sigil/async.sgb                  | Bin 75111 -> 77118 bytes
 build/dev/lib/sigil/async/scheduler.sgb        | Bin 1147 -> 1183 bytes
 build/dev/lib/sigil/build.json                 | 220 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------------------------------------------
 build/dev/lib/sigil/build.sgb                  | Bin 1004240 -> 1211662 bytes
 build/dev/lib/sigil/build/bundle.json          |   2 +-
 build/dev/lib/sigil/build/bundle.sgb           | Bin 126160 -> 137200 bytes
 build/dev/lib/sigil/build/deps.json            |   2 +-
 build/dev/lib/sigil/build/deps.sgb             | Bin 9908 -> 11972 bytes
 build/dev/lib/sigil/build/graph.json           |   2 +-
 build/dev/lib/sigil/build/graph.sgb            | Bin 15312 -> 19152 bytes
 build/dev/lib/sigil/build/module-deps.json     |   2 +-
 build/dev/lib/sigil/build/module-deps.sgb      | Bin 38133 -> 45237 bytes
 build/dev/lib/sigil/build/native.json          |   2 +-
 build/dev/lib/sigil/build/native.sgb           | Bin 29767 -> 33703 bytes
 build/dev/lib/sigil/channels.sgb               | Bin 29906 -> 31400 bytes
 build/dev/lib/sigil/core.json                  |  22 ++++-----------
 build/dev/lib/sigil/core.sgb                   | Bin 370367 -> 385133 bytes
 build/dev/lib/sigil/coroutines.sgb             | Bin 5954 -> 6206 bytes
 build/dev/lib/sigil/css.json                   |   2 +-
 build/dev/lib/sigil/css.sgb                    | Bin 31911 -> 36319 bytes
 build/dev/lib/sigil/deps/fetch.json            |   2 +-
 build/dev/lib/sigil/deps/fetch.sgb             | Bin 86485 -> 155361 bytes
 build/dev/lib/sigil/deps/lock.json             | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 build/dev/lib/sigil/deps/lock.sgb              | Bin 0 -> 22355 bytes
 build/dev/lib/sigil/deps/redirects.json        |   2 +-
 build/dev/lib/sigil/deps/redirects.sgb         | Bin 40042 -> 45178 bytes
 build/dev/lib/sigil/deps/semver.json           |  56 +++++++++++++++++++++++++++++++++++++
 build/dev/lib/sigil/deps/semver.sgb            | Bin 0 -> 15922 bytes
 build/dev/lib/sigil/diagnostic.sgb             | Bin 20002 -> 20839 bytes
 build/dev/lib/sigil/dict.sgb                   | Bin 14017 -> 14566 bytes
 build/dev/lib/sigil/env.sgb                    | Bin 6321 -> 6537 bytes
 build/dev/lib/sigil/error.sgb                  | Bin 95193 -> 97587 bytes
 build/dev/lib/sigil/exceptions.json            | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 build/dev/lib/sigil/fs.sgb                     | Bin 56189 -> 57854 bytes
 build/dev/lib/sigil/gc.sgb                     | Bin 2713 -> 2821 bytes
 build/dev/lib/sigil/generators.sgb             | Bin 21215 -> 22223 bytes
 build/dev/lib/sigil/git.json                   |   2 +-
 build/dev/lib/sigil/git.sgb                    | Bin 34976 -> 40688 bytes
 build/dev/lib/sigil/inspect.sgb                | Bin 27801 -> 28620 bytes
 build/dev/lib/sigil/io.sgb                     | Bin 48215 -> 49322 bytes
 build/dev/lib/sigil/json.sgb                   | Bin 70289 -> 73838 bytes
 build/dev/lib/sigil/list.sgb                   | Bin 22684 -> 23917 bytes
 build/dev/lib/sigil/math.sgb                   | Bin 5789 -> 6050 bytes
 build/dev/lib/sigil/package.json               |  54 ++++++++++++++++++++----------------
 build/dev/lib/sigil/package.sgb                | Bin 92703 -> 102400 bytes
 build/dev/lib/sigil/path.sgb                   | Bin 6303 -> 6528 bytes
 build/dev/lib/sigil/process.sgb                | Bin 10273 -> 10678 bytes
 build/dev/lib/sigil/profile.sgb                | Bin 9256 -> 9508 bytes
 build/dev/lib/sigil/random.sgb                 | Bin 24284 -> 25139 bytes
 build/dev/lib/sigil/resources.sgb              | Bin 25676 -> 26369 bytes
 build/dev/lib/sigil/spec.sgb                   | Bin 2859 -> 2967 bytes
 build/dev/lib/sigil/string.sgb                 | Bin 21343 -> 22216 bytes
 build/dev/lib/sigil/struct.sgb                 | Bin 50798 -> 52373 bytes
 build/dev/lib/sigil/syntax.sgb                 | Bin 4632 -> 4839 bytes
 build/dev/lib/sigil/test.json                  |   2 +-
 build/dev/lib/sigil/test.sgb                   | Bin 55619 -> 57775 bytes
 build/dev/lib/sigil/test/cli.json              |   2 +-
 build/dev/lib/sigil/test/cli.sgb               | Bin 19736 -> 20786 bytes
 build/dev/lib/sigil/test/native.json           |   2 +-
 build/dev/lib/sigil/test/native.sgb            | Bin 33494 -> 34642 bytes
 build/dev/lib/sigil/test/runner.json           |   2 +-
 build/dev/lib/sigil/test/runner.sgb            | Bin 88925 -> 92901 bytes
 build/dev/lib/sigil/threads.sgb                | Bin 11138 -> 11453 bytes
 build/dev/lib/sigil/time.sgb                   | Bin 26135 -> 26981 bytes
 build/dev/lib/sigil/version.json               |   2 +-
 build/dev/lib/sigil/version.sgb                | Bin 54835 -> 64051 bytes
 build/dev/lib/sigil/watch.sgb                  | Bin 13459 -> 13999 bytes
 build/dev/lib/sigil/web/styles.sgb             | Bin 4231 -> 4933 bytes
 build/dev/lib/sigil/web/styles/palette.sgb     | Bin 13408 -> 13408 bytes
 build/dev/lib/sigil/web/styles/typography.sgb  | Bin 17395 -> 18392 bytes
 package.sgl                                    |   9 ++----
 sigil.lock                                     |  20 ++++++++++++++
 92 files changed, 519 insertions(+), 178 deletions(-)
Diff
.sigil/deps/sigil-ansiadded
@@ -0,0 +1 @@
+1
/home/daviwil/.sigil/deps/codeberg-sigil-sigil-180f6cda9d7a32429da2663532249ff764b48599/packages/sigil-ansi
2
No newline at end of file
.sigil/deps/sigil-buildadded
@@ -0,0 +1 @@
+1
/home/daviwil/.sigil/deps/codeberg-sigil-sigil-180f6cda9d7a32429da2663532249ff764b48599/packages/sigil-build
2
No newline at end of file
.sigil/deps/sigil-cssadded
@@ -0,0 +1 @@
+1
/home/daviwil/.sigil/deps/codeberg-sigil-sigil-css-0d8253368180a3b9bc8c096de19176f1d830a5b1
2
No newline at end of file
.sigil/deps/sigil-gitadded
@@ -0,0 +1 @@
+1
/home/daviwil/.sigil/deps/codeberg-sigil-sigil-180f6cda9d7a32429da2663532249ff764b48599/packages/sigil-git
2
No newline at end of file
.sigil/deps/sigil-jsonadded
@@ -0,0 +1 @@
+1
/home/daviwil/.sigil/deps/codeberg-sigil-sigil-180f6cda9d7a32429da2663532249ff764b48599/packages/sigil-json
2
No newline at end of file
.sigil/deps/sigil-stdlibadded
@@ -0,0 +1 @@
+1
/home/daviwil/.sigil/deps/codeberg-sigil-sigil-180f6cda9d7a32429da2663532249ff764b48599/packages/sigil-stdlib
2
No newline at end of file
.sigil/deps/sigil-testadded
@@ -0,0 +1 @@
+1
/home/daviwil/.sigil/deps/codeberg-sigil-sigil-180f6cda9d7a32429da2663532249ff764b48599/packages/sigil-test
2
No newline at end of file
.sigil/deps/sigil-versionadded
@@ -0,0 +1 @@
+1
/home/daviwil/.sigil/deps/codeberg-sigil-sigil-180f6cda9d7a32429da2663532249ff764b48599/packages/sigil-version
2
No newline at end of file
README.mdmodified
@@ -52,7 +52,8 @@ Black and gold with subtle gradients:
52
## Build
53
54
```sh
55
sigil build sigil-web-styles
+55
sigil deps install
+56
sigil build
57
sigil test
58
```
59
build/dev/lib/_pkg/sigil-ansi/manifest.jsonmodified
@@ -1,5 +1,5 @@
1
{
2
"name": "sigil-ansi",
3
"version": "0.7.0",
+3
"version": "0.9.1",
4
"description": "Terminal colors and formatting for Sigil"
5
}
build/dev/lib/_pkg/sigil-build/manifest.jsonmodified
@@ -1,5 +1,5 @@
1
{
2
"name": "sigil-build",
3
"version": "0.7.0",
+3
"version": "0.9.1",
4
"description": "Build system and package management for Sigil"
5
}
build/dev/lib/_pkg/sigil-css/manifest.jsonmodified
@@ -1,5 +1,5 @@
1
{
2
"name": "sigil-css",
3
"version": "0.7.0",
+3
"version": "0.8.0",
4
"description": "S-expression CSS DSL for composable stylesheets"
5
}
build/dev/lib/_pkg/sigil-git/manifest.jsonmodified
@@ -1,5 +1,5 @@
1
{
2
"name": "sigil-git",
3
"version": "0.7.0",
+3
"version": "0.9.1",
4
"description": "Git operations for Sigil tools"
5
}
build/dev/lib/_pkg/sigil-json/manifest.jsonmodified
@@ -1,5 +1,5 @@
1
{
2
"name": "sigil-json",
3
"version": "0.7.0",
+3
"version": "0.9.1",
4
"description": "JSON parsing and generation for Sigil"
5
}
build/dev/lib/_pkg/sigil-stdlib/manifest.jsonmodified
@@ -1,5 +1,5 @@
1
{
2
"name": "sigil-stdlib",
3
"version": "0.7.0",
+3
"version": "0.9.1",
4
"description": "Core Sigil standard library"
5
}
build/dev/lib/_pkg/sigil-test/manifest.jsonmodified
@@ -1,5 +1,5 @@
1
{
2
"name": "sigil-test",
3
"version": "0.7.0",
+3
"version": "0.9.1",
4
"description": "Testing framework for Sigil"
5
}
build/dev/lib/_pkg/sigil-version/manifest.jsonmodified
@@ -1,5 +1,5 @@
1
{
2
"name": "sigil-version",
3
"version": "0.7.0",
+3
"version": "0.9.1",
4
"description": "Semantic versioning parsing and comparison"
5
}
build/dev/lib/sigil/ansi.jsonmodified
@@ -1,7 +1,7 @@
1
{
2
"module": "(sigil ansi)",
3
"package": "sigil-ansi",
4
"source": "/home/daviwil/Projects/Code/sigil/sigil/packages/sigil-ansi/src/sigil/ansi.sgl",
+4
"source": "/home/daviwil/.sigil/deps/codeberg-sigil-sigil-180f6cda9d7a32429da2663532249ff764b48599/packages/sigil-ansi/src/sigil/ansi.sgl",
5
"description": "(sigil ansi) - ANSI Terminal Escape Codes\n\nColored and styled terminal output using ANSI escape codes.\nAll functions are prefixed with `a:` to avoid naming conflicts.\n\n## Basic Usage\n\n```scheme\n(import (sigil ansi))\n\n(display (a:green \"PASS\"))\n(display (a:bold (a:red \"FAIL\")))\n(display (a:dim \"at test.sgl:42\"))\n```\n\n## Composing Styles\n\nStyles can be nested for combined effects:\n\n```scheme\n(display (a:bold (a:underline (a:cyan \"Important\"))))\n```\n\n## Cursor Control\n\n```scheme\n(display (a:clear-screen))\n(display (a:cursor-position 10 20)) ; row 10, column 20\n```\n\n## Disabling Colors\n\nFor non-TTY output, disable ANSI codes:\n\n```scheme\n(with-ansi-disabled\n (lambda ()\n (display (a:red \"This won't have color\"))))\n```",
6
"exports": [
7
{
build/dev/lib/sigil/ansi.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/array.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/async.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/async/scheduler.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/build.jsonmodified
@@ -1,638 +1,644 @@
1
{
2
"module": "(sigil build)",
3
"package": "sigil-build",
4
"source": "/home/daviwil/Projects/Code/sigil/sigil/packages/sigil-build/src/sigil/build.sgl",
+4
"source": "/home/daviwil/.sigil/deps/codeberg-sigil-sigil-180f6cda9d7a32429da2663532249ff764b48599/packages/sigil-build/src/sigil/build.sgl",
5
"description": "(sigil build) - Build System Library\n\nThis library provides the core build system functionality including:\n- Build context for threading state through actions\n- Core build actions (compile, link, etc.)\n- Task execution\n\nActions are composable procedures that transform the build context.\nThey are defined using defn with keyword parameters (SRFI-88 style).\n\nExample usage:\n\n (define ctx (make-context package config workspace ws-dir pkg-dir))\n (define ctx2\n ((compile-c-sources sources: '(\"src/main.c\" \"src/lib.c\")) ctx))",
6
"exports": [
7
{
8
"name": "context",
9
"kind": "procedure",
10
"description": "Build context that threads state through action steps.\n\nActions receive the context and return a modified context. This allows\nchaining actions while accumulating artifacts and environment state.",
11
"line": 136
+11
"line": 138
12
},
13
{
14
"name": "context?",
15
"kind": "procedure",
16
"description": "Test if a value is a `context` struct.",
17
"line": 136
+17
"line": 138
18
},
19
{
20
"name": "context-config",
21
"kind": "procedure",
22
"description": "Current `<config>` record being used for this build.",
23
"line": 136
+23
"line": 138
24
},
25
{
26
"name": "context-package",
27
"kind": "procedure",
28
"description": "Current `<package>` record being built.",
29
"line": 136
+29
"line": 138
30
},
31
{
32
"name": "context-workspace",
33
"kind": "procedure",
34
"description": "The `<workspace>` driving the build (for version info, shared configs).",
35
"line": 136
+35
"line": 138
36
},
37
{
38
"name": "context-workspace-dir",
39
"kind": "procedure",
40
"description": "Workspace root directory path (for consolidated output paths).",
41
"line": 136
+41
"line": 138
42
},
43
{
44
"name": "context-package-dir",
45
"kind": "procedure",
46
"description": "Package directory path (for resolving source file paths).",
47
"line": 136
+47
"line": 138
48
},
49
{
50
"name": "context-artifacts",
51
"kind": "procedure",
52
"description": "Accumulated artifacts as `((type . path) ...)` alist.",
53
"line": 136
+53
"line": 138
54
},
55
{
56
"name": "context-env",
57
"kind": "procedure",
58
"description": "Environment variables as `((name . value) ...)` alist.",
59
"line": 136
+59
"line": 138
60
},
61
{
62
"name": "context-verbose?",
63
"kind": "procedure",
64
"description": "If `#t`, output verbose build information.",
65
"line": 136
+65
"line": 138
66
},
67
{
68
"name": "context-dry-run?",
69
"kind": "procedure",
70
"description": "If `#t`, print commands without executing them.",
71
"line": 136
+71
"line": 138
72
},
73
{
74
"name": "context-force?",
75
"kind": "procedure",
76
"description": "If `#t`, force rebuild regardless of mtime checks.",
77
"line": 136
+77
"line": 138
78
},
79
{
80
"name": "context-work-count",
81
"kind": "procedure",
82
"description": "Counter for actual compilation/build work performed.",
83
"line": 136
+83
"line": 138
84
},
85
{
86
"name": "context-cache",
87
"kind": "procedure",
88
"description": "Content-addressable build cache callbacks, or #f to disable.\nAlist with 'check and 'store! procedures when enabled.",
89
"line": 136
+89
"line": 138
90
},
91
{
92
"name": "make-context",
93
"kind": "procedure",
94
"description": "Create an initial build context from a package, config, and workspace\nws: the workspace driving the build (for accessing version info, etc.)\nws-dir: the workspace root directory (for consolidated output paths)\npkg-dir: the package directory (for resolving source paths)\nopts: optional alist with keys: verbose, dry-run, force",
95
"line": 168
+95
"line": 170
96
},
97
{
98
"name": "make-workspace-context",
99
"kind": "procedure",
100
"description": "Create a build context for workspace-level tasks (no package)\nws: the workspace driving the build\nws-dir: the workspace root directory\nopts: optional alist with keys: verbose, dry-run, force",
101
"line": 191
+101
"line": 193
102
},
103
{
104
"name": "context-add-artifact",
105
"kind": "procedure",
106
"description": "Add an artifact to the context\nReturns a new context with the artifact added\nConverts relative paths to absolute paths",
107
"line": 211
+107
"line": 213
108
},
109
{
110
"name": "context-increment-work",
111
"kind": "procedure",
112
"description": "Increment the work counter for the context\nCall this when actual compilation/build work is performed",
113
"line": 220
+113
"line": 222
114
},
115
{
116
"name": "context-get-artifacts",
117
"kind": "procedure",
118
"description": "Get all artifacts of a given type",
119
"line": 225
+119
"line": 227
120
},
121
{
122
"name": "context-artifacts-grouped",
123
"kind": "procedure",
124
"description": "Group artifacts by type into an alist for external consumption.\nFilters out internal artifacts (like object files) that shouldn't\npropagate to dependent packages.\nReturns: ((type1 . (path1 path2 ...)) (type2 . (path3 ...)) ...)",
125
"line": 236
+125
"line": 238
126
},
127
{
128
"name": "list-or-false?",
129
"kind": "procedure",
130
"description": "Type predicate for optional list fields in define-action\nAllows either a proper list or #f (meaning \"get from context\")",
131
"line": 264
+131
"line": 266
132
},
133
{
134
"name": "ensure-directory",
135
"kind": "procedure",
136
"description": "Ensure a directory exists, creating it if necessary\nCreates parent directories as needed",
137
"line": 274
+137
"line": 276
138
},
139
{
140
"name": "print-build-step",
141
"kind": "procedure",
142
"description": "Print a styled build step (similar to make output)\naction: the action name (e.g., \"COMPILE\", \"LINK\", \"AR\")\ntarget: the file being processed\nPrint a build step indicator (with newline)",
143
"line": 287
+143
"line": 289
144
},
145
{
146
"name": "print-build-step-start",
147
"kind": "procedure",
148
"description": "Print a build step indicator without newline (for use with line count indicator)",
149
"line": 295
+149
"line": 297
150
},
151
{
152
"name": "run-process",
153
"kind": "procedure",
154
"description": "Run a process and check for success\nIn verbose mode or on error, shows full output.\nIn quiet mode (default), suppresses output unless command fails.\nReturns #t on success, raises error on failure",
155
"line": 305
+155
"line": 307
156
},
157
{
158
"name": "run-build-process",
159
"kind": "procedure",
160
"description": "Run a build process with line count indicator\nLike run-process, but prints a line count indicator after the command completes.\nUse with print-build-step-start (which doesn't print a newline).\nReturns #t on success, raises error on failure",
161
"line": 339
+161
"line": 341
162
},
163
{
164
"name": "run-process-capture",
165
"kind": "procedure",
166
"description": "Run a process and capture its combined stdout/stderr output.\nReturns (status output-string line-count)",
167
"line": 377
+167
"line": 379
168
},
169
{
170
"name": "read-all-lines-from-port",
171
"kind": "procedure",
172
"description": "Read all content from a port as a string, returning (output . line-count)",
173
"line": 397
+173
"line": 399
174
},
175
{
176
"name": "flatten-args",
177
"kind": "procedure",
178
"description": "Flatten a list that may contain nested lists or strings",
179
"line": 407
+179
"line": 409
180
},
181
{
182
"name": "c-to-object",
183
"kind": "procedure",
184
"description": "Convert C source path to object file path",
185
"line": 419
+185
"line": 421
186
},
187
{
188
"name": "sgl-to-sgb",
189
"kind": "procedure",
190
"description": "Convert Sigil source path to bytecode path",
191
"line": 423
+191
"line": 425
192
},
193
{
194
"name": "glob-files",
195
"kind": "procedure",
196
"description": "Glob files matching patterns in a directory\nFor now, a simple implementation that uses directory-walk",
197
"line": 428
+197
"line": 430
198
},
199
{
200
"name": "matches-any-pattern?",
201
"kind": "procedure",
202
"description": "Check if path matches any of the patterns\nSimple implementation: checks file extension",
203
"line": 440
+203
"line": 442
204
},
205
{
206
"name": "any?",
207
"kind": "procedure",
208
"description": "Check if any element satisfies predicate",
209
"line": 460
+209
"line": 462
210
},
211
{
212
"name": "string-suffix?",
213
"kind": "procedure",
214
"description": "Check if string ends with suffix",
215
"line": 467
+215
"line": 469
216
},
217
{
218
"name": "format-file-size",
219
"kind": "procedure",
220
"description": "Format file size in human-readable form",
221
"line": 474
+221
"line": 476
222
},
223
{
224
"name": "resolve-path",
225
"kind": "procedure",
226
"description": "Resolve a path that may be a string or a procedure.\nIf it's a procedure, call it with the context to get the path.",
227
"line": 492
+227
"line": 494
228
},
229
{
230
"name": "config-output-subdir",
231
"kind": "procedure",
232
"description": "Create a path resolver that prepends the config's output-dir.\nUsage: (config-output-subdir \"obj/whippet\") returns a lambda\nthat when called with ctx produces \"build/dev/obj/whippet\"\n(assuming config output-dir is \"build/dev\").",
233
"line": 501
+233
"line": 503
234
},
235
{
236
"name": "resolve-output-path",
237
"kind": "procedure",
238
"description": "Resolve an output path relative to the workspace directory.\nThis is used for consolidated output paths like build/<config>/lib/\nIf path is already absolute, returns it unchanged.\nIf path-or-proc is a procedure, calls it with ctx first.",
239
"line": 509
+239
"line": 511
240
},
241
{
242
"name": "resolve-source-path",
243
"kind": "procedure",
244
"description": "Resolve a source path relative to the package directory.\nThis is used for source file globs like \"src/**/*.sgl\"\nIf path is already absolute, returns it unchanged.\nIf path-or-proc is a procedure, calls it with ctx first.",
245
"line": 519
+245
"line": 521
246
},
247
{
248
"name": "consolidated-output-path",
249
"kind": "procedure",
250
"description": "Get the consolidated output directory for a subpath.\nCombines workspace-dir + config output-dir + subpath.\ne.g., (consolidated-output-path ctx \"bin\") -> \"/path/to/workspace/build/bin/dev\"",
251
"line": 528
+251
"line": 530
252
},
253
{
254
"name": "shared-lib-path",
255
"kind": "procedure",
256
"description": "Get the shared lib output directory (same for all configs).\nBytecode doesn't change with C optimization flags, so we use a single lib/.\ne.g., (shared-lib-path ctx) -> \"/path/to/workspace/build/lib\"",
257
"line": 536
+257
"line": 538
258
},
259
{
260
"name": "compile-c-file",
261
"kind": "procedure",
262
"description": "Compiles a single C source file to an object file.\nsource: path to .c file (required)\noutput: path to .o file (defaults to source with .o extension)\nflags: additional compiler flags (defaults to '())\nforce?: if #t, always recompile (default #f)",
263
"line": 549
+263
"line": 551
264
},
265
{
266
"name": "compile-c-sources",
267
"kind": "procedure",
268
"description": "Compiles multiple C source files to object files.\nsources: glob pattern string or list of .c file paths (required)\n If a string, it's treated as a glob pattern resolved relative to package-dir\noutput-dir: directory for .o files (string or procedure, defaults to consolidated native dir)\n Resolved relative to workspace-dir for consolidation\ninclude-dirs: list of include directories (resolved relative to package-dir)\n Converted to -I flags automatically\nflags: additional compiler flags (defaults to '())\nforce?: if #t, always recompile (default #f)",
269
"line": 608
+269
"line": 610
270
},
271
{
272
"name": "any-file-newer?",
273
"kind": "procedure",
274
"description": "Check if any file in a list is newer than a target file.",
275
"line": 662
+275
"line": 664
276
},
277
{
278
"name": "create-static-library",
279
"kind": "procedure",
280
"description": "Creates a static library from object files.\nname: library name without lib prefix or .a suffix (required)\nobjects: list of .o files (#f means get from context)\noutput-dir: directory for library (string or procedure, defaults to consolidated native dir)\nforce?: if #t, always rebuild (default #f)",
281
"line": 677
+281
"line": 679
282
},
283
{
284
"name": "link-executable",
285
"kind": "procedure",
286
"description": "Links object files and libraries into an executable.\nname: executable name (required)\nobjects: list of .o files (#f means get from context)\nlibraries: additional libraries to link (defaults to '())\noutput-dir: directory for executable (string or procedure, defaults to consolidated bin dir)\nforce?: if #t, always relink (default #f)",
287
"line": 739
+287
"line": 746
288
},
289
{
290
"name": "link-web-application",
291
"kind": "procedure",
292
"description": "Links object files and libraries into a web application (.js + .wasm).\nUses emcc to produce JavaScript/WebAssembly output with embedded modules.\nname: application name (required) - produces <name>.js and <name>.wasm\nobjects: list of .o files (#f means get from context)\nlibraries: additional libraries to link (defaults to '())\nembed-dirs: list of (source-dir . mount-path) pairs to embed (defaults to lib@/lib)\noutput-dir: directory for output files (defaults to consolidated output dir root)",
293
"line": 801
+292
"description": "Links object files and libraries into a web application.\nFor Emscripten: produces <name>.js + <name>.wasm with embedded modules.\nFor WASI (zig): produces <name>.wasm and copies modules to output dir.\nname: application name (required)\nobjects: list of .o files (#f means get from context)\nlibraries: additional libraries to link (defaults to '())\nembed-dirs: list of (source-dir . mount-path) pairs to embed (Emscripten only)\noutput-dir: directory for output files (defaults to consolidated output dir root)",
+293
"line": 809
+294
},
+295
{
+296
"name": "generate-web-bundle",
+297
"kind": "procedure",
+298
"description": "Generates a binary bundle from one or more directories.\nAll files are packed into a single file for efficient loading.\nCan be used as a build step or called directly.\n\nBundle format: [uint32 count] then per file:\n [uint16 path-len] [path bytes] [uint32 data-len] [data bytes]\n\noutput: path to the output bundle file (required)\ndirs: list of directories whose contents to include (required)",
+299
"line": 940
300
},
301
{
302
"name": "compile-native-tests",
303
"kind": "procedure",
304
"description": "Compiles native C test files into test executables.\nDiscovers test-*.c files in test/native/ directory and compiles\neach into a separate executable linked against the package's library.\n\ntest-dir: directory containing test files (default: \"test/native\")\ninclude-dirs: list of include directories (default: package's include dir)\nlibraries: additional libraries to link (default: links package's static library)\noutput-dir: directory for test executables (default: consolidated bin dir)",
299
"line": 869
+305
"line": 1005
306
},
307
{
308
"name": "compile-sigil-module",
309
"kind": "procedure",
310
"description": "Compiles a Sigil source file to bytecode (.sgb).\nSupports incremental compilation: skips if output is newer than source.\nsource: path to .sgl file (required, resolved relative to package-dir)\noutput: path to .sgb file (string or procedure, resolved relative to workspace-dir)\nforce?: if #t, always recompile (default #f)",
305
"line": 960
+311
"line": 1100
312
},
313
{
314
"name": "compile-sigil-modules",
315
"kind": "procedure",
316
"description": "Compiles multiple Sigil source files to bytecode with automatic dependency ordering\nand incremental compilation support (only recompiles files that have changed).\n\nsources: glob pattern string or list of .sgl file paths (required)\n If a string, it's treated as a glob pattern resolved relative to package-dir\nexclude: list of files to exclude (paths relative to glob base, or basenames)\noutput-dir: directory for .sgb files (string or procedure, defaults to consolidated lib)\n Resolved relative to workspace-dir for consolidation.\n When using glob patterns, directory structure is preserved relative\n to the glob's base directory (e.g., src/**/*.sgl preserves paths under src/)\nlib-paths: list of paths to search for compiled dependencies (optional)\n defaults to output-dir + SIGIL_LIB or ~/.sigil/lib\nforce?: if #t, recompile all files regardless of mtime (default #f)",
311
"line": 1004
+317
"line": 1146
318
},
319
{
320
"name": "get-stdlib-lib-path",
321
"kind": "procedure",
322
"description": "Get the stdlib lib path from the environment or default location.",
317
"line": 1106
+323
"line": 1248
324
},
325
{
326
"name": "glob-base-dir",
327
"kind": "procedure",
328
"description": "Extract base directory from a glob pattern.\nReturns the path prefix before the first wildcard.\ne.g., \"src/**/*.sgl\" -> \"src\"\n \"src/sigil/*.sgl\" -> \"src/sigil\"",
323
"line": 1123
+329
"line": 1265
330
},
331
{
332
"name": "copy-assets",
333
"kind": "procedure",
334
"description": "Copies asset files to the output directory.\nsource-dir: directory containing assets (resolved relative to package-dir)\noutput-dir: destination directory (resolved relative to workspace-dir, defaults to config output root)\npatterns: glob patterns to match (defaults to '(\"*\"))",
329
"line": 1145
+335
"line": 1287
336
},
337
{
338
"name": "link-assets",
339
"kind": "procedure",
340
"description": "Links the package's assets/ directory to the build output.\n\nConvention: assets are always in `assets/` at the package root.\nFor dev builds, creates a symlink for fast iteration. Falls back\nto copying if symlink creation fails (e.g., Windows without Developer Mode).\n\nIf no assets/ directory exists, this is a no-op.\n\nExample:\n```scheme\n(link-assets)\n;; Creates: build/dev/assets -> ../../packages/my-pkg/assets\n```",
335
"line": 1192
+341
"line": 1334
342
},
343
{
344
"name": "copy-package-docs",
345
"kind": "procedure",
346
"description": "Copy package documentation to lib/_pkg/<name>/ and generate manifest.json.\n\nThis build step copies markdown documentation files from the package's\ndocs directory to the standard package docs location for MCP discovery\nand website generation.\n\nParameters:\ndocs-dir: source directory for docs (defaults to package's docs-dir field)\noutput-dir: destination directory (defaults to lib/_pkg/<pkg-name>)\nwarn-lines: line count threshold for warnings (default 200)\n\nExample in custom task:\n```scheme\n(task\n name: 'build\n steps: (list\n (compile-sigil-modules sources: \"src/**/*.sgl\")\n (copy-package-docs)))\n```",
341
"line": 1282
+347
"line": 1424
348
},
349
{
350
"name": "ensure-dirs",
351
"kind": "procedure",
352
"description": "Ensures multiple directories exist, creating them recursively if necessary.\ndirs: list of directory paths (required)\nbase-dir: base path for relative dirs (defaults to config's output-dir)",
347
"line": 1379
+353
"line": 1521
354
},
355
{
356
"name": "run-steps",
357
"kind": "procedure",
358
"description": "Execute a sequence of action steps",
353
"line": 1400
+359
"line": 1542
360
},
361
{
362
"name": "execute-task",
363
"kind": "procedure",
364
"description": "Execute a single task",
359
"line": 1404
+365
"line": 1546
366
},
367
{
368
"name": "print-task-header",
369
"kind": "procedure",
370
"description": "Print a task section header with consistent width\nsource-name: the package or workspace name where the task is defined\ntask-name: the name of the task being executed",
365
"line": 1410
+371
"line": 1552
372
},
373
{
374
"name": "execute-task-with-deps",
375
"kind": "procedure",
376
"description": "Execute a task with its dependencies\nsource-name: package/workspace name for display\nexecuted: list of already-executed task names (to avoid cycles)",
371
"line": 1428
+377
"line": 1570
378
},
379
{
380
"name": "normalize-dirs",
381
"kind": "procedure",
382
"description": "Normalize dirs to a list (handles string or list input)",
377
"line": 1463
+383
"line": 1605
384
},
385
{
386
"name": "glob-source-files",
387
"kind": "procedure",
388
"description": "Glob all .sgl source files from src/ directory",
383
"line": 1471
+389
"line": 1613
390
},
391
{
392
"name": "glob-test-files",
393
"kind": "procedure",
394
"description": "Glob all test files from test/ directory\nLooks for test-*.sgl and *-test.sgl patterns",
389
"line": 1478
+395
"line": 1620
396
},
397
{
398
"name": "string-prefix?",
399
"kind": "procedure",
400
"description": "Check if string starts with prefix",
395
"line": 1489
+401
"line": 1631
402
},
403
{
404
"name": "default-build-task",
405
"kind": "procedure",
406
"description": "Create the default 'build' task for a package\nCompiles all .sgl files from src/, copies docs to _pkg/, and links assets/",
401
"line": 1497
+407
"line": 1639
408
},
409
{
410
"name": "default-test-task",
411
"kind": "procedure",
412
"description": "Create the default 'test' task for a package\nRuns all test files from test-dirs",
407
"line": 1508
+413
"line": 1650
414
},
415
{
416
"name": "default-clean-task",
417
"kind": "procedure",
418
"description": "Create the default 'clean' task for a package\nRemoves the config-specific output directory",
413
"line": 1549
+419
"line": 1691
420
},
421
{
422
"name": "generate-default-tasks",
423
"kind": "procedure",
424
"description": "Generate default tasks for a package\nReturns a list of default tasks that can be merged with package tasks",
419
"line": 1565
+425
"line": 1707
426
},
427
{
428
"name": "package-tasks-with-defaults",

Showing the first 500 of 752 diff lines for this file. This diff is INCOMPLETE; read the file or clone the repository for the rest.

build/dev/lib/sigil/build.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/build/bundle.jsonmodified
@@ -1,7 +1,7 @@
1
{
2
"module": "(sigil build bundle)",
3
"package": "sigil-build",
4
"source": "/home/daviwil/Projects/Code/sigil/sigil/packages/sigil-build/src/sigil/build/bundle.sgl",
+4
"source": "/home/daviwil/.sigil/deps/codeberg-sigil-sigil-180f6cda9d7a32429da2663532249ff764b48599/packages/sigil-build/src/sigil/build/bundle.sgl",
5
"description": "(sigil build bundle) - Bundle Creation Library\n\nThis library provides functionality for creating standalone bundled\nexecutables with embedded modules and assets. It wraps the (sigil archive)\nmodule's low-level ZIP operations.\n\nA bundle is:\n 1. A base executable (sigil or a static musl build)\n 2. A ZIP archive appended to it containing:\n - Compiled bytecode modules (.sgb files)\n - Assets (images, sounds, etc.)\n - A manifest listing the entry point\n 3. A trailer with magic \"SGLPAK\" and offset to the archive\n\nThe bundled executable:\n - Loads modules from the embedded archive first\n - Falls back to filesystem if not found\n - Runs the entry point specified in the manifest\n\nExample usage:\n\n (define bundle (make-bundle \"my-app\"))\n (bundle-set-entry! bundle '(my-app main))\n (bundle-add-module! bundle \"lib/my-app.sgb\" \"my-app/main.sgb\")\n (bundle-add-asset-directory! bundle \"assets\")\n (bundle-write! bundle \"dist/my-app\")",
6
"exports": [
7
{
build/dev/lib/sigil/build/bundle.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/build/deps.jsonmodified
@@ -1,7 +1,7 @@
1
{
2
"module": "(sigil build deps)",
3
"package": "sigil-build",
4
"source": "/home/daviwil/Projects/Code/sigil/sigil/packages/sigil-build/src/sigil/build/deps.sgl",
+4
"source": "/home/daviwil/.sigil/deps/codeberg-sigil-sigil-180f6cda9d7a32429da2663532249ff764b48599/packages/sigil-build/src/sigil/build/deps.sgl",
5
"description": "(sigil build deps) - Dependency Resolution\n\nThis library provides dependency graph construction and resolution\nfor building packages in the correct order.\n\nExample usage:\n (define packages (workspace-load-packages ws ws-dir))\n (define graph (build-dependency-graph packages))\n (define order (topological-sort graph))\n ;; order is a list of package names in build order",
6
"exports": [
7
{
build/dev/lib/sigil/build/deps.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/build/graph.jsonmodified
@@ -1,7 +1,7 @@
1
{
2
"module": "(sigil build graph)",
3
"package": "sigil-build",
4
"source": "/home/daviwil/Projects/Code/sigil/sigil/packages/sigil-build/src/sigil/build/graph.sgl",
+4
"source": "/home/daviwil/.sigil/deps/codeberg-sigil-sigil-180f6cda9d7a32429da2663532249ff764b48599/packages/sigil-build/src/sigil/build/graph.sgl",
5
"description": "(sigil build graph) - Graph Algorithms for Build Systems\n\nThis library provides generic graph algorithms useful for dependency\nresolution in build systems:\n\n- Topological sorting (Kahn's algorithm)\n- Cycle detection (DFS-based)\n\nGraphs are represented as association lists where each entry is\n`(node . (list of dependencies))`.\n\nExample usage:\n```scheme\n(define graph '((\"a\" . (\"b\" \"c\"))\n (\"b\" . (\"c\"))\n (\"c\" . ())))\n(topological-sort graph) ; => (\"c\" \"b\" \"a\")\n(has-cycle? graph) ; => #f\n```",
6
"exports": [
7
{
build/dev/lib/sigil/build/graph.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/build/module-deps.jsonmodified
@@ -1,7 +1,7 @@
1
{
2
"module": "(sigil build module-deps)",
3
"package": "sigil-build",
4
"source": "/home/daviwil/Projects/Code/sigil/sigil/packages/sigil-build/src/sigil/build/module-deps.sgl",
+4
"source": "/home/daviwil/.sigil/deps/codeberg-sigil-sigil-180f6cda9d7a32429da2663532249ff764b48599/packages/sigil-build/src/sigil/build/module-deps.sgl",
5
"description": "(sigil build module-deps) - Module Dependency Tracking\n\nThis library provides dependency tracking for .sgl modules to enable:\n1. Correct build ordering (dependencies compiled before dependents)\n2. Incremental builds (skip unchanged modules via mtime checks)\n3. Future tree-shaking support for bundles\n\nExample usage:\n (define source-files (glob \"src/**/*.sgl\"))\n (define lib-paths '(\"build/lib\" \"~/.sigil/lib\"))\n (compile-modules-incremental source-files \"build/lib\" lib-paths)",
6
"exports": [
7
{
build/dev/lib/sigil/build/module-deps.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/build/native.jsonmodified
@@ -1,7 +1,7 @@
1
{
2
"module": "(sigil build native)",
3
"package": "sigil-build",
4
"source": "/home/daviwil/Projects/Code/sigil/sigil/packages/sigil-build/src/sigil/build/native.sgl",
+4
"source": "/home/daviwil/.sigil/deps/codeberg-sigil-sigil-180f6cda9d7a32429da2663532249ff764b48599/packages/sigil-build/src/sigil/build/native.sgl",
5
"description": "Native Package Support\n\nThis module provides functions for detecting and building native packages\n(packages with C code) during the bundling process.\n\nWhen an app depends on packages with native code (c-sources in their\nlibrary definitions), we need to:\n 1. Detect which packages have native code\n 2. Generate an entrypoint that initializes all native modules\n 3. Compile the native code\n 4. Link a custom runtime",
6
"exports": [
7
{
build/dev/lib/sigil/build/native.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/channels.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/core.jsonmodified
@@ -1,7 +1,7 @@
1
{
2
"module": "(sigil core)",
3
"package": "sigil-stdlib",
4
"source": "/home/daviwil/Projects/Code/sigil/sigil/packages/sigil-stdlib/src/sigil/core.sgl",
+4
"source": "/home/daviwil/Projects/Code/sigil/sigil-web-styles/.sigil/deps/sigil-stdlib/src/sigil/core.sgl",
5
"description": "(sigil core) - Core Language Primitives\n\nThe foundation of Sigil. This module is automatically imported into every\nmodule and provides essential procedures, macros, and syntax forms.\n\n## List Operations\n\n```scheme\n(append '(1 2) '(3 4)) ; => (1 2 3 4)\n(reverse '(1 2 3)) ; => (3 2 1)\n(filter even? '(1 2 3 4 5)) ; => (2 4)\n(map (lambda (x) (* x 2)) '(1 2 3)) ; => (2 4 6)\n(fold + 0 '(1 2 3 4)) ; => 10\n```\n\n## Control Flow\n\n```scheme\n(cond\n ((< x 0) \"negative\")\n ((= x 0) \"zero\")\n (else \"positive\"))\n\n(case color\n ((red green blue) \"primary\")\n ((cyan magenta yellow) \"secondary\")\n (else \"other\"))\n\n(when (> x 0) (do-something))\n(unless (null? lst) (process lst))\n```\n\n## Records\n\n```scheme\n(define-record <point> (x) (y))\n(define p (point 10 20))\n(point-x p) ; => 10\n(point? p) ; => #t\n```\n\n## Exception Handling\n\n```scheme\n(error \"Something went wrong: ~a\" details)\n(raise (make-exception 'not-found \"Resource missing\" '()))\n```\n\n## Keyword Arguments\n\n```scheme\n(define (greet name (keys: (greeting \"Hello\")))\n (format \"~a, ~a!\" greeting name))\n\n(greet \"World\") ; => \"Hello, World!\"\n(greet \"World\" greeting: \"Hi\") ; => \"Hi, World!\"\n```\n\nThis module uses bootstrap primitives (`%make-module`, `%module-export!`)\ninstead of `define-library` for internal bootstrapping reasons.",
6
"exports": [
7
{
@@ -1630,41 +1630,29 @@
1630
"description": "Get the spec annotation from a procedure, or #f if none.\n\nReturns the spec list from a procedure's metadata, or #f if the\nprocedure has no spec annotation.\n\n```scheme\n(define (add a b)\n (: number? number? -> number?)\n (+ a b))\n(procedure-spec add) ; => (number? number? -> number?)\n```",
1631
"line": 4958
1632
},
1633
{
1634
"name": "chain",
1635
"kind": "syntax",
1636
"description": "Thread a value through a sequence of expressions.\n\nSimilar to SRFI-197's `chain`. Uses `_` as the placeholder symbol.\nWhen a step contains `_`, the threaded value is substituted there.\nWhen no `_` is present, the value is inserted as the first argument.\n\n```scheme\n;; Thread-first (no placeholder)\n(chain 5 (+ 3) (* 2))\n; => 16 (same as (* (+ 5 3) 2))\n\n;; Explicit placeholder\n(chain '(1 2 3)\n (map (lambda (x) (* x 2)) _)\n (apply + _))\n; => 12\n\n;; Placeholder in various positions\n(chain 10 (- 20 _)) ; => 10 (= 20 - 10)\n(chain 5 (list 1 2 _ 4)) ; => (1 2 5 4)\n```",
1637
"line": 4991
1638
},
1639
{
1640
"name": "some->",
1641
"kind": "syntax",
1642
"description": "Thread value through steps, short-circuiting on #f.\n\nLike `->`, but stops and returns `#f` if any step produces `#f`.\nUseful for optional/nullable value pipelines.\n\n```scheme\n;; Returns #f if any step fails\n(some-> user\n (dict-ref _ name:)\n (string-split \" \" _)\n car)\n\n;; Short-circuits on #f\n(some-> #f (+ 1 _)) ; => #f (doesn't call +)\n\n;; Continues while truthy\n(some-> 5 (+ 1 _) (* 2 _)) ; => 12\n```",
1643
"line": 5061
1644
},
1633
{
1634
"name": "print",
1635
"kind": "syntax",
1636
"description": "Print a formatted string to standard output.\n\nUses format directives: `~a` (display), `~s` (write), `~%` (newline).\nDoes not add a trailing newline.\n\n```scheme\n(print \"Processing ~a...\" filename)\n```",
1649
"line": 5086
+1637
"line": 4982
1638
},
1639
{
1640
"name": "println",
1641
"kind": "syntax",
1642
"description": "Print a formatted string to standard output with a newline.\n\nThe recommended way to print output in Sigil programs.\n\n```scheme\n(println \"Hello, ~a!\" name)\n(println \"Result: ~a\" (* 6 7))\n```",
1655
"line": 5100
+1643
"line": 4996
1644
},
1645
{
1646
"name": "eprint",
1647
"kind": "syntax",
1648
"description": "Print a formatted string to standard error.\n\nUse for error messages and diagnostics.\n\n```scheme\n(eprint \"Warning: ~a\" message)\n```",
1661
"line": 5115
+1649
"line": 5011
1650
},
1651
{
1652
"name": "eprintln",
1653
"kind": "syntax",
1654
"description": "Print a formatted string to standard error with a newline.\n\n```scheme\n(eprintln \"Error: ~a\" error-message)\n```",
1667
"line": 5126
+1655
"line": 5022
1656
}
1657
]
1658
}
build/dev/lib/sigil/core.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/coroutines.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/css.jsonmodified
@@ -1,7 +1,7 @@
1
{
2
"module": "(sigil css)",
3
"package": "sigil-css",
4
"source": "/home/daviwil/Projects/Code/sigil/sigil-css/src/sigil/css.sgl",
+4
"source": "/home/daviwil/Projects/Code/sigil/sigil-web-styles/.sigil/deps/sigil-css/src/sigil/css.sgl",
5
"description": "(sigil css) - S-expression CSS DSL\n\nWrite CSS using S-expressions for composability and theming. Properties\nare written as `(property-name value)` and nested selectors use `&`.\n\n## Basic Usage\n\n```scheme\n(import (sigil css))\n\n(css->string\n (css \".button\"\n (background \"#007bff\")\n (padding \"0.5rem 1rem\")\n (border-radius \"4px\")))\n```\n\n## Nested Selectors\n\nUse `&` to create nested rules (like Sass/SCSS):\n\n```scheme\n(css \".card\"\n (padding \"1rem\")\n (& \":hover\"\n (box-shadow \"0 2px 8px rgba(0,0,0,0.3)\"))\n (& \" .title\"\n (font-weight \"bold\")))\n```\n\n## CSS Variables\n\nDefine custom properties with `css-vars`:\n\n```scheme\n(css->string\n (css-vars\n (--bg \"#0a0a0a\")\n (--fg \"#e0e0e0\"))\n (css \"body\"\n (background \"var(--bg)\")\n (color \"var(--fg)\")))\n```\n\n## Media Queries and Keyframes\n\n```scheme\n(css-media \"(max-width: 768px)\"\n (css \".sidebar\" (display \"none\")))\n\n(css-keyframes \"fade-in\"\n (from (opacity \"0\"))\n (to (opacity \"1\")))\n```",
6
"exports": [
7
{
build/dev/lib/sigil/css.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/deps/fetch.jsonmodified
@@ -1,7 +1,7 @@
1
{
2
"module": "(sigil deps fetch)",
3
"package": "sigil-build",
4
"source": "/home/daviwil/Projects/Code/sigil/sigil/packages/sigil-build/src/sigil/deps/fetch.sgl",
+4
"source": "/home/daviwil/.sigil/deps/codeberg-sigil-sigil-180f6cda9d7a32429da2663532249ff764b48599/packages/sigil-build/src/sigil/deps/fetch.sgl",
5
"description": "(sigil deps fetch) - Dependency Fetching\n\nThis module handles fetching git dependencies using bare repos and worktrees.\nDependencies are cached globally in ~/.sigil/repos/ as bare repos, and\nworktrees are created per-project in .sigil/deps/.",
6
"exports": [
7
{
build/dev/lib/sigil/deps/fetch.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/deps/lock.jsonadded
@@ -0,0 +1,104 @@
+1
{
+2
"module": "(sigil deps lock)",
+3
"package": "sigil-build",
+4
"source": "/home/daviwil/Projects/Code/sigil/sigil/packages/sigil-build/src/sigil/deps/lock.sgl",
+5
"description": "(sigil deps lock) - Dependency Lockfile\n\nManages sigil.lock files for reproducible dependency resolution.\nThe lockfile records the exact git ref (commit hash) for every\nresolved dependency, enabling deterministic builds.\n\nLockfile format:\n (lock\n (package name: \"sigil-stdlib\"\n url: \"codeberg:sigil/sigil\"\n ref: \"v0.9.0\"\n sha: \"abc123def456...\"\n package-selector: \"sigil-stdlib\")\n (package name: \"sigil-peg\"\n url: \"codeberg:sigil/sigil-peg\"\n ref: \"v0.9.0\"\n sha: \"789abc012def...\"))",
+6
"exports": [
+7
{
+8
"name": "lock-entry",
+9
"kind": "procedure",
+10
"description": "Construct a `lock-entry` struct.",
+11
"line": 55
+12
},
+13
{
+14
"name": "lock-entry?",
+15
"kind": "procedure",
+16
"description": "Test if a value is a `lock-entry` struct.",
+17
"line": 55
+18
},
+19
{
+20
"name": "lock-entry-name",
+21
"kind": "procedure",
+22
"description": "Get the `name` field of a `lock-entry` struct.",
+23
"line": 55
+24
},
+25
{
+26
"name": "lock-entry-url",
+27
"kind": "procedure",
+28
"description": "Get the `url` field of a `lock-entry` struct.",
+29
"line": 55
+30
},
+31
{
+32
"name": "lock-entry-ref",
+33
"kind": "procedure",
+34
"description": "Get the `ref` field of a `lock-entry` struct.",
+35
"line": 55
+36
},
+37
{
+38
"name": "lock-entry-sha",
+39
"kind": "procedure",
+40
"description": "Get the `sha` field of a `lock-entry` struct.",
+41
"line": 55
+42
},
+43
{
+44
"name": "lock-entry-package-selector",
+45
"kind": "procedure",
+46
"description": "Get the `package-selector` field of a `lock-entry` struct.",
+47
"line": 55
+48
},
+49
{
+50
"name": "lock-entry-version",
+51
"kind": "procedure",
+52
"description": "Get the `version` field of a `lock-entry` struct.",
+53
"line": 55
+54
},
+55
{
+56
"name": "load-lockfile",
+57
"kind": "procedure",
+58
"description": "Load a sigil.lock file.\nReturns a list of lock-entry records, or '() if file doesn't exist.",
+59
"line": 79
+60
},
+61
{
+62
"name": "parse-lock-package",
+63
"kind": "procedure",
+64
"description": "Parse a (package name: \"...\" url: \"...\" ...) form into a lock-entry",
+65
"line": 96
+66
},
+67
{
+68
"name": "read-all-exprs",
+69
"kind": "procedure",
+70
"description": "Read all S-expressions from a port",
+71
"line": 102
+72
},
+73
{
+74
"name": "write-lockfile",
+75
"kind": "procedure",
+76
"description": "Write a lockfile from a list of lock-entry records.",
+77
"line": 114
+78
},
+79
{
+80
"name": "write-lock-field",
+81
"kind": "procedure",
+82
"description": "Write an optional field to the lockfile",
+83
"line": 127
+84
},
+85
{
+86
"name": "write-lock-entry",
+87
"kind": "procedure",
+88
"description": "Write a single lock-entry as a (package ...) form",
+89
"line": 133
+90
},
+91
{
+92
"name": "find-lock-entry",
+93
"kind": "procedure",
+94
"description": "Find a lock entry by package name",
+95
"line": 148
+96
},
+97
{
+98
"name": "lockfile->ref-map",
+99
"kind": "procedure",
+100
"description": "Convert lockfile entries to a simple (name . sha) alist\nfor quick lookups during fetch",
+101
"line": 157
+102
}
+103
]
+104
}
build/dev/lib/sigil/deps/lock.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/deps/redirects.jsonmodified
@@ -1,7 +1,7 @@
1
{
2
"module": "(sigil deps redirects)",
3
"package": "sigil-build",
4
"source": "/home/daviwil/Projects/Code/sigil/sigil/packages/sigil-build/src/sigil/deps/redirects.sgl",
+4
"source": "/home/daviwil/.sigil/deps/codeberg-sigil-sigil-180f6cda9d7a32429da2663532249ff764b48599/packages/sigil-build/src/sigil/deps/redirects.sgl",
5
"description": "(sigil deps redirects) - Dependency Redirects\n\nAllows redirecting dependencies during development, enabling work on\nlibraries while building apps that depend on them.\n\nUsage:\n Load redirects from a file via SIGIL_REDIRECTS env var:\n SIGIL_REDIRECTS=./my-redirects.sgl sigil build\n\n Or via --redirects flag:\n sigil build --redirects ./my-redirects.sgl\n\nRedirects file format:\n (redirects\n repos: (list\n (for-repo\n url: \"https://github.com/user/repo\"\n use: (from-path dir: \"/local/path\")))\n packages: (list\n (for-package\n name: \"pkg-name\"\n use: (from-path dir: \"/local/path\"))))",
6
"exports": [
7
{
build/dev/lib/sigil/deps/redirects.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/deps/semver.jsonadded
@@ -0,0 +1,56 @@
+1
{
+2
"module": "(sigil deps semver)",
+3
"package": "sigil-build",
+4
"source": "/home/daviwil/Projects/Code/sigil/sigil/packages/sigil-build/src/sigil/deps/semver.sgl",
+5
"description": "(sigil deps semver) - Semantic Versioning\n\nParses semver version strings and resolves version range constraints\nagainst lists of available versions (from git tags).\n\nRange syntax (Cargo-style for pre-1.0):\n \"^0.9.0\" → >=0.9.0, <0.10.0 (caret = minor-compatible)\n \"^1.2.3\" → >=1.2.3, <2.0.0 (caret = major-compatible for >=1.0)\n \"~0.9.0\" → >=0.9.0, <0.9.1 (tilde = patch only)\n \"~1.2.3\" → >=1.2.3, <1.3.0 (tilde = minor-compatible for >=1.0)\n \"0.9.0\" → =0.9.0 (exact match)\n \"*\" → any version",
+6
"exports": [
+7
{
+8
"name": "parse-semver",
+9
"kind": "procedure",
+10
"description": "Parse a semver string into a list of three integers.\nReturns (major minor patch) or #f if invalid.\nHandles optional \"v\" prefix: \"v1.2.3\" → (1 2 3)",
+11
"line": 55
+12
},
+13
{
+14
"name": "parse-version-range",
+15
"kind": "procedure",
+16
"description": "Parse a version range string into a range record.\nReturns (min-version . max-version) where both are semver lists,\nor 'any for wildcard, or #f if invalid.\nmin is inclusive, max is exclusive.",
+17
"line": 108
+18
},
+19
{
+20
"name": "version-in-range?",
+21
"kind": "procedure",
+22
"description": "Check if a version satisfies a range.",
+23
"line": 154
+24
},
+25
{
+26
"name": "tag->version",
+27
"kind": "procedure",
+28
"description": "Strip \"v\" prefix from a tag to get a version string.",
+29
"line": 169
+30
},
+31
{
+32
"name": "version->tag",
+33
"kind": "procedure",
+34
"description": "Add \"v\" prefix to a version string.",
+35
"line": 176
+36
},
+37
{
+38
"name": "resolve-version",
+39
"kind": "procedure",
+40
"description": "Resolve a version range against a list of git tags.\nReturns the tag string for the highest matching version,\nor #f if no match found.\n\ntags: list of tag strings (e.g., (\"v0.9.1\" \"v0.9.0\" \"v0.8.0\"))\nrange-str: version range string (e.g., \"^0.9.0\")",
+41
"line": 189
+42
},
+43
{
+44
"name": "ranges-compatible?",
+45
"kind": "procedure",
+46
"description": "Check if two version ranges can be satisfied by a single version.\nReturns #t if compatible, #f if conflicting.",
+47
"line": 218
+48
},
+49
{
+50
"name": "check-version-conflict",
+51
"kind": "procedure",
+52
"description": "Check if two resolved versions for the same package conflict.\nReturns #f if they're the same, or a conflict description string.",
+53
"line": 233
+54
}
+55
]
+56
}
build/dev/lib/sigil/deps/semver.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/diagnostic.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/dict.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/env.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/error.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/exceptions.jsonadded
@@ -0,0 +1,155 @@
+1
{
+2
"module": "(sigil exceptions)",
+3
"package": "sigil-stdlib",
+4
"source": "/home/daviwil/Projects/Code/sigil/sigil/packages/sigil-stdlib/src/sigil/exceptions.sgl",
+5
"description": "(sigil exceptions) - Exception Handling (DEPRECATED)\n\nThis module is deprecated. Use `(sigil error)` instead.\nThis module re-exports all symbols from `(sigil error)` for\nbackward compatibility.",
+6
"exports": [
+7
{
+8
"name": "make-exception",
+9
"kind": "procedure",
+10
"description": null,
+11
"source_module": "(sigil core)",
+12
"line": 0
+13
},
+14
{
+15
"name": "make-exception-with-trace",
+16
"kind": "procedure",
+17
"description": null,
+18
"source_module": "(sigil core)",
+19
"line": 0
+20
},
+21
{
+22
"name": "exception?",
+23
"kind": "procedure",
+24
"description": null,
+25
"source_module": "(sigil core)",
+26
"line": 0
+27
},
+28
{
+29
"name": "exception-kind",
+30
"kind": "procedure",
+31
"description": null,
+32
"source_module": "(sigil core)",
+33
"line": 0
+34
},
+35
{
+36
"name": "exception-message",
+37
"kind": "procedure",
+38
"description": null,
+39
"source_module": "(sigil core)",
+40
"line": 0
+41
},
+42
{
+43
"name": "exception-irritants",
+44
"kind": "procedure",
+45
"description": null,
+46
"source_module": "(sigil core)",
+47
"line": 0
+48
},
+49
{
+50
"name": "exception-stack-trace",
+51
"kind": "procedure",
+52
"description": null,
+53
"source_module": "(sigil core)",
+54
"line": 0
+55
},
+56
{
+57
"name": "raise",
+58
"kind": "procedure",
+59
"description": null,
+60
"source_module": "(sigil core)",
+61
"line": 0
+62
},
+63
{
+64
"name": "raise-continuable",
+65
"kind": "procedure",
+66
"description": null,
+67
"source_module": "(sigil core)",
+68
"line": 0
+69
},
+70
{
+71
"name": "error",
+72
"kind": "procedure",
+73
"description": null,
+74
"source_module": "(sigil core)",
+75
"line": 0
+76
},
+77
{
+78
"name": "with-exception-handler",
+79
"kind": "procedure",
+80
"description": null,
+81
"source_module": "(sigil core)",
+82
"line": 0
+83
},
+84
{
+85
"name": "current-exception-handler",
+86
"kind": "procedure",
+87
"description": null,
+88
"source_module": "(sigil core)",
+89
"line": 0
+90
},
+91
{
+92
"name": "make-error",
+93
"kind": "procedure",
+94
"description": null,
+95
"source_module": "(sigil error)",
+96
"line": 0
+97
},
+98
{
+99
"name": "error?",
+100
"kind": "procedure",
+101
"description": null,
+102
"source_module": "(sigil error)",
+103
"line": 0
+104
},
+105
{
+106
"name": "type-error?",
+107
"kind": "procedure",
+108
"description": null,
+109
"source_module": "(sigil error)",
+110
"line": 0
+111
},
+112
{
+113
"name": "range-error?",
+114
"kind": "procedure",
+115
"description": null,
+116
"source_module": "(sigil error)",
+117
"line": 0
+118
},
+119
{
+120
"name": "arity-error?",
+121
"kind": "procedure",
+122
"description": null,
+123
"source_module": "(sigil error)",
+124
"line": 0
+125
},
+126
{
+127
"name": "guard",
+128
"kind": "variable",
+129
"description": null,
+130
"source_module": "(sigil error)",
+131
"line": 0
+132
},
+133
{
+134
"name": "print-exception",
+135
"kind": "procedure",
+136
"description": null,
+137
"source_module": "(sigil error)",
+138
"line": 0
+139
},
+140
{
+141
"name": "format-exception",
+142
"kind": "procedure",
+143
"description": null,
+144
"source_module": "(sigil error)",
+145
"line": 0
+146
},
+147
{
+148
"name": "format-stack-trace",
+149
"kind": "procedure",
+150
"description": null,
+151
"source_module": "(sigil error)",
+152
"line": 0
+153
}
+154
]
+155
}
build/dev/lib/sigil/fs.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/gc.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/generators.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/git.jsonmodified
@@ -1,7 +1,7 @@
1
{
2
"module": "(sigil git)",
3
"package": "sigil-git",
4
"source": "/home/daviwil/Projects/Code/sigil/sigil/packages/sigil-git/src/sigil/git.sgl",
+4
"source": "/home/daviwil/.sigil/deps/codeberg-sigil-sigil-180f6cda9d7a32429da2663532249ff764b48599/packages/sigil-git/src/sigil/git.sgl",
5
"description": "(sigil git) - Git Operations Library\n\nProvides git operations for Sigil tools including URL parsing,\nbare repository management, and worktree operations.",
6
"exports": [
7
{
build/dev/lib/sigil/git.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/inspect.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/io.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/json.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/list.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/math.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/package.jsonmodified
@@ -1,7 +1,7 @@
1
{
2
"module": "(sigil package)",
3
"package": "sigil-build",
4
"source": "/home/daviwil/Projects/Code/sigil/sigil/packages/sigil-build/src/sigil/package.sgl",
+4
"source": "/home/daviwil/.sigil/deps/codeberg-sigil-sigil-180f6cda9d7a32429da2663532249ff764b48599/packages/sigil-build/src/sigil/package.sgl",
5
"description": "(sigil package) - Package Definition Library\n\nThis library provides struct types for defining Sigil packages.\nA package.sgl file uses these structs to declare package metadata,\nbuild configurations, tasks, and dependencies.\n\nExample package.sgl:\n\n (package\n name: \"my-app\"\n version: \"0.1.0\"\n entry: '((my-app main) main)\n configs: (list\n (config name: 'dev debug?: #t)\n (config name: 'release optimize: 2))\n dependencies: (list\n (from-git url: \"https://example.com/lib\" tag: \"v1.0\")))",
6
"exports": [
7
{
@@ -506,7 +506,7 @@
506
"name": "%from-git--type",
507
"kind": "variable",
508
"description": "Workspace-level tasks as `<task>` records.",
509
"line": 396
+509
"line": 404
510
},
511
{
512
"name": "from-git",
@@ -544,6 +544,12 @@
544
"description": "Package name to find in workspace (alternative to subpath).\nWhen set, the resolver clones the repo, reads its workspace definition,\nand locates the package by name. Mutually exclusive with subpath.",
545
"line": 380
546
},
+547
{
+548
"name": "from-git-version",
+549
"kind": "procedure",
+550
"description": "Semver version range constraint. When set, the resolver fetches\navailable tags from the remote and selects the highest matching version.\nSupports Cargo-style ranges:\n `\"^0.9.0\"` → `>=0.9.0, <0.10.0`\n `\"~0.9.0\"` → `>=0.9.0, <0.9.1`\n `\"*\"` → any version (latest tag)\nWhen `#f`, uses tag/branch/commit or HEAD.",
+551
"line": 380
+552
},
553
{
554
"name": "from-git-tag",
555
"kind": "procedure",
@@ -566,133 +572,133 @@
572
"name": "%from-path--type",
573
"kind": "variable",
574
"description": "Pin to an exact commit hash.",
569
"line": 414
+575
"line": 422
576
},
577
{
578
"name": "from-path",
579
"kind": "procedure",
580
"description": "A local path dependency for development or monorepo setups.\n\nIf `package` is specified, `dir` points to a workspace root and the\nnamed package is resolved within it. If omitted, `dir` is the package\ndirectory itself.\n\n```scheme\n(from-path dir: \"../my-local-lib\")\n(from-path dir: \"../workspace\" package: \"specific-pkg\")\n```",
575
"line": 408
+581
"line": 416
582
},
583
{
584
"name": "from-path?",
585
"kind": "procedure",
586
"description": "Test if a value is a `from-path` struct.",
581
"line": 408
+587
"line": 416
588
},
589
{
590
"name": "from-path-dir",
591
"kind": "procedure",
592
"description": "Filesystem path to the package directory or workspace root.",
587
"line": 408
+593
"line": 416
594
},
595
{
596
"name": "from-path-package",
597
"kind": "procedure",
598
"description": "Package name to find in workspace (if `dir` is a workspace).",
593
"line": 408
+599
"line": 416
600
},
601
{
602
"name": "from-path-name",
603
"kind": "procedure",
604
"description": "Override inferred package name. If `#f`, uses directory name.",
599
"line": 408
+605
"line": 416
606
},
607
{
608
"name": "%from-workspace--type",
609
"kind": "variable",
610
"description": "Override inferred package name. If `#f`, uses directory name.",
605
"line": 408
+611
"line": 416
612
},
613
{
614
"name": "from-workspace",
615
"kind": "procedure",
616
"description": "A workspace dependency referencing a sibling package.\nUsed by monorepo packages to declare dependencies on other packages\nin the same repository. When fetched externally, resolves to the\nsame worktree/ref as the parent package.\n\n```scheme\n(from-workspace name: \"sigil-stdlib\")\n```",
611
"line": 424
+617
"line": 432
618
},
619
{
620
"name": "from-workspace?",
621
"kind": "procedure",
622
"description": "Test if a value is a `from-workspace` struct.",
617
"line": 424
+623
"line": 432
624
},
625
{
626
"name": "from-workspace-name",
627
"kind": "procedure",
628
"description": "Package name within the workspace.",
623
"line": 424
+629
"line": 432
630
},
631
{
632
"name": "alist-get",
633
"kind": "procedure",
634
"description": "Helper to get value from alist",
629
"line": 429
+635
"line": 437
636
},
637
{
638
"name": "package-provides-ref",
639
"kind": "procedure",
640
"description": "Look up a value from a package's provides list by keyword.\n\nReturns the value following the keyword, or `#f` if not found.\n\n```scheme\n(package-provides-ref pkg mcp-tools:)\n;; => (sigil web mcp tools)\n```",
635
"line": 441
+641
"line": 449
642
},
643
{
644
"name": "find-package-file",
645
"kind": "procedure",
646
"description": "Find package.sgl in current directory or ancestors",
641
"line": 455
+647
"line": 463
648
},
649
{
650
"name": "load-package",
651
"kind": "procedure",
652
"description": "Load and evaluate a package.sgl file\nReturns the <package> record\n\nAutomatically imports (sigil package) and (sigil build) so that\npackage files don't need explicit import statements.\n\nNote: All expressions are wrapped in a single (begin ...) form and\nevaluated together.",
647
"line": 474
+653
"line": 482
654
},
655
{
656
"name": "load-package-or-workspace",
657
"kind": "procedure",
658
"description": "Load and evaluate a package.sgl file, returning either package or workspace\nReturns the <package> or <workspace> record",
653
"line": 493
+659
"line": 501
660
},
661
{
662
"name": "package->workspace",
663
"kind": "procedure",
664
"description": "Wrap a standalone package in a workspace\nThis normalizes the API so all code can work with workspaces",
659
"line": 515
+665
"line": 523
666
},
667
{
668
"name": "read-all-exprs",
669
"kind": "procedure",
670
"description": "Read all expressions from a port",
665
"line": 529
+671
"line": 537
672
},
673
{
674
"name": "package-output-dir",
675
"kind": "procedure",
676
"description": "Get output directory for a config",
671
"line": 537
+677
"line": 545
678
},
679
{
680
"name": "resolve-config",
681
"kind": "procedure",
682
"description": "Resolve a config by name from a package",
677
"line": 544
+683
"line": 552
684
},
685
{
686
"name": "workspace-resolve-config",
687
"kind": "procedure",
688
"description": "Resolve a config by name from a workspace",
683
"line": 552
+689
"line": 560
690
},
691
{
692
"name": "workspace-package-paths",
693
"kind": "procedure",
694
"description": "Get absolute paths to all packages in a workspace\nworkspace-dir: directory containing the workspace package.sgl",
689
"line": 561
+695
"line": 569
696
},
697
{
698
"name": "workspace-load-packages",
699
"kind": "procedure",
700
"description": "Load all packages from a workspace\nReturns alist of (package-name . package) pairs",
695
"line": 570
+701
"line": 578
702
}
703
]
704
}
build/dev/lib/sigil/package.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/path.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/process.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/profile.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/random.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/resources.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/spec.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/string.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/struct.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/syntax.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/test.jsonmodified
@@ -1,7 +1,7 @@
1
{
2
"module": "(sigil test)",
3
"package": "sigil-test",
4
"source": "/home/daviwil/Projects/Code/sigil/sigil/packages/sigil-test/src/sigil/test.sgl",
+4
"source": "/home/daviwil/Projects/Code/sigil/sigil-web-styles/.sigil/deps/sigil-test/src/sigil/test.sgl",
5
"description": "(sigil test) - Test Framework for Sigil\n\nProvides a simple but powerful test framework with support for\ntest groups, assertions, and structured results for CLI integration.\n\nUsage:\n (import (sigil test))\n\n (test-group \"Arithmetic\"\n (test \"addition\"\n (assert-equal 3 (+ 1 2)))\n (test \"multiplication\"\n (assert-equal 12 (* 3 4))))\n\n (run-tests)",
6
"exports": [
7
{
build/dev/lib/sigil/test.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/test/cli.jsonmodified
@@ -1,7 +1,7 @@
1
{
2
"module": "(sigil test cli)",
3
"package": "sigil-test",
4
"source": "/home/daviwil/Projects/Code/sigil/sigil/packages/sigil-test/src/sigil/test/cli.sgl",
+4
"source": "/home/daviwil/Projects/Code/sigil/sigil-web-styles/.sigil/deps/sigil-test/src/sigil/test/cli.sgl",
5
"description": "(sigil test cli) - Reusable Test CLI Logic\n\nProvides argument parsing and test execution for both the `sigil test`\ncommand and standalone test harnesses. This module allows test harnesses\nto share the exact same behavior as `sigil test`.",
6
"exports": [
7
{
build/dev/lib/sigil/test/cli.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/test/native.jsonmodified
@@ -1,7 +1,7 @@
1
{
2
"module": "(sigil test native)",
3
"package": "sigil-test",
4
"source": "/home/daviwil/Projects/Code/sigil/sigil/packages/sigil-test/src/sigil/test/native.sgl",
+4
"source": "/home/daviwil/Projects/Code/sigil/sigil-web-styles/.sigil/deps/sigil-test/src/sigil/test/native.sgl",
5
"description": "(sigil test native) - Native Test Runner\n\nRuns C test executables and parses their output in real-time.\nOutput format expected from C tests:\n PASS: test_name\n FAIL: test_name - message (file:line)\n SUMMARY: X passed, Y failed\n\nResults are printed with the same symbols as Sigil tests\nand returned as structured data for aggregation.",
6
"exports": [
7
{
build/dev/lib/sigil/test/native.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/test/runner.jsonmodified
@@ -1,7 +1,7 @@
1
{
2
"module": "(sigil test runner)",
3
"package": "sigil-test",
4
"source": "/home/daviwil/Projects/Code/sigil/sigil/packages/sigil-test/src/sigil/test/runner.sgl",
+4
"source": "/home/daviwil/Projects/Code/sigil/sigil-web-styles/.sigil/deps/sigil-test/src/sigil/test/runner.sgl",
5
"description": "(sigil test runner) - Beautiful Test Runner for CLI\n\nProvides test discovery, execution, and beautiful colored output\nfor the `sigil test` command.",
6
"exports": [
7
{
build/dev/lib/sigil/test/runner.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/threads.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/time.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/version.jsonmodified
@@ -1,7 +1,7 @@
1
{
2
"module": "(sigil version)",
3
"package": "sigil-version",
4
"source": "/home/daviwil/Projects/Code/sigil/sigil/packages/sigil-version/src/sigil/version.sgl",
+4
"source": "/home/daviwil/.sigil/deps/codeberg-sigil-sigil-180f6cda9d7a32429da2663532249ff764b48599/packages/sigil-version/src/sigil/version.sgl",
5
"description": "(sigil version) - Semantic Versioning\n\nParse, compare, and check version constraints using semantic versioning\n(semver 2.0.0). Useful for package management and compatibility checks.\n\n```scheme\n(import (sigil version))\n\n(define v (parse-version \"1.2.3-alpha.1\"))\n(version-major v) ; => 1\n(version<? v (parse-version \"1.2.4\")) ; => #t\n\n;; Check version constraints\n(version-satisfies? v \">= 1.0.0\") ; => #t\n(version-satisfies? v \"^1.2.0\") ; => #t (compatible)\n```\n\n## Version Format\n\nVersions follow the pattern: `MAJOR.MINOR.PATCH[-PRERELEASE][+BUILD]`\n\n- **MAJOR**: Incremented for breaking changes\n- **MINOR**: Incremented for new features (backwards compatible)\n- **PATCH**: Incremented for bug fixes\n- **PRERELEASE**: Optional pre-release identifier (e.g., `alpha.1`)\n- **BUILD**: Optional build metadata (ignored in comparisons)\n\n## Constraint Operators\n\n| Operator | Example | Meaning |\n|----------|---------|---------|\n| (none) | `1.2.3` | Exact version |\n| `=` | `= 1.2.3` | Exact version |\n| `>` | `> 1.2.3` | Greater than |\n| `>=` | `>= 1.2.3` | Greater than or equal |\n| `<` | `< 1.2.3` | Less than |\n| `<=` | `<= 1.2.3` | Less than or equal |\n| `^` | `^1.2.3` | Compatible (same major, >= given) |\n| `~` | `~1.2.3` | Approximately (same major.minor, >= given) |\n| `*` | `*` | Any version |",
6
"exports": [
7
{
build/dev/lib/sigil/version.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/watch.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/web/styles.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/web/styles/palette.sgbbinary

Binary. Not rendered here.

build/dev/lib/sigil/web/styles/typography.sgbbinary

Binary. Not rendered here.

package.sglmodified
@@ -3,9 +3,6 @@
3
;;; Provides palettes, typography, component styles, and layouts that give
4
;;; Sigil web apps a consistent look with customizable color themes.
5
6
(define sigil-repo "codeberg:sigil/sigil#v0.8.0")
7
(define sigil-css-repo "codeberg:sigil/sigil-css#v0.8.0")
8
6
(package
7
name: "sigil-web-styles"
8
version: "0.1.0"
@@ -15,11 +12,11 @@
12
authors: (list "David Wilson <[email protected]>")
13
14
dependencies: (list
18
(from-git url: sigil-repo package: "sigil-stdlib")
19
(from-git url: sigil-css-repo package: "sigil-css"))
+15
(from-git url: "codeberg:sigil/sigil" package: "sigil-stdlib" version: "^0.9.0")
+16
(from-git url: "codeberg:sigil/sigil-css" version: "^0.9.0"))
17
18
dev-dependencies: (list
22
(from-git url: sigil-repo package: "sigil-test"))
+19
(from-git url: "codeberg:sigil/sigil" package: "sigil-test" version: "^0.9.0"))
20
21
tasks: (list
22
(task
sigil.lockadded
@@ -0,0 +1,20 @@
+1
;; Auto-generated by sigil deps install. Do not edit.
+2
(lock
+3
(package name: "sigil-stdlib"
+4
url: "codeberg:sigil/sigil"
+5
ref: "^0.9.0"
+6
sha: "962b7e2788e982264792032d3ba31ed3c237334e"
+7
package-selector: "sigil-stdlib"
+8
version: "0.9.1")
+9
(package name: "sigil-css"
+10
url: "codeberg:sigil/sigil-css"
+11
ref: "^0.9.0"
+12
sha: "0d8253368180a3b9bc8c096de19176f1d830a5b1"
+13
version: "0.8.0")
+14
(package name: "sigil-test"
+15
url: "codeberg:sigil/sigil"
+16
ref: "^0.9.0"
+17
sha: "962b7e2788e982264792032d3ba31ed3c237334e"
+18
package-selector: "sigil-test"
+19
version: "0.9.1")
+20
)