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,2237 @@
1
+ ## alias
2
+
3
+ Define or print aliases.
4
+
5
+ ### Usage
6
+
7
+ ```sh
8
+ alias [NAME[=VALUE] ...]
9
+ ```
10
+
11
+ ### Example
12
+
13
+ ```sh
14
+ alias ll='builtin lsfancy -l'
15
+ alias ll
16
+ ```
17
+
18
+ Output:
19
+
20
+ ```text
21
+ ll='builtin lsfancy -l'
22
+ ```
23
+ ## basename
24
+
25
+ Remove directory components and an optional suffix.
26
+
27
+ ### Usage
28
+
29
+ ```sh
30
+ basename [--] STRING [SUFFIX]
31
+ ```
32
+
33
+ ### Options and forms
34
+
35
+ - `--`: Stop option parsing, allowing a string beginning with `-`.
36
+ - `SUFFIX`: Remove this exact suffix when it is present and is not the whole basename.
37
+
38
+ ### Example
39
+
40
+ ```sh
41
+ basename /usr/local/bin/bun
42
+ ```
43
+
44
+ Output:
45
+
46
+ ```text
47
+ bun
48
+ ```
49
+
50
+ Suffix example:
51
+
52
+ ```sh
53
+ basename archive.tar.gz .gz
54
+ ```
55
+
56
+ Output:
57
+
58
+ ```text
59
+ archive.tar
60
+ ```
61
+ ## builtin
62
+
63
+ Run a registered builtin explicitly; with no command, list builtin names.
64
+
65
+ ### Usage
66
+
67
+ ```sh
68
+ builtin [--] [COMMAND [ARG ...]]
69
+ ```
70
+
71
+ ### Options and forms
72
+
73
+ - `--`: Stop builtin's own option parsing before the command name.
74
+
75
+ ### Example
76
+
77
+ ```sh
78
+ builtin echo hello
79
+ ```
80
+
81
+ Output:
82
+
83
+ ```text
84
+ hello
85
+ ```
86
+ ## bun
87
+
88
+ Invoke the active Bun runtime.
89
+
90
+ ### Usage
91
+
92
+ ```sh
93
+ bun [ARG ...]
94
+ ```
95
+
96
+ ### Options and forms
97
+
98
+ All arguments are forwarded unchanged to the active Bun runtime. Bun's
99
+ supported flags depend on that runtime version; run the external `bun --help`
100
+ when its own complete CLI reference is required.
101
+
102
+ ### Example
103
+
104
+ ```sh
105
+ bun --version
106
+ ```
107
+
108
+ Output:
109
+
110
+ ```text
111
+ 1.4.0
112
+ ```
113
+ ## bunmsh
114
+
115
+ Invoke the active bunmsh entry point.
116
+
117
+ ### Usage
118
+
119
+ ```sh
120
+ bunmsh [ARG ...]
121
+ ```
122
+
123
+ ### Options and forms
124
+
125
+ - `SCRIPT [ARG ...]`: Execute a shell script file.
126
+ - `-c SOURCE [ARG ...]`: Parse and execute shell source text.
127
+ - `-cc COMMAND [ARG ...]`: Execute argv directly without shell parsing or expansion.
128
+ - `-i`: Enter interactive mode after any requested command or script.
129
+ - `--mouse`: Enable terminal mouse events.
130
+ - `--builtin-only`: Disable PATH lookup while retaining builtins.
131
+ - `-V`, `--version`: Print the bunmsh version.
132
+ - `--readme`: Render the bundled README.
133
+ - `--changelog`: Render the bundled changelog.
134
+ - `--build-exe`: Build `./bmsh` for the current platform.
135
+ - `--build-for TARGET`: Cross-compile `./bmsh` for a target.
136
+ - `--`: Stop option parsing before a script path.
137
+
138
+ ### Tar-backend asset controls
139
+
140
+ These options currently work only with the tar asset backend. They are not
141
+ available to builds that embed the asset directory directly with Bun's
142
+ `--asset` backend. See [single-exe/README.md](../single-exe/README.md) for the
143
+ backend comparison, build setup, and extraction layout.
144
+
145
+ - `--assets-list`: List embedded asset paths and exit.
146
+ - `--assets-extract`: Extract embedded assets beside the executable and exit.
147
+ - `--assets-external`: Ignore embedded assets and read the extracted files.
148
+
149
+ ### Example
150
+
151
+ ```sh
152
+ bunmsh -c 'echo hello'
153
+ ```
154
+
155
+ Output:
156
+
157
+ ```text
158
+ hello
159
+ ```
160
+ ## cat
161
+
162
+ Concatenate files or stdin.
163
+
164
+ ### Usage
165
+
166
+ ```sh
167
+ cat [--exclude PATTERN]... [--] [FILE ...]
168
+ ```
169
+
170
+ ### Options and forms
171
+
172
+ - `--`: Stop option parsing.
173
+ - `--exclude PATTERN`/`--exclude=PATTERN`: Omit matching file operands using
174
+ `Bun.Glob` patterns. Repeat the option to exclude more patterns; quote a
175
+ pattern to prevent the shell from expanding it first.
176
+ - `-`: Read from stdin at that operand position. No other options are supported.
177
+
178
+ ### Example
179
+
180
+ ```sh
181
+ printf 'alpha\n' > alpha.txt
182
+ printf 'beta\n' > beta.txt
183
+ builtin cat --exclude 'alpha.*' *.txt
184
+ ```
185
+
186
+ Output:
187
+
188
+ ```text
189
+ beta
190
+ ```
191
+ ## catfancy
192
+
193
+ Render Markdown and colorized parsed structured data; pass other formats through.
194
+
195
+ ### Usage
196
+
197
+ ```sh
198
+ catfancy [--exclude PATTERN]... [--] [FILE ...]
199
+ ```
200
+
201
+ ### Options and forms
202
+
203
+ - `--`: Stop option parsing.
204
+ - `--exclude PATTERN`/`--exclude=PATTERN`: Omit matching file operands using
205
+ `Bun.Glob` patterns. Repeat the option to exclude more patterns; quote a
206
+ pattern to prevent the shell from expanding it first.
207
+ - `-`: Read unformatted stdin; file previews are selected from filename extensions.
208
+ - `.js`/`.mjs`/`.cjs`/`.jsx` and `.ts`/`.mts`/`.cts`/`.tsx` files are wrapped
209
+ in a fenced ` ```javascript `/` ```typescript ` block and rendered through
210
+ `Bun.markdown.ansi`, for the same syntax coloring Markdown code blocks get.
211
+
212
+ ### Example
213
+
214
+ ```sh
215
+ builtin catfancy package.json
216
+ ```
217
+
218
+ Output:
219
+
220
+ ```text
221
+ {
222
+ "name": "bunmsh",
223
+ "version": "0.1.10"
224
+ } # colorized
225
+ ```
226
+ ## cd
227
+
228
+ Change directory; cd - returns to the previous directory.
229
+
230
+ ### Usage
231
+
232
+ ```sh
233
+ cd [DIRECTORY]
234
+ ```
235
+
236
+ ### Example
237
+
238
+ ```sh
239
+ cd /tmp
240
+ pwd
241
+ ```
242
+
243
+ Output:
244
+
245
+ ```text
246
+ /tmp
247
+ ```
248
+ ## chmod
249
+
250
+ Change modes using octal values, +x, or a+x.
251
+
252
+ ### Usage
253
+
254
+ ```sh
255
+ chmod MODE FILE ...
256
+ ```
257
+
258
+ ### Options and forms
259
+
260
+ - Octal modes such as `755` set all permission bits.
261
+ - `+x` and `a+x` add executable bits.
262
+
263
+ ### Example
264
+
265
+ ```sh
266
+ chmod +x script.sh
267
+ builtin test -x script.sh; echo $?
268
+ ```
269
+
270
+ Output:
271
+
272
+ ```text
273
+ 0
274
+ ```
275
+ ## clear
276
+
277
+ Clear the terminal.
278
+
279
+ ### Usage
280
+
281
+ ```sh
282
+ clear
283
+ ```
284
+
285
+ ### Example
286
+
287
+ ```sh
288
+ clear
289
+ ```
290
+
291
+ Output:
292
+
293
+ ```text
294
+ (terminal screen is cleared)
295
+ ```
296
+ ## :
297
+
298
+ Do nothing and return success.
299
+
300
+ ### Usage
301
+
302
+ ```sh
303
+ : [ARG ...]
304
+ ```
305
+
306
+ ### Example
307
+
308
+ ```sh
309
+ : ignored
310
+ echo $?
311
+ ```
312
+
313
+ Output:
314
+
315
+ ```text
316
+ 0
317
+ ```
318
+ ## command
319
+
320
+ Run or inspect a command while bypassing aliases.
321
+
322
+ ### Usage
323
+
324
+ ```sh
325
+ command [-pVv] COMMAND [ARG ...]
326
+ ```
327
+
328
+ ### Options and forms
329
+
330
+ - `-p`: Use bunmsh's default command PATH.
331
+ - `-v`: Print a concise lookup result.
332
+ - `-V`: Print a verbose lookup description.
333
+
334
+ ### Example
335
+
336
+ ```sh
337
+ command -V echo
338
+ ```
339
+
340
+ Output:
341
+
342
+ ```text
343
+ echo is a shell builtin
344
+ ```
345
+ ## cp
346
+
347
+ Copy files and directories.
348
+
349
+ ### Usage
350
+
351
+ ```sh
352
+ cp [-rRv] SOURCE ... DESTINATION
353
+ ```
354
+
355
+ ### Options and forms
356
+
357
+ - `-r`, `-R`: Copy directories recursively (`-r` is translated to Bun Shell's `-R`).
358
+ - `-v`: Request verbose output.
359
+ - `-n`: Accepted by Bun Shell but currently does not prevent overwriting.
360
+
361
+ ### Example
362
+
363
+ ```sh
364
+ cp source.txt copy.txt
365
+ cat copy.txt
366
+ ```
367
+
368
+ Output:
369
+
370
+ ```text
371
+ hello
372
+ ```
373
+ ## curl
374
+
375
+ Transfer a URL over HTTP or HTTPS, built on Bun's own `fetch`.
376
+
377
+ This is a **fallback builtin**: a real `curl` found on `PATH` always wins, so
378
+ scripts keep the system binary where there is one and still run on a device
379
+ that has none. `builtin curl` selects this implementation explicitly.
380
+
381
+ ### Usage
382
+
383
+ ```sh
384
+ curl [OPTIONS] URL...
385
+ ```
386
+
387
+ A URL with no scheme gets one: `http://` by default, `https://` when the port
388
+ is `443`, or whatever `--proto-default` says. So `curl localhost:8080` and
389
+ `curl example.com/page` work the way they do with the real curl. Only `http`
390
+ and `https` are supported; anything else fails with exit code `1`.
391
+
392
+ ### Options and forms
393
+
394
+ #### Output and files
395
+
396
+ - `-o, --output FILE`: Write the body to `FILE` instead of stdout. `-o -`
397
+ means stdout. Repeat it to pair one target with each URL, in order.
398
+ - `-O, --remote-name`: Save under the filename from the URL path.
399
+ - `--remote-name-all`: Treat every URL as if it had its own `-O`.
400
+ - `-J, --remote-header-name`: With `-O`, prefer the name in the
401
+ `Content-Disposition` header.
402
+ - `--output-dir DIR`: Write `-o`/`-O` files under `DIR`.
403
+ - `--create-dirs`: Create missing parent directories for the output file.
404
+ - `-a, --append`: Append to the output file instead of truncating it.
405
+ - `-C, --continue-at OFFSET|-`: Resume a partial download. `-` sizes the
406
+ existing file and asks for the rest with a `Range` header; the file is
407
+ appended to when the server answers `206`, and rewritten when it answers
408
+ `200` and ignored the range. A `416` answer means the local file is already
409
+ complete: nothing is written and the exit status is `0`.
410
+ - `-D, --dump-header FILE`: Write the response headers to `FILE` (`-` for
411
+ stdout).
412
+ - `-i, --include`: Print the response headers before the body. With `-L`,
413
+ every hop's headers are printed, as the real curl does.
414
+ - `-I, --head`: Send `HEAD` and print the response headers.
415
+ - `-w, --write-out FORMAT`: Print `FORMAT` after the transfer, with
416
+ `%{variable}` substitutions and `\n`, `\t`, `\r` escapes. `@FILE` (or `@-`)
417
+ reads the format from a file. Supported variables: `url`, `url_effective`,
418
+ `method`, `scheme`, `http_code`, `response_code`, `http_version`,
419
+ `num_redirects`, `num_headers`, `redirect_url`, `size_download`,
420
+ `size_upload`, `size_header`, `size_request`, `speed_download`,
421
+ `speed_upload`, `content_type`, `filename_effective`, `remote_ip`,
422
+ `remote_port`, `ssl_verify_result`, `exitcode`, `errormsg`, `time_total`,
423
+ `time_namelookup`, `time_connect`, `time_appconnect`, `time_pretransfer`,
424
+ `time_starttransfer`, `time_redirect`, `header_json`, `json`, `stdout`,
425
+ `stderr`.
426
+
427
+ #### Request shaping
428
+
429
+ - `-X, --request METHOD`: Set the request method.
430
+ - `-H, --header 'Name: value'`: Add or replace a header. `'Name;'` sends an
431
+ empty value; `'Name:'` removes a header that would otherwise be sent.
432
+ - `-d, --data DATA`, `--data-ascii DATA`: `POST` body; `@file` reads a file
433
+ (newlines stripped) and `@-` reads stdin. Repeats join with `&`.
434
+ - `--data-raw DATA`: Same, but `@` has no special meaning.
435
+ - `--data-binary DATA`: Same, but a `@file` is sent byte for byte.
436
+ - `--data-urlencode DATA`: Percent-encode before sending. Accepts `content`,
437
+ `=content`, `name=content`, `@file`, and `name@file`.
438
+ - `--json DATA`: `--data-binary` plus `Content-Type: application/json` and
439
+ `Accept: application/json`. `@file` and `@-` work here too.
440
+ - `-G, --get`: Move the data onto the query string and send `GET`.
441
+ - `-F, --form 'name=value'`, `--form-string`: `multipart/form-data`. `@file`
442
+ attaches a file, `<file` sends its contents as the field value, and
443
+ `;type=` / `;filename=` set the part's type and name.
444
+ - `-T, --upload-file FILE`: `PUT` the file (`-` reads stdin).
445
+ - `-u, --user USER[:PASSWORD]`: HTTP basic authentication.
446
+ - `--oauth2-bearer TOKEN`: Send `Authorization: Bearer TOKEN`.
447
+ - `-A, --user-agent NAME`: Override the default `curl/8.14.1`.
448
+ - `-e, --referer URL`: Send a `Referer` header; a trailing `;auto` is ignored.
449
+ - `-b, --cookie 'k=v'`: Send a `Cookie` header.
450
+ - `-r, --range RANGE`: Send `Range: bytes=RANGE`.
451
+ - `--compressed`: Ask for and transparently decode a compressed response.
452
+ Without it, no `Accept-Encoding` is negotiated, matching curl's default.
453
+ - `-x, --proxy URL`: Send the request through a proxy.
454
+
455
+ #### Redirects, failure, and timing
456
+
457
+ - `-L, --location`: Follow redirects. `301`/`302`/`303` turn a `POST` into a
458
+ `GET`; `307`/`308` keep the method and body. `Authorization` is dropped when
459
+ the host changes, unless `--location-trusted` is given.
460
+ - `--max-redirs N`: Cap the redirect chain (default 50, `-1` for unlimited).
461
+ Exceeding it fails with exit code `47`.
462
+ - `-f, --fail`: No body output on HTTP errors; exit `22` instead.
463
+ - `--fail-with-body`: Print the body and still exit `22`.
464
+ - `-k, --insecure`: Do not verify the server certificate.
465
+ - `-m, --max-time SECONDS`, `--connect-timeout SECONDS`: Abort a slow
466
+ transfer with exit code `28`.
467
+ - `--retry N`, `--retry-delay SECONDS`, `--retry-all-errors`,
468
+ `--retry-connrefused`: Retry connection failures, timeouts, and the
469
+ transient statuses `408`, `429`, `500`, `502`, `503`, and `504`.
470
+
471
+ #### Reporting
472
+
473
+ - `-s, --silent`: No progress meter and no error messages.
474
+ - `-S, --show-error`: Keep error messages while `-s` is in effect.
475
+ - `-#, --progress-bar`: A single-bar progress display instead of the meter.
476
+ - `--no-progress-meter`: Keep errors, drop the meter.
477
+ - `-v, --verbose`: Trace the request and response headers on stderr.
478
+ - `-V, --version`: Print the version banner.
479
+
480
+ Like the real curl, the progress meter is shown only when the body is *not*
481
+ being painted on the terminal — a `-o`/`-O` download or a redirected stdout
482
+ gets a meter, `curl URL` at a prompt does not.
483
+
484
+ #### Accepted and ignored
485
+
486
+ These are parsed so a script does not die on them, and then have no effect,
487
+ because `fetch` either handles that part itself or does not expose it:
488
+ `--cacert`, `--capath`, `-E/--cert`, `--key`, `--interface`, `--limit-rate`,
489
+ `--resolve`, `--connect-to`, `--unix-socket`, `--noproxy`, `--proxy-user`,
490
+ `--proxy-header`, `-n/--netrc`, `-c/--cookie-jar`, `-z/--time-cond`,
491
+ `-R/--remote-time`, `-N/--no-buffer` (output is always streamed anyway),
492
+ `-g/--globoff` (URL globbing is not performed, so `{}` and `[]` are already
493
+ literal), `-q/--disable`, `-4`, `-6`, `--http1.0`, `--http1.1`, `--http2`,
494
+ `--http3`, `--tlsv1.x`, `--tcp-nodelay`, `--keepalive`, `--anyauth`,
495
+ `--basic`, `--digest`, `-Z/--parallel`, `--max-filesize`, `--path-as-is`.
496
+
497
+ ### Where it differs from the system curl
498
+
499
+ - `fetch` reports header names in lower case, so `-i`, `-I`, `-D`, and `-v`
500
+ rebuild the conventional capitalisation (`Content-Type`, `ETag`) and list
501
+ the headers in `fetch`'s order rather than the server's wire order.
502
+ - The negotiated HTTP version is not exposed, so status lines are written as
503
+ `HTTP/1.1`.
504
+ - Bun adds a `Connection: keep-alive` request header of its own.
505
+ - The progress meter is a look-alike: same columns, not the same arithmetic.
506
+ - URL globbing (`{a,b}`, `[1-10]`) is not implemented.
507
+ - `fetch` forbids a body on `GET` and `HEAD`, so `-X GET -d ...` sends the
508
+ request without the data; use `-G` to put it on the query string instead.
509
+
510
+ ### Exit status
511
+
512
+ `0` on success, `1` unsupported protocol, `2` bad usage, `3` malformed URL,
513
+ `6` host not resolved, `7` connection failed, `22` HTTP error with `-f`,
514
+ `23` write error, `26` local file could not be read, `28` timeout,
515
+ `47` too many redirects, `56` connection reset, `60` certificate problem.
516
+
517
+ ### Example
518
+
519
+ ```sh
520
+ curl -s -o /dev/null -w '%{http_code} %{content_type}\n' example.com
521
+ ```
522
+
523
+ Output:
524
+
525
+ ```text
526
+ 200 text/html
527
+ ```
528
+
529
+ The invocations a package script tends to use:
530
+
531
+ ```sh
532
+ curl -kLO https://example.com/pkg.tar.gz
533
+ curl -C - -kLO https://example.com/pkg.tar.gz
534
+ curl -fsSL https://example.com/install.sh | sh
535
+ curl -#k https://example.com/pkg.tar.gz.sha256
536
+ curl -kfsS https://example.com/probe >/dev/null 2>/dev/null
537
+ curl localhost:8080
538
+ ```
539
+
540
+ Calling a JSON API — enough for the OpenAI chat completions endpoint:
541
+
542
+ ```sh
543
+ curl -sS https://api.openai.com/v1/chat/completions \
544
+ -H "Authorization: Bearer $OPENAI_API_KEY" \
545
+ -H 'Content-Type: application/json' \
546
+ -d '{"model":"gpt-4o-mini","messages":[{"role":"user","content":"hi"}]}'
547
+ ```
548
+
549
+ `--json` shortens that, and `-N` streaming responses arrive chunk by chunk:
550
+
551
+ ```sh
552
+ curl -sN --json @request.json https://api.openai.com/v1/chat/completions
553
+ ```
554
+ ## cut
555
+
556
+ Select character positions.
557
+
558
+ ### Usage
559
+
560
+ ```sh
561
+ cut -c LIST [FILE ...]
562
+ ```
563
+
564
+ ### Options and forms
565
+
566
+ - `-c LIST`, `-cLIST`: Select character positions or ranges such as `1-3,7`.
567
+
568
+ ### Example
569
+
570
+ ```sh
571
+ printf 'abcdef\n' | cut -c2-4
572
+ ```
573
+
574
+ Output:
575
+
576
+ ```text
577
+ bcd
578
+ ```
579
+ ## date
580
+
581
+ Print the current date.
582
+
583
+ ### Usage
584
+
585
+ ```sh
586
+ date [+FORMAT]
587
+ ```
588
+
589
+ ### Options and forms
590
+
591
+ - Formats include `%Y` year, `%m` month, `%d` day, `%H` hour, `%M` minute, `%S` second, `%s` Unix time, `%F` date, `%T` time, and `%%` percent.
592
+
593
+ ### Example
594
+
595
+ ```sh
596
+ date +%F
597
+ ```
598
+
599
+ Output:
600
+
601
+ ```text
602
+ 2026-08-28
603
+ ```
604
+ ## dirname
605
+
606
+ Print a path's directory component.
607
+
608
+ ### Usage
609
+
610
+ ```sh
611
+ dirname [--] STRING
612
+ ```
613
+
614
+ ### Options and forms
615
+
616
+ - `--`: Stop option parsing, allowing a string beginning with `-`.
617
+
618
+ ### Example
619
+
620
+ ```sh
621
+ dirname /usr/local/bin/bun
622
+ ```
623
+
624
+ Output:
625
+
626
+ ```text
627
+ /usr/local/bin
628
+ ```
629
+ ## echo
630
+
631
+ Write space-separated arguments.
632
+
633
+ ### Usage
634
+
635
+ ```sh
636
+ echo [-n] [ARG ...]
637
+ ```
638
+
639
+ ### Options and forms
640
+
641
+ - `-n`: Omit the trailing newline.
642
+
643
+ ### Example
644
+
645
+ ```sh
646
+ echo hello world
647
+ ```
648
+
649
+ Output:
650
+
651
+ ```text
652
+ hello world
653
+ ```
654
+ ## env
655
+
656
+ Print or modify the environment and optionally run a command.
657
+
658
+ ### Usage
659
+
660
+ ```sh
661
+ env [-i] [-u NAME] [NAME=VALUE ...] [COMMAND [ARG ...]]
662
+ ```
663
+
664
+ ### Options and forms
665
+
666
+ - `-i`, `--ignore-environment`: Start with an empty environment.
667
+ - `-u NAME`, `--unset NAME`, `--unset=NAME`: Remove a variable.
668
+ - `--`: Stop option parsing.
669
+
670
+ ### Example
671
+
672
+ ```sh
673
+ env NAME=value sh -c 'echo "$NAME"'
674
+ ```
675
+
676
+ Output:
677
+
678
+ ```text
679
+ value
680
+ ```
681
+ ## eval
682
+
683
+ Evaluate arguments as shell source.
684
+
685
+ ### Usage
686
+
687
+ ```sh
688
+ eval [ARG ...]
689
+ ```
690
+
691
+ ### Example
692
+
693
+ ```sh
694
+ code='echo evaluated'
695
+ eval "$code"
696
+ ```
697
+
698
+ Output:
699
+
700
+ ```text
701
+ evaluated
702
+ ```
703
+ ## exec
704
+
705
+ Run a command and terminate the current shell with its status.
706
+
707
+ ### Usage
708
+
709
+ ```sh
710
+ exec COMMAND [ARG ...]
711
+ ```
712
+
713
+ ### Example
714
+
715
+ ```sh
716
+ exec printf 'done\n'
717
+ ```
718
+
719
+ Output:
720
+
721
+ ```text
722
+ done
723
+ (shell exits with status 0)
724
+ ```
725
+ ## exit
726
+
727
+ Exit the current shell.
728
+
729
+ ### Usage
730
+
731
+ ```sh
732
+ exit [STATUS]
733
+ ```
734
+
735
+ ### Example
736
+
737
+ ```sh
738
+ exit 7
739
+ ```
740
+
741
+ Output:
742
+
743
+ ```text
744
+ (shell exits with status 7)
745
+ ```
746
+ ## export
747
+
748
+ Set or list environment variables.
749
+
750
+ ### Usage
751
+
752
+ ```sh
753
+ export [NAME[=VALUE] ...]
754
+ ```
755
+
756
+ ### Example
757
+
758
+ ```sh
759
+ export NAME=value
760
+ env | grep '^NAME='
761
+ ```
762
+
763
+ Output:
764
+
765
+ ```text
766
+ NAME=value
767
+ ```
768
+ ## false
769
+
770
+ Return failure.
771
+
772
+ ### Usage
773
+
774
+ ```sh
775
+ false
776
+ ```
777
+
778
+ ### Example
779
+
780
+ ```sh
781
+ false
782
+ echo $?
783
+ ```
784
+
785
+ Output:
786
+
787
+ ```text
788
+ 1
789
+ ```
790
+ ## find
791
+
792
+ Walk paths with name, path, type, depth, print, and -exec expressions.
793
+
794
+ ### Usage
795
+
796
+ ```sh
797
+ find [PATH ...] [EXPRESSION]
798
+ ```
799
+
800
+ ### Options and forms
801
+
802
+ - `-name`, `-iname`: Match a basename, optionally ignoring case.
803
+ - `-path`, `-ipath`: Match a path, optionally ignoring case.
804
+ - `-type f|d|l`: Select files, directories, or links.
805
+ - `-mindepth N`, `-maxdepth N`: Limit traversal depth.
806
+ - `-print`, `-print0`: Emit newline- or NUL-delimited paths.
807
+ - `!`, `-not`: Negate the following expression.
808
+ - `-exec COMMAND {} \;`: Run once per path.
809
+ - `-exec COMMAND {} +`: Run with batches of paths.
810
+
811
+ ### Example
812
+
813
+ ```sh
814
+ find . -type f -name '*.md'
815
+ ```
816
+
817
+ Output:
818
+
819
+ ```text
820
+ ./README.md
821
+ ./CHANGELOG.md
822
+ ```
823
+ ## getopts
824
+
825
+ Parse positional options.
826
+
827
+ ### Usage
828
+
829
+ ```sh
830
+ getopts OPTSTRING NAME [ARG ...]
831
+ ```
832
+
833
+ ### Options and forms
834
+
835
+ - A leading `:` in OPTSTRING selects silent error reporting.
836
+ - A letter followed by `:` requires an argument. Results use the named variable plus `OPTARG` and `OPTIND`.
837
+
838
+ ### Example
839
+
840
+ ```sh
841
+ set -- -a value
842
+ getopts a: option
843
+ echo "$option=$OPTARG"
844
+ ```
845
+
846
+ Output:
847
+
848
+ ```text
849
+ a=value
850
+ ```
851
+ ## grep
852
+
853
+ Search text with basic, extended, fixed, recursive, and color modes.
854
+
855
+ ### Usage
856
+
857
+ ```sh
858
+ grep [OPTIONS] PATTERN [FILE ...]
859
+ ```
860
+
861
+ ### Options and forms
862
+
863
+ - `-E`: Extended regular expressions.
864
+ - `-F`: Fixed-string matching.
865
+ - `-i`: Ignore case.
866
+ - `-q`: Quiet; return status only.
867
+ - `-v`: Invert matches.
868
+ - `-n`: Prefix line numbers.
869
+ - `-o`: Print only matched text.
870
+ - `-r`: Recurse into directories.
871
+ - `-x`: Match whole lines.
872
+ - `--color=always|auto|never`: Control match color; `--colour` is also accepted.
873
+
874
+ ### Example
875
+
876
+ ```sh
877
+ printf 'alpha\nbeta\n' | grep beta
878
+ ```
879
+
880
+ Output:
881
+
882
+ ```text
883
+ beta
884
+ ```
885
+ ## head
886
+
887
+ Write the first lines or bytes of input.
888
+
889
+ ### Usage
890
+
891
+ ```sh
892
+ head [-n N | -N | -c N | -cN] [FILE ...]
893
+ ```
894
+
895
+ ### Options and forms
896
+
897
+ - `-n N`, `-N`: Write the first N lines.
898
+ - `-c N`, `-cN`: Write the first N bytes.
899
+
900
+ ### Example
901
+
902
+ ```sh
903
+ printf 'one\ntwo\nthree\n' | head -n 2
904
+ ```
905
+
906
+ Output:
907
+
908
+ ```text
909
+ one
910
+ two
911
+ ```
912
+ ## kill
913
+
914
+ Send a signal to processes.
915
+
916
+ ### Usage
917
+
918
+ ```sh
919
+ kill [-SIGNAL] PID ...
920
+ ```
921
+
922
+ ### Options and forms
923
+
924
+ - `-SIGNAL`: Select a signal by name or number; the default is SIGTERM.
925
+ - `-0`: Check whether a process can be signalled without sending a signal.
926
+ - `-l`: List the signal names this runtime knows.
927
+
928
+ ### Windows
929
+
930
+ Windows has no signals to deliver. The runtime turns SIGTERM, SIGINT, and
931
+ SIGKILL into an unconditional `TerminateProcess`, refuses every other name,
932
+ and in no case touches the target's children. So on Windows every terminating
933
+ signal is sent as `taskkill /PID PID /T /F` instead: `/T` reaches the children
934
+ the runtime would leave running, and `/F` is what makes it work on a console
935
+ process that has no message loop to close.
936
+
937
+ The consequence is that the signal name is accepted but not honoured there —
938
+ `kill -HUP PID` terminates the process rather than failing, and nothing gets
939
+ the chance to shut down gracefully. `-0` is the exception: it asks whether the
940
+ PID exists without touching it, which `taskkill` cannot express, so it still
941
+ goes through the runtime.
942
+
943
+ ### Example
944
+
945
+ ```sh
946
+ kill -0 $$
947
+ echo $?
948
+ ```
949
+
950
+ Output:
951
+
952
+ ```text
953
+ 0
954
+ ```
955
+ ## ln
956
+
957
+ Create hard or symbolic links.
958
+
959
+ ### Usage
960
+
961
+ ```sh
962
+ ln [-sfT] TARGET LINK
963
+ ```
964
+
965
+ ### Options and forms
966
+
967
+ - `-s`: Create a symbolic link.
968
+ - `-f`: Replace an existing destination.
969
+ - `-T`: Treat the destination as a normal path, not a directory.
970
+
971
+ ### Example
972
+
973
+ ```sh
974
+ ln -s target.txt link.txt
975
+ readlink link.txt
976
+ ```
977
+
978
+ Output:
979
+
980
+ ```text
981
+ target.txt
982
+ ```
983
+ ## ls
984
+
985
+ Use the lsfancy emoji and terminal-width-aware listing.
986
+
987
+ ### Usage
988
+
989
+ ```sh
990
+ ls [-aAdlhRtrS1F] [PATH ...]
991
+ ```
992
+
993
+ Because `-h` means human-readable sizes, use `--help` to display this page.
994
+
995
+ ### Options and forms
996
+
997
+ - `-a`: Include `.` and `..` plus hidden entries.
998
+ - `-A`: Include hidden entries except `.` and `..`.
999
+ - `-d`: List directories themselves rather than their contents.
1000
+ - `-l`: Use long format.
1001
+ - `-h`: Show human-readable sizes; use `--help` for this page.
1002
+ - `-R`: Recurse into directories.
1003
+ - `-t`: Sort by modification time.
1004
+ - `-r`: Reverse the result order.
1005
+ - `-S`: Sort by size.
1006
+ - `-1`: Print one entry per line.
1007
+ - `-F`: Append classify suffixes such as `/`, `@`, and `*`.
1008
+
1009
+ ### Example
1010
+
1011
+ ```sh
1012
+ builtin ls -l README.md
1013
+ ```
1014
+
1015
+ Output:
1016
+
1017
+ ```text
1018
+ -rw-r--r-- 32221 2026-08-28 17:55 📄 README.md
1019
+ ```
1020
+ ## lsbun
1021
+
1022
+ Invoke Bun Shell's original ls implementation.
1023
+
1024
+ ### Usage
1025
+
1026
+ ```sh
1027
+ lsbun [OPTIONS] [PATH ...]
1028
+ ```
1029
+
1030
+ ### Options and forms
1031
+
1032
+ - `-a`: Include all entries.
1033
+ - `-A`: Include hidden entries except `.` and `..`.
1034
+ - `-d`: List directories themselves.
1035
+ - `-l`: Use long format.
1036
+ - `-R`: Recurse into directories.
1037
+
1038
+ ### Example
1039
+
1040
+ ```sh
1041
+ builtin lsbun README.md
1042
+ ```
1043
+
1044
+ Output:
1045
+
1046
+ ```text
1047
+ README.md
1048
+ ```
1049
+ ## lsfancy
1050
+
1051
+ List files with icons, columns, metadata, sorting, and recursion.
1052
+
1053
+ ### Usage
1054
+
1055
+ ```sh
1056
+ lsfancy [-aAdlhRtrS1F] [PATH ...]
1057
+ ```
1058
+
1059
+ Because `-h` means human-readable sizes, use `--help` to display this page.
1060
+
1061
+ ### Options and forms
1062
+
1063
+ - `-a`: Include `.` and `..` plus hidden entries.
1064
+ - `-A`: Include hidden entries except `.` and `..`.
1065
+ - `-d`: List directories themselves rather than their contents.
1066
+ - `-l`: Use long format, including symlink targets.
1067
+ - `-h`: Show human-readable sizes; use `--help` for this page.
1068
+ - `-R`: Recurse into directories.
1069
+ - `-t`: Sort by modification time.
1070
+ - `-r`: Reverse the result order.
1071
+ - `-S`: Sort by size.
1072
+ - `-1`: Print one entry per line.
1073
+ - `-F`: Append `/` for directories, `@` for links, `*` for executables, `=` for sockets, or `|` for FIFOs.
1074
+
1075
+ ### Example
1076
+
1077
+ ```sh
1078
+ builtin lsfancy -1 README.md
1079
+ ```
1080
+
1081
+ Output:
1082
+
1083
+ ```text
1084
+ 📄 README.md
1085
+ ```
1086
+ ## md5sum
1087
+
1088
+ Print MD5 hashes.
1089
+
1090
+ ### Usage
1091
+
1092
+ ```sh
1093
+ md5sum [FILE ...]
1094
+ ```
1095
+
1096
+ ### Example
1097
+
1098
+ ```sh
1099
+ printf hello | md5sum
1100
+ ```
1101
+
1102
+ Output:
1103
+
1104
+ ```text
1105
+ 5d41402abc4b2a76b9719d911017c592 -
1106
+ ```
1107
+ ## mkdir
1108
+
1109
+ Create directories with Bun Shell's fallback.
1110
+
1111
+ ### Usage
1112
+
1113
+ ```sh
1114
+ mkdir [-pv] [--parents] DIRECTORY ...
1115
+ ```
1116
+
1117
+ ### Options and forms
1118
+
1119
+ - `-p`, `--parents`: Create missing parent directories and accept existing directories.
1120
+ - `-v`, `--vebose`: Request verbose output (`--vebose` is Bun Shell's currently accepted spelling).
1121
+
1122
+ ### Example
1123
+
1124
+ ```sh
1125
+ mkdir -p build/output
1126
+ builtin test -d build/output; echo $?
1127
+ ```
1128
+
1129
+ Output:
1130
+
1131
+ ```text
1132
+ 0
1133
+ ```
1134
+ ## mktemp
1135
+
1136
+ Create a temporary file or directory; TEMPLATE ends in XXXXXX.
1137
+
1138
+ ### Usage
1139
+
1140
+ ```sh
1141
+ mktemp [-d] TEMPLATE
1142
+ ```
1143
+
1144
+ ### Options and forms
1145
+
1146
+ - `-d`: Create a directory instead of a file.
1147
+ - The template must end in exactly six `X` characters.
1148
+
1149
+ ### Example
1150
+
1151
+ ```sh
1152
+ mktemp sample.XXXXXX
1153
+ ```
1154
+
1155
+ Output:
1156
+
1157
+ ```text
1158
+ sample.a1B2c3
1159
+ ```
1160
+ ## mv
1161
+
1162
+ Move files with Bun Shell's fallback.
1163
+
1164
+ ### Usage
1165
+
1166
+ ```sh
1167
+ mv [OPTIONS] SOURCE ... DESTINATION
1168
+ ```
1169
+
1170
+ ### Options and forms
1171
+
1172
+ - `-f`, `-h`, `-i`, `-n`, `-v`: Currently accepted by Bun Shell but do not change behaviour; `-i` and `-n` do not prevent overwriting.
1173
+
1174
+ ### Example
1175
+
1176
+ ```sh
1177
+ mv old.txt new.txt
1178
+ basename new.txt
1179
+ ```
1180
+
1181
+ Output:
1182
+
1183
+ ```text
1184
+ new.txt
1185
+ ```
1186
+ ## print
1187
+
1188
+ Write arguments with mksh-style print semantics.
1189
+
1190
+ ### Usage
1191
+
1192
+ ```sh
1193
+ print [-rRnNl] [-uFD] [--] [ARG ...]
1194
+ ```
1195
+
1196
+ ### Options and forms
1197
+
1198
+ - `-r`, `-R`: Do not interpret backslash escapes.
1199
+ - `-n`: Omit the terminator.
1200
+ - `-l`: Separate arguments with newlines.
1201
+ - `-N`: Separate and terminate arguments with NUL bytes.
1202
+ - `-uFD`: Write to file descriptor 1 or 2; other descriptors are not implemented.
1203
+ - `--`: Stop option parsing.
1204
+
1205
+ ### Example
1206
+
1207
+ ```sh
1208
+ print hello world
1209
+ ```
1210
+
1211
+ Output:
1212
+
1213
+ ```text
1214
+ hello world
1215
+ ```
1216
+ ## printf
1217
+
1218
+ Format and write arguments.
1219
+
1220
+ ### Usage
1221
+
1222
+ ```sh
1223
+ printf FORMAT [ARG ...]
1224
+ ```
1225
+
1226
+ ### Options and forms
1227
+
1228
+ - Supported conversions are `%s`, `%d`, `%i`, `%%`, and optional numeric field widths; backslash escapes are also interpreted.
1229
+
1230
+ ### Example
1231
+
1232
+ ```sh
1233
+ printf '%s=%d\n' answer 42
1234
+ ```
1235
+
1236
+ Output:
1237
+
1238
+ ```text
1239
+ answer=42
1240
+ ```
1241
+ ## pspa
1242
+
1243
+ List every process as a PID and its full command line.
1244
+
1245
+ ### Usage
1246
+
1247
+ ```sh
1248
+ pspa
1249
+ ```
1250
+
1251
+ It is a PATH-fallback builtin, so an executable named `pspa` found in `PATH`
1252
+ wins; `builtin pspa` selects this implementation. It takes no options — pipe
1253
+ it into `grep` to narrow the listing, and into `kill` to act on what you find.
1254
+
1255
+ [`pspac`](#pspac) prints the same listing with the PID and the command line
1256
+ coloured.
1257
+
1258
+ On POSIX systems this is `ps -eo pid,args`, and its output is passed through
1259
+ untouched. Reading `ps` over a pipe is also what keeps the command lines
1260
+ whole: procps truncates them at the terminal width when it is writing straight
1261
+ to a terminal.
1262
+
1263
+ Windows has no `ps`, so the same two columns are queried from
1264
+ `Win32_Process` through PowerShell and laid out the same way, with the image
1265
+ name standing in for a system process that reports no command line.
1266
+
1267
+ ### Example
1268
+
1269
+ ```sh
1270
+ pspa | grep bun
1271
+ ```
1272
+
1273
+ Output:
1274
+
1275
+ ```text
1276
+ 1004 bun ./src/main.js
1277
+ 1220 bun run dev
1278
+ ```
1279
+ ## pspac
1280
+
1281
+ The `pspa` process listing, coloured.
1282
+
1283
+ ### Usage
1284
+
1285
+ ```sh
1286
+ pspac
1287
+ ```
1288
+
1289
+ It is a PATH-fallback builtin taking no options, and it lists exactly what
1290
+ [`pspa`](#pspa) lists — same processes, same two columns, same order. Strip
1291
+ the colour off its output and you have `pspa`'s byte for byte.
1292
+
1293
+ Like `catfancy`, it always colours rather than sniffing for a terminal, so the
1294
+ plain listing is always one command away: use `pspa` when the output is going
1295
+ somewhere that wants plain text.
1296
+
1297
+ ### What gets coloured
1298
+
1299
+ The PID is painted as the number it is. The COMMAND column is a shell command
1300
+ line, so it is highlighted as one, using micro's `syntax/sh.yaml` rules and
1301
+ its `colorschemes/monokai.micro` colours — the same palette `catfancy` uses,
1302
+ so a command line reads the same here as in a previewed script:
1303
+
1304
+ - Command names, shell keywords, flags, numbers, variables, quoted strings,
1305
+ and comments each take their own colour.
1306
+ - Quoted strings and comments are regions, so a `#` inside an argument does
1307
+ not turn the rest of the line into a comment.
1308
+ - Later rules win, exactly as in the editor: `--cat` is a flag, not the
1309
+ coreutils `cat`.
1310
+
1311
+ Two things a process listing needs that a script does not:
1312
+
1313
+ - The directory in front of the program is dimmed. It is the part an absolute
1314
+ path buries the answer in, and `ps` prints a lot of it.
1315
+ - The program's own name is coloured as a command whether or not sh.yaml's
1316
+ word lists have heard of it — the file has to guess a command from a list,
1317
+ while here the first token is known to be one.
1318
+
1319
+ A kernel thread such as `[kworker/0:1]` has no program, path, or arguments to
1320
+ take apart, so it recedes as a whole.
1321
+
1322
+ ### Example
1323
+
1324
+ ```sh
1325
+ pspac
1326
+ ```
1327
+
1328
+ Output:
1329
+
1330
+ ```text
1331
+ PID COMMAND
1332
+ 1 /init
1333
+ 8824 /data/data/com.termux/files/usr/bin/bash -l
1334
+ 8955 bun run dev
1335
+ ```
1336
+ ## pwd
1337
+
1338
+ Print the active directory.
1339
+
1340
+ ### Usage
1341
+
1342
+ ```sh
1343
+ pwd
1344
+ ```
1345
+
1346
+ ### Example
1347
+
1348
+ ```sh
1349
+ pwd
1350
+ ```
1351
+
1352
+ Output:
1353
+
1354
+ ```text
1355
+ /data/data/com.termux/files/home
1356
+ ```
1357
+ ## read
1358
+
1359
+ Read a line into shell variables.
1360
+
1361
+ ### Usage
1362
+
1363
+ ```sh
1364
+ read [-r] NAME ...
1365
+ ```
1366
+
1367
+ ### Options and forms
1368
+
1369
+ - `-r`: Preserve backslashes instead of treating them as escapes.
1370
+ - `--`: Stop option parsing. With no names, assign to `REPLY`.
1371
+
1372
+ ### Example
1373
+
1374
+ ```sh
1375
+ printf 'one two\n' | read first second
1376
+ echo "$first/$second"
1377
+ ```
1378
+
1379
+ Output:
1380
+
1381
+ ```text
1382
+ one/two
1383
+ ```
1384
+ ## readonly
1385
+
1386
+ Define variables that cannot be changed.
1387
+
1388
+ ### Usage
1389
+
1390
+ ```sh
1391
+ readonly [-p] [--] [NAME[=VALUE] ...]
1392
+ ```
1393
+
1394
+ ### Options and forms
1395
+
1396
+ - `-p`: Print readonly definitions.
1397
+ - `--`: Stop option parsing.
1398
+
1399
+ ### Example
1400
+
1401
+ ```sh
1402
+ readonly NAME=value
1403
+ echo "$NAME"
1404
+ ```
1405
+
1406
+ Output:
1407
+
1408
+ ```text
1409
+ value
1410
+ ```
1411
+ ## realpath
1412
+
1413
+ Print canonical absolute paths.
1414
+
1415
+ ### Usage
1416
+
1417
+ ```sh
1418
+ realpath PATH ...
1419
+ ```
1420
+
1421
+ ### Example
1422
+
1423
+ ```sh
1424
+ realpath .
1425
+ ```
1426
+
1427
+ Output:
1428
+
1429
+ ```text
1430
+ /data/data/com.termux/files/home/bunmsh
1431
+ ```
1432
+ ## rm
1433
+
1434
+ Remove files and directories with Bun Shell's fallback.
1435
+
1436
+ ### Usage
1437
+
1438
+ ```sh
1439
+ rm [OPTIONS] FILE ...
1440
+ ```
1441
+
1442
+ ### Options and forms
1443
+
1444
+ - `-f`: Ignore missing operands.
1445
+ - `-r`, `-R`, `--recursive`: Remove directories recursively.
1446
+ - `-v`, `--verbose`: Request verbose output.
1447
+ - `-d`, `--dir`: Remove empty directories.
1448
+ - `-i`, `--interactive=always`: Prompt for each removal.
1449
+ - `-I`, `--interactive=once`: Prompt once.
1450
+ - `--interactive=never`: Never prompt.
1451
+ - `--preserve-root`, `--no-preserve-root`: Accepted but currently have no effect.
1452
+
1453
+ ### Example
1454
+
1455
+ ```sh
1456
+ rm unwanted.txt
1457
+ builtin test -e unwanted.txt; echo $?
1458
+ ```
1459
+
1460
+ Output:
1461
+
1462
+ ```text
1463
+ 1
1464
+ ```
1465
+ ## rmdir
1466
+
1467
+ Remove empty directories.
1468
+
1469
+ ### Usage
1470
+
1471
+ ```sh
1472
+ rmdir [-p | --parents] DIRECTORY ...
1473
+ ```
1474
+
1475
+ ### Options and forms
1476
+
1477
+ - `-p`, `--parents`: Remove empty parent directories after each operand.
1478
+
1479
+ ### Example
1480
+
1481
+ ```sh
1482
+ mkdir empty
1483
+ rmdir empty
1484
+ builtin test -d empty; echo $?
1485
+ ```
1486
+
1487
+ Output:
1488
+
1489
+ ```text
1490
+ 1
1491
+ ```
1492
+ ## sed
1493
+
1494
+ Apply supported print and substitution expressions.
1495
+
1496
+ ### Usage
1497
+
1498
+ ```sh
1499
+ sed [-nEr] [-e SCRIPT] [-i] [SCRIPT] [FILE ...]
1500
+ ```
1501
+
1502
+ ### Options and forms
1503
+
1504
+ - `-n`: Suppress automatic output.
1505
+ - `-e SCRIPT`, `-eSCRIPT`: Add a script.
1506
+ - `-E`, `-r`: Use extended regular expressions.
1507
+ - `-i`: Edit files in place.
1508
+ - Supported commands include numeric `p` and `s///` with `g` and `p` flags.
1509
+
1510
+ ### Example
1511
+
1512
+ ```sh
1513
+ printf 'hello world\n' | sed 's/world/bunmsh/'
1514
+ ```
1515
+
1516
+ Output:
1517
+
1518
+ ```text
1519
+ hello bunmsh
1520
+ ```
1521
+ ## seq
1522
+
1523
+ Print a numeric sequence.
1524
+
1525
+ ### Usage
1526
+
1527
+ ```sh
1528
+ seq [OPTIONS] [FIRST [INCREMENT]] LAST
1529
+ ```
1530
+
1531
+ ### Options and forms
1532
+
1533
+ - `-s TEXT`, `--separator TEXT`: Set the separator.
1534
+ - `-t TEXT`, `--terminator TEXT`: Set the terminator.
1535
+ - `-w`, `--fixed-width`: Accepted, but currently does not pad values.
1536
+
1537
+ ### Example
1538
+
1539
+ ```sh
1540
+ seq 3
1541
+ ```
1542
+
1543
+ Output:
1544
+
1545
+ ```text
1546
+ 1
1547
+ 2
1548
+ 3
1549
+ ```
1550
+ ## serve
1551
+
1552
+ Start the bunmsh HTTP file server.
1553
+
1554
+ ### Usage
1555
+
1556
+ ```sh
1557
+ serve [--auto-open] [--minapk-webview] [--random-url] [DIRECTORY]
1558
+ ```
1559
+
1560
+ ### Options and forms
1561
+
1562
+ - `--auto-open` / `--auto-open=off` / `--auto-open=/path`: Open the serving
1563
+ URL after startup, or explicitly disable it, or open a specific path under
1564
+ it instead of the root. Looks for `xdg-open` on PATH first regardless of
1565
+ platform; falls back to `open` on macOS or `cmd /c start` on Windows only
1566
+ when `xdg-open` isn't found. Bare `--auto-open` turns it on; `=off`, `=no`,
1567
+ `=false`, or `=` (empty) turns it off, overriding an environment default
1568
+ that turned it on; a value starting with `/` (e.g. `--auto-open=/index.html`)
1569
+ turns it on and opens that path relative to the served URL instead of the
1570
+ root — resolved after any `--random-url` prefix, so the secret prefix is
1571
+ still there and the URL still works. The `o` control on stdin (see below)
1572
+ opens the same target this flag configured.
1573
+ - `--minapk-webview` / `--minapk-webview=N` / `--minapk-webview=off`: Pass
1574
+ `MINAPK_WEBVIEW` to the spawned opener. Bare `--minapk-webview` passes `1`;
1575
+ `=N` passes the literal digit string `N`; `=off`, `=no`, `=false`, or `=`
1576
+ (empty) means don't pass it at all. Not passed by default.
1577
+ - `--random-url` / `--random-url=off`: Serve beneath a high-entropy random URL
1578
+ prefix (requests without it get `404`), or explicitly disable it. Same
1579
+ bare/`=off`/`=no`/`=false`/`=` rules as `--auto-open`.
1580
+ - `SERVE_AUTO_OPEN`, `SERVE_MINAPK_WEBVIEW`, and `SERVE_RANDOM_URL` set the
1581
+ defaults before CLI flags are applied (accepting `1`, `true`, `yes`, or
1582
+ `on`; a digit string for `SERVE_MINAPK_WEBVIEW`; a `/`-led path for
1583
+ `SERVE_AUTO_OPEN`); every flag defaults to off/not-passed. A CLI flag
1584
+ always overrides its environment default, including turning off something
1585
+ the environment turned on.
1586
+ - `--` stops option parsing. The optional operand selects the served directory.
1587
+
1588
+ ### Example
1589
+
1590
+ ```sh
1591
+ serve --random-url public
1592
+ ```
1593
+
1594
+ Output:
1595
+
1596
+ ```text
1597
+ Serving /home/user/public
1598
+ http://localhost:3000/AaBIdviNcACxwZF2x3VW0QAaBIdviNcAGsAviNI5B59AAaBIdviNcAKsuNiSJkMrdQAaBIdviNcAOoVDLS5ydB9Q/
1599
+ ```
1600
+ ## set
1601
+
1602
+ Print variables or replace positional parameters.
1603
+
1604
+ ### Usage
1605
+
1606
+ ```sh
1607
+ set [-- [ARG ...]]
1608
+ ```
1609
+
1610
+ ### Options and forms
1611
+
1612
+ - `--`: Replace positional parameters with the remaining arguments. With no arguments, print variables.
1613
+
1614
+ ### Example
1615
+
1616
+ ```sh
1617
+ set -- alpha beta
1618
+ echo "$1/$2"
1619
+ ```
1620
+
1621
+ Output:
1622
+
1623
+ ```text
1624
+ alpha/beta
1625
+ ```
1626
+ ## sha256sum
1627
+
1628
+ Print SHA-256 hashes.
1629
+
1630
+ ### Usage
1631
+
1632
+ ```sh
1633
+ sha256sum [FILE ...]
1634
+ ```
1635
+
1636
+ ### Example
1637
+
1638
+ ```sh
1639
+ printf hello | sha256sum
1640
+ ```
1641
+
1642
+ Output:
1643
+
1644
+ ```text
1645
+ 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 -
1646
+ ```
1647
+ ## shift
1648
+
1649
+ Discard leading positional parameters.
1650
+
1651
+ ### Usage
1652
+
1653
+ ```sh
1654
+ shift [COUNT]
1655
+ ```
1656
+
1657
+ ### Example
1658
+
1659
+ ```sh
1660
+ set -- one two three
1661
+ shift
1662
+ echo "$1 $2"
1663
+ ```
1664
+
1665
+ Output:
1666
+
1667
+ ```text
1668
+ two three
1669
+ ```
1670
+ ## sleep
1671
+
1672
+ Pause; supports ms, s, m, and h suffixes.
1673
+
1674
+ ### Usage
1675
+
1676
+ ```sh
1677
+ sleep DURATION
1678
+ ```
1679
+
1680
+ ### Options and forms
1681
+
1682
+ - Bare durations are seconds; suffixes `ms`, `s`, `m`, and `h` select milliseconds, seconds, minutes, and hours.
1683
+
1684
+ ### Example
1685
+
1686
+ ```sh
1687
+ time sleep 10ms
1688
+ ```
1689
+
1690
+ Output:
1691
+
1692
+ ```text
1693
+ real 10.000000 ms
1694
+ ```
1695
+ ## sort
1696
+
1697
+ Sort, reverse, compare numerically, or deduplicate lines.
1698
+
1699
+ ### Usage
1700
+
1701
+ ```sh
1702
+ sort [-rnu] [FILE ...]
1703
+ ```
1704
+
1705
+ ### Options and forms
1706
+
1707
+ - `-r`: Reverse the result.
1708
+ - `-n`: Compare numerically.
1709
+ - `-u`: Remove duplicate lines. These short flags may be combined.
1710
+
1711
+ ### Example
1712
+
1713
+ ```sh
1714
+ printf 'c\na\nb\n' | sort
1715
+ ```
1716
+
1717
+ Output:
1718
+
1719
+ ```text
1720
+ a
1721
+ b
1722
+ c
1723
+ ```
1724
+ ## source
1725
+
1726
+ Evaluate a file in the current shell.
1727
+
1728
+ ### Usage
1729
+
1730
+ ```sh
1731
+ source FILE [ARG ...]
1732
+ ```
1733
+
1734
+ ### Example
1735
+
1736
+ ```sh
1737
+ printf 'NAME=sourced\n' > settings.sh
1738
+ source settings.sh
1739
+ echo "$NAME"
1740
+ ```
1741
+
1742
+ Output:
1743
+
1744
+ ```text
1745
+ sourced
1746
+ ```
1747
+ ## tab
1748
+
1749
+ Manage directory tabs and shell session controls.
1750
+
1751
+ ### Usage
1752
+
1753
+ ```sh
1754
+ tab [n | x | c | l | r | s | save | path | mouse | NUMBER]
1755
+ ```
1756
+
1757
+ ### Options and forms
1758
+
1759
+ - `n` creates a tab; `x`/`c` closes it; `l` and `r` switch tabs.
1760
+ - `save`/`s` saves history; `save d` deduplicates it.
1761
+ - `path [on|off|true|false]` controls PATH lookup.
1762
+ - `mouse [on|off|true|false]` controls terminal mouse tracking.
1763
+ - A numeric operand selects that tab.
1764
+
1765
+ ### Example
1766
+
1767
+ ```sh
1768
+ tab
1769
+ ```
1770
+
1771
+ Output:
1772
+
1773
+ ```text
1774
+ 📁 ~/project 📂 ~/project
1775
+ [2]$
1776
+ ```
1777
+ ## tac
1778
+
1779
+ Reverse newline-delimited records in each input file.
1780
+
1781
+ ### Usage
1782
+
1783
+ ```sh
1784
+ tac [--] [FILE ...]
1785
+ ```
1786
+
1787
+ ### Options and forms
1788
+
1789
+ - `--`: Stop option parsing.
1790
+ - `-`: Read from stdin at that operand position.
1791
+ - Other options are not currently supported.
1792
+
1793
+ ### Example
1794
+
1795
+ ```sh
1796
+ printf 'one\ntwo\nthree\n' | tac
1797
+ ```
1798
+
1799
+ Output:
1800
+
1801
+ ```text
1802
+ three
1803
+ two
1804
+ one
1805
+ ```
1806
+ ## tail
1807
+
1808
+ Write the last lines, or start output at a selected line.
1809
+
1810
+ ### Usage
1811
+
1812
+ ```sh
1813
+ tail [-n N | -N | -n +N | -n+N] [FILE ...]
1814
+ ```
1815
+
1816
+ ### Options and forms
1817
+
1818
+ - `-n N`, `-N`: Write the last N lines.
1819
+ - `-n +N`, `-n+N`: Start output at line N.
1820
+
1821
+ ### Example
1822
+
1823
+ ```sh
1824
+ printf 'one\ntwo\nthree\n' | tail -n 2
1825
+ ```
1826
+
1827
+ Output:
1828
+
1829
+ ```text
1830
+ two
1831
+ three
1832
+ ```
1833
+ ## tee
1834
+
1835
+ Copy stdin to stdout and files.
1836
+
1837
+ ### Usage
1838
+
1839
+ ```sh
1840
+ tee [-a] [FILE ...]
1841
+ ```
1842
+
1843
+ ### Options and forms
1844
+
1845
+ - `-a`: Append to files rather than replacing them.
1846
+
1847
+ ### Example
1848
+
1849
+ ```sh
1850
+ printf hello | tee output.txt
1851
+ ```
1852
+
1853
+ Output:
1854
+
1855
+ ```text
1856
+ hello
1857
+ ```
1858
+ ## test
1859
+
1860
+ Evaluate file, string, and integer expressions; [ requires a closing ].
1861
+
1862
+ ### Usage
1863
+
1864
+ ```sh
1865
+ test EXPRESSION
1866
+ ```
1867
+
1868
+ ### Options and forms
1869
+
1870
+ - Unary file tests: `-e`, `-f`, `-d`, `-b`, `-c`, `-p`, `-S`, `-L`/`-h`, `-s`, `-r`, `-w`, and `-x`.
1871
+ - Unary string tests: `-n` and `-z`.
1872
+ - String comparisons: `=`, `==`, and `!=`.
1873
+ - Integer comparisons: `-eq`, `-ne`, `-gt`, `-ge`, `-lt`, and `-le`.
1874
+ - File comparisons: `-nt`, `-ot`, and `-ef`. Logical `!`, `-a`, and `-o` are supported.
1875
+
1876
+ ### Example
1877
+
1878
+ ```sh
1879
+ test -d /tmp
1880
+ echo $?
1881
+ ```
1882
+
1883
+ Output:
1884
+
1885
+ ```text
1886
+ 0
1887
+ ```
1888
+ ## time
1889
+
1890
+ Run a command and report elapsed time.
1891
+
1892
+ ### Usage
1893
+
1894
+ ```sh
1895
+ time [COMMAND [ARG ...]]
1896
+ ```
1897
+
1898
+ ### Display
1899
+
1900
+ - Elapsed time is written to stderr in milliseconds with six decimal places.
1901
+ - When stderr is a terminal, each three-digit magnitude group uses a different
1902
+ ANSI color, making units and fractional precision easier to distinguish.
1903
+ - The decimal point is dimmed. Colors are omitted when stderr is redirected or
1904
+ captured.
1905
+
1906
+ ### Example
1907
+
1908
+ ```sh
1909
+ time true
1910
+ ```
1911
+
1912
+ Output:
1913
+
1914
+ ```text
1915
+ real 0.000000 ms
1916
+ ```
1917
+ ## touch
1918
+
1919
+ Create files or update timestamps.
1920
+
1921
+ ### Usage
1922
+
1923
+ ```sh
1924
+ touch FILE ...
1925
+ ```
1926
+
1927
+ ### Options and forms
1928
+
1929
+ - No options are currently supported.
1930
+
1931
+ ### Example
1932
+
1933
+ ```sh
1934
+ touch created.txt
1935
+ builtin test -f created.txt; echo $?
1936
+ ```
1937
+
1938
+ Output:
1939
+
1940
+ ```text
1941
+ 0
1942
+ ```
1943
+ ## tr
1944
+
1945
+ Translate or delete characters.
1946
+
1947
+ ### Usage
1948
+
1949
+ ```sh
1950
+ tr [-d] SET1 [SET2]
1951
+ ```
1952
+
1953
+ ### Options and forms
1954
+
1955
+ - `-d`: Delete characters in SET1 instead of translating them.
1956
+ - Simple ranges such as `a-z` are supported.
1957
+
1958
+ ### Example
1959
+
1960
+ ```sh
1961
+ printf 'hello\n' | tr a-z A-Z
1962
+ ```
1963
+
1964
+ Output:
1965
+
1966
+ ```text
1967
+ HELLO
1968
+ ```
1969
+ ## true
1970
+
1971
+ Return success.
1972
+
1973
+ ### Usage
1974
+
1975
+ ```sh
1976
+ true
1977
+ ```
1978
+
1979
+ ### Example
1980
+
1981
+ ```sh
1982
+ true
1983
+ echo $?
1984
+ ```
1985
+
1986
+ Output:
1987
+
1988
+ ```text
1989
+ 0
1990
+ ```
1991
+ ## type
1992
+
1993
+ Describe how command names resolve.
1994
+
1995
+ ### Usage
1996
+
1997
+ ```sh
1998
+ type NAME ...
1999
+ ```
2000
+
2001
+ ### Example
2002
+
2003
+ ```sh
2004
+ type echo
2005
+ ```
2006
+
2007
+ Output:
2008
+
2009
+ ```text
2010
+ echo is a shell builtin
2011
+ ```
2012
+ ## umask
2013
+
2014
+ Print or set the file-creation mask.
2015
+
2016
+ ### Usage
2017
+
2018
+ ```sh
2019
+ umask [MODE]
2020
+ ```
2021
+
2022
+ ### Example
2023
+
2024
+ ```sh
2025
+ umask 022
2026
+ umask
2027
+ ```
2028
+
2029
+ Output:
2030
+
2031
+ ```text
2032
+ 0022
2033
+ ```
2034
+ ## unalias
2035
+
2036
+ Remove aliases.
2037
+
2038
+ ### Usage
2039
+
2040
+ ```sh
2041
+ unalias [-a] [--] NAME ...
2042
+ ```
2043
+
2044
+ ### Options and forms
2045
+
2046
+ - `-a`: Remove every alias.
2047
+ - `--`: Stop option parsing.
2048
+
2049
+ ### Example
2050
+
2051
+ ```sh
2052
+ alias ll='ls -l'
2053
+ unalias ll
2054
+ type ll
2055
+ ```
2056
+
2057
+ Output:
2058
+
2059
+ ```text
2060
+ ll not found
2061
+ ```
2062
+ ## uname
2063
+
2064
+ Print system information.
2065
+
2066
+ ### Usage
2067
+
2068
+ ```sh
2069
+ uname [-asnrvmp]
2070
+ ```
2071
+
2072
+ ### Options and forms
2073
+
2074
+ - `-a`: Select all supported fields.
2075
+ - `-s`: System name.
2076
+ - `-n`: Host name.
2077
+ - `-r`: OS release.
2078
+ - `-v`: OS version.
2079
+ - `-m`: Machine architecture.
2080
+ - `-p`: Processor architecture. Short flags may be combined.
2081
+
2082
+ ### Example
2083
+
2084
+ ```sh
2085
+ uname -mprs
2086
+ ```
2087
+
2088
+ Output:
2089
+
2090
+ ```text
2091
+ Linux 6.17.0-PRoot-Distro aarch64 aarch64
2092
+ ```
2093
+ ## unset
2094
+
2095
+ Remove shell variables.
2096
+
2097
+ ### Usage
2098
+
2099
+ ```sh
2100
+ unset [-v] [--] NAME ...
2101
+ ```
2102
+
2103
+ ### Options and forms
2104
+
2105
+ - `-v`: Explicitly select variables (the only supported unset kind).
2106
+ - `--`: Stop option parsing.
2107
+
2108
+ ### Example
2109
+
2110
+ ```sh
2111
+ NAME=value
2112
+ unset NAME
2113
+ echo "${NAME:-missing}"
2114
+ ```
2115
+
2116
+ Output:
2117
+
2118
+ ```text
2119
+ missing
2120
+ ```
2121
+ ## wc
2122
+
2123
+ Count lines, words, and bytes.
2124
+
2125
+ ### Usage
2126
+
2127
+ ```sh
2128
+ wc [-lwc] [FILE ...]
2129
+ ```
2130
+
2131
+ ### Options and forms
2132
+
2133
+ - `-l`: Count lines.
2134
+ - `-w`: Count words.
2135
+ - `-c`: Count bytes. Short flags may be combined.
2136
+
2137
+ ### Example
2138
+
2139
+ ```sh
2140
+ printf 'one two\n' | wc -lwc
2141
+ ```
2142
+
2143
+ Output:
2144
+
2145
+ ```text
2146
+ 1 2 8
2147
+ ```
2148
+ ## whence
2149
+
2150
+ Describe command lookup.
2151
+
2152
+ ### Usage
2153
+
2154
+ ```sh
2155
+ whence [-pv] NAME ...
2156
+ ```
2157
+
2158
+ ### Options
2159
+
2160
+ - `-p`: Search `PATH` only, ignoring aliases, functions, and builtins.
2161
+ - `-v`: Print a verbose description of how each name resolves.
2162
+
2163
+ ### Example
2164
+
2165
+ ```sh
2166
+ whence -p bun
2167
+ ```
2168
+
2169
+ Output:
2170
+
2171
+ ```text
2172
+ /data/data/com.termux/files/usr/bin/bun
2173
+ ```
2174
+ ## which
2175
+
2176
+ Print executable paths found through PATH.
2177
+
2178
+ ### Usage
2179
+
2180
+ ```sh
2181
+ which NAME ...
2182
+ ```
2183
+
2184
+ ### Behavior
2185
+
2186
+ - `which` explicitly searches the current `PATH`, even when normal PATH command
2187
+ lookup is disabled by `bunmsh --builtin-only` or `tab path off`.
2188
+ - Use command substitution such as `"$(which NAME)"` to obtain an explicit path
2189
+ and run an external command in either mode.
2190
+
2191
+ ### Example
2192
+
2193
+ ```sh
2194
+ which bun
2195
+ ```
2196
+
2197
+ Output:
2198
+
2199
+ ```text
2200
+ /data/data/com.termux/files/usr/bin/bun
2201
+ ```
2202
+
2203
+ To explicitly run a PATH command while normal PATH lookup is disabled:
2204
+
2205
+ ```sh
2206
+ tab path off
2207
+ "$(which sh)" -c 'printf path-command'
2208
+ ```
2209
+
2210
+ Output:
2211
+
2212
+ ```text
2213
+ path-command
2214
+ ```
2215
+ ## yes
2216
+
2217
+ Repeatedly write the strings, or y by default.
2218
+
2219
+ ### Usage
2220
+
2221
+ ```sh
2222
+ yes [STRING ...]
2223
+ ```
2224
+
2225
+ ### Example
2226
+
2227
+ ```sh
2228
+ yes ok | head -n 3
2229
+ ```
2230
+
2231
+ Output:
2232
+
2233
+ ```text
2234
+ ok
2235
+ ok
2236
+ ok
2237
+ ```