buninu-linux 0.14.57 → 0.16.59

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 (299) hide show
  1. package/LICENSES/linux-firmware/LICENCE.nvidia +131 -0
  2. package/LICENSES/linux-firmware/LICENSE.amdgpu +51 -0
  3. package/LICENSES/linux-firmware/LICENSE.amdisp +31 -0
  4. package/LICENSES/linux-firmware/LICENSE.i915 +39 -0
  5. package/LICENSES/linux-firmware/LICENSE.radeon +51 -0
  6. package/LICENSES/linux-firmware/LICENSE.xe +39 -0
  7. package/LICENSES/linux-firmware/WHENCE +10280 -0
  8. package/NOTICE.md +64 -46
  9. package/README.md +378 -87
  10. package/README.zh.md +2041 -0
  11. package/build-image.sh +10 -1
  12. package/build-uki.sh +3 -1
  13. package/fetch-alpine.sh +14 -0
  14. package/graphics.md +31 -0
  15. package/index.js +28 -11
  16. package/initramfs/bin/buninu-browser +4 -1
  17. package/initramfs/bin/buninu-land +1 -1
  18. package/initramfs/bin/bunterm +3 -3
  19. package/initramfs/bin/chroot +13 -0
  20. package/initramfs/bin/chvt +11 -0
  21. package/initramfs/bin/mount +4 -0
  22. package/initramfs/bin/umount +6 -0
  23. package/initramfs/bin/xdg-open +33 -0
  24. package/initramfs/buninu/CHANGELOG.md +66 -0
  25. package/initramfs/buninu/apps/bunmsh/CHANGELOG.md +4 -0
  26. package/initramfs/buninu/apps/bunmsh/package.json +1 -1
  27. package/initramfs/buninu/apps/bunmsh/src/main.js +1 -1
  28. package/initramfs/buninu/apps/jsgotty/LICENSES/MIT-jsmdcui.txt +22 -0
  29. package/initramfs/buninu/apps/jsgotty/NOTICE +5 -0
  30. package/initramfs/buninu/apps/jsgotty/README.en.md +61 -0
  31. package/initramfs/buninu/apps/jsgotty/README.md +61 -0
  32. package/initramfs/buninu/apps/jsgotty/client-modes.mjs +117 -0
  33. package/initramfs/buninu/apps/jsgotty/client.mjs +100 -10
  34. package/initramfs/buninu/apps/jsgotty/clipboard-powershell.js +18 -0
  35. package/initramfs/buninu/apps/jsgotty/clipboard.js +148 -0
  36. package/initramfs/buninu/apps/jsgotty/gotty.js +13 -0
  37. package/initramfs/buninu/apps/jsgotty/package-lock.json +2 -2
  38. package/initramfs/buninu/apps/jsgotty/package.json +1 -1
  39. package/initramfs/buninu/apps/jsgotty/static/css/index.css +14 -1
  40. package/initramfs/buninu/apps/jsgotty/static/index.html +1 -0
  41. package/initramfs/buninu/apps/jsgotty/static/js/gotty.js +187 -23
  42. package/initramfs/buninu/apps/jsgotty/static/js/kitty-keyboard.js +193 -0
  43. package/initramfs/buninu/apps/jsgotty/static/js/kitty.js +115 -7
  44. package/initramfs/buninu/apps/jsgotty/terminal-modes.js +332 -0
  45. package/initramfs/buninu/apps/jsgotty/tests/android-alt.test.js +115 -0
  46. package/initramfs/buninu/apps/jsgotty/tests/arrow-modifiers.test.js +80 -0
  47. package/initramfs/buninu/apps/jsgotty/tests/client-exit.test.mjs +45 -0
  48. package/initramfs/buninu/apps/jsgotty/tests/client-modes.test.mjs +105 -0
  49. package/initramfs/buninu/apps/jsgotty/tests/clipboard-browser.test.js +81 -0
  50. package/initramfs/buninu/apps/jsgotty/tests/clipboard.test.js +75 -0
  51. package/initramfs/buninu/apps/jsgotty/tests/kitty-keyboard-browser.test.js +53 -0
  52. package/initramfs/buninu/apps/jsgotty/tests/kitty-keyboard.test.js +102 -0
  53. package/initramfs/buninu/apps/jsgotty/tests/manual/README.md +20 -0
  54. package/initramfs/buninu/apps/jsgotty/tests/manual/keyboard-collector.cjs +55 -0
  55. package/initramfs/buninu/apps/jsgotty/tests/manual/keyboard-debug.js +74 -0
  56. package/initramfs/buninu/apps/jsgotty/tests/manual/kitty-keyboard.js +80 -0
  57. package/initramfs/buninu/apps/jsgotty/tests/manual/zoom-collector.cjs +55 -0
  58. package/initramfs/buninu/apps/jsgotty/tests/manual/zoom-debug.js +39 -0
  59. package/initramfs/buninu/apps/jsgotty/tests/manual-touch-diagnostics.js +33 -0
  60. package/initramfs/buninu/apps/jsgotty/tests/manual-touch-diagnostics.mjs +22 -0
  61. package/initramfs/buninu/apps/jsgotty/tests/nested-cli-pty.test.mjs +116 -0
  62. package/initramfs/buninu/apps/jsgotty/tests/reconnect-modes-browser.test.js +144 -0
  63. package/initramfs/buninu/apps/jsgotty/tests/reconnect-modes.md +44 -0
  64. package/initramfs/buninu/apps/jsgotty/tests/reconnect-modes.test.js +166 -0
  65. package/initramfs/buninu/apps/jsgotty/tests/touch-drag-browser.test.js +106 -0
  66. package/initramfs/buninu/apps/jsgotty/tests/wheel-browser.test.js +60 -0
  67. package/initramfs/buninu/apps/jsmdcui/CHANGELOG.md +44 -0
  68. package/initramfs/buninu/apps/jsmdcui/package.json +1 -1
  69. package/initramfs/buninu/apps/jsmdcui/src/highlight/go-regexp.js +83 -0
  70. package/initramfs/buninu/apps/jsmdcui/src/highlight/highlighter.js +49 -62
  71. package/initramfs/buninu/apps/jsmdcui/src/highlight/parser.js +8 -5
  72. package/initramfs/buninu/apps/jsmdcui/tests/go-regexp.test.js +98 -0
  73. package/initramfs/buninu/apps/jsmdcui/tests/heading-ids.test.js +21 -16
  74. package/initramfs/buninu/apps/jsmdcui/tests/highlight-regions.test.js +73 -0
  75. package/initramfs/buninu/apps/jsmdcui/tests/id-collision.test.js +32 -9
  76. package/initramfs/buninu/apps/jsmdcui/tests/markdown-behavior.mjs +9 -0
  77. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/NORMAL-HTML.md +46 -0
  78. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/README.md +85 -0
  79. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/REPORT.md +328 -0
  80. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/compare.mjs +75 -0
  81. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/go.mod +5 -0
  82. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/normal-html-report.json +619 -0
  83. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/normal-html.html +9 -0
  84. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/oracle.go +49 -0
  85. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/report.json +2174 -0
  86. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/PowerShell.txt +39 -0
  87. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/ada.txt +25 -0
  88. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/apacheconf.txt +49 -0
  89. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/arduino.txt +38 -0
  90. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/asciidoc.txt +33 -0
  91. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/asm.txt +77 -0
  92. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/ats.txt +48 -0
  93. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/awk.txt +28 -0
  94. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/b.txt +27 -0
  95. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/bat.txt +39 -0
  96. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/c.txt +34 -0
  97. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/caddyfile.txt +14 -0
  98. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/cake.txt +7 -0
  99. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/clojure.txt +18 -0
  100. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/cmake.txt +20 -0
  101. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/coffeescript.txt +32 -0
  102. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/colortest.txt +19 -0
  103. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/conky.txt +12 -0
  104. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/cpp.txt +46 -0
  105. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/crontab.txt +16 -0
  106. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/crystal.txt +28 -0
  107. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/csharp.txt +28 -0
  108. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/css.txt +19 -0
  109. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/csx.txt +7 -0
  110. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/cuda.txt +37 -0
  111. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/cython.txt +22 -0
  112. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/d.txt +52 -0
  113. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/dart.txt +27 -0
  114. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/default.txt +8 -0
  115. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/dockerfile.txt +10 -0
  116. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/dot.txt +15 -0
  117. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/elixir.txt +23 -0
  118. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/elm.txt +20 -0
  119. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/erb.txt +32 -0
  120. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/erlang.txt +23 -0
  121. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/fish.txt +20 -0
  122. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/forth.txt +17 -0
  123. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/fortran.txt +40 -0
  124. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/freebsd-kernel.txt +10 -0
  125. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/fsharp.txt +27 -0
  126. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/gdscript.txt +26 -0
  127. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/gemini.txt +11 -0
  128. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/gentoo-ebuild.txt +28 -0
  129. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/gentoo-etc-portage.txt +14 -0
  130. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/git-commit.txt +19 -0
  131. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/git-config.txt +11 -0
  132. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/git-rebase-todo.txt +10 -0
  133. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/gleam.txt +44 -0
  134. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/glsl.txt +18 -0
  135. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/gnuplot.txt +11 -0
  136. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/go.txt +33 -0
  137. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/godoc.txt +9 -0
  138. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/golo.txt +50 -0
  139. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/gomod.txt +16 -0
  140. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/graphql.txt +20 -0
  141. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/groff.txt +18 -0
  142. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/groovy.txt +42 -0
  143. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/haml.txt +16 -0
  144. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/hare.txt +31 -0
  145. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/haskell.txt +26 -0
  146. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/hc.txt +28 -0
  147. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/html.txt +26 -0
  148. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/html4.txt +20 -0
  149. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/html5.txt +20 -0
  150. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/ini.txt +16 -0
  151. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/inputrc.txt +14 -0
  152. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/java.txt +18 -0
  153. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/javascript.txt +41 -0
  154. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/jinja2.txt +13 -0
  155. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/json.txt +21 -0
  156. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/jsonnet.txt +28 -0
  157. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/julia.txt +24 -0
  158. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/justfile.txt +26 -0
  159. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/keymap.txt +15 -0
  160. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/kickstart.txt +16 -0
  161. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/kotlin.txt +30 -0
  162. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/kvlang.txt +37 -0
  163. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/ledger.txt +13 -0
  164. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/lfe.txt +17 -0
  165. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/lilypond.txt +15 -0
  166. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/lisp.txt +17 -0
  167. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/log.txt +45 -0
  168. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/lua.txt +48 -0
  169. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/mail.txt +17 -0
  170. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/makefile.txt +25 -0
  171. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/man.txt +12 -0
  172. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/markdown.txt +21 -0
  173. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/mc.txt +11 -0
  174. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/meson.txt +29 -0
  175. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/micro.txt +25 -0
  176. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/mpdconf.txt +13 -0
  177. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/msbuild.txt +7 -0
  178. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/nanorc.txt +16 -0
  179. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/nftables.txt +22 -0
  180. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/nginx.txt +17 -0
  181. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/nim.txt +23 -0
  182. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/nix.txt +15 -0
  183. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/nu.txt +92 -0
  184. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/objc.txt +36 -0
  185. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/ocaml.txt +25 -0
  186. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/octave.txt +35 -0
  187. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/odin.txt +35 -0
  188. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/pascal.txt +22 -0
  189. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/patch.txt +13 -0
  190. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/peg.txt +16 -0
  191. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/perl.txt +27 -0
  192. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/php.txt +44 -0
  193. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/pkg-config.txt +12 -0
  194. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/po.txt +12 -0
  195. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/pony.txt +29 -0
  196. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/pov.txt +17 -0
  197. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/privoxy-action.txt +14 -0
  198. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/privoxy-config.txt +10 -0
  199. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/privoxy-filter.txt +12 -0
  200. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/proto.txt +22 -0
  201. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/prql.txt +42 -0
  202. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/puppet.txt +22 -0
  203. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/python2.txt +24 -0
  204. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/python3.txt +28 -0
  205. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/r.txt +16 -0
  206. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/raku.txt +19 -0
  207. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/reST.txt +18 -0
  208. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/renpy.txt +11 -0
  209. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/rpmspec.txt +31 -0
  210. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/ruby.txt +34 -0
  211. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/rust.txt +27 -0
  212. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/sage.txt +24 -0
  213. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/scad.txt +23 -0
  214. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/scala.txt +16 -0
  215. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/sed.txt +12 -0
  216. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/sh.txt +20 -0
  217. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/sls.txt +15 -0
  218. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/smalltalk.txt +28 -0
  219. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/solidity.txt +26 -0
  220. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/sql.txt +35 -0
  221. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/stata.txt +32 -0
  222. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/svelte.txt +10 -0
  223. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/swift.txt +53 -0
  224. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/systemd.txt +15 -0
  225. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/tcl.txt +17 -0
  226. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/terraform.txt +28 -0
  227. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/tex.txt +15 -0
  228. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/toml.txt +31 -0
  229. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/twig.txt +29 -0
  230. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/typescript.txt +32 -0
  231. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/v.txt +47 -0
  232. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/vala.txt +22 -0
  233. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/verilog.txt +37 -0
  234. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/vhdl.txt +37 -0
  235. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/vi.txt +17 -0
  236. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/vue.txt +29 -0
  237. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/xml.txt +14 -0
  238. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/xresources.txt +14 -0
  239. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/yaml.txt +19 -0
  240. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/yum.txt +12 -0
  241. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/zig.txt +24 -0
  242. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/zscript.txt +31 -0
  243. package/initramfs/buninu/apps/jsmdcui/tests/syntax-parity/samples/zsh.txt +21 -0
  244. package/initramfs/buninu/package.json +1 -1
  245. package/initramfs/init.js +19 -3
  246. package/initramfs/lib/bunterm/clipboard.js +14 -0
  247. package/initramfs/lib/bunterm/commands.js +37 -0
  248. package/initramfs/lib/bunterm/fps.js +38 -0
  249. package/initramfs/lib/bunterm/images.js +14 -6
  250. package/initramfs/lib/bunterm/input.js +58 -15
  251. package/initramfs/lib/bunterm/keyboard.js +62 -0
  252. package/initramfs/lib/bunterm/keycodes.js +104 -0
  253. package/initramfs/lib/bunterm/kitty-keyboard.cjs +195 -0
  254. package/initramfs/lib/bunterm/raw-protocol.js +111 -0
  255. package/initramfs/lib/bunterm/renderer.js +116 -28
  256. package/initramfs/lib/bunterm/selection.js +60 -0
  257. package/initramfs/lib/bunterm/terminal.js +157 -12
  258. package/initramfs/lib/bunterm/vt-menu.js +181 -0
  259. package/initramfs/lib/bunterm/vt.js +27 -1
  260. package/initramfs/lib/canvas.js +99 -0
  261. package/initramfs/lib/chvt.js +31 -0
  262. package/initramfs/lib/fbdev.js +32 -8
  263. package/initramfs/lib/gpu.js +77 -0
  264. package/initramfs/lib/mapped-frame.js +28 -0
  265. package/initramfs/lib/raw-image.js +71 -0
  266. package/initramfs/lib/xdg-open.js +42 -0
  267. package/initramfs/usr/share/doc/buninu-linux/bunterm.md +85 -11
  268. package/initramfs/usr/share/doc/buninu-linux/chvt.md +34 -0
  269. package/initramfs/usr/share/doc/buninu-linux/xdg-open.md +43 -0
  270. package/package.json +1 -1
  271. package/scripts/arch.js +7 -5
  272. package/scripts/arch.sh +5 -5
  273. package/scripts/build.js +16 -3
  274. package/scripts/fetch-gpu.js +105 -0
  275. package/scripts/fetch.js +11 -1
  276. package/scripts/gpu-firmware.json +22 -0
  277. package/scripts/modules.js +4 -1
  278. package/scripts/npm-packages.md +18 -17
  279. package/test/bunterm-fps.test.js +17 -0
  280. package/test/bunterm-image-bytes.test.js +15 -0
  281. package/test/bunterm-keyboard.test.js +116 -0
  282. package/test/bunterm-mapped-lifetime.test.js +147 -0
  283. package/test/bunterm-next-vt.test.js +9 -0
  284. package/test/bunterm-raw-protocol.test.js +39 -0
  285. package/test/bunterm-renderer.test.js +167 -0
  286. package/test/bunterm-selection.test.js +38 -0
  287. package/test/bunterm-vt-menu.test.js +178 -0
  288. package/test/chroot-bind.test.js +40 -2
  289. package/test/chvt.test.js +46 -0
  290. package/test/fbdev-sync.test.js +42 -0
  291. package/test/fetch-npm.test.js +2 -2
  292. package/test/gpu.test.js +155 -0
  293. package/test/image-size.test.js +17 -0
  294. package/test/manual-bunterm-image-paths.js +31 -0
  295. package/test/mount-libc-lifetime.test.js +50 -0
  296. package/test/no-gpu.test.js +43 -0
  297. package/test/readme-cli.test.js +29 -0
  298. package/test/stage-npm.test.js +11 -4
  299. package/test/xdg-open.test.js +55 -0
@@ -0,0 +1,32 @@
1
+ `"sample 42"'
2
+ `"`sample 42'"'
3
+ `"$a"'
4
+ `"\x"'
5
+ "sample 42"
6
+ "`sample 42'"
7
+ "$a"
8
+ "\x"
9
+ _caller
10
+ if
11
+ +0.0E+0i
12
+ -
13
+ /
14
+ (
15
+ %-0.0ec
16
+ %21x
17
+ %-tCx
18
+ %-0s
19
+ $a
20
+ `sample 42'
21
+ ///sample 42
22
+ ///TODO:
23
+ /*sample 42*/
24
+ /*TODO:*/
25
+ *sample 42
26
+ *TODO:
27
+ sample = 42
28
+ "hello" # comment
29
+ // TODO: sample
30
+ /* sample */
31
+ true false null
32
+ https://example.com/path
@@ -0,0 +1,10 @@
1
+ <script>sample 42</script>
2
+ <script lang="ts">sample 42</script>
3
+ <stylex>sample 42</stylex>
4
+ sample 42
5
+ sample = 42
6
+ "hello" # comment
7
+ // TODO: sample
8
+ /* sample */
9
+ true false null
10
+ https://example.com/path
@@ -0,0 +1,53 @@
1
+ _
2
+ /
3
+ associatedtype
4
+ inout
5
+ break
6
+ if
7
+ associativity
8
+ none
9
+ right
10
+ as
11
+ abs
12
+ bridgeFromObjectiveCUnconditional
13
+ count
14
+ enumerate
15
+ isBridgedToObjectiveC
16
+ join
17
+ precondition
18
+ reinterpretCast!reverse
19
+ strideof
20
+ unsafeDowncast
21
+ withUnsafePointerToObject
22
+ withUnsafePointers
23
+ @autoclosure
24
+ @lazy
25
+ @required
26
+ # define
27
+ __COLUMN__
28
+ # column
29
+ true
30
+ 0
31
+ UInt8
32
+ Int
33
+ AnyObject
34
+ Array
35
+ CBool
36
+ "sample 42"
37
+ "\0"
38
+ "\(a)"
39
+ "\u{a}"
40
+ #!x
41
+ ///x
42
+ //x
43
+ /*sample 42*/
44
+ /*TODO:*/
45
+ /**sample 42*/
46
+ /**TODO:*/
47
+ TODO:
48
+ sample = 42
49
+ "hello" # comment
50
+ // TODO: sample
51
+ /* sample */
52
+ true false null
53
+ https://example.com/path
@@ -0,0 +1,15 @@
1
+ Accept=
2
+ .include>
3
+ =
4
+ [Unit]
5
+ $MAINPID
6
+ true
7
+ #ax
8
+
9
+
10
+ sample = 42
11
+ "hello" # comment
12
+ // TODO: sample
13
+ /* sample */
14
+ true false null
15
+ https://example.com/path
@@ -0,0 +1,17 @@
1
+ after
2
+ array anymore
3
+ string bytelength
4
+ alarm
5
+ proc
6
+ !
7
+ 0.0
8
+ "\x"
9
+ ${A}
10
+ #x
11
+
12
+ sample = 42
13
+ "hello" # comment
14
+ // TODO: sample
15
+ /* sample */
16
+ true false null
17
+ https://example.com/path
@@ -0,0 +1,28 @@
1
+ var
2
+ resource
3
+ any
4
+ abs
5
+ /
6
+ (
7
+ 0
8
+ true
9
+ "sample 42"
10
+ "%x"
11
+ "\a"
12
+ "\000"
13
+ ''sample 42''
14
+ ''%x''
15
+ ''\a''
16
+ ''\000''
17
+ #sample 42
18
+
19
+ #TODO:
20
+
21
+ /*sample 42*/
22
+ /*TODO:*/
23
+ sample = 42
24
+ "hello" # comment
25
+ // TODO: sample
26
+ /* sample */
27
+ true false null
28
+ https://example.com/path
@@ -0,0 +1,15 @@
1
+ {sample 42}
2
+ [sample 42]
3
+ 0.0 pt
4
+ [
5
+ &
6
+ \@a
7
+ \%
8
+ a%sample 42
9
+ \begin{comment}sample 42\end{comment}
10
+ sample = 42
11
+ "hello" # comment
12
+ // TODO: sample
13
+ /* sample */
14
+ true false null
15
+ https://example.com/path
@@ -0,0 +1,31 @@
1
+ ,
2
+ [
3
+ """sample 42"""
4
+ """\uaaaa"""
5
+ """\Uaaaaaaaa"""
6
+ """\""""
7
+ "sample 42"
8
+ "\uaaaa"
9
+ "\Uaaaaaaaa"
10
+ "\""
11
+ '''sample 42'''
12
+ 'sample 42'
13
+ +0_0
14
+ 0xa_a
15
+ +0_0.0_0
16
+ +0_0.0_0E+0_0
17
+ +inf
18
+ aa
19
+ true
20
+ false
21
+ inf
22
+ 0-00-00 00:00:00.0+00:00
23
+ 00:00:00.0
24
+ #sample 42
25
+ #TODO:
26
+ sample = 42
27
+ "hello" # comment
28
+ // TODO: sample
29
+ /* sample */
30
+ true false null
31
+ https://example.com/path
@@ -0,0 +1,29 @@
1
+ {{ sample 42 }}
2
+ {{ abs }}
3
+ {{ attribute }}
4
+ {{ and }}
5
+ {{ / }}
6
+ {{ ( }}
7
+ {{ 0 }}
8
+ {{ "sample 42" }}
9
+ {{ "\x" }}
10
+ {{ 'sample 42' }}
11
+ {{ '\x' }}
12
+ {% sample 42 %}
13
+ {% abs %}
14
+ {% attribute %}
15
+ {% and %}
16
+ {% / %}
17
+ {% ( %}
18
+ {% 0 %}
19
+ {% "sample 42" %}
20
+ {% "\x" %}
21
+ {% 'sample 42' %}
22
+ {% '\x' %}
23
+ {#sample 42#}
24
+ sample = 42
25
+ "hello" # comment
26
+ // TODO: sample
27
+ /* sample */
28
+ true false null
29
+ https://example.com/path
@@ -0,0 +1,32 @@
1
+ +10UL
2
+ +0.0E+0F
3
+ +0E+0F
4
+ aa (
5
+ abstract
6
+ debugger
7
+ function
8
+ new
9
+ this
10
+ false
11
+ Array
12
+ Number
13
+ any
14
+ /
15
+ /aaa/g
16
+ \000
17
+ //sample 42
18
+ /*sample 42*/
19
+ /*TODO:*/
20
+ "sample 42"
21
+ "\x"
22
+ 'sample 42'
23
+ '\x'
24
+ `sample 42`
25
+ `\x`
26
+ `${x}`
27
+ sample = 42
28
+ "hello" # comment
29
+ // TODO: sample
30
+ /* sample */
31
+ true false null
32
+ https://example.com/path
@@ -0,0 +1,47 @@
1
+ module
2
+ if
3
+ break
4
+ assert
5
+ pub
6
+ $if
7
+ mac
8
+ gcc
9
+ amd64
10
+ debug
11
+ Aa
12
+ a(
13
+ in
14
+ [sample 42]
15
+ [x]
16
+ [deprecated]
17
+ byte
18
+ bool
19
+ any_int
20
+ true
21
+ none
22
+ {
23
+ (
24
+ [
25
+ 0b0
26
+ 0o0
27
+ 0xa
28
+ 0
29
+ "sample 42"
30
+ "%x"
31
+ "\a"
32
+ "\000"
33
+ 'sample 42'
34
+ '%x'
35
+ '\a'
36
+ '\000'
37
+ `sample 42`
38
+ //sample 42
39
+ //TODO:
40
+ /*sample 42*/
41
+ /*TODO:*/
42
+ sample = 42
43
+ "hello" # comment
44
+ // TODO: sample
45
+ /* sample */
46
+ true false null
47
+ https://example.com/path
@@ -0,0 +1,22 @@
1
+ float
2
+ aa (
3
+ for
4
+ inline
5
+ operator
6
+ class
7
+ goto
8
+ true
9
+ 0
10
+ /
11
+ "\x"
12
+ //x
13
+ /*sample 42*/
14
+ TODO:
15
+
16
+
17
+ sample = 42
18
+ "hello" # comment
19
+ // TODO: sample
20
+ /* sample */
21
+ true false null
22
+ https://example.com/path
@@ -0,0 +1,37 @@
1
+ module
2
+ task
3
+ $a
4
+ always
5
+ deassign
6
+ endprimitive
7
+ genvar
8
+ large
9
+ not
10
+ pulsestyle_onevent
11
+ rtranif0
12
+ supply1
13
+ vectored
14
+ alias
15
+ chandle
16
+ endclocking
17
+ expect
18
+ inside
19
+ packed
20
+ sequence
21
+ timeunit
22
+ int
23
+ 0
24
+ 'sba
25
+ .*
26
+ "sample 42"
27
+ "\x"
28
+ //sample 42
29
+ //TODO:
30
+ /*sample 42*/
31
+ /*TODO:*/
32
+ sample = 42
33
+ "hello" # comment
34
+ // TODO: sample
35
+ /* sample */
36
+ true false null
37
+ https://example.com/path
@@ -0,0 +1,37 @@
1
+ STRING
2
+ LIBRARY a
3
+ USE a
4
+ COMPONENT a
5
+ ARCHITECTURE a OF a
6
+ ENTITY a IS
7
+ END ARCHITECTURE a
8
+ ABS
9
+ BEGIN
10
+ DISCONNECT
11
+ FILE
12
+ IF
13
+ LABEL
14
+ NAND
15
+ PACKAGE
16
+ RANGE
17
+ SELECT
18
+ THEN
19
+ VARIABLE
20
+ 'BASE
21
+ 'REVERSE_RANGE
22
+ 'SIMPLE_NAME
23
+ STD_MATCH
24
+ TO_UNSIGNED
25
+ /
26
+ '0'
27
+ 0E-0 FS
28
+ TRUE
29
+ NOTE
30
+ "a"
31
+ --x
32
+ sample = 42
33
+ "hello" # comment
34
+ // TODO: sample
35
+ /* sample */
36
+ true false null
37
+ https://example.com/path
@@ -0,0 +1,17 @@
1
+ aa(a)
2
+ (
3
+ xnoremap
4
+ snor
5
+ !
6
+ 0
7
+ "sample 42
8
+ "sample 42"
9
+ "\x"
10
+ 'sample 42'
11
+ '\x'
12
+ sample = 42
13
+ "hello" # comment
14
+ // TODO: sample
15
+ /* sample */
16
+ true false null
17
+ https://example.com/path
@@ -0,0 +1,29 @@
1
+ <templatex>sample 42</templatex>
2
+ <templatex><ax></templatex>
3
+ <templatex></A x></templatex>
4
+ <templatex></BODY x></templatex>
5
+ <templatex></SCRIPT x></templatex>
6
+ <templatex>&a];</templatex>
7
+ <templatex>alt=</templatex>
8
+ <templatex>:</templatex>
9
+ <templatex>"a"</templatex>
10
+ <templatex>#aaaaaa</templatex>
11
+ <templatex><</templatex>
12
+ <templatex>ftps://a</templatex>
13
+ <templatex><!--x--></templatex>
14
+ <templatex><!--sample 42--></templatex>
15
+ <templatex></B-ALERT</templatex>
16
+ <templatex>variant=</templatex>
17
+ <templatex></COMPONENT</templatex>
18
+ <templatex>v-text=</templatex>
19
+ <templatex></ROUTER-LINK</templatex>
20
+ <templatex>to=</templatex>
21
+ <script>sample 42</script>
22
+ <script lang="ts">sample 42</script>
23
+ <stylex>sample 42</stylex>
24
+ sample = 42
25
+ "hello" # comment
26
+ // TODO: sample
27
+ /* sample */
28
+ true false null
29
+ https://example.com/path
@@ -0,0 +1,14 @@
1
+ <!DOCTYPEsample 42/>
2
+ <!--sample 42-->
3
+ <?sample 42?>
4
+ <? sample 42=?>
5
+ <?"sample 42"?>
6
+ <?"\x"?>
7
+ <?'sample 42'?>
8
+ <?'\x'?>
9
+ sample = 42
10
+ "hello" # comment
11
+ // TODO: sample
12
+ /* sample */
13
+ true false null
14
+ https://example.com/path
@@ -0,0 +1,14 @@
1
+ a*
2
+ *a:
3
+ 0
4
+ *
5
+ true
6
+ !ax
7
+
8
+
9
+ sample = 42
10
+ "hello" # comment
11
+ // TODO: sample
12
+ /* sample */
13
+ true false null
14
+ https://example.com/path
@@ -0,0 +1,19 @@
1
+ !!binary
2
+ YES
3
+ :
4
+ &a
5
+ a:
6
+ :
7
+ ---
8
+ "sample 42"
9
+ "\x"
10
+ 'sample 42'
11
+ '\x'
12
+ #sample 42
13
+ #TODO:
14
+ sample = 42
15
+ "hello" # comment
16
+ // TODO: sample
17
+ /* sample */
18
+ true false null
19
+ https://example.com/path
@@ -0,0 +1,12 @@
1
+ a=
2
+ [x]
3
+ $releasever
4
+ #ax
5
+
6
+
7
+ sample = 42
8
+ "hello" # comment
9
+ // TODO: sample
10
+ /* sample */
11
+ true false null
12
+ https://example.com/path
@@ -0,0 +1,24 @@
1
+ addrspace
2
+ @a
3
+ anyframe
4
+ c_ushort
5
+ !
6
+ (
7
+ null
8
+ 0b0
9
+ true
10
+ "sample 42"
11
+ "\""
12
+ 'sample 42'
13
+ 'xx'
14
+ '\"'
15
+ \\sample 42
16
+ \\\"
17
+ //sample 42
18
+ //TODO:
19
+ sample = 42
20
+ "hello" # comment
21
+ // TODO: sample
22
+ /* sample */
23
+ true false null
24
+ https://example.com/path
@@ -0,0 +1,31 @@
1
+ #INCLUDE
2
+ VERSION
3
+ a:
4
+ GOTO a0
5
+ CLASS a : a
6
+ .a (
7
+ ACTOR
8
+ CLASS
9
+ GOTO
10
+ /
11
+ (
12
+ TRUE
13
+ 0.0
14
+ 0Xa
15
+ 0B0F
16
+ "sample 42"
17
+ "\""
18
+ "\uaaaa"
19
+ 'sample 42'
20
+ '\"'
21
+ '\uaaaa'
22
+ //sample 42
23
+ //TODO:
24
+ /*sample 42*/
25
+ /*TODO:*/
26
+ sample = 42
27
+ "hello" # comment
28
+ // TODO: sample
29
+ /* sample */
30
+ true false null
31
+ https://example.com/path
@@ -0,0 +1,21 @@
1
+ 0
2
+ always
3
+ !
4
+ -x
5
+ -eq
6
+ unalias
7
+ add-zsh-hook
8
+ gawk
9
+ base64
10
+ function A ()
11
+ ${A}
12
+ "sample 42"
13
+ "\x"
14
+ 'sample 42'
15
+ #sample 42
16
+ sample = 42
17
+ "hello" # comment
18
+ // TODO: sample
19
+ /* sample */
20
+ true false null
21
+ https://example.com/path
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "buninu",
3
- "version": "0.4.21",
3
+ "version": "0.7.0",
4
4
  "description": "Buninu is a portable, self-bootstrapping Unix-like userspace built on Bun that runs across operating systems",
5
5
  "type": "module",
6
6
  "main": "./bin/init.js",
package/initramfs/init.js CHANGED
@@ -462,7 +462,10 @@ Type bunterm in bunmsh: Graphical Terminal
462
462
  ...process.env,
463
463
  PATH: classic_path + ":" +
464
464
  buninu_path,
465
- HOME:"/buninu"
465
+ HOME:"/buninu",
466
+ PULSE_SERVER:"127.0.0.1",
467
+ XDG_RUNTIME_DIR:"/tmp",
468
+ WAYLAND_DISPLAY:"wayland-buninu"
466
469
  },
467
470
  stdin: "inherit",
468
471
  stdout: "inherit",
@@ -540,11 +543,12 @@ const configureEthernet = () => {
540
543
  };
541
544
 
542
545
  // Explicit full coldplug for this deliberately tiny system: load every .ko
543
- // represented in modules.dep, recursively including each module's declared
546
+ // represented in modules.dep except GPU modules (cfg.gpu only), including declared
544
547
  // dependencies. Failures are reported individually without stopping the rest.
545
548
  const configureModules = () => {
546
549
  const { modprobeAll } = require("/lib/modprobe.js");
547
- const report = modprobeAll();
550
+ const { isGpuPath } = require("/lib/gpu.js");
551
+ const report = modprobeAll({ accept: (module, path) => !isGpuPath(module, path) });
548
552
  console.log(`modules: ${report.inserted.length} newly loaded, ${report.errors.length} failed`);
549
553
  for (const { module, error } of report.errors) console.log(`modules: ${module}: ${error}`);
550
554
  return report;
@@ -579,12 +583,24 @@ const configureSound = () => {
579
583
  return devices;
580
584
  };
581
585
 
586
+ const configureGraphics = () => {
587
+ try {
588
+ const { configureGpu } = require("/lib/gpu.js");
589
+ const { autoload, tryModprobe } = require("/lib/modprobe.js");
590
+ return configureGpu({ autoload, tryModprobe });
591
+ } catch (error) {
592
+ console.log(`[gpu] failed: ${error?.message ?? error}; init continues`);
593
+ return { errors: [String(error?.message ?? error)] };
594
+ }
595
+ };
596
+
582
597
  globalThis.cfg = Object.freeze(Object.defineProperties({}, {
583
598
  all: { enumerable: true, get: configureModules },
584
599
  disk: { enumerable: true, get: configureDisks },
585
600
  net: { enumerable: true, get: configureEthernet },
586
601
  power: { enumerable: true, get: configureBattery },
587
602
  sound: { enumerable: true, get: configureSound },
603
+ gpu: { enumerable: true, get: configureGraphics },
588
604
  }));
589
605
 
590
606
  // Compatibility aliases for images and notes that used the original API.
@@ -24,6 +24,20 @@ const runXclip = async (args, input) => {
24
24
  return output;
25
25
  };
26
26
 
27
+ export const readClipboard = async () => Buffer.from(await runXclip(["-o"])).toString("utf8");
28
+ export const writeClipboard = (text) => runXclip([], Buffer.from(text, "utf8"));
29
+
30
+ // Match xterm's paste behavior: normalize newlines and prevent embedded closing
31
+ // delimiters from escaping bracketed paste. Legacy programs have not negotiated
32
+ // DECSET 2004 and must receive plain text.
33
+ export function pasteText(term, text, write) {
34
+ text = text.replace(/\r\n|\n/g, "\r");
35
+ if (term._core?.coreService?.decPrivateModes?.bracketedPasteMode) {
36
+ text = `\x1b[200~${text.replace(/\x1b/g, "")}\x1b[201~`;
37
+ }
38
+ write(text);
39
+ }
40
+
27
41
  // Registers the OSC 52 handler on an xterm.js terminal. `reply` sends bytes
28
42
  // back to the program, as the terminal's other replies do. A read the xclip
29
43
  // call cannot answer is still answered, with empty contents, so the program