buninu-linux 0.7.2 → 0.7.3

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.
@@ -93,6 +93,28 @@ describe("parser", () => {
93
93
  expect(parse("echo hi | tr a-z A-Z")[0].pipeline).toHaveLength(2);
94
94
  });
95
95
 
96
+ test("parses a trailing background operator", () => {
97
+ const [job] = parse("sleep 30 &");
98
+ expect(job.background).toBe(true);
99
+ expect(job.pipeline).toHaveLength(1);
100
+ const [foreground] = parse("echo before & after");
101
+ expect(foreground.background).toBe(false);
102
+ expect(foreground.pipeline[0].words[2].fragments[0].text).toBe("&");
103
+ expect(parse(`echo "&"`)[0].background).toBe(false);
104
+ expect(parse("echo \\&")[0].background).toBe(false);
105
+ });
106
+
107
+ test("recognizes a trailing & from tokens, independently of comments and redirect targets", () => {
108
+ for (const source of ["sleep 30 & # comment", "sleep 30 & # comment &", "sleep 30 &\r\n# comment\r\n"]) {
109
+ const [job] = parse(source);
110
+ expect(job.background).toBe(true);
111
+ expect(job.pipeline[0].words).toHaveLength(2);
112
+ }
113
+ for (const source of ["echo & > file&", "echo & <<< input&", "echo &; # comment &", "echo hi # &"]) {
114
+ expect(parse(source)[0].background).toBe(false);
115
+ }
116
+ });
117
+
96
118
  test("a bare trailing backslash asks for one more interactive line, then joins", () => {
97
119
  // This is what the interactive prompt loop's `pending` string looks like
98
120
  // the instant Enter is pressed after typing "echo hi \" -- the next
@@ -926,6 +948,75 @@ fi
926
948
  expect(output.status).toBe(0);
927
949
  });
928
950
 
951
+ test("returns immediately and exposes a background external process through Bun.sha.procs", async () => {
952
+ const previous = Bun.sha.procs;
953
+ Bun.sha.procs = [];
954
+ try {
955
+ const started = performance.now();
956
+ const output = await run(`${process.execPath} -e 'await Bun.sleep(30000)' &`);
957
+ const first = Bun.sha.procs.at(-1);
958
+ const secondOutput = await run(`${process.execPath} -e 'await Bun.sleep(30000)' &`);
959
+ const proc = Bun.sha.procs.at(-1);
960
+
961
+ expect(performance.now() - started).toBeLessThan(1000);
962
+ expect(output.status).toBe(0);
963
+ expect(output.stderr).toBe(`[1] ${first.pid} Bun.sha.procs[0]\n`);
964
+ expect(secondOutput.status).toBe(0);
965
+ expect(secondOutput.stderr).toBe(`[2] ${proc.pid} Bun.sha.procs[1]\n`);
966
+ expect(Bun.sha.procs).toHaveLength(2);
967
+ expect(proc).not.toBe(first);
968
+ expect(proc.pid).toBeGreaterThan(0);
969
+ expect(typeof proc.kill).toBe("function");
970
+ first.kill();
971
+ proc.kill();
972
+ await Promise.all([first.exited, proc.exited]);
973
+ } finally {
974
+ if (previous === undefined) delete Bun.sha.procs;
975
+ else Bun.sha.procs = previous;
976
+ }
977
+ });
978
+
979
+ test("keeps the minimal background form limited to one external command", async () => {
980
+ const builtin = await run("echo nope &");
981
+ const pipeline = await run("printf x | cat &");
982
+ expect(builtin.status).toBe(2);
983
+ expect(pipeline.status).toBe(2);
984
+ expect(builtin.stderr).toContain("only a single external command");
985
+ expect(pipeline.stderr).toContain("only a single external command");
986
+ });
987
+
988
+ test("rejects background redirects before expanding, opening files, or spawning", async () => {
989
+ const directory = mkdtempSync(join(tmpdir(), "bunmsh-background-redirect-"));
990
+ const previousProcs = Bun.sha.procs;
991
+ const previousCount = previousProcs?.length;
992
+ try {
993
+ await Bun.write(join(directory, "input"), "input content\n");
994
+ await Bun.write(join(directory, "output"), "keep this content\n");
995
+ const command = `'${process.execPath.replaceAll("'", "'\\''")}' -e 'await Bun.write("spawned", "ran")'`;
996
+ const sources = [
997
+ ...["> output", ">> output", "2> output", "2>> output", "> new-output", "< input", "< missing-input", "<<< payload", "1>&2", "2>&1"]
998
+ .map((redirect) => `${command} ${redirect} & # comment`),
999
+ `${command} <<EOF &\nbody\nEOF\n`,
1000
+ `${command} <<-EOF &\n\tbody\n\tEOF\n`,
1001
+ `${command} > $(echo expanded > expanded-marker; echo output) &`,
1002
+ ];
1003
+ for (const source of sources) {
1004
+ const output = await run(source, { cwd: directory });
1005
+ expect(output.status).toBe(2);
1006
+ expect(output.stdout).toBe("");
1007
+ expect(output.stderr).toContain("without redirections");
1008
+ }
1009
+ expect(await Bun.file(join(directory, "output")).text()).toBe("keep this content\n");
1010
+ expect(await Bun.file(join(directory, "input")).text()).toBe("input content\n");
1011
+ for (const name of ["spawned", "new-output", "expanded-marker"])
1012
+ expect(await Bun.file(join(directory, name)).exists()).toBe(false);
1013
+ expect(Bun.sha.procs).toBe(previousProcs);
1014
+ expect(Bun.sha.procs?.length).toBe(previousCount);
1015
+ } finally {
1016
+ rmSync(directory, { recursive: true, force: true });
1017
+ }
1018
+ });
1019
+
929
1020
  test("keeps builtin state outside pipelines", async () => {
930
1021
  const output = await run("export BUNMSH_TEST=value; print -r -- $BUNMSH_TEST");
931
1022
  expect(output.stdout).toBe("value\n");
@@ -0,0 +1,21 @@
1
+ Copyright (c) Microsoft Corporation. All rights reserved.
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2011 Einar Otto Stangvik <einaros@gmail.com>
2
+ Copyright (c) 2013 Arnout Kazemier and contributors
3
+ Copyright (c) 2016 Luigi Pinca and contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
6
+ this software and associated documentation files (the "Software"), to deal in
7
+ the Software without restriction, including without limitation the rights to
8
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
+ the Software, and to permit persons to whom the Software is furnished to do so,
10
+ subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,535 @@
1
+ # NOTICES AND INFORMATION
2
+ Do Not Translate or Localize
3
+
4
+ This software incorporates material from third parties. Microsoft makes certain
5
+ open source code available at [http://3rdpartysource.microsoft.com](http://3rdpartysource.microsoft.com), or you may
6
+ send a check or money order for US $5.00, including the product name, the open
7
+ source component name, and version number, to:
8
+
9
+ ```
10
+ Source Code Compliance Team
11
+ Microsoft Corporation
12
+ One Microsoft Way
13
+ Redmond, WA 98052
14
+ USA
15
+ ```
16
+
17
+ Notwithstanding any other terms, you may reverse engineer this software to the
18
+ extent required to debug changes to any libraries licensed under the GNU Lesser
19
+ General Public License.
20
+
21
+ ## jsoncpp
22
+
23
+ **Source**: [https://github.com/open-source-parsers/jsoncpp](https://github.com/open-source-parsers/jsoncpp)
24
+
25
+ ### License
26
+
27
+ ```
28
+ Copyright (c) 2007-2010 Baptiste Lepilleur and The JsonCpp Authors
29
+
30
+ Permission is hereby granted, free of charge, to any person
31
+ obtaining a copy of this software and associated documentation
32
+ files (the "Software"), to deal in the Software without
33
+ restriction, including without limitation the rights to use, copy,
34
+ modify, merge, publish, distribute, sublicense, and/or sell copies
35
+ of the Software, and to permit persons to whom the Software is
36
+ furnished to do so, subject to the following conditions:
37
+
38
+ The above copyright notice and this permission notice shall be
39
+ included in all copies or substantial portions of the Software.
40
+
41
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
42
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
43
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
44
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
45
+ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
46
+ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
47
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
48
+ SOFTWARE.
49
+ ```
50
+
51
+ ## chromium/base/numerics
52
+
53
+ **Source**: [https://github.com/chromium/chromium/tree/master/base/numerics](https://github.com/chromium/chromium/tree/master/base/numerics)
54
+
55
+ ### License
56
+
57
+ ```
58
+ Copyright 2015 The Chromium Authors. All rights reserved.
59
+
60
+ Redistribution and use in source and binary forms, with or without
61
+ modification, are permitted provided that the following conditions are
62
+ met:
63
+
64
+ * Redistributions of source code must retain the above copyright
65
+ notice, this list of conditions and the following disclaimer.
66
+ * Redistributions in binary form must reproduce the above
67
+ copyright notice, this list of conditions and the following disclaimer
68
+ in the documentation and/or other materials provided with the
69
+ distribution.
70
+ * Neither the name of Google Inc. nor the names of its
71
+ contributors may be used to endorse or promote products derived from
72
+ this software without specific prior written permission.
73
+
74
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
75
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
76
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
77
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
78
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
79
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
80
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
81
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
82
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
83
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
84
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
85
+ ```
86
+
87
+ ## \{fmt\}
88
+
89
+ **Source**: [https://github.com/fmtlib/fmt](https://github.com/fmtlib/fmt)
90
+
91
+ ### License
92
+
93
+ ```
94
+ MIT License
95
+
96
+ Copyright (c) 2012 - present, Victor Zverovich
97
+
98
+ Permission is hereby granted, free of charge, to any person obtaining
99
+ a copy of this software and associated documentation files (the
100
+ "Software"), to deal in the Software without restriction, including
101
+ without limitation the rights to use, copy, modify, merge, publish,
102
+ distribute, sublicense, and/or sell copies of the Software, and to
103
+ permit persons to whom the Software is furnished to do so, subject to
104
+ the following conditions:
105
+
106
+ The above copyright notice and this permission notice shall be
107
+ included in all copies or substantial portions of the Software.
108
+
109
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
110
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
111
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
112
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
113
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
114
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
115
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
116
+
117
+ --- Optional exception to the license ---
118
+
119
+ As an exception, if, as a result of your compiling your source code, portions
120
+ of this Software are embedded into a machine-executable object form of such
121
+ source code, you may redistribute such embedded portions in such object form
122
+ without including the above copyright and permission notices.
123
+ ```
124
+
125
+ ## interval_tree
126
+
127
+ **Source**: [https://github.com/ekg/IntervalTree](https://github.com/ekg/IntervalTree)
128
+
129
+ ### License
130
+
131
+ ```
132
+ Copyright (c) 2011 Erik Garrison
133
+
134
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
135
+ this software and associated documentation files (the "Software"), to deal in
136
+ the Software without restriction, including without limitation the rights to
137
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
138
+ of the Software, and to permit persons to whom the Software is furnished to do
139
+ so, subject to the following conditions:
140
+
141
+ The above copyright notice and this permission notice shall be included in all
142
+ copies or substantial portions of the Software.
143
+
144
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
145
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
146
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
147
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
148
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
149
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
150
+ SOFTWARE.
151
+ ```
152
+
153
+ ## PCG Random Number Generation
154
+
155
+ **Source**: [https://github.com/imneme/pcg-cpp](https://github.com/imneme/pcg-cpp)
156
+
157
+ ### License
158
+
159
+ ```
160
+ Copyright (c) 2014-2017 Melissa O'Neill and PCG Project contributors
161
+
162
+ Permission is hereby granted, free of charge, to any person obtaining a copy
163
+ of this software and associated documentation files (the "Software"), to deal
164
+ in the Software without restriction, including without limitation the rights
165
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
166
+ copies of the Software, and to permit persons to whom the Software is
167
+ furnished to do so, subject to the following conditions:
168
+
169
+ The above copyright notice and this permission notice shall be included in all
170
+ copies or substantial portions of the Software.
171
+
172
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
173
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
174
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
175
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
176
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
177
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
178
+ SOFTWARE.
179
+ ```
180
+
181
+ ## wyhash
182
+
183
+ **Source**: [https://github.com/wangyi-fudan/wyhash](https://github.com/wangyi-fudan/wyhash)
184
+
185
+ ### License
186
+
187
+ ```
188
+ This is free and unencumbered software released into the public domain.
189
+
190
+ Anyone is free to copy, modify, publish, use, compile, sell, or
191
+ distribute this software, either in source code form or as a compiled
192
+ binary, for any purpose, commercial or non-commercial, and by any
193
+ means.
194
+
195
+ In jurisdictions that recognize copyright laws, the author or authors
196
+ of this software dedicate any and all copyright interest in the
197
+ software to the public domain. We make this dedication for the benefit
198
+ of the public at large and to the detriment of our heirs and
199
+ successors. We intend this dedication to be an overt act of
200
+ relinquishment in perpetuity of all present and future rights to this
201
+ software under copyright law.
202
+
203
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
204
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
205
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
206
+ IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
207
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
208
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
209
+ OTHER DEALINGS IN THE SOFTWARE.
210
+
211
+ For more information, please refer to <http://unlicense.org/>
212
+ ```
213
+
214
+ ## stb
215
+
216
+ **Source**: [https://github.com/nothings/stb](https://github.com/nothings/stb)
217
+
218
+ ### License
219
+
220
+ ```
221
+ This is free and unencumbered software released into the public domain.
222
+ Anyone is free to copy, modify, publish, use, compile, sell, or distribute this
223
+ software, either in source code form or as a compiled binary, for any purpose,
224
+ commercial or non-commercial, and by any means.
225
+ In jurisdictions that recognize copyright laws, the author or authors of this
226
+ software dedicate any and all copyright interest in the software to the public
227
+ domain. We make this dedication for the benefit of the public at large and to
228
+ the detriment of our heirs and successors. We intend this dedication to be an
229
+ overt act of relinquishment in perpetuity of all present and future rights to
230
+ this software under copyright law.
231
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
232
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
233
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
234
+ AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
235
+ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
236
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
237
+ ```
238
+
239
+ ## Oklab
240
+ **Source**: [https://bottosson.github.io/posts/oklab/](https://bottosson.github.io/posts/oklab/)
241
+
242
+ ### License
243
+
244
+ ```
245
+ Copyright (c) 2020 Björn Ottosson
246
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
247
+ this software and associated documentation files (the "Software"), to deal in
248
+ the Software without restriction, including without limitation the rights to
249
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
250
+ of the Software, and to permit persons to whom the Software is furnished to do
251
+ so, subject to the following conditions:
252
+ The above copyright notice and this permission notice shall be included in all
253
+ copies or substantial portions of the Software.
254
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
255
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
256
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
257
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
258
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
259
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
260
+ SOFTWARE.
261
+ ```
262
+
263
+ ## ColorBrewer
264
+ **Source**: [https://colorbrewer2.org/](https://colorbrewer2.org/)
265
+
266
+ ### License
267
+
268
+ ```
269
+ Apache-Style Software License for ColorBrewer software and ColorBrewer Color Schemes
270
+
271
+ Copyright (c) 2002 Cynthia Brewer, Mark Harrower, and The Pennsylvania State University.
272
+
273
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
274
+ You may obtain a copy of the License at
275
+
276
+ http://www.apache.org/licenses/LICENSE-2.0
277
+
278
+ Unless required by applicable law or agreed to in writing, software distributed
279
+ under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
280
+ CONDITIONS OF ANY KIND, either express or implied. See the License for the
281
+ specific language governing permissions and limitations under the License.
282
+ ```
283
+
284
+ ## cmark
285
+ **Source**: [https://github.com/commonmark/cmark](https://github.com/commonmark/cmark)
286
+
287
+ ### License
288
+
289
+ ```
290
+ Copyright (c) 2014, John MacFarlane
291
+
292
+ All rights reserved.
293
+
294
+ Redistribution and use in source and binary forms, with or without
295
+ modification, are permitted provided that the following conditions are met:
296
+
297
+ * Redistributions of source code must retain the above copyright
298
+ notice, this list of conditions and the following disclaimer.
299
+
300
+ * Redistributions in binary form must reproduce the above
301
+ copyright notice, this list of conditions and the following
302
+ disclaimer in the documentation and/or other materials provided
303
+ with the distribution.
304
+
305
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
306
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
307
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
308
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
309
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
310
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
311
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
312
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
313
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
314
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
315
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
316
+
317
+ -----
318
+
319
+ houdini.h, houdini_href_e.c, houdini_html_e.c, houdini_html_u.c
320
+
321
+ derive from https://github.com/vmg/houdini (with some modifications)
322
+
323
+ Copyright (C) 2012 Vicent Martí
324
+
325
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
326
+ this software and associated documentation files (the "Software"), to deal in
327
+ the Software without restriction, including without limitation the rights to
328
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
329
+ of the Software, and to permit persons to whom the Software is furnished to do
330
+ so, subject to the following conditions:
331
+
332
+ The above copyright notice and this permission notice shall be included in all
333
+ copies or substantial portions of the Software.
334
+
335
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
336
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
337
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
338
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
339
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
340
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
341
+ SOFTWARE.
342
+
343
+ -----
344
+
345
+ buffer.h, buffer.c, chunk.h
346
+
347
+ are derived from code (C) 2012 Github, Inc.
348
+
349
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
350
+ this software and associated documentation files (the "Software"), to deal in
351
+ the Software without restriction, including without limitation the rights to
352
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
353
+ of the Software, and to permit persons to whom the Software is furnished to do
354
+ so, subject to the following conditions:
355
+
356
+ The above copyright notice and this permission notice shall be included in all
357
+ copies or substantial portions of the Software.
358
+
359
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
360
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
361
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
362
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
363
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
364
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
365
+ SOFTWARE.
366
+
367
+ -----
368
+
369
+ utf8.c and utf8.c
370
+
371
+ are derived from utf8proc
372
+ (<http://www.public-software-group.org/utf8proc>),
373
+ (C) 2009 Public Software Group e. V., Berlin, Germany.
374
+
375
+ Permission is hereby granted, free of charge, to any person obtaining a
376
+ copy of this software and associated documentation files (the "Software"),
377
+ to deal in the Software without restriction, including without limitation
378
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
379
+ and/or sell copies of the Software, and to permit persons to whom the
380
+ Software is furnished to do so, subject to the following conditions:
381
+
382
+ The above copyright notice and this permission notice shall be included in
383
+ all copies or substantial portions of the Software.
384
+
385
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
386
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
387
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
388
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
389
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
390
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
391
+ DEALINGS IN THE SOFTWARE.
392
+
393
+ -----
394
+
395
+ The normalization code in normalize.py was derived from the
396
+ markdowntest project, Copyright 2013 Karl Dubost:
397
+
398
+ The MIT License (MIT)
399
+
400
+ Copyright (c) 2013 Karl Dubost
401
+
402
+ Permission is hereby granted, free of charge, to any person obtaining
403
+ a copy of this software and associated documentation files (the
404
+ "Software"), to deal in the Software without restriction, including
405
+ without limitation the rights to use, copy, modify, merge, publish,
406
+ distribute, sublicense, and/or sell copies of the Software, and to
407
+ permit persons to whom the Software is furnished to do so, subject to
408
+ the following conditions:
409
+
410
+ The above copyright notice and this permission notice shall be
411
+ included in all copies or substantial portions of the Software.
412
+
413
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
414
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
415
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
416
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
417
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
418
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
419
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
420
+
421
+ -----
422
+
423
+ The CommonMark spec (test/spec.txt) is
424
+
425
+ Copyright (C) 2014-15 John MacFarlane
426
+
427
+ Released under the Creative Commons CC-BY-SA 4.0 license:
428
+ <http://creativecommons.org/licenses/by-sa/4.0/>.
429
+
430
+ -----
431
+
432
+ The test software in test/ is
433
+
434
+ Copyright (c) 2014, John MacFarlane
435
+
436
+ All rights reserved.
437
+
438
+ Redistribution and use in source and binary forms, with or without
439
+ modification, are permitted provided that the following conditions are met:
440
+
441
+ * Redistributions of source code must retain the above copyright
442
+ notice, this list of conditions and the following disclaimer.
443
+
444
+ * Redistributions in binary form must reproduce the above
445
+ copyright notice, this list of conditions and the following
446
+ disclaimer in the documentation and/or other materials provided
447
+ with the distribution.
448
+
449
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
450
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
451
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
452
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
453
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
454
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
455
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
456
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
457
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
458
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
459
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
460
+ ```
461
+
462
+ ## fzf
463
+
464
+ ### License
465
+
466
+ ```
467
+ The MIT License (MIT)
468
+
469
+ Copyright (c) 2013-2024 Junegunn Choi
470
+ Copyright (c) 2021-2025 Simon Hauser
471
+
472
+ Permission is hereby granted, free of charge, to any person obtaining a copy
473
+ of this software and associated documentation files (the "Software"), to deal
474
+ in the Software without restriction, including without limitation the rights
475
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
476
+ copies of the Software, and to permit persons to whom the Software is
477
+ furnished to do so, subject to the following conditions:
478
+
479
+ The above copyright notice and this permission notice shall be included in
480
+ all copies or substantial portions of the Software.
481
+
482
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
483
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
484
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
485
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
486
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
487
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
488
+ THE SOFTWARE.
489
+ ```
490
+
491
+ # Microsoft Open Source
492
+
493
+ This product also incorporates source code from other Microsoft open source projects, all licensed under the MIT license.
494
+
495
+ ## `GSL`
496
+
497
+ **Source**: [https://github.com/microsoft/GSL](https://github.com/microsoft/GSL)
498
+
499
+ ## `Microsoft-UI-XAML`
500
+
501
+ **Source**: [https://github.com/microsoft/Microsoft-UI-XAML](https://github.com/microsoft/Microsoft-UI-XAML)
502
+
503
+ ## `VirtualDesktopUtils`
504
+
505
+ **Source**: [https://github.com/microsoft/PowerToys](https://github.com/microsoft/PowerToys)
506
+
507
+ ## `wil`
508
+
509
+ **Source**: [https://github.com/microsoft/wil](https://github.com/microsoft/wil)
510
+
511
+ ### License
512
+
513
+ ```
514
+ The MIT License
515
+
516
+ Copyright (c) Microsoft Corporation. All rights reserved.
517
+
518
+ Permission is hereby granted, free of charge, to any person obtaining a copy
519
+ of this software and associated documentation files (the "Software"), to deal
520
+ in the Software without restriction, including without limitation the rights
521
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
522
+ copies of the Software, and to permit persons to whom the Software is
523
+ furnished to do so, subject to the following conditions:
524
+
525
+ The above copyright notice and this permission notice shall be included in
526
+ all copies or substantial portions of the Software.
527
+
528
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
529
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
530
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
531
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
532
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
533
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
534
+ THE SOFTWARE.
535
+ ```