buninu-linux 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (621) hide show
  1. package/LICENSE +21 -0
  2. package/LICENSES/Bun-LICENSE.md +84 -0
  3. package/LICENSES/GCC-Runtime-Library-Exception-3.1.txt +73 -0
  4. package/LICENSES/GPL-2.0.txt +338 -0
  5. package/LICENSES/GPL-3.0.txt +674 -0
  6. package/LICENSES/LGPL-2.1.txt +501 -0
  7. package/LICENSES/Linux-syscall-note.txt +25 -0
  8. package/LICENSES/musl-COPYRIGHT.txt +193 -0
  9. package/NOTICE.md +184 -0
  10. package/README.md +537 -0
  11. package/build-image.sh +44 -0
  12. package/build-uki.sh +75 -0
  13. package/fetch-alpine.sh +80 -0
  14. package/fetch-bun.sh +41 -0
  15. package/fetch-plus-build.sh +11 -0
  16. package/hello/build-hello.sh +14 -0
  17. package/hello/hello.c +50 -0
  18. package/index.js +235 -0
  19. package/initramfs/bin/sh +3 -0
  20. package/initramfs/buninu/.bashrc +11 -0
  21. package/initramfs/buninu/ARCHITECTURE.md +452 -0
  22. package/initramfs/buninu/CHANGELOG.md +580 -0
  23. package/initramfs/buninu/LICENSE +21 -0
  24. package/initramfs/buninu/README.md +1161 -0
  25. package/initramfs/buninu/apps/bun/make-bunBin.sh +99 -0
  26. package/initramfs/buninu/apps/bunmsh/CHANGELOG.md +493 -0
  27. package/initramfs/buninu/apps/bunmsh/LICENSE +21 -0
  28. package/initramfs/buninu/apps/bunmsh/LICENSE-MICRO +58 -0
  29. package/initramfs/buninu/apps/bunmsh/LICENSE-MKSH +295 -0
  30. package/initramfs/buninu/apps/bunmsh/PORTING.md +192 -0
  31. package/initramfs/buninu/apps/bunmsh/README.md +1042 -0
  32. package/initramfs/buninu/apps/bunmsh/bunmsh +7 -0
  33. package/initramfs/buninu/apps/bunmsh/bunshell.md +61 -0
  34. package/initramfs/buninu/apps/bunmsh/help/README.md +2237 -0
  35. package/initramfs/buninu/apps/bunmsh/help/alias.md +22 -0
  36. package/initramfs/buninu/apps/bunmsh/help/basename.md +38 -0
  37. package/initramfs/buninu/apps/bunmsh/help/builtin.md +25 -0
  38. package/initramfs/buninu/apps/bunmsh/help/bun.md +27 -0
  39. package/initramfs/buninu/apps/bunmsh/help/bunmsh.md +47 -0
  40. package/initramfs/buninu/apps/bunmsh/help/cat.md +31 -0
  41. package/initramfs/buninu/apps/bunmsh/help/catfancy.md +35 -0
  42. package/initramfs/buninu/apps/bunmsh/help/cd.md +22 -0
  43. package/initramfs/buninu/apps/bunmsh/help/chmod.md +27 -0
  44. package/initramfs/buninu/apps/bunmsh/help/clear.md +21 -0
  45. package/initramfs/buninu/apps/bunmsh/help/colon.md +22 -0
  46. package/initramfs/buninu/apps/bunmsh/help/command.md +27 -0
  47. package/initramfs/buninu/apps/bunmsh/help/cp.md +28 -0
  48. package/initramfs/buninu/apps/bunmsh/help/curl.md +181 -0
  49. package/initramfs/buninu/apps/bunmsh/help/cut.md +25 -0
  50. package/initramfs/buninu/apps/bunmsh/help/date.md +25 -0
  51. package/initramfs/buninu/apps/bunmsh/help/dirname.md +25 -0
  52. package/initramfs/buninu/apps/bunmsh/help/echo.md +25 -0
  53. package/initramfs/buninu/apps/bunmsh/help/env.md +27 -0
  54. package/initramfs/buninu/apps/bunmsh/help/eval.md +22 -0
  55. package/initramfs/buninu/apps/bunmsh/help/exec.md +22 -0
  56. package/initramfs/buninu/apps/bunmsh/help/exit.md +21 -0
  57. package/initramfs/buninu/apps/bunmsh/help/export.md +22 -0
  58. package/initramfs/buninu/apps/bunmsh/help/false.md +22 -0
  59. package/initramfs/buninu/apps/bunmsh/help/find.md +33 -0
  60. package/initramfs/buninu/apps/bunmsh/help/getopts.md +28 -0
  61. package/initramfs/buninu/apps/bunmsh/help/grep.md +34 -0
  62. package/initramfs/buninu/apps/bunmsh/help/head.md +27 -0
  63. package/initramfs/buninu/apps/bunmsh/help/kill.md +43 -0
  64. package/initramfs/buninu/apps/bunmsh/help/ln.md +28 -0
  65. package/initramfs/buninu/apps/bunmsh/help/ls.md +37 -0
  66. package/initramfs/buninu/apps/bunmsh/help/lsbun.md +29 -0
  67. package/initramfs/buninu/apps/bunmsh/help/lsfancy.md +37 -0
  68. package/initramfs/buninu/apps/bunmsh/help/md5sum.md +21 -0
  69. package/initramfs/buninu/apps/bunmsh/help/mkdir.md +27 -0
  70. package/initramfs/buninu/apps/bunmsh/help/mktemp.md +26 -0
  71. package/initramfs/buninu/apps/bunmsh/help/mv.md +26 -0
  72. package/initramfs/buninu/apps/bunmsh/help/print.md +30 -0
  73. package/initramfs/buninu/apps/bunmsh/help/printf.md +25 -0
  74. package/initramfs/buninu/apps/bunmsh/help/pspa.md +38 -0
  75. package/initramfs/buninu/apps/bunmsh/help/pspac.md +57 -0
  76. package/initramfs/buninu/apps/bunmsh/help/pwd.md +21 -0
  77. package/initramfs/buninu/apps/bunmsh/help/read.md +27 -0
  78. package/initramfs/buninu/apps/bunmsh/help/readonly.md +27 -0
  79. package/initramfs/buninu/apps/bunmsh/help/realpath.md +21 -0
  80. package/initramfs/buninu/apps/bunmsh/help/rm.md +33 -0
  81. package/initramfs/buninu/apps/bunmsh/help/rmdir.md +27 -0
  82. package/initramfs/buninu/apps/bunmsh/help/sed.md +29 -0
  83. package/initramfs/buninu/apps/bunmsh/help/seq.md +29 -0
  84. package/initramfs/buninu/apps/bunmsh/help/serve.md +50 -0
  85. package/initramfs/buninu/apps/bunmsh/help/set.md +26 -0
  86. package/initramfs/buninu/apps/bunmsh/help/sha256sum.md +21 -0
  87. package/initramfs/buninu/apps/bunmsh/help/shift.md +23 -0
  88. package/initramfs/buninu/apps/bunmsh/help/sleep.md +25 -0
  89. package/initramfs/buninu/apps/bunmsh/help/sort.md +29 -0
  90. package/initramfs/buninu/apps/bunmsh/help/source.md +23 -0
  91. package/initramfs/buninu/apps/bunmsh/help/tab.md +30 -0
  92. package/initramfs/buninu/apps/bunmsh/help/tac.md +29 -0
  93. package/initramfs/buninu/apps/bunmsh/help/tail.md +27 -0
  94. package/initramfs/buninu/apps/bunmsh/help/tee.md +25 -0
  95. package/initramfs/buninu/apps/bunmsh/help/test.md +30 -0
  96. package/initramfs/buninu/apps/bunmsh/help/time.md +29 -0
  97. package/initramfs/buninu/apps/bunmsh/help/touch.md +26 -0
  98. package/initramfs/buninu/apps/bunmsh/help/tr.md +26 -0
  99. package/initramfs/buninu/apps/bunmsh/help/true.md +22 -0
  100. package/initramfs/buninu/apps/bunmsh/help/type.md +21 -0
  101. package/initramfs/buninu/apps/bunmsh/help/umask.md +22 -0
  102. package/initramfs/buninu/apps/bunmsh/help/unalias.md +28 -0
  103. package/initramfs/buninu/apps/bunmsh/help/uname.md +31 -0
  104. package/initramfs/buninu/apps/bunmsh/help/unset.md +28 -0
  105. package/initramfs/buninu/apps/bunmsh/help/wc.md +27 -0
  106. package/initramfs/buninu/apps/bunmsh/help/whence.md +26 -0
  107. package/initramfs/buninu/apps/bunmsh/help/which.md +41 -0
  108. package/initramfs/buninu/apps/bunmsh/help/yes.md +23 -0
  109. package/initramfs/buninu/apps/bunmsh/index.js +7 -0
  110. package/initramfs/buninu/apps/bunmsh/package.json +30 -0
  111. package/initramfs/buninu/apps/bunmsh/serve.js +468 -0
  112. package/initramfs/buninu/apps/bunmsh/single-exe/README.md +402 -0
  113. package/initramfs/buninu/apps/bunmsh/single-exe/assetsHelper.js +371 -0
  114. package/initramfs/buninu/apps/bunmsh/single-exe/assetsLoader.mjs +85 -0
  115. package/initramfs/buninu/apps/bunmsh/single-exe/assetsPacker.js +218 -0
  116. package/initramfs/buninu/apps/bunmsh/single-exe/compiled.js +527 -0
  117. package/initramfs/buninu/apps/bunmsh/single-exe/entry.mjs +17 -0
  118. package/initramfs/buninu/apps/bunmsh/src/cat-fancy.js +117 -0
  119. package/initramfs/buninu/apps/bunmsh/src/cat-operands.js +31 -0
  120. package/initramfs/buninu/apps/bunmsh/src/completion.js +363 -0
  121. package/initramfs/buninu/apps/bunmsh/src/curl.js +1191 -0
  122. package/initramfs/buninu/apps/bunmsh/src/environment.js +61 -0
  123. package/initramfs/buninu/apps/bunmsh/src/fancy-ls.js +186 -0
  124. package/initramfs/buninu/apps/bunmsh/src/find.js +119 -0
  125. package/initramfs/buninu/apps/bunmsh/src/history.js +198 -0
  126. package/initramfs/buninu/apps/bunmsh/src/main.js +850 -0
  127. package/initramfs/buninu/apps/bunmsh/src/mouse.js +103 -0
  128. package/initramfs/buninu/apps/bunmsh/src/shell.js +3932 -0
  129. package/initramfs/buninu/apps/bunmsh/test/catfancy.test.js +102 -0
  130. package/initramfs/buninu/apps/bunmsh/test/curl.test.js +335 -0
  131. package/initramfs/buninu/apps/bunmsh/test/reference-source.sh +1 -0
  132. package/initramfs/buninu/apps/bunmsh/test/reference.test.js +817 -0
  133. package/initramfs/buninu/apps/bunmsh/test/serve/README.md +3 -0
  134. package/initramfs/buninu/apps/bunmsh/test/serve/bad.json +1 -0
  135. package/initramfs/buninu/apps/bunmsh/test/serve/data.json +1 -0
  136. package/initramfs/buninu/apps/bunmsh/test/serve/data.json5 +1 -0
  137. package/initramfs/buninu/apps/bunmsh/test/serve/data.jsonc +2 -0
  138. package/initramfs/buninu/apps/bunmsh/test/serve/data.jsonl +2 -0
  139. package/initramfs/buninu/apps/bunmsh/test/serve/data.ndjson +1 -0
  140. package/initramfs/buninu/apps/bunmsh/test/serve/data.toml +3 -0
  141. package/initramfs/buninu/apps/bunmsh/test/serve/data.ts +15 -0
  142. package/initramfs/buninu/apps/bunmsh/test/serve/data.xml +1 -0
  143. package/initramfs/buninu/apps/bunmsh/test/serve/data.yaml +3 -0
  144. package/initramfs/buninu/apps/bunmsh/test/serve/data.yml +1 -0
  145. package/initramfs/buninu/apps/bunmsh/test/serve.test.js +241 -0
  146. package/initramfs/buninu/apps/bunmsh/test/shell.test.js +2092 -0
  147. package/initramfs/buninu/apps/bunmsh/test/shell1.test.js +1087 -0
  148. package/initramfs/buninu/apps/bunmsh/test/shell2.test.js +457 -0
  149. package/initramfs/buninu/apps/bunmsh/test/shell3.test.js +741 -0
  150. package/initramfs/buninu/apps/bunmsh/test/t.sh +12 -0
  151. package/initramfs/buninu/apps/bunx/bunx.js +172 -0
  152. package/initramfs/buninu/apps/cmdlist +48 -0
  153. package/initramfs/buninu/apps/jsgotty/LICENSE +23 -0
  154. package/initramfs/buninu/apps/jsgotty/LICENSES/Apache-2.0-zmodem.js.txt +201 -0
  155. package/initramfs/buninu/apps/jsgotty/NOTICE +21 -0
  156. package/initramfs/buninu/apps/jsgotty/README.en.md +294 -0
  157. package/initramfs/buninu/apps/jsgotty/README.md +296 -0
  158. package/initramfs/buninu/apps/jsgotty/client.mjs +700 -0
  159. package/initramfs/buninu/apps/jsgotty/env.sh +2 -0
  160. package/initramfs/buninu/apps/jsgotty/gotty.js +3334 -0
  161. package/initramfs/buninu/apps/jsgotty/node_modules/.package-lock.json +35 -0
  162. package/initramfs/buninu/apps/jsgotty/node_modules/node-addon-api/LICENSE.md +9 -0
  163. package/initramfs/buninu/apps/jsgotty/node_modules/node-addon-api/README.md +319 -0
  164. package/initramfs/buninu/apps/jsgotty/node_modules/node-addon-api/common.gypi +20 -0
  165. package/initramfs/buninu/apps/jsgotty/node_modules/node-addon-api/except.gypi +25 -0
  166. package/initramfs/buninu/apps/jsgotty/node_modules/node-addon-api/index.js +12 -0
  167. package/initramfs/buninu/apps/jsgotty/node_modules/node-addon-api/napi-inl.deprecated.h +186 -0
  168. package/initramfs/buninu/apps/jsgotty/node_modules/node-addon-api/napi-inl.h +6607 -0
  169. package/initramfs/buninu/apps/jsgotty/node_modules/node-addon-api/napi.h +3201 -0
  170. package/initramfs/buninu/apps/jsgotty/node_modules/node-addon-api/node_addon_api.gyp +32 -0
  171. package/initramfs/buninu/apps/jsgotty/node_modules/node-addon-api/node_api.gyp +9 -0
  172. package/initramfs/buninu/apps/jsgotty/node_modules/node-addon-api/noexcept.gypi +26 -0
  173. package/initramfs/buninu/apps/jsgotty/node_modules/node-addon-api/nothing.c +0 -0
  174. package/initramfs/buninu/apps/jsgotty/node_modules/node-addon-api/package-support.json +21 -0
  175. package/initramfs/buninu/apps/jsgotty/node_modules/node-addon-api/package.json +480 -0
  176. package/initramfs/buninu/apps/jsgotty/node_modules/node-addon-api/tools/README.md +73 -0
  177. package/initramfs/buninu/apps/jsgotty/node_modules/node-addon-api/tools/check-napi.js +99 -0
  178. package/initramfs/buninu/apps/jsgotty/node_modules/node-addon-api/tools/clang-format.js +71 -0
  179. package/initramfs/buninu/apps/jsgotty/node_modules/node-addon-api/tools/conversion.js +301 -0
  180. package/initramfs/buninu/apps/jsgotty/node_modules/node-addon-api/tools/eslint-format.js +79 -0
  181. package/initramfs/buninu/apps/jsgotty/node_modules/ws/LICENSE +20 -0
  182. package/initramfs/buninu/apps/jsgotty/node_modules/ws/README.md +548 -0
  183. package/initramfs/buninu/apps/jsgotty/node_modules/ws/browser.js +8 -0
  184. package/initramfs/buninu/apps/jsgotty/node_modules/ws/index.js +22 -0
  185. package/initramfs/buninu/apps/jsgotty/node_modules/ws/lib/buffer-util.js +131 -0
  186. package/initramfs/buninu/apps/jsgotty/node_modules/ws/lib/constants.js +19 -0
  187. package/initramfs/buninu/apps/jsgotty/node_modules/ws/lib/event-target.js +292 -0
  188. package/initramfs/buninu/apps/jsgotty/node_modules/ws/lib/extension.js +203 -0
  189. package/initramfs/buninu/apps/jsgotty/node_modules/ws/lib/limiter.js +55 -0
  190. package/initramfs/buninu/apps/jsgotty/node_modules/ws/lib/permessage-deflate.js +528 -0
  191. package/initramfs/buninu/apps/jsgotty/node_modules/ws/lib/receiver.js +760 -0
  192. package/initramfs/buninu/apps/jsgotty/node_modules/ws/lib/sender.js +607 -0
  193. package/initramfs/buninu/apps/jsgotty/node_modules/ws/lib/stream.js +161 -0
  194. package/initramfs/buninu/apps/jsgotty/node_modules/ws/lib/subprotocol.js +62 -0
  195. package/initramfs/buninu/apps/jsgotty/node_modules/ws/lib/validation.js +152 -0
  196. package/initramfs/buninu/apps/jsgotty/node_modules/ws/lib/websocket-server.js +562 -0
  197. package/initramfs/buninu/apps/jsgotty/node_modules/ws/lib/websocket.js +1407 -0
  198. package/initramfs/buninu/apps/jsgotty/node_modules/ws/package.json +70 -0
  199. package/initramfs/buninu/apps/jsgotty/node_modules/ws/wrapper.mjs +21 -0
  200. package/initramfs/buninu/apps/jsgotty/package-lock.json +46 -0
  201. package/initramfs/buninu/apps/jsgotty/package.json +19 -0
  202. package/initramfs/buninu/apps/jsgotty/patches/windowsPtyAgent.js +326 -0
  203. package/initramfs/buninu/apps/jsgotty/patches/windowsTerminal.js +204 -0
  204. package/initramfs/buninu/apps/jsgotty/rz.js +199 -0
  205. package/initramfs/buninu/apps/jsgotty/single-exe/README.md +384 -0
  206. package/initramfs/buninu/apps/jsgotty/single-exe/assetsHelper.js +371 -0
  207. package/initramfs/buninu/apps/jsgotty/single-exe/assetsLoader.mjs +85 -0
  208. package/initramfs/buninu/apps/jsgotty/single-exe/assetsPacker.js +218 -0
  209. package/initramfs/buninu/apps/jsgotty/single-exe/compiled.js +498 -0
  210. package/initramfs/buninu/apps/jsgotty/single-exe/entry.mjs +23 -0
  211. package/initramfs/buninu/apps/jsgotty/single-exe/packAssets.sh +7 -0
  212. package/initramfs/buninu/apps/jsgotty/static/css/index.css +13 -0
  213. package/initramfs/buninu/apps/jsgotty/static/css/kitty.css +61 -0
  214. package/initramfs/buninu/apps/jsgotty/static/css/xterm.css +218 -0
  215. package/initramfs/buninu/apps/jsgotty/static/css/xterm_customize.css +35 -0
  216. package/initramfs/buninu/apps/jsgotty/static/favicon.ico +0 -0
  217. package/initramfs/buninu/apps/jsgotty/static/help.md +125 -0
  218. package/initramfs/buninu/apps/jsgotty/static/icon.svg +66 -0
  219. package/initramfs/buninu/apps/jsgotty/static/icon_192.png +0 -0
  220. package/initramfs/buninu/apps/jsgotty/static/index.html +164 -0
  221. package/initramfs/buninu/apps/jsgotty/static/js/gotty.js +31537 -0
  222. package/initramfs/buninu/apps/jsgotty/static/js/gotty.js.LICENSE.txt +7 -0
  223. package/initramfs/buninu/apps/jsgotty/static/js/gotty.js.map +1 -0
  224. package/initramfs/buninu/apps/jsgotty/static/js/gotty.licenses.txt +650 -0
  225. package/initramfs/buninu/apps/jsgotty/static/js/kitty.js +1101 -0
  226. package/initramfs/buninu/apps/jsgotty/static/js/windows_bridge.js +194 -0
  227. package/initramfs/buninu/apps/jsgotty/static/js/xterm-addon-unicode11.js +2 -0
  228. package/initramfs/buninu/apps/jsgotty/static/js/zmodem.js +1 -0
  229. package/initramfs/buninu/apps/jsgotty/static/manifest.json +15 -0
  230. package/initramfs/buninu/apps/jsgotty/sz.js +273 -0
  231. package/initramfs/buninu/apps/jsgotty/tests/kitty-order.test.js +58 -0
  232. package/initramfs/buninu/apps/jsgotty/tests/websocket-origin.test.js +54 -0
  233. package/initramfs/buninu/apps/jsgotty/viu.mjs +422 -0
  234. package/initramfs/buninu/apps/jsgotty/wgotty +62 -0
  235. package/initramfs/buninu/apps/jsgotty/windows-bridge-node.js +60 -0
  236. package/initramfs/buninu/apps/jsgotty/zmodem-node.js +262 -0
  237. package/initramfs/buninu/apps/jsmdcui/CHANGELOG.md +1118 -0
  238. package/initramfs/buninu/apps/jsmdcui/LICENSE +22 -0
  239. package/initramfs/buninu/apps/jsmdcui/README.md +1283 -0
  240. package/initramfs/buninu/apps/jsmdcui/cdp-maze.js +141 -0
  241. package/initramfs/buninu/apps/jsmdcui/clean.sh +9 -0
  242. package/initramfs/buninu/apps/jsmdcui/demos/basic.jpg +0 -0
  243. package/initramfs/buninu/apps/jsmdcui/demos/chinese.md +32 -0
  244. package/initramfs/buninu/apps/jsmdcui/demos/event.md +170 -0
  245. package/initramfs/buninu/apps/jsmdcui/demos/good.jpg +0 -0
  246. package/initramfs/buninu/apps/jsmdcui/demos/image-processor.md +366 -0
  247. package/initramfs/buninu/apps/jsmdcui/demos/image-processor.zh-TW.md +366 -0
  248. package/initramfs/buninu/apps/jsmdcui/demos/img-change.md +73 -0
  249. package/initramfs/buninu/apps/jsmdcui/demos/imgtool-zh.md +298 -0
  250. package/initramfs/buninu/apps/jsmdcui/demos/imgtool.md +298 -0
  251. package/initramfs/buninu/apps/jsmdcui/demos/maze.md +149 -0
  252. package/initramfs/buninu/apps/jsmdcui/demos/reactive.md +40 -0
  253. package/initramfs/buninu/apps/jsmdcui/demos/reader.md +513 -0
  254. package/initramfs/buninu/apps/jsmdcui/demos/select.md +63 -0
  255. package/initramfs/buninu/apps/jsmdcui/demos/todo-zh.md +190 -0
  256. package/initramfs/buninu/apps/jsmdcui/demos/todo.md +191 -0
  257. package/initramfs/buninu/apps/jsmdcui/edit +9 -0
  258. package/initramfs/buninu/apps/jsmdcui/jsmdcui.sh +16 -0
  259. package/initramfs/buninu/apps/jsmdcui/llm-maze.txt +94 -0
  260. package/initramfs/buninu/apps/jsmdcui/package.json +29 -0
  261. package/initramfs/buninu/apps/jsmdcui/project_structure.txt +35 -0
  262. package/initramfs/buninu/apps/jsmdcui/runmd.mjs +1140 -0
  263. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/atom-dark.micro +33 -0
  264. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/bubblegum.micro +31 -0
  265. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/cmc-16.micro +47 -0
  266. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/cmc-tc.micro +43 -0
  267. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/darcula.micro +34 -0
  268. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/default.micro +1 -0
  269. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/dracula-tc.micro +49 -0
  270. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/dukedark-tc.micro +38 -0
  271. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/dukelight-tc.micro +38 -0
  272. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/dukeubuntu-tc.micro +38 -0
  273. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/geany.micro +29 -0
  274. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/gotham.micro +29 -0
  275. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/gruvbox-tc.micro +29 -0
  276. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/gruvbox.micro +26 -0
  277. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/material-tc.micro +36 -0
  278. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/monokai-dark.micro +28 -0
  279. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/monokai.micro +34 -0
  280. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/one-dark.micro +39 -0
  281. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/railscast.micro +37 -0
  282. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/simple.micro +33 -0
  283. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/solarized-tc.micro +31 -0
  284. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/solarized.micro +30 -0
  285. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/sunny-day.micro +29 -0
  286. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/twilight.micro +40 -0
  287. package/initramfs/buninu/apps/jsmdcui/runtime/colorschemes/zenburn.micro +30 -0
  288. package/initramfs/buninu/apps/jsmdcui/runtime/help/actions.md +161 -0
  289. package/initramfs/buninu/apps/jsmdcui/runtime/help/cdp.md +130 -0
  290. package/initramfs/buninu/apps/jsmdcui/runtime/help/colors.md +421 -0
  291. package/initramfs/buninu/apps/jsmdcui/runtime/help/commands.md +161 -0
  292. package/initramfs/buninu/apps/jsmdcui/runtime/help/copypaste.md +149 -0
  293. package/initramfs/buninu/apps/jsmdcui/runtime/help/defaultkeys.md +148 -0
  294. package/initramfs/buninu/apps/jsmdcui/runtime/help/help.md +1283 -0
  295. package/initramfs/buninu/apps/jsmdcui/runtime/help/keybindings.md +355 -0
  296. package/initramfs/buninu/apps/jsmdcui/runtime/help/linter.md +90 -0
  297. package/initramfs/buninu/apps/jsmdcui/runtime/help/options.md +709 -0
  298. package/initramfs/buninu/apps/jsmdcui/runtime/help/plugins.md +544 -0
  299. package/initramfs/buninu/apps/jsmdcui/runtime/help/tutorial.md +112 -0
  300. package/initramfs/buninu/apps/jsmdcui/runtime/jsplugins/cdp/cdp-server.js +1263 -0
  301. package/initramfs/buninu/apps/jsmdcui/runtime/jsplugins/cdp/cdp.js +203 -0
  302. package/initramfs/buninu/apps/jsmdcui/runtime/jsplugins/chapter/chapter.js +111 -0
  303. package/initramfs/buninu/apps/jsmdcui/runtime/jsplugins/diff/diff.js +46 -0
  304. package/initramfs/buninu/apps/jsmdcui/runtime/jsplugins/example/example.js +117 -0
  305. package/initramfs/buninu/apps/jsmdcui/runtime/jsplugins/linter/linter.js +281 -0
  306. package/initramfs/buninu/apps/jsmdcui/runtime/plugins/autoclose/autoclose.lua +75 -0
  307. package/initramfs/buninu/apps/jsmdcui/runtime/plugins/ftoptions/ftoptions.lua +17 -0
  308. package/initramfs/buninu/apps/jsmdcui/runtime/plugins/literate/README.md +5 -0
  309. package/initramfs/buninu/apps/jsmdcui/runtime/plugins/literate/literate.lua +55 -0
  310. package/initramfs/buninu/apps/jsmdcui/runtime/plugins/status/help/status.md +21 -0
  311. package/initramfs/buninu/apps/jsmdcui/runtime/plugins/status/status.lua +62 -0
  312. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/LICENSE +22 -0
  313. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/PowerShell.yaml +128 -0
  314. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/README.md +63 -0
  315. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/ada.yaml +43 -0
  316. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/apacheconf.yaml +59 -0
  317. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/arduino.yaml +101 -0
  318. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/asciidoc.yaml +51 -0
  319. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/asm.yaml +123 -0
  320. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/ats.yaml +99 -0
  321. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/awk.yaml +44 -0
  322. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/b.yaml +87 -0
  323. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/bat.yaml +57 -0
  324. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/c.yaml +60 -0
  325. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/caddyfile.yaml +23 -0
  326. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/cake.yaml +7 -0
  327. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/clojure.yaml +38 -0
  328. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/cmake.yaml +42 -0
  329. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/coffeescript.yaml +56 -0
  330. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/colortest.yaml +19 -0
  331. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/conky.yaml +17 -0
  332. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/cpp.yaml +91 -0
  333. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/crontab.yaml +36 -0
  334. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/crystal.yaml +72 -0
  335. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/csharp.yaml +52 -0
  336. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/css.yaml +44 -0
  337. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/csx.yaml +8 -0
  338. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/cuda.yaml +68 -0
  339. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/cython.yaml +52 -0
  340. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/d.yaml +121 -0
  341. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/dart.yaml +46 -0
  342. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/default.yaml +10 -0
  343. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/dockerfile.yaml +36 -0
  344. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/dot.yaml +29 -0
  345. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/elixir.yaml +30 -0
  346. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/elm.yaml +38 -0
  347. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/erb.yaml +42 -0
  348. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/erlang.yaml +45 -0
  349. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/fish.yaml +48 -0
  350. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/forth.yaml +34 -0
  351. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/fortran.yaml +64 -0
  352. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/freebsd-kernel.yaml +14 -0
  353. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/fsharp.yaml +48 -0
  354. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/gdscript.yaml +61 -0
  355. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/gemini.yaml +19 -0
  356. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/gentoo-ebuild.yaml +48 -0
  357. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/gentoo-etc-portage.yaml +23 -0
  358. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/git-commit.yaml +35 -0
  359. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/git-config.yaml +14 -0
  360. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/git-rebase-todo.yaml +19 -0
  361. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/gleam.yaml +69 -0
  362. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/glsl.yaml +26 -0
  363. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/gnuplot.yaml +15 -0
  364. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/go.yaml +62 -0
  365. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/godoc.yaml +17 -0
  366. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/golo.yaml +73 -0
  367. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/gomod.yaml +31 -0
  368. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/graphql.yaml +47 -0
  369. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/groff.yaml +30 -0
  370. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/groovy.yaml +111 -0
  371. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/haml.yaml +16 -0
  372. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/hare.yaml +52 -0
  373. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/haskell.yaml +52 -0
  374. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/hc.yaml +52 -0
  375. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/html.yaml +70 -0
  376. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/html4.yaml +25 -0
  377. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/html5.yaml +25 -0
  378. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/ini.yaml +23 -0
  379. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/inputrc.yaml +14 -0
  380. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/java.yaml +37 -0
  381. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/javascript.yaml +124 -0
  382. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/jinja2.yaml +19 -0
  383. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/json.yaml +39 -0
  384. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/jsonnet.yaml +92 -0
  385. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/julia.yaml +57 -0
  386. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/justfile.yaml +40 -0
  387. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/keymap.yaml +27 -0
  388. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/kickstart.yaml +16 -0
  389. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/kotlin.yaml +66 -0
  390. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/kvlang.yaml +67 -0
  391. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/ledger.yaml +14 -0
  392. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/lfe.yaml +17 -0
  393. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/lilypond.yaml +26 -0
  394. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/lisp.yaml +17 -0
  395. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/log.yaml +92 -0
  396. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/lua.yaml +111 -0
  397. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/mail.yaml +25 -0
  398. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/makefile.yaml +38 -0
  399. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/man.yaml +12 -0
  400. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/markdown.yaml +65 -0
  401. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/mc.yaml +23 -0
  402. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/meson.yaml +51 -0
  403. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/micro.yaml +34 -0
  404. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/mpdconf.yaml +13 -0
  405. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/msbuild.yaml +6 -0
  406. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/nanorc.yaml +16 -0
  407. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/nftables.yaml +30 -0
  408. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/nginx.yaml +22 -0
  409. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/nim.yaml +27 -0
  410. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/nix.yaml +32 -0
  411. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/nu.yaml +114 -0
  412. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/objc.yaml +60 -0
  413. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/ocaml.yaml +43 -0
  414. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/octave.yaml +83 -0
  415. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/odin.yaml +64 -0
  416. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/pascal.yaml +45 -0
  417. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/patch.yaml +14 -0
  418. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/peg.yaml +16 -0
  419. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/perl.yaml +58 -0
  420. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/php.yaml +60 -0
  421. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/pkg-config.yaml +12 -0
  422. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/po.yaml +12 -0
  423. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/pony.yaml +37 -0
  424. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/pov.yaml +21 -0
  425. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/privoxy-action.yaml +14 -0
  426. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/privoxy-config.yaml +10 -0
  427. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/privoxy-filter.yaml +12 -0
  428. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/proto.yaml +40 -0
  429. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/prql.yaml +84 -0
  430. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/puppet.yaml +22 -0
  431. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/python2.yaml +60 -0
  432. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/python3.yaml +80 -0
  433. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/r.yaml +32 -0
  434. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/raku.yaml +42 -0
  435. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/reST.yaml +18 -0
  436. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/renpy.yaml +15 -0
  437. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/rpmspec.yaml +43 -0
  438. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/ruby.yaml +73 -0
  439. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/rust.yaml +78 -0
  440. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/sage.yaml +60 -0
  441. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/scad.yaml +53 -0
  442. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/scala.yaml +33 -0
  443. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/sed.yaml +13 -0
  444. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/sh.yaml +69 -0
  445. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/sls.yaml +15 -0
  446. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/smalltalk.yaml +55 -0
  447. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/solidity.yaml +41 -0
  448. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/sql.yaml +35 -0
  449. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/stata.yaml +67 -0
  450. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/svelte.yaml +27 -0
  451. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/swift.yaml +103 -0
  452. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/systemd.yaml +16 -0
  453. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/tcl.yaml +18 -0
  454. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/terraform.yaml +87 -0
  455. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/tex.yaml +32 -0
  456. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/toml.yaml +56 -0
  457. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/twig.yaml +55 -0
  458. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/typescript.yaml +49 -0
  459. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/v.yaml +80 -0
  460. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/vala.yaml +26 -0
  461. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/verilog.yaml +60 -0
  462. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/vhdl.yaml +37 -0
  463. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/vi.yaml +31 -0
  464. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/vue.yaml +64 -0
  465. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/xml.yaml +37 -0
  466. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/xresources.yaml +14 -0
  467. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/yaml.yaml +34 -0
  468. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/yum.yaml +12 -0
  469. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/zig.yaml +52 -0
  470. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/zscript.yaml +72 -0
  471. package/initramfs/buninu/apps/jsmdcui/runtime/syntax/zsh.yaml +52 -0
  472. package/initramfs/buninu/apps/jsmdcui/single-exe/README.md +396 -0
  473. package/initramfs/buninu/apps/jsmdcui/single-exe/assetsHelper.js +371 -0
  474. package/initramfs/buninu/apps/jsmdcui/single-exe/assetsLoader.mjs +85 -0
  475. package/initramfs/buninu/apps/jsmdcui/single-exe/assetsPacker.js +218 -0
  476. package/initramfs/buninu/apps/jsmdcui/single-exe/compiled.js +498 -0
  477. package/initramfs/buninu/apps/jsmdcui/single-exe/entry.mjs +17 -0
  478. package/initramfs/buninu/apps/jsmdcui/single-exe/packAssets.sh +7 -0
  479. package/initramfs/buninu/apps/jsmdcui/src/MDCUI_DEFAULT_EDIT +0 -0
  480. package/initramfs/buninu/apps/jsmdcui/src/buffer/backup.js +165 -0
  481. package/initramfs/buninu/apps/jsmdcui/src/buffer/buffer.js +126 -0
  482. package/initramfs/buninu/apps/jsmdcui/src/buffer/fixed3-codec.js +140 -0
  483. package/initramfs/buninu/apps/jsmdcui/src/buffer/loc.js +38 -0
  484. package/initramfs/buninu/apps/jsmdcui/src/buffer/message.js +29 -0
  485. package/initramfs/buninu/apps/jsmdcui/src/build-args.js +40 -0
  486. package/initramfs/buninu/apps/jsmdcui/src/config/clean.js +172 -0
  487. package/initramfs/buninu/apps/jsmdcui/src/config/colorscheme.js +99 -0
  488. package/initramfs/buninu/apps/jsmdcui/src/config/config.js +125 -0
  489. package/initramfs/buninu/apps/jsmdcui/src/config/defaults.js +109 -0
  490. package/initramfs/buninu/apps/jsmdcui/src/cui/fence-events.mjs +144 -0
  491. package/initramfs/buninu/apps/jsmdcui/src/cui/heading-ids.mjs +1568 -0
  492. package/initramfs/buninu/apps/jsmdcui/src/cui/id-collision.mjs +111 -0
  493. package/initramfs/buninu/apps/jsmdcui/src/cui/identity.mjs +26 -0
  494. package/initramfs/buninu/apps/jsmdcui/src/cui/kitty-debug.mjs +25 -0
  495. package/initramfs/buninu/apps/jsmdcui/src/cui/kitty-images.mjs +280 -0
  496. package/initramfs/buninu/apps/jsmdcui/src/cui/kitty-mode.mjs +6 -0
  497. package/initramfs/buninu/apps/jsmdcui/src/cui/rerender-queue.mjs +66 -0
  498. package/initramfs/buninu/apps/jsmdcui/src/cui/rpc.mjs +1554 -0
  499. package/initramfs/buninu/apps/jsmdcui/src/cui/server.mjs +128 -0
  500. package/initramfs/buninu/apps/jsmdcui/src/cui/table-render.mjs +286 -0
  501. package/initramfs/buninu/apps/jsmdcui/src/cui/table-row-edit.mjs +226 -0
  502. package/initramfs/buninu/apps/jsmdcui/src/cui/task-checkbox.mjs +60 -0
  503. package/initramfs/buninu/apps/jsmdcui/src/cui/template-components.mjs +253 -0
  504. package/initramfs/buninu/apps/jsmdcui/src/cui/text-block-resize.mjs +177 -0
  505. package/initramfs/buninu/apps/jsmdcui/src/cui/tui-links.mjs +560 -0
  506. package/initramfs/buninu/apps/jsmdcui/src/display/ansi-style.js +60 -0
  507. package/initramfs/buninu/apps/jsmdcui/src/highlight/highlighter.js +243 -0
  508. package/initramfs/buninu/apps/jsmdcui/src/highlight/parser.js +225 -0
  509. package/initramfs/buninu/apps/jsmdcui/src/index.js +9586 -0
  510. package/initramfs/buninu/apps/jsmdcui/src/lua/engine.js +68 -0
  511. package/initramfs/buninu/apps/jsmdcui/src/platform/archive.js +50 -0
  512. package/initramfs/buninu/apps/jsmdcui/src/platform/clipboard.js +278 -0
  513. package/initramfs/buninu/apps/jsmdcui/src/platform/commands.js +221 -0
  514. package/initramfs/buninu/apps/jsmdcui/src/platform/terminal.js +5 -0
  515. package/initramfs/buninu/apps/jsmdcui/src/plugins/js-bridge.js +3377 -0
  516. package/initramfs/buninu/apps/jsmdcui/src/plugins/manager.js +674 -0
  517. package/initramfs/buninu/apps/jsmdcui/src/runtime/encodings.js +10 -0
  518. package/initramfs/buninu/apps/jsmdcui/src/runtime/registry.js +134 -0
  519. package/initramfs/buninu/apps/jsmdcui/src/screen/cell-buffer.js +81 -0
  520. package/initramfs/buninu/apps/jsmdcui/src/screen/events.js +263 -0
  521. package/initramfs/buninu/apps/jsmdcui/src/screen/screen.js +249 -0
  522. package/initramfs/buninu/apps/jsmdcui/src/screen/vt100.js +571 -0
  523. package/initramfs/buninu/apps/jsmdcui/src/shell/shell.js +70 -0
  524. package/initramfs/buninu/apps/jsmdcui/testapp.md +78 -0
  525. package/initramfs/buninu/apps/jsmdcui/tests/assets-helper.test.js +150 -0
  526. package/initramfs/buninu/apps/jsmdcui/tests/backup.test.js +158 -0
  527. package/initramfs/buninu/apps/jsmdcui/tests/cat-markdown.test.js +139 -0
  528. package/initramfs/buninu/apps/jsmdcui/tests/cdp-security.test.js +32 -0
  529. package/initramfs/buninu/apps/jsmdcui/tests/cdp-websocket-test.html +46 -0
  530. package/initramfs/buninu/apps/jsmdcui/tests/cmphex3b64.js +95 -0
  531. package/initramfs/buninu/apps/jsmdcui/tests/compiled-runtime.test.js +139 -0
  532. package/initramfs/buninu/apps/jsmdcui/tests/config-settings.test.js +52 -0
  533. package/initramfs/buninu/apps/jsmdcui/tests/demo.test.js +448 -0
  534. package/initramfs/buninu/apps/jsmdcui/tests/docs-sync.test.js +14 -0
  535. package/initramfs/buninu/apps/jsmdcui/tests/fence-events.test.js +1293 -0
  536. package/initramfs/buninu/apps/jsmdcui/tests/heading-ids.test.js +559 -0
  537. package/initramfs/buninu/apps/jsmdcui/tests/heading-list-selector.test.js +2393 -0
  538. package/initramfs/buninu/apps/jsmdcui/tests/id-collision.test.js +514 -0
  539. package/initramfs/buninu/apps/jsmdcui/tests/jmigt.js +16 -0
  540. package/initramfs/buninu/apps/jsmdcui/tests/js-plugin-prompts.test.js +110 -0
  541. package/initramfs/buninu/apps/jsmdcui/tests/key-event.md +10 -0
  542. package/initramfs/buninu/apps/jsmdcui/tests/kitty-demo.md +184 -0
  543. package/initramfs/buninu/apps/jsmdcui/tests/kitty-images.test.js +288 -0
  544. package/initramfs/buninu/apps/jsmdcui/tests/kitty-mode.test.js +14 -0
  545. package/initramfs/buninu/apps/jsmdcui/tests/platform-commands.test.js +18 -0
  546. package/initramfs/buninu/apps/jsmdcui/tests/platform-terminal.test.js +8 -0
  547. package/initramfs/buninu/apps/jsmdcui/tests/pty-demo.js +492 -0
  548. package/initramfs/buninu/apps/jsmdcui/tests/rerender-queue.test.js +130 -0
  549. package/initramfs/buninu/apps/jsmdcui/tests/table-render.test.js +150 -0
  550. package/initramfs/buninu/apps/jsmdcui/tests/table-row-edit.test.js +138 -0
  551. package/initramfs/buninu/apps/jsmdcui/tests/task-checkbox.test.js +33 -0
  552. package/initramfs/buninu/apps/jsmdcui/tests/template-components.test.js +422 -0
  553. package/initramfs/buninu/apps/jsmdcui/tests/text-block-resize.test.js +222 -0
  554. package/initramfs/buninu/apps/jsmdcui/tests/textarea.md +8 -0
  555. package/initramfs/buninu/apps/jsmdcui/tests/tui-links.test.js +298 -0
  556. package/initramfs/buninu/apps/jsmdcui/tests/wui-responsive-images.test.js +60 -0
  557. package/initramfs/buninu/apps/jsmdcui/tests/wui.test.js +108 -0
  558. package/initramfs/buninu/apps/jsmdcui/tests/wv-client.js +96 -0
  559. package/initramfs/buninu/apps/jsmdcui/tui +7 -0
  560. package/initramfs/buninu/apps/jsmdcui/wui +9 -0
  561. package/initramfs/buninu/apps/musl-la/LICENSES/GPL-3.0.txt +674 -0
  562. package/initramfs/buninu/apps/musl-la/LICENSES/gcc_runtime_exception.txt +73 -0
  563. package/initramfs/buninu/apps/musl-la/LICENSE_musl.txt +193 -0
  564. package/initramfs/buninu/apps/musl-la/NOTICE +41 -0
  565. package/initramfs/buninu/apps/musl-la/ld-musl-aarch64.so.1 +0 -0
  566. package/initramfs/buninu/apps/musl-la/libgcc_s.so.1 +0 -0
  567. package/initramfs/buninu/apps/musl-la/libstdc++.so.6 +0 -0
  568. package/initramfs/buninu/apps/musl-la/musl-la.sh +36 -0
  569. package/initramfs/buninu/apps/native-bridge/native-bridge.js +199 -0
  570. package/initramfs/buninu/apps/native-bridge/package.json +8 -0
  571. package/initramfs/buninu/apps/tts/tts.js +214 -0
  572. package/initramfs/buninu/apps/xclip/xclip.js +121 -0
  573. package/initramfs/buninu/apps/xdg-open/xdg-open.js +151 -0
  574. package/initramfs/buninu/bin/bun.bat +37 -0
  575. package/initramfs/buninu/bin/bun.sh +57 -0
  576. package/initramfs/buninu/bin/buninu-help.bat +4 -0
  577. package/initramfs/buninu/bin/buninu-help.sh +7 -0
  578. package/initramfs/buninu/bin/bunmsh.bat +3 -0
  579. package/initramfs/buninu/bin/bunmsh.sh +5 -0
  580. package/initramfs/buninu/bin/bunx.bat +3 -0
  581. package/initramfs/buninu/bin/glow.bat +3 -0
  582. package/initramfs/buninu/bin/glow.sh +5 -0
  583. package/initramfs/buninu/bin/init.js +779 -0
  584. package/initramfs/buninu/bin/install.js +570 -0
  585. package/initramfs/buninu/bin/jmi.bat +3 -0
  586. package/initramfs/buninu/bin/jmi.sh +5 -0
  587. package/initramfs/buninu/bin/jsgotty.bat +3 -0
  588. package/initramfs/buninu/bin/jsgotty.sh +5 -0
  589. package/initramfs/buninu/bin/jsmdcui.bat +11 -0
  590. package/initramfs/buninu/bin/libsh-loader.c +135 -0
  591. package/initramfs/buninu/bin/libsh-loader.so +0 -0
  592. package/initramfs/buninu/bin/multicall.sh +103 -0
  593. package/initramfs/buninu/bin/native-bridge.bat +3 -0
  594. package/initramfs/buninu/bin/rz.bat +3 -0
  595. package/initramfs/buninu/bin/rz.sh +5 -0
  596. package/initramfs/buninu/bin/shc.js +5 -0
  597. package/initramfs/buninu/bin/showimg.bat +3 -0
  598. package/initramfs/buninu/bin/showimg.sh +5 -0
  599. package/initramfs/buninu/bin/switch_to_android.sh +9 -0
  600. package/initramfs/buninu/bin/switch_to_linux.sh +7 -0
  601. package/initramfs/buninu/bin/sz.bat +3 -0
  602. package/initramfs/buninu/bin/sz.sh +5 -0
  603. package/initramfs/buninu/bin/tts.bat +3 -0
  604. package/initramfs/buninu/bin/xclip.bat +3 -0
  605. package/initramfs/buninu/bin/xdg-open.bat +3 -0
  606. package/initramfs/buninu/demo-server.js +64 -0
  607. package/initramfs/buninu/icon.png +0 -0
  608. package/initramfs/buninu/package.json +59 -0
  609. package/initramfs/etc/resolv.conf +1 -0
  610. package/initramfs/init.js +339 -0
  611. package/initramfs/lib/ld-musl-x86_64.so.1 +0 -0
  612. package/initramfs/lib/libc.musl-x86_64.so.1 +0 -0
  613. package/initramfs/lib/libgcc_s.so.1 +0 -0
  614. package/initramfs/lib/libstdc++.so.6 +0 -0
  615. package/initramfs/usr/bin/env +7 -0
  616. package/package.json +42 -0
  617. package/run-qemu.sh +44 -0
  618. package/scripts/fetch.sh +26 -0
  619. package/scripts/pack-initramfs.sh +41 -0
  620. package/test/build-init-bootstrap.sh +23 -0
  621. package/test/init-bootstrap.c +55 -0
@@ -0,0 +1,99 @@
1
+ #!/bin/sh
2
+
3
+ sd=$(cd "$(dirname "$0")" && pwd)
4
+
5
+ show_help() {
6
+ cat <<EOF
7
+ Usage: $0 <version>
8
+ $0 -h | --help
9
+
10
+ Download Bun release binaries from oven-sh/bun and create:
11
+ $sd/bunBin.tgz
12
+
13
+ Accepted version formats:
14
+ 1.3.14
15
+ v1.3.14
16
+ bun-v1.3.14
17
+ canary
18
+
19
+ Archive contents:
20
+ bun-la Linux aarch64
21
+ bun-lx Linux x64
22
+ bun-wx.exe Windows x64
23
+
24
+ The archive is consumed by ../../bin/bun.sh and extracted into
25
+ no_backup/bin when it is newer than the selected Bun executable.
26
+ EOF
27
+ }
28
+
29
+ if [ "${1-}" = -h ] || [ "${1-}" = --help ]; then
30
+ show_help
31
+ exit 0
32
+ fi
33
+
34
+ if [ "$#" -ne 1 ]; then
35
+ show_help 1>&2
36
+ exit 2
37
+ fi
38
+
39
+ if [ "$1" = canary ]; then
40
+ tag=canary
41
+ else
42
+ version=${1#bun-}
43
+ version=${version#v}
44
+ tag=bun-v$version
45
+ fi
46
+ base_url=https://github.com/oven-sh/bun/releases/download/$tag
47
+ output=$sd/bunBin.tgz
48
+
49
+ for command in curl unzip tar mktemp; do
50
+ if ! command -v "$command" >/dev/null 2>&1; then
51
+ echo "Required command not found: $command" 1>&2
52
+ exit 127
53
+ fi
54
+ done
55
+
56
+ tmp=$(mktemp -d "${TMPDIR:-/tmp}/make-bunBin.XXXXXX")
57
+
58
+ cleanup() {
59
+ rm -rf "$tmp"
60
+ }
61
+
62
+ download_bun() {
63
+ asset=$1
64
+ member=$2
65
+ destination=$3
66
+ archive=$tmp/$asset.zip
67
+
68
+ echo "Downloading $asset for Bun $tag..."
69
+ if ! curl --fail --location --retry 3 --output "$archive" "$base_url/$asset.zip"; then
70
+ cleanup
71
+ exit 1
72
+ fi
73
+ if ! unzip -p "$archive" "$asset/$member" >"$tmp/$destination"; then
74
+ cleanup
75
+ exit 1
76
+ fi
77
+ if ! chmod 755 "$tmp/$destination"; then
78
+ cleanup
79
+ exit 1
80
+ fi
81
+ }
82
+
83
+ download_bun bun-linux-aarch64 bun bun-la
84
+ download_bun bun-linux-x64 bun bun-lx
85
+ download_bun bun-windows-x64 bun.exe bun-wx.exe
86
+
87
+ # bun.sh extracts this archive directly into no_backup/bin.
88
+ if ! tar -czf "$tmp/bunBin.tgz" -C "$tmp" bun-la bun-lx bun-wx.exe; then
89
+ cleanup
90
+ exit 1
91
+ fi
92
+ if ! mv "$tmp/bunBin.tgz" "$output"; then
93
+ cleanup
94
+ exit 1
95
+ fi
96
+ cleanup
97
+
98
+ echo "Created $output"
99
+ tar -tzvf "$output"
@@ -0,0 +1,493 @@
1
+ # Changelog
2
+
3
+ All notable user-visible changes to bunmsh are documented here.
4
+
5
+ ## [0.3.7] - 2026-09-20
6
+
7
+ ### Fixed
8
+
9
+ - Teach the fallback `tr` builtin to decode NUL, octal, and the common
10
+ backslash escapes in its character sets. Commands such as
11
+ `tr '\0' '\n' < /proc/$$/cmdline` now translate NUL-delimited input instead
12
+ of passing the NUL bytes through unchanged; `tr -d '\000'` works as well.
13
+ Range expansion such as `tr a-z A-Z` remains supported, and regression
14
+ tests cover both translating and deleting NUL bytes from general binary
15
+ input.
16
+
17
+ ## [0.3.6] - 2026-09-15
18
+
19
+ ### Added
20
+
21
+ - Accept a leading `&` as a PowerShell-compatible call operator on Windows,
22
+ or on any platform when `BUNMSH_LEADING_AND` is set before bunmsh starts.
23
+ This lets commands sent by VS Code's Play action run inside an already-open
24
+ bunmsh session, such as `& 'C:\Python313\python.exe' script.py`.
25
+
26
+ ## [0.3.5] - 2026-09-09
27
+
28
+ Version 0.3.4 was intentionally skipped because the number four is considered
29
+ unlucky in Chinese culture, so this release advances directly from 0.3.3 to
30
+ 0.3.5.
31
+
32
+ ### Fixed
33
+
34
+ - Point the npm `bunmsh` bin at a new package-root `index.js` trampoline,
35
+ which immediately loads the real `src/main.js` entry point. On affected Bun
36
+ versions, validating a bin target below the package root goes through
37
+ `openat2`; Android can reject that syscall with `SIGSYS`, leaving an
38
+ otherwise successful install without its bin link. Keeping the declared bin
39
+ target at the package root avoids that path while preserving `src/main.js`
40
+ as the implementation entry point.
41
+
42
+ - Make the test suite portable between native Android and PRoot. Redirect
43
+ tests now create isolated directories below `os.tmpdir()` instead of
44
+ assuming `/tmp` is writable or empty, terminal assertions compare visible
45
+ text after `Bun.stripANSI()` instead of requiring one exact repaint
46
+ sequence, and true terminal behaviour is exercised through `Bun.Terminal`.
47
+ Negative-DNS curl checks run in parallel and have explicit timeouts because
48
+ PRoot resolution takes about five seconds while native Android returns
49
+ immediately.
50
+
51
+ ### Changed
52
+
53
+ - Split the former `shell.test.js` into `shell1.test.js`, `shell2.test.js`, and
54
+ `shell3.test.js`, and run test files with `bun test --parallel=4`. This keeps
55
+ the suite isolated and stable while reducing the measured run from roughly
56
+ 37 to 17 seconds under PRoot and from roughly 23 to 9 seconds on native
57
+ Android. Test-case-level `--concurrent` is deliberately not used because
58
+ cwd-changing and PTY tests share process-global state.
59
+
60
+ ## [0.3.3] - 2026-09-03
61
+
62
+ ### Fixed
63
+
64
+ - Pass `--color` rather than `--color=auto` in the default `diff` alias.
65
+ Toybox's `diff` — the one Android answers `/system/bin/diff` with — spells
66
+ the option without a `=WHEN` argument and rejects the longer form outright
67
+ (`diff: Unknown option 'color=auto'`, status 2), so an unqualified `diff`
68
+ produced an error instead of a comparison. GNU diffutils accepts either
69
+ spelling, so nothing changes where that is the `diff` on `PATH`. The `ls` and
70
+ `grep` aliases keep `--color=auto`, which both of those do accept.
71
+
72
+ BusyBox `diff` has no colour option under either spelling and answers
73
+ `diff: unrecognized option: color`. Override the alias with `alias diff=diff`
74
+ where `diff` is BusyBox, as it is on Alpine.
75
+
76
+ ## [0.3.2] - 2026-09-01
77
+
78
+ ### Added
79
+
80
+ - Bind `$` to the shell's variable table inside the highest-priority
81
+ JavaScript mode, so the two languages share one set of variables rather than
82
+ passing strings across a boundary. `Bun.e, $.HOME` reads one — exported or
83
+ not — `$.TAG = "v1"` writes one that later shell commands and external child
84
+ processes both see, `delete $.NAME` unsets one, and `Object.keys($)`
85
+ enumerates them. It is the live table rather than a copy, which is what makes
86
+ a write visible immediately; it also means a write bypasses `readonly`, so
87
+ `$` is an escape hatch as much as a convenience. Bun Shell's own `Bun.$` is
88
+ reached through the `Bun` object and is unaffected by the binding. Values
89
+ are shell values, so they are strings: `$.X + 1` concatenates unless
90
+ converted, and assigning a non-string stores it as-is, leaving JavaScript
91
+ with a number under that name while every name the shell set stays a string.
92
+ The README says so with examples.
93
+
94
+ - Complete shell variable names. Typing `$HO` now ghosts `$HOME` and Tab
95
+ offers every matching name; `${HO` completes to `${HOME}`, closing the brace
96
+ it opened, and `${#HO` does the same. Names come from the shell's own
97
+ variable table, so unexported names — and anything JavaScript mode wrote
98
+ through `$` — are offered alongside the environment. It applies wherever an
99
+ expansion would happen (mid-word, after `X=`, inside double quotes, and in
100
+ command position), stays quiet inside single quotes, and is not offered for
101
+ the other things a `$` can start: `$(`, `$?`, `$1`, `$$`, and a
102
+ backslash-escaped `\$` (the backslashes are counted, so `\\$HO` still
103
+ suggests). A bare `$` ghosts nothing but still lists everything on Tab, the
104
+ way an empty word lists every file. Where both apply, the history ghost still
105
+ wins, since it completes the whole line.
106
+ - Complete command names inside `$(`. A command substitution starts a new
107
+ command, but the completer used to read `$(l` as one long word and look for
108
+ a file by that name; it now offers commands there, and files after the
109
+ command, the way it does at the start of a line.
110
+
111
+ - Complete on a JavaScript line too, reading it as JavaScript rather than as
112
+ shell text. After `$.` it offers shell variable names, and inside an unclosed
113
+ string literal it completes the text back to the opening quote as a path —
114
+ so `Bun.file("/tm` completes without the trailing space that used to be
115
+ needed to make the completer see a path at all, and without trimming that
116
+ space back off afterwards. A template's `${...}` counts as code again, so
117
+ `$.` completes inside it. A bare `$` completes nothing there, since in
118
+ JavaScript it is the variable table itself and a name only begins after the
119
+ dot. Where neither applies only the history ghost is offered.
120
+
121
+ ### Fixed
122
+
123
+ - Stop asking a JavaScript line to continue when it cannot. A line ending in a
124
+ bare backslash used to get the shell's PS2 prompt, but a backslash outside a
125
+ string literal is a syntax error in JavaScript, so whatever was typed next
126
+ was guaranteed not to parse. An unterminated string or template still
127
+ continues, because that is JavaScript's own line continuation and the
128
+ evaluator does accept it — `Bun.e, "abc\` and `def"` on two lines prints
129
+ `abcdef`. The rule that decides JavaScript mode is now one exported
130
+ function, so the prompt, the completer and the evaluator cannot disagree
131
+ about what a line is.
132
+
133
+ ## [0.3.1] - 2026-09-01
134
+
135
+ ### Added
136
+
137
+ - Ship `LICENSE`, `LICENSE-MKSH`, and `LICENSE-MICRO` as packaged assets, so
138
+ a standalone executable carries them the way it already carried the README
139
+ and this changelog. It matters for `LICENSE-MICRO` in particular: the binary
140
+ contains the highlighting rules transcribed from micro's
141
+ `runtime/syntax/sh.yaml`, and an MIT notice has to travel with the code it
142
+ covers, not only with the repository. Reading them back out of a build is
143
+ `--assets-extract` on the tar back end, or `builtin serve 'B:/~BUN'` on an
144
+ `ASSETS_BUNFS=1` one; both land the licences under
145
+ `assets/bunmsh@<version>/`, and the README's licence section says so.
146
+
147
+ ### Changed
148
+
149
+ - Say plainly in the README and in `LICENSE-MICRO` that `catfancy` takes five
150
+ of micro's `monokai.micro` colour-links for its JSON, rather than only that
151
+ its colours happen to be the same five values. The palette was taken from
152
+ micro, so the attribution now says so.
153
+
154
+ ## [0.3.0] - 2026-09-01
155
+
156
+ ### Added
157
+
158
+ - Add a `curl` PATH-fallback builtin implemented on Bun's own `fetch`, so a
159
+ device that ships no `curl` binary can still run the download and API
160
+ scripts that expect one. A real `curl` in `PATH` still wins;
161
+ `builtin curl ...` selects this one. A URL with no scheme gets one —
162
+ `http://`, or `https://` when the port is `443`, or whatever
163
+ `--proto-default` names — so `curl localhost:8080` and `curl example.com`
164
+ behave the way they do with the real curl.
165
+ - Downloads: `-o`, `-O`, `-J`, `--output-dir`, `--create-dirs`, `-a`, and
166
+ `-C -`/`-C OFFSET` resume, which sizes the partial file, asks for the rest
167
+ with a `Range` header, appends when the server answers `206`, rewrites when
168
+ a `200` says the range was ignored, and treats `416` as "already complete".
169
+ - Request bodies: `-X`, `-H` (including curl's `'Name;'` empty-value and
170
+ `'Name:'` removal forms), `-d`, `--data-raw`, `--data-binary`,
171
+ `--data-ascii`, `--data-urlencode`, `--json`, `-G`, `-F`,
172
+ `--form-string`, `-T`, `-u`, `--oauth2-bearer`, `-A`, `-e`, `-b`, `-r`,
173
+ `--compressed`, and `-x`, with `@file` and `@-` reading a body from a file
174
+ or from stdin — enough to call a JSON API such as OpenAI's chat
175
+ completions endpoint from the shell.
176
+ - Responses and reporting: `-i`, `-I`, `-D`, `-w` with the usual
177
+ `%{variable}` set, `-L` with `--max-redirs` and the `301`/`302`/`303`
178
+ POST-to-GET rule, `-f`, `--fail-with-body`, `-k`, `-m`,
179
+ `--connect-timeout`, `--retry` and friends, `-s`, `-S`, `-v`, `-#`, and a
180
+ curl-shaped progress meter that appears only when the body is not being
181
+ painted on the terminal. curl's exit codes are reproduced, including `22`,
182
+ `6`, `7`, `28`, `47`, `60`, and `2`.
183
+ - Short clusters parse the way curl's do, so the invocations packaging
184
+ scripts use — `-kLO`, `-C - -kLO`, `-fsSL`, `-kfsS`, `-#k` — work
185
+ unchanged. TLS-material and connection-tuning options (`--cacert`,
186
+ `--cert`, `--interface`, `--limit-rate`, `-4`, `--http2`, and the rest)
187
+ are parsed and then ignored so a script does not die on them.
188
+ - Bodies stream, so `curl -N` on a server-sent-events endpoint prints each
189
+ chunk as it arrives and a large download never buffers in memory.
190
+ - `test/reference.test.js` compares the builtin against the system `curl`
191
+ over a local server: bodies, exit codes, redirect handling, request bodies,
192
+ and `--write-out` output are byte-for-byte identical, and `-i` matches once
193
+ header order and casing — which `fetch` does not preserve — are normalised.
194
+
195
+ - Add a `pspa` PATH-fallback builtin that lists every process as a PID and its
196
+ full command line, so a device with no process viewer still has one. POSIX
197
+ runs `ps -eo pid,args` and passes its output through untouched — reading it
198
+ over a pipe is also what stops procps from cutting long command lines at the
199
+ terminal width. Windows, which has no `ps`, queries `Win32_Process` through
200
+ PowerShell and lays the same two columns out itself, using the image name
201
+ for a system process that reports no command line. It takes no options; pipe
202
+ it into `grep` to narrow the listing and into `kill` to act on it.
203
+ - Add `pspac`, the same process listing with the PID and the command line
204
+ coloured. The COMMAND column is a shell command line, so it is highlighted
205
+ as one, following micro's `syntax/sh.yaml` rules and its
206
+ `colorschemes/monokai.micro` colour-links — the palette `catfancy` already
207
+ uses — down to its region handling (a `#` inside a quoted argument does not
208
+ open a comment) and its rule precedence (`--cat` is a flag, not the
209
+ coreutils `cat`). Two things a listing needs that a script does not: the
210
+ directory in front of the program is dimmed, and the program's own name is
211
+ coloured as a command whether or not sh.yaml's word lists have heard of it.
212
+ Like `catfancy` it always colours; strip the colour from its output and
213
+ `pspa`'s is what remains, which is what its tests assert.
214
+ - Add `LICENSE-MICRO` and a "Syntax highlighting" section under the README's
215
+ licence heading, covering what the colouring inherits from
216
+ [micro](https://github.com/zyedidia/micro): `pspac` transcribes the rules of
217
+ its `runtime/syntax/sh.yaml` (MIT "Expat", Copyright (c) 2020: Zachary
218
+ Yedidia, et al.), and both `pspac` and `catfancy` paint with the
219
+ colour-links of its `runtime/colorschemes/monokai.micro` (micro itself: MIT,
220
+ Copyright (c) 2016-2020: Zachary Yedidia, et al.), which renders Wimer
221
+ Hazenberg's Monokai palette. No micro file is bundled, but the rules are
222
+ transcribed from one, so the licence notice ships with them.
223
+
224
+ ### Fixed
225
+
226
+ - Make `kill` work on Windows. It went through the runtime's `process.kill`,
227
+ which there turns SIGTERM, SIGINT, and SIGKILL into an unconditional
228
+ `TerminateProcess`, refuses every other signal name outright, and in no case
229
+ reaches the target's children. A terminating signal is now sent as
230
+ `taskkill /PID PID /T /F` — the form bun-taskmgr verified on Windows 11 —
231
+ so every signal name works and a process tree goes down with its root. The
232
+ name is still not honoured as a signal, because Windows has none to deliver;
233
+ `-0` continues to probe through the runtime, since `taskkill` has no way to
234
+ ask whether a PID exists without killing it.
235
+
236
+ ## [0.2.0] - 2026-08-29
237
+
238
+ ### Added
239
+
240
+ - Add `SERVE_AUTO_OPEN`, `SERVE_MINAPK_WEBVIEW`, and `SERVE_RANDOM_URL` plus
241
+ overriding `serve` CLI flags for opening the server (cross-platform, with
242
+ `xdg-open` on PATH preferred), targeting the npm `buninu` package's app
243
+ WebView, and protecting it behind a high-entropy random URL prefix.
244
+ - Add repeatable `--exclude PATTERN` and `--exclude=PATTERN` filtering backed
245
+ by `Bun.Glob` to the `cat` and `catfancy` fallback builtins for concatenating
246
+ expanded file sets.
247
+ - Add JS/TS syntax coloring to `catfancy`: `.js`/`.mjs`/`.cjs`/`.jsx` and
248
+ `.ts`/`.mts`/`.cts`/`.tsx` files are wrapped in a fenced ` ```javascript `/
249
+ ` ```typescript ` block and rendered through the same `Bun.markdown.ansi`
250
+ path Markdown gets, reusing its code-block highlighter rather than adding
251
+ one. The fence is widened past the longest run of backticks already in the
252
+ source, so a file containing its own triple-backtick text can't prematurely
253
+ close it.
254
+ - Add bracketed-paste support to the interactive prompt. A paste containing a
255
+ newline no longer gets read back a physical line at a time (which broke any
256
+ `\`-continued command in it, since each line ran on its own the instant its
257
+ line-ending arrived); it now resolves as a single already-typed line, going
258
+ through the same continuation/execute path Enter does, so a whole
259
+ multi-command, `\`-continued tutorial block can be pasted and run as-is. A
260
+ paste's own line-ending convention — `\n`, `\r\n`, or a bare `\r` (some
261
+ terminals use it for pasted content, even though bunmsh's parser otherwise
262
+ treats a standalone `\r` as whitespace) — is normalized before anything
263
+ downstream sees it. A single-line paste is unaffected. Independent of
264
+ `--mouse`/`BUNMSH_MOUSE`.
265
+
266
+ ### Fixed
267
+
268
+ - Recognize a line ending in a bare trailing backslash as an interactive
269
+ continuation request. Previously, typing `echo hi \` and pressing Enter ran
270
+ it immediately as `echo`, `hi`, `\` instead of showing the PS2 prompt and
271
+ waiting for the next line, because the interactive line-by-line `pending`
272
+ buffer only had the lone `\` at that point — the following `\n` that the
273
+ existing backslash-newline splice looks for hadn't been typed yet.
274
+
275
+ ## [0.1.11] - 2026-08-28
276
+
277
+ ### Added
278
+
279
+ - Add a `tac` PATH-fallback builtin for reversing newline-delimited records
280
+ from files or stdin while preserving their bytes and separators.
281
+ - Add asset-backed `-h` and `--help` output for documented regular and fallback
282
+ builtins. Help lives as Markdown under `help/`, starts at level-two headings,
283
+ and renders through `Bun.markdown.ansi` with terminal hyperlinks enabled.
284
+ - Add the `catfancy` PATH-fallback builtin. Previewable data formats are
285
+ parsed and emitted as colorized pretty JSON; Markdown is rendered with
286
+ `Bun.markdown.ansi` and hyperlinks enabled, while unrecognized formats pass
287
+ through unchanged.
288
+
289
+ ### Fixed
290
+
291
+ - Normalize CRLF source to LF at every shell-language input boundary, covering
292
+ script files, stdin, `-c`, interactive continuation, command substitutions,
293
+ compound syntax, quoted text, and here-documents. A standalone carriage
294
+ return remains untouched.
295
+ - Treat backslash followed by either LF or CRLF as a line continuation before
296
+ token recognition. This supports indented multi-line command invocations
297
+ without introducing empty arguments, including `enter_rootfs.sh`-style
298
+ multi-line `exec` commands.
299
+ - Stream top-level compound-command output directly to the terminal. An
300
+ interactive program launched by `exec` inside `if`, loops, or other compound
301
+ syntax previously inherited stdin but had stdout and stderr buffered until
302
+ it exited, making an entered rootfs appear to hang with a blank screen.
303
+
304
+ ## [0.1.10] - 2026-08-27
305
+
306
+ ### Added
307
+
308
+ - Add `<<`/`<<-` here-documents. An unquoted, unescaped delimiter expands
309
+ parameters, command substitution, and arithmetic in the body like a
310
+ double-quoted string; a quoted or backslash-escaped delimiter (`<<'EOF'`,
311
+ `<<\EOF`) leaves it literal. `<<-` strips leading tabs from the body and the
312
+ terminator. Here-documents work on plain command lines, in pipelines, across
313
+ multiple heredocs on one command, and inside `if`/`while`/`for`/`case`
314
+ bodies. Like dash and bash, a script that ends before the terminator line
315
+ appears uses whatever was read as the body instead of raising a syntax
316
+ error.
317
+ - Add `<<<` here-strings, matching mksh's `DOHERESTR | DOSCALAR` word
318
+ expansion: parameter, command, and arithmetic substitution run, but there is
319
+ no field splitting, pathname expansion, or tilde expansion, and a trailing
320
+ newline is appended before the word becomes stdin.
321
+ - Fix an unrelated pre-existing crash surfaced while adding here-documents: any
322
+ tokenizer syntax error (for example an unterminated quote) raised while
323
+ probing whether a script uses compound (`if`/`while`/`for`/`case`) syntax
324
+ used to escape as an unhandled exception instead of the usual
325
+ `bunmsh: syntax error: ...` message.
326
+ - Show mksh's `PS2` continuation prompt (default `"> "`) in interactive mode
327
+ while a here-document, an open quote/substitution, or an unfinished
328
+ `if`/`while`/`for`/`case` body is still being typed, instead of running each
329
+ line on its own as soon as Enter is pressed. Ctrl-C during a continuation
330
+ discards it and returns to the primary prompt; Ctrl-D runs whatever was
331
+ typed so far — the same leniency the non-interactive here-document fallback
332
+ above already has — and then keeps the shell running (Node's `readline`
333
+ closes itself on an empty-line Ctrl-D, so this transparently rebuilds it),
334
+ the same as mksh, instead of exiting the whole session.
335
+ - `lsfancy -l` now shows a symlink's target (`link -> target`), including a
336
+ broken one, matching real `ls` — this was missing from both `lsfancy` and
337
+ the Bun Shell `ls` fallback it is compared against. Reading it works the
338
+ same way on Windows as on POSIX platforms.
339
+ - Give a symlink whose target does not resolve (missing, or a cycle) a
340
+ distinct đŸšĢ icon instead of the normal 🔗, in both the plain and `-l`
341
+ listing forms.
342
+ - With mouse tracking enabled, clicking inside the line currently being typed
343
+ now moves the cursor there (accounting for the active prompt's own width
344
+ and wrapping, including multi-line/multi-tab prompts and the `PS2`
345
+ continuation prompt), the same as clicking inside a text field, instead of
346
+ only reacting to clicks on tabs. Clicking past the end of the typed text
347
+ moves the cursor to the end of the line rather than doing nothing.
348
+ - Add `-S` (sort by size, largest first), `-1` (force one entry per line,
349
+ even in a terminal), and `-F` (append a classify suffix — `/` directory,
350
+ `@` symlink, `*` executable, `=` socket, `|` FIFO) to `lsfancy`, all
351
+ combinable with the existing flags (`-lSF`, etc.).
352
+ - Save history automatically — every 60s, once more on exit, and once more
353
+ on SIGTERM/SIGHUP — by appending only this session's own new commands to a
354
+ JSON Lines history file, never rewriting it, so several bunmsh sessions
355
+ saving around the same time can no longer overwrite each other's history.
356
+ `tab s`/`tab save` trigger the same append immediately; the new `tab s d`/
357
+ `tab save dedupe` is a separate, explicit whole-file rewrite that drops
358
+ duplicate commands and reports if another session's write raced it. A
359
+ history file saved in the previous single-JSON-array format is still read
360
+ correctly and is silently upgraded to JSON Lines the next time anything
361
+ is saved.
362
+ - Catch SIGTERM and SIGHUP in interactive mode instead of leaving them at
363
+ the default disposition (which killed bunmsh immediately, before it could
364
+ save anything). Receiving either while waiting at the prompt now flushes
365
+ history and exits with the conventional 128+signal status; while a
366
+ foreground command owns the terminal, it flushes history immediately and
367
+ exits once that command finishes on its own, since there is no
368
+ job-control layer yet to also stop the command itself.
369
+
370
+ ### Changed
371
+
372
+ - `tab s`/`tab save` (with no `d`/`dedupe`) no longer removes duplicate
373
+ commands as a side effect of saving — it now only appends, matching how
374
+ most shells' history files work. Use the new `tab s d`/`tab save dedupe`
375
+ to remove duplicates explicitly.
376
+ - The `ls` fallback builtin (used when no PATH `ls` is found, e.g. on
377
+ Windows, or under `--builtin-only`) is now `lsfancy` instead of Bun Shell's
378
+ own `ls`, since it now covers more real `ls` behavior (working `-h`/`-t`/
379
+ `-r`, a symlink's target, alphabetical default order) than Bun Shell's
380
+ version does. Bun Shell's `ls` is still reachable, renamed to `lsbun`.
381
+ `lsfancy` itself is unchanged and still callable under its own name.
382
+
383
+ ### Fixed
384
+
385
+ - Fix an unrelated pre-existing hang found while working on the above: a
386
+ pipeline whose downstream stage closes early (`yes | head -n 3`) could
387
+ leave the killed upstream stage's own output-forwarding stuck forever —
388
+ Bun never releases the reader lock it holds on that pipeline link's read
389
+ side once the stage reading it has exited, so a write already in flight
390
+ into it backpressures permanently and cannot be canceled from outside.
391
+ That write is now abandoned instead of waited on once the downstream stage
392
+ is known to be done, and the shell forces its own exit once a script or
393
+ `-c` command finishes rather than leaving that abandoned operation to keep
394
+ the process running forever.
395
+ - Fix `lsfancy -l` showing every file's modification time in UTC instead of
396
+ local time (it built the column from `Date.prototype.toISOString()`, which
397
+ is always UTC) — a pre-existing bug, not something the symlink-target work
398
+ above introduced.
399
+
400
+ ## [0.1.9] - 2026-08-27
401
+
402
+ ### Added
403
+
404
+ - Render Markdown previews in `serve` with heading anchors, passing
405
+ `{ headings: true }` to `Bun.markdown.html`, so long documents get linkable
406
+ section ids.
407
+ - Document `serve` in its own README section, pulled out of the fallback
408
+ builtin table: port selection and its fallback, the `q`/`quit`/`exit` and `o`
409
+ controls, exit codes, directory listings and previews, and the
410
+ non-interactive forms such as `bmsh -cc builtin serve <directory>` that start
411
+ it from another shell or a script.
412
+ - Document packing a folder into a single executable without a source
413
+ checkout — `npx bunmsh --build-exe --asset /absolute/path/mysite`, then
414
+ `bmsh -cc builtin serve 'B:/~BUN/mysite'` — including the absolute-path
415
+ requirement, the PowerShell and `cmd.exe` spellings, and the trade-off
416
+ against the `package.json` `assets` route, which is what makes the same file
417
+ readable through `readAssetText` from a checkout and from the binary.
418
+ - Document that `serve` always answers a directory with its listing rather than
419
+ the directory's `index.html`, and point site hosting at `npx serve` or Bun
420
+ 1.4's `{ dir }` routes, which do send it.
421
+ - Document that HTTP Range is not honoured for files inside a compiled binary:
422
+ Bun answers those with the whole body and a `200`.
423
+
424
+ ## [0.1.8] - 2026-08-27
425
+
426
+ ### Added
427
+
428
+ - Add the `serve [directory]` fallback builtin and standalone `serve.js` as a
429
+ minimal replacement for `python3 -m http.server`. It provides live directory
430
+ listings, reflects filesystem changes, and serves whole `Bun.file` responses
431
+ with Bun's native HTTP Range support.
432
+ - Add `🔍` preview links to `serve` directory pages. Markdown is rendered by
433
+ `Bun.markdown.html`; JSON, JSON5, JSONC, JSONL/NDJSON, YAML, and TOML are
434
+ parsed by their corresponding runtime parser and pretty-printed as HTML.
435
+ XML is also previewed when the running Bun provides `Bun.XML.parse`.
436
+ - Add basic syntax colouring to structured-data previews, following the
437
+ statement, string, escape, number, and constant groups from jsmdcui's
438
+ `runtime/syntax/json.yaml` after parser output is pretty-printed as JSON.
439
+ - Add interactive `serve` controls: `q`, `quit`, and `exit` stop the server,
440
+ while `o` opens its URL through `xdg-open`.
441
+ - Accept both `/$bunfs/...` and `B:/~BUN/...` serve paths on every platform,
442
+ translating either spelling through the compiled module's
443
+ `import.meta.dirname` to the bunfs mount accepted by the current runtime.
444
+
445
+ ### Fixed
446
+
447
+ - Keep `serve` running after malformed preview data or any other uncaught
448
+ request-handler exception; parser failures return 422 and the outer request
449
+ boundary converts unexpected failures to an isolated HTTP 500 response.
450
+ - Prevent Termux foreground/resume terminal resize events from repainting the
451
+ shell's cwd prompt over a running server or other foreground command.
452
+ - Keep the interactive shell alive when Ctrl-C interrupts the prompt or a
453
+ foreground `serve`. Like mksh, SIGINT now abandons the current operation and
454
+ returns to a fresh prompt; Ctrl-D on an empty input remains the way to send
455
+ EOF and leave the shell.
456
+
457
+ ## [0.1.5] - 2026-08-26
458
+
459
+ ### Added
460
+
461
+ - Mark shell-inserted line endings with `â†Šī¸`, making the exact boundary of a
462
+ command's output visible when the command does not emit a trailing newline.
463
+ - Document this marker under **Special Interactions → Terminal behavior**.
464
+
465
+ ### Fixed
466
+
467
+ - Preserve the final line of any interactive command whose output has no
468
+ trailing newline, including streamed external commands such as
469
+ `printf hello`. bunmsh now queries the terminal cursor before repainting the
470
+ prompt and only inserts a marked newline when the cursor remains mid-line.
471
+
472
+ ## [0.1.4] - 2026-08-26
473
+
474
+ ### Added
475
+
476
+ - Added `Alt-P` as a second shortcut for `builtin lsfancy ..`, matching
477
+ `Alt-U` and listing the Parent (upper) folder without changing cwd or
478
+ discarding the current edit buffer.
479
+
480
+ ### Fixed
481
+
482
+ - Preserve short `Alt-L`, `Alt-U`, `Alt-P`, and tab-double-click `lsfancy`
483
+ output when readline redraws the prompt. A two-line prompt previously moved
484
+ upward and erased a one-line listing, which was especially visible for the
485
+ parent of the Termux home directory.
486
+ - Derive `HOME` on Windows from `USERPROFILE`, or from `HOMEDRIVE` plus
487
+ `HOMEPATH`, when the environment does not define it. Bare `cd`, `~`, `$HOME`,
488
+ prompt home shortening, and child environments now share a usable home path.
489
+ - Normalise Windows HOME paths to forward slashes and compare HOME/cwd without
490
+ case sensitivity when deciding whether a prompt path should use `~`.
491
+ - Treat Android's `/data/data/PACKAGE` and `/data/user/0/PACKAGE` app-sandbox
492
+ paths as equivalent for prompt home shortening, so Termux HOME and its
493
+ descendants display as `~` even when HOME and cwd use different aliases.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Dr. John (é†Ģč€…å°æ™ē)
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,58 @@
1
+ Terms and Conditions - micro syntax rules and colour scheme
2
+ ===========================================================
3
+
4
+ bunmsh does not bundle any file from micro, the Go terminal editor at
5
+ https://github.com/zyedidia/micro. What it derives from micro is:
6
+
7
+ * The shell-syntax highlighting rules `pspac` applies to the COMMAND column
8
+ of its process listing. The patterns and word lists of micro's
9
+ `runtime/syntax/sh.yaml` — keywords, command names, flags, variables,
10
+ strings, comments — and the order they resolve in were transcribed into
11
+ `src/shell.js`.
12
+
13
+ * The colours those classes are painted in, which are the colour-links of
14
+ micro's `runtime/colorschemes/monokai.micro`, transcribed into the same
15
+ file. `src/cat-fancy.js` takes five of the same colour-links for the
16
+ JSON it colours.
17
+
18
+ Both come from micro's own tree — `runtime/syntax/sh.yaml` and
19
+ `runtime/colorschemes/monokai.micro` — and that is where to trace this
20
+ licence from: `runtime/syntax/LICENSE` and `LICENSE` in
21
+ https://github.com/zyedidia/micro.
22
+
23
+ Micro's syntax files are licensed under the MIT "Expat" License:
24
+
25
+ Copyright (c) 2020: Zachary Yedidia, et al.
26
+
27
+ Micro itself, which its colour schemes are part of, carries the same licence:
28
+
29
+ Copyright (c) 2016-2020: Zachary Yedidia, et al.
30
+
31
+ Permission is hereby granted, free of charge, to any person obtaining
32
+ a copy of this software and associated documentation files (the
33
+ "Software"), to deal in the Software without restriction, including
34
+ without limitation the rights to use, copy, modify, merge, publish,
35
+ distribute, sublicense, and/or sell copies of the Software, and to
36
+ permit persons to whom the Software is furnished to do so, subject to
37
+ the following conditions:
38
+
39
+ The above copyright notice and this permission notice shall be
40
+ included in all copies or substantial portions of the Software.
41
+
42
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
43
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
44
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
45
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
46
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
47
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
48
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
49
+
50
+ Further attribution
51
+ -------------------
52
+
53
+ micro's `runtime/syntax/README.md` records that its syntax files originate
54
+ from Nano's `nanorc` collection (https://github.com/scopatz/nanorc), converted
55
+ to micro's own format.
56
+
57
+ The Monokai palette that `monokai.micro` renders was created by Wimer
58
+ Hazenberg.