omdev 0.0.51__tar.gz → 0.0.53__tar.gz

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 (600) hide show
  1. {omdev-0.0.51/omdev.egg-info → omdev-0.0.53}/PKG-INFO +12 -21
  2. {omdev-0.0.51 → omdev-0.0.53}/omdev/.om-manifests.json +5 -17
  3. {omdev-0.0.51 → omdev-0.0.53}/omdev/__about__.py +1 -9
  4. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/.python-versions.json +4 -4
  5. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/_quickjs/libunicode.c +5 -0
  6. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/_quickjs/quickjs-libc.c +22 -3
  7. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/_quickjs/quickjs.c +103 -76
  8. omdev-0.0.53/omdev/scripts/ghajunit.py +477 -0
  9. {omdev-0.0.51 → omdev-0.0.53}/omdev/scripts/slowcat.py +3 -0
  10. {omdev-0.0.51 → omdev-0.0.53}/omdev/scripts/tmpexec.py +3 -0
  11. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/json/rendering.py +2 -2
  12. {omdev-0.0.51/omdev/tui/rich → omdev-0.0.53/omdev/tui}/diff/LICENSE +9 -7
  13. omdev-0.0.53/omdev/tui/diff/README.md +9 -0
  14. omdev-0.0.53/omdev/tui/diff/__init__.py +20 -0
  15. {omdev-0.0.51/omdev/tui/rich → omdev-0.0.53/omdev/tui}/diff/__main__.py +1 -1
  16. omdev-0.0.53/omdev/tui/diff/cli.py +64 -0
  17. omdev-0.0.53/omdev/tui/diff/rendering.py +539 -0
  18. omdev-0.0.53/omdev/tui/diff/terminal.py +32 -0
  19. omdev-0.0.53/omdev/tui/diff/themes.py +80 -0
  20. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/README.md +21 -14
  21. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/__init__.py +14 -64
  22. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/_dataclasses.py +79 -512
  23. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/_devdocs/design.md +14 -6
  24. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/_devdocs/dev_01_parity_push.md +18 -0
  25. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/controls/markdown.py +2 -1
  26. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/controls/static.py +1 -1
  27. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/controls/status.py +2 -1
  28. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/controls/textarea.py +34 -12
  29. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/docs/highlighting.py +1 -1
  30. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/docs/positions.py +3 -2
  31. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/docs/treesitter.py +9 -9
  32. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/events/types.py +25 -0
  33. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/runtime/asyncio.py +130 -22
  34. omdev-0.0.53/omdev/tui/minitui/runtime/jobcontrol.py +73 -0
  35. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/runtime/sync.py +115 -13
  36. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/screens/cells.py +4 -4
  37. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/surfaces/alts.py +8 -2
  38. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/surfaces/base.py +16 -3
  39. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/surfaces/inlines.py +32 -10
  40. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/text/markdown/base.py +30 -8
  41. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/text/markdown/markdownit.py +1 -1
  42. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/text/parts.py +1 -1
  43. omdev-0.0.53/omdev/tui/minitui/text/rendering.py +50 -0
  44. omdev-0.0.53/omdev/tui/minitui/text/segments.py +118 -0
  45. omdev-0.0.53/omdev/tui/minitui/text/styles.py +88 -0
  46. omdev-0.0.53/omdev/tui/minitui/text/themes.py +136 -0
  47. omdev-0.0.53/omdev/tui/minitui/text/wrap.py +28 -0
  48. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/tty/terminals.py +13 -0
  49. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/vim/_dataclasses.py +45 -20
  50. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/vim/options.py +4 -1
  51. {omdev-0.0.51 → omdev-0.0.53/omdev.egg-info}/PKG-INFO +12 -21
  52. {omdev-0.0.51 → omdev-0.0.53}/omdev.egg-info/SOURCES.txt +12 -32
  53. {omdev-0.0.51 → omdev-0.0.53}/omdev.egg-info/requires.txt +11 -21
  54. {omdev-0.0.51 → omdev-0.0.53}/pyproject.toml +12 -22
  55. omdev-0.0.51/omdev/diffs/__main__.py +0 -11
  56. omdev-0.0.51/omdev/diffs/cli.py +0 -141
  57. omdev-0.0.51/omdev/diffs/parsing.py +0 -780
  58. omdev-0.0.51/omdev/diffs/rendering.py +0 -176
  59. omdev-0.0.51/omdev/diffs/types.py +0 -237
  60. omdev-0.0.51/omdev/markdownit/incparse.py +0 -508
  61. omdev-0.0.51/omdev/markdownit/tokens.py +0 -51
  62. omdev-0.0.51/omdev/tui/minitui/text/colors.py +0 -255
  63. omdev-0.0.51/omdev/tui/minitui/text/highlights/__init__.py +0 -0
  64. omdev-0.0.51/omdev/tui/minitui/text/highlights/base.py +0 -200
  65. omdev-0.0.51/omdev/tui/minitui/text/highlights/pygments.py +0 -87
  66. omdev-0.0.51/omdev/tui/minitui/text/markdown/__init__.py +0 -0
  67. omdev-0.0.51/omdev/tui/minitui/text/segments.py +0 -53
  68. omdev-0.0.51/omdev/tui/minitui/text/sgr.py +0 -198
  69. omdev-0.0.51/omdev/tui/minitui/text/styles.py +0 -94
  70. omdev-0.0.51/omdev/tui/minitui/text/themes.py +0 -135
  71. omdev-0.0.51/omdev/tui/minitui/text/widths.py +0 -79
  72. omdev-0.0.51/omdev/tui/minitui/text/wrap.py +0 -118
  73. omdev-0.0.51/omdev/tui/minitui/tty/__init__.py +0 -0
  74. omdev-0.0.51/omdev/tui/rich/__init__.py +0 -53
  75. omdev-0.0.51/omdev/tui/rich/console2.py +0 -20
  76. omdev-0.0.51/omdev/tui/rich/diff/__init__.py +0 -15
  77. omdev-0.0.51/omdev/tui/rich/diff/_compat.py +0 -159
  78. omdev-0.0.51/omdev/tui/rich/diff/cli.py +0 -102
  79. omdev-0.0.51/omdev/tui/rich/diff/renderables.py +0 -142
  80. omdev-0.0.51/omdev/tui/rich/diff/rendering.py +0 -533
  81. omdev-0.0.51/omdev/tui/rich/diff/underlinebar.py +0 -138
  82. omdev-0.0.51/omdev/tui/rich/markdown2.py +0 -285
  83. omdev-0.0.51/omdev/tui/rich/textual/__init__.py +0 -12
  84. omdev-0.0.51/omdev/tui/rich/textual/dark.py +0 -108
  85. omdev-0.0.51/omdev/tui/rich/textual/dump.py +0 -239
  86. omdev-0.0.51/omdev/tui/rich/textual/themes.py +0 -222
  87. omdev-0.0.51/omdev/tui/rich/trirule.py +0 -586
  88. {omdev-0.0.51 → omdev-0.0.53}/LICENSE +0 -0
  89. {omdev-0.0.51 → omdev-0.0.53}/MANIFEST.in +0 -0
  90. {omdev-0.0.51 → omdev-0.0.53}/README.md +0 -0
  91. {omdev-0.0.51 → omdev-0.0.53}/omdev/README.md +0 -0
  92. {omdev-0.0.51 → omdev-0.0.53}/omdev/__init__.py +0 -0
  93. {omdev-0.0.51 → omdev-0.0.53}/omdev/amalg/__init__.py +0 -0
  94. {omdev-0.0.51 → omdev-0.0.53}/omdev/amalg/__main__.py +0 -0
  95. {omdev-0.0.51 → omdev-0.0.53}/omdev/amalg/cli/__init__.py +0 -0
  96. {omdev-0.0.51 → omdev-0.0.53}/omdev/amalg/cli/main.py +0 -0
  97. {omdev-0.0.51 → omdev-0.0.53}/omdev/amalg/gen/__init__.py +0 -0
  98. {omdev-0.0.51 → omdev-0.0.53}/omdev/amalg/gen/gen.py +0 -0
  99. {omdev-0.0.51 → omdev-0.0.53}/omdev/amalg/gen/imports.py +0 -0
  100. {omdev-0.0.51 → omdev-0.0.53}/omdev/amalg/gen/manifests.py +0 -0
  101. {omdev-0.0.51 → omdev-0.0.53}/omdev/amalg/gen/resources.py +0 -0
  102. {omdev-0.0.51 → omdev-0.0.53}/omdev/amalg/gen/srcfiles.py +0 -0
  103. {omdev-0.0.51 → omdev-0.0.53}/omdev/amalg/gen/strip.py +0 -0
  104. {omdev-0.0.51 → omdev-0.0.53}/omdev/amalg/gen/types.py +0 -0
  105. {omdev-0.0.51 → omdev-0.0.53}/omdev/amalg/gen/typing.py +0 -0
  106. {omdev-0.0.51 → omdev-0.0.53}/omdev/amalg/info.py +0 -0
  107. {omdev-0.0.51 → omdev-0.0.53}/omdev/amalg/sources.py +0 -0
  108. {omdev-0.0.51 → omdev-0.0.53}/omdev/cache/__init__.py +0 -0
  109. {omdev-0.0.51 → omdev-0.0.53}/omdev/cache/compute/__init__.py +0 -0
  110. {omdev-0.0.51 → omdev-0.0.53}/omdev/cache/compute/cache.py +0 -0
  111. {omdev-0.0.51 → omdev-0.0.53}/omdev/cache/compute/contexts.py +0 -0
  112. {omdev-0.0.51 → omdev-0.0.53}/omdev/cache/compute/currents.py +0 -0
  113. {omdev-0.0.51 → omdev-0.0.53}/omdev/cache/compute/fns.py +0 -0
  114. {omdev-0.0.51 → omdev-0.0.53}/omdev/cache/compute/resolvers.py +0 -0
  115. {omdev-0.0.51 → omdev-0.0.53}/omdev/cache/compute/storage.py +0 -0
  116. {omdev-0.0.51 → omdev-0.0.53}/omdev/cache/compute/types.py +0 -0
  117. {omdev-0.0.51 → omdev-0.0.53}/omdev/cache/data/__init__.py +0 -0
  118. {omdev-0.0.51 → omdev-0.0.53}/omdev/cache/data/actions.py +0 -0
  119. {omdev-0.0.51 → omdev-0.0.53}/omdev/cache/data/cache.py +0 -0
  120. {omdev-0.0.51 → omdev-0.0.53}/omdev/cache/data/consts.py +0 -0
  121. {omdev-0.0.51 → omdev-0.0.53}/omdev/cache/data/defaults.py +0 -0
  122. {omdev-0.0.51 → omdev-0.0.53}/omdev/cache/data/manifests.py +0 -0
  123. {omdev-0.0.51 → omdev-0.0.53}/omdev/cache/data/specs.py +0 -0
  124. {omdev-0.0.51 → omdev-0.0.53}/omdev/capi/__init__.py +0 -0
  125. {omdev-0.0.51 → omdev-0.0.53}/omdev/capi/darwin/__init__.py +0 -0
  126. {omdev-0.0.51 → omdev-0.0.53}/omdev/capi/darwin/aps.py +0 -0
  127. {omdev-0.0.51 → omdev-0.0.53}/omdev/capi/darwin/ax.py +0 -0
  128. {omdev-0.0.51 → omdev-0.0.53}/omdev/capi/darwin/cf.py +0 -0
  129. {omdev-0.0.51 → omdev-0.0.53}/omdev/capi/darwin/cg.py +0 -0
  130. {omdev-0.0.51 → omdev-0.0.53}/omdev/capi/linux/__init__.py +0 -0
  131. {omdev-0.0.51 → omdev-0.0.53}/omdev/capi/linux/x11.py +0 -0
  132. {omdev-0.0.51 → omdev-0.0.53}/omdev/cc/__init__.py +0 -0
  133. {omdev-0.0.51 → omdev-0.0.53}/omdev/cc/__main__.py +0 -0
  134. {omdev-0.0.51 → omdev-0.0.53}/omdev/cc/cdeps.py +0 -0
  135. {omdev-0.0.51 → omdev-0.0.53}/omdev/cc/cdeps.toml +0 -0
  136. {omdev-0.0.51 → omdev-0.0.53}/omdev/cc/cli.py +0 -0
  137. {omdev-0.0.51 → omdev-0.0.53}/omdev/cc/srclangs.py +0 -0
  138. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/__init__.py +0 -0
  139. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/_boilerplate.cc +0 -0
  140. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/_distutils/LICENSE +0 -0
  141. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/_distutils/__init__.py +0 -0
  142. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/_distutils/build_ext.py +0 -0
  143. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
  144. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
  145. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/_distutils/compilers/options.py +0 -0
  146. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
  147. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/_distutils/dir_util.py +0 -0
  148. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/_distutils/errors.py +0 -0
  149. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/_distutils/extension.py +0 -0
  150. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/_distutils/file_util.py +0 -0
  151. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/_distutils/modified.py +0 -0
  152. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/_distutils/spawn.py +0 -0
  153. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/_distutils/sysconfig.py +0 -0
  154. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/_distutils/util.py +0 -0
  155. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/_distutils/version.py +0 -0
  156. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/build.py +0 -0
  157. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/cmake.py +0 -0
  158. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/configs.py +0 -0
  159. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/importhook.py +0 -0
  160. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/magic.py +0 -0
  161. {omdev-0.0.51 → omdev-0.0.53}/omdev/cexts/scan.py +0 -0
  162. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/__init__.py +0 -0
  163. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/__main__.py +0 -0
  164. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/cache.py +0 -0
  165. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/ci.py +0 -0
  166. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/cli.py +0 -0
  167. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/compose.py +0 -0
  168. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/consts.py +0 -0
  169. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/docker/__init__.py +0 -0
  170. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/docker/buildcaching.py +0 -0
  171. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/docker/cache.py +0 -0
  172. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/docker/cacheserved/__init__.py +0 -0
  173. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/docker/cacheserved/cache.py +0 -0
  174. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/docker/cacheserved/manifests.py +0 -0
  175. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/docker/cmds.py +0 -0
  176. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/docker/dataserver.py +0 -0
  177. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/docker/imagepulling.py +0 -0
  178. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/docker/inject.py +0 -0
  179. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/docker/packing.py +0 -0
  180. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/docker/repositories.py +0 -0
  181. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/docker/utils.py +0 -0
  182. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/github/__init__.py +0 -0
  183. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/github/api/__init__.py +0 -0
  184. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/github/api/clients.py +0 -0
  185. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/github/api/v1/__init__.py +0 -0
  186. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/github/api/v1/api.py +0 -0
  187. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/github/api/v1/client.py +0 -0
  188. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/github/api/v2/__init__.py +0 -0
  189. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/github/api/v2/api.py +0 -0
  190. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/github/api/v2/azure.py +0 -0
  191. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/github/api/v2/client.py +0 -0
  192. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/github/bootstrap.py +0 -0
  193. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/github/cache.py +0 -0
  194. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/github/cli.py +0 -0
  195. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/github/env.py +0 -0
  196. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/github/inject.py +0 -0
  197. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/inject.py +0 -0
  198. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/requirements.py +0 -0
  199. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/shell.py +0 -0
  200. {omdev-0.0.51 → omdev-0.0.53}/omdev/ci/utils.py +0 -0
  201. {omdev-0.0.51 → omdev-0.0.53}/omdev/cli/__init__.py +0 -0
  202. {omdev-0.0.51 → omdev-0.0.53}/omdev/cli/__main__.py +0 -0
  203. {omdev-0.0.51 → omdev-0.0.53}/omdev/cli/_pathhack.py +0 -0
  204. {omdev-0.0.51 → omdev-0.0.53}/omdev/cli/clicli.py +0 -0
  205. {omdev-0.0.51 → omdev-0.0.53}/omdev/cli/install.py +0 -0
  206. {omdev-0.0.51 → omdev-0.0.53}/omdev/cli/main.py +0 -0
  207. {omdev-0.0.51 → omdev-0.0.53}/omdev/cli/managers.py +0 -0
  208. {omdev-0.0.51 → omdev-0.0.53}/omdev/cli/types.py +0 -0
  209. {omdev-0.0.51 → omdev-0.0.53}/omdev/clipboard/__init__.py +0 -0
  210. {omdev-0.0.51 → omdev-0.0.53}/omdev/clipboard/capi/__init__.py +0 -0
  211. {omdev-0.0.51 → omdev-0.0.53}/omdev/clipboard/capi/darwin_cf.py +0 -0
  212. {omdev-0.0.51 → omdev-0.0.53}/omdev/clipboard/capi/linux_x11.py +0 -0
  213. {omdev-0.0.51 → omdev-0.0.53}/omdev/clipboard/commands.py +0 -0
  214. {omdev-0.0.51 → omdev-0.0.53}/omdev/clipboard/platform.py +0 -0
  215. {omdev-0.0.51 → omdev-0.0.53}/omdev/clipboard/types.py +0 -0
  216. {omdev-0.0.51 → omdev-0.0.53}/omdev/cmake.py +0 -0
  217. {omdev-0.0.51 → omdev-0.0.53}/omdev/cmdlog/__init__.py +0 -0
  218. {omdev-0.0.51 → omdev-0.0.53}/omdev/cmdlog/__main__.py +0 -0
  219. {omdev-0.0.51 → omdev-0.0.53}/omdev/cmdlog/_cmdlog.py +0 -0
  220. {omdev-0.0.51 → omdev-0.0.53}/omdev/cmdlog/cli.py +0 -0
  221. {omdev-0.0.51 → omdev-0.0.53}/omdev/cmdlog/cmdlog.py +0 -0
  222. {omdev-0.0.51 → omdev-0.0.53}/omdev/dataclasses/__init__.py +0 -0
  223. {omdev-0.0.51 → omdev-0.0.53}/omdev/dataclasses/__main__.py +0 -0
  224. {omdev-0.0.51 → omdev-0.0.53}/omdev/dataclasses/_dumping.py +0 -0
  225. {omdev-0.0.51 → omdev-0.0.53}/omdev/dataclasses/_template.py +0 -0
  226. {omdev-0.0.51 → omdev-0.0.53}/omdev/dataclasses/cli.py +0 -0
  227. {omdev-0.0.51 → omdev-0.0.53}/omdev/dataclasses/codegen.py +0 -0
  228. {omdev-0.0.51 → omdev-0.0.53}/omdev/dataclasses/dumping.py +0 -0
  229. {omdev-0.0.51 → omdev-0.0.53}/omdev/dataserver/__init__.py +0 -0
  230. {omdev-0.0.51 → omdev-0.0.53}/omdev/dataserver/handlers.py +0 -0
  231. {omdev-0.0.51 → omdev-0.0.53}/omdev/dataserver/http.py +0 -0
  232. {omdev-0.0.51 → omdev-0.0.53}/omdev/dataserver/routes.py +0 -0
  233. {omdev-0.0.51 → omdev-0.0.53}/omdev/dataserver/server.py +0 -0
  234. {omdev-0.0.51 → omdev-0.0.53}/omdev/dataserver/targets.py +0 -0
  235. {omdev-0.0.51/omdev/diffs → omdev-0.0.53/omdev/dockerdev}/__init__.py +0 -0
  236. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/__main__.py +0 -0
  237. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/build.py +0 -0
  238. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/cli.py +0 -0
  239. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/config.py +0 -0
  240. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/config.toml +0 -0
  241. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/content.py +0 -0
  242. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/discovery.py +0 -0
  243. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/gen.py +0 -0
  244. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/helpers.py +0 -0
  245. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/ops.py +0 -0
  246. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/rendering.py +0 -0
  247. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/configs/.gdbinit +0 -0
  248. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/configs/.sqliterc +0 -0
  249. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/configs/.tmux.conf +0 -0
  250. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/configs/.vimrc +0 -0
  251. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/depsets/python.toml +0 -0
  252. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/depsets/system.toml +0 -0
  253. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/depsets/x11.toml +0 -0
  254. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/fragments/apt.sh +0 -0
  255. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/fragments/chgrp.sh +0 -0
  256. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/fragments/docker.sh +0 -0
  257. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/fragments/firefox.sh +0 -0
  258. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/fragments/go.sh +0 -0
  259. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/fragments/jdk.sh +0 -0
  260. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/fragments/man.sh +0 -0
  261. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/fragments/nvm.sh +0 -0
  262. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/fragments/om.sh +0 -0
  263. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/fragments/pyenv.sh +0 -0
  264. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/fragments/rbenv.sh +0 -0
  265. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/fragments/rust.sh +0 -0
  266. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/fragments/sshd.sh +0 -0
  267. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/fragments/user.sh +0 -0
  268. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/fragments/uv.sh +0 -0
  269. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/fragments/vcpkg.sh +0 -0
  270. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/fragments/workdir.sh +0 -0
  271. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/fragments/zig.sh +0 -0
  272. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/scripts/install-claude +0 -0
  273. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/scripts/install-codex +0 -0
  274. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/scripts/install-pi +0 -0
  275. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/scripts/run-dbus +0 -0
  276. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/scripts/run-mysql +0 -0
  277. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/scripts/run-postgres +0 -0
  278. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/resources/shift-uid.sh +0 -0
  279. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/run.py +0 -0
  280. {omdev-0.0.51 → omdev-0.0.53}/omdev/dockerdev/utils.py +0 -0
  281. {omdev-0.0.51/omdev/dockerdev → omdev-0.0.53/omdev/git}/__init__.py +0 -0
  282. {omdev-0.0.51 → omdev-0.0.53}/omdev/git/magic.py +0 -0
  283. {omdev-0.0.51 → omdev-0.0.53}/omdev/git/revisions.py +0 -0
  284. {omdev-0.0.51 → omdev-0.0.53}/omdev/git/shallow.py +0 -0
  285. {omdev-0.0.51 → omdev-0.0.53}/omdev/git/status.py +0 -0
  286. {omdev-0.0.51/omdev/git → omdev-0.0.53/omdev/git/vendor}/__init__.py +0 -0
  287. {omdev-0.0.51 → omdev-0.0.53}/omdev/git/vendor/aborting.py +0 -0
  288. {omdev-0.0.51 → omdev-0.0.53}/omdev/git/vendor/diffing.py +0 -0
  289. {omdev-0.0.51 → omdev-0.0.53}/omdev/git/vendor/errors.py +0 -0
  290. {omdev-0.0.51 → omdev-0.0.53}/omdev/git/vendor/journals.py +0 -0
  291. {omdev-0.0.51 → omdev-0.0.53}/omdev/git/vendor/merging.py +0 -0
  292. {omdev-0.0.51 → omdev-0.0.53}/omdev/git/vendor/paths.py +0 -0
  293. {omdev-0.0.51 → omdev-0.0.53}/omdev/git/vendor/pulling.py +0 -0
  294. {omdev-0.0.51 → omdev-0.0.53}/omdev/git/vendor/runners.py +0 -0
  295. {omdev-0.0.51 → omdev-0.0.53}/omdev/git/vendor/specs.py +0 -0
  296. {omdev-0.0.51 → omdev-0.0.53}/omdev/git/vendor/upstreams.py +0 -0
  297. {omdev-0.0.51/omdev/git/vendor → omdev-0.0.53/omdev/home}/__init__.py +0 -0
  298. {omdev-0.0.51 → omdev-0.0.53}/omdev/home/__main__.py +0 -0
  299. {omdev-0.0.51 → omdev-0.0.53}/omdev/home/cli.py +0 -0
  300. {omdev-0.0.51 → omdev-0.0.53}/omdev/home/paths.py +0 -0
  301. {omdev-0.0.51 → omdev-0.0.53}/omdev/home/secrets.py +0 -0
  302. {omdev-0.0.51 → omdev-0.0.53}/omdev/home/shadow.py +0 -0
  303. {omdev-0.0.51 → omdev-0.0.53}/omdev/imgur.py +0 -0
  304. {omdev-0.0.51 → omdev-0.0.53}/omdev/intellij/__init__.py +0 -0
  305. {omdev-0.0.51 → omdev-0.0.53}/omdev/intellij/cli.py +0 -0
  306. {omdev-0.0.51 → omdev-0.0.53}/omdev/intellij/ides.py +0 -0
  307. {omdev-0.0.51 → omdev-0.0.53}/omdev/intellij/open.py +0 -0
  308. {omdev-0.0.51 → omdev-0.0.53}/omdev/interp/__init__.py +0 -0
  309. {omdev-0.0.51 → omdev-0.0.53}/omdev/interp/__main__.py +0 -0
  310. {omdev-0.0.51 → omdev-0.0.53}/omdev/interp/cli.py +0 -0
  311. {omdev-0.0.51 → omdev-0.0.53}/omdev/interp/default.py +0 -0
  312. {omdev-0.0.51 → omdev-0.0.53}/omdev/interp/inject.py +0 -0
  313. {omdev-0.0.51 → omdev-0.0.53}/omdev/interp/inspect.py +0 -0
  314. {omdev-0.0.51/omdev/home → omdev-0.0.53/omdev/interp/providers}/__init__.py +0 -0
  315. {omdev-0.0.51 → omdev-0.0.53}/omdev/interp/providers/base.py +0 -0
  316. {omdev-0.0.51 → omdev-0.0.53}/omdev/interp/providers/inject.py +0 -0
  317. {omdev-0.0.51 → omdev-0.0.53}/omdev/interp/providers/running.py +0 -0
  318. {omdev-0.0.51 → omdev-0.0.53}/omdev/interp/providers/standalone.py +0 -0
  319. {omdev-0.0.51 → omdev-0.0.53}/omdev/interp/providers/system.py +0 -0
  320. {omdev-0.0.51/omdev/interp/providers → omdev-0.0.53/omdev/interp/pyenv}/__init__.py +0 -0
  321. {omdev-0.0.51 → omdev-0.0.53}/omdev/interp/pyenv/inject.py +0 -0
  322. {omdev-0.0.51 → omdev-0.0.53}/omdev/interp/pyenv/install.py +0 -0
  323. {omdev-0.0.51 → omdev-0.0.53}/omdev/interp/pyenv/provider.py +0 -0
  324. {omdev-0.0.51 → omdev-0.0.53}/omdev/interp/pyenv/pyenv.py +0 -0
  325. {omdev-0.0.51 → omdev-0.0.53}/omdev/interp/resolvers.py +0 -0
  326. {omdev-0.0.51 → omdev-0.0.53}/omdev/interp/types.py +0 -0
  327. {omdev-0.0.51/omdev/interp/pyenv → omdev-0.0.53/omdev/interp/uv}/__init__.py +0 -0
  328. {omdev-0.0.51 → omdev-0.0.53}/omdev/interp/uv/inject.py +0 -0
  329. {omdev-0.0.51 → omdev-0.0.53}/omdev/interp/uv/provider.py +0 -0
  330. {omdev-0.0.51 → omdev-0.0.53}/omdev/interp/uv/uv.py +0 -0
  331. {omdev-0.0.51 → omdev-0.0.53}/omdev/interp/venvs.py +0 -0
  332. {omdev-0.0.51/omdev/interp/uv → omdev-0.0.53/omdev/java}/__init__.py +0 -0
  333. {omdev-0.0.51 → omdev-0.0.53}/omdev/java/__main__.py +0 -0
  334. {omdev-0.0.51 → omdev-0.0.53}/omdev/java/cli.py +0 -0
  335. {omdev-0.0.51 → omdev-0.0.53}/omdev/java/pomgen.py +0 -0
  336. {omdev-0.0.51 → omdev-0.0.53}/omdev/java/utils.py +0 -0
  337. {omdev-0.0.51 → omdev-0.0.53}/omdev/java/xml.py +0 -0
  338. {omdev-0.0.51/omdev/java → omdev-0.0.53/omdev/js}/__init__.py +0 -0
  339. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/LICENSE +0 -0
  340. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/TODO.md +0 -0
  341. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/__init__.py +0 -0
  342. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/_pyqjsng.c +0 -0
  343. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/_pyqjsng.pyi +0 -0
  344. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/_quickjs/LICENSE +0 -0
  345. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/_quickjs/builtin-array-fromasync.h +0 -0
  346. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/_quickjs/builtin-iterator-zip-keyed.h +0 -0
  347. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/_quickjs/builtin-iterator-zip.h +0 -0
  348. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/_quickjs/cutils.h +0 -0
  349. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/_quickjs/dtoa.c +0 -0
  350. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/_quickjs/dtoa.h +0 -0
  351. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/_quickjs/libregexp-opcode.h +0 -0
  352. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/_quickjs/libregexp.c +0 -0
  353. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/_quickjs/libregexp.h +0 -0
  354. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/_quickjs/libunicode-table.h +0 -0
  355. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/_quickjs/libunicode.h +0 -0
  356. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/_quickjs/list.h +0 -0
  357. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/_quickjs/quickjs-atom.h +0 -0
  358. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/_quickjs/quickjs-c-atomics.h +0 -0
  359. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/_quickjs/quickjs-libc.h +0 -0
  360. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/_quickjs/quickjs-opcode.h +0 -0
  361. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/_quickjs/quickjs.h +0 -0
  362. {omdev-0.0.51 → omdev-0.0.53}/omdev/js/quickjs/snapshots.py +0 -0
  363. {omdev-0.0.51 → omdev-0.0.53}/omdev/magic/__init__.py +0 -0
  364. {omdev-0.0.51 → omdev-0.0.53}/omdev/magic/__main__.py +0 -0
  365. {omdev-0.0.51 → omdev-0.0.53}/omdev/magic/cli.py +0 -0
  366. {omdev-0.0.51 → omdev-0.0.53}/omdev/magic/find.py +0 -0
  367. {omdev-0.0.51 → omdev-0.0.53}/omdev/magic/magic.py +0 -0
  368. {omdev-0.0.51 → omdev-0.0.53}/omdev/magic/prepare.py +0 -0
  369. {omdev-0.0.51 → omdev-0.0.53}/omdev/magic/styles.py +0 -0
  370. {omdev-0.0.51/omdev/js → omdev-0.0.53/omdev/manifests}/__init__.py +0 -0
  371. {omdev-0.0.51 → omdev-0.0.53}/omdev/manifests/__main__.py +0 -0
  372. {omdev-0.0.51 → omdev-0.0.53}/omdev/manifests/_dumping.py +0 -0
  373. {omdev-0.0.51 → omdev-0.0.53}/omdev/manifests/building.py +0 -0
  374. {omdev-0.0.51 → omdev-0.0.53}/omdev/manifests/dumping.py +0 -0
  375. {omdev-0.0.51 → omdev-0.0.53}/omdev/manifests/main.py +0 -0
  376. {omdev-0.0.51/omdev/manifests → omdev-0.0.53/omdev/mypy}/__init__.py +0 -0
  377. {omdev-0.0.51 → omdev-0.0.53}/omdev/mypy/debug.py +0 -0
  378. {omdev-0.0.51 → omdev-0.0.53}/omdev/mypy/report.py +0 -0
  379. {omdev-0.0.51/omdev/markdownit → omdev-0.0.53/omdev/packaging}/__init__.py +0 -0
  380. {omdev-0.0.51 → omdev-0.0.53}/omdev/packaging/marshal.py +0 -0
  381. {omdev-0.0.51 → omdev-0.0.53}/omdev/packaging/names.py +0 -0
  382. {omdev-0.0.51 → omdev-0.0.53}/omdev/packaging/requirements.py +0 -0
  383. {omdev-0.0.51 → omdev-0.0.53}/omdev/packaging/revisions.py +0 -0
  384. {omdev-0.0.51 → omdev-0.0.53}/omdev/packaging/specifiers.py +0 -0
  385. {omdev-0.0.51 → omdev-0.0.53}/omdev/packaging/versions.py +0 -0
  386. {omdev-0.0.51 → omdev-0.0.53}/omdev/packaging/wheelfile.py +0 -0
  387. {omdev-0.0.51 → omdev-0.0.53}/omdev/pip.py +0 -0
  388. {omdev-0.0.51/omdev/mypy → omdev-0.0.53/omdev/precheck}/__init__.py +0 -0
  389. {omdev-0.0.51 → omdev-0.0.53}/omdev/precheck/__main__.py +0 -0
  390. {omdev-0.0.51 → omdev-0.0.53}/omdev/precheck/base.py +0 -0
  391. {omdev-0.0.51 → omdev-0.0.53}/omdev/precheck/blanklines.py +0 -0
  392. {omdev-0.0.51 → omdev-0.0.53}/omdev/precheck/caches.py +0 -0
  393. {omdev-0.0.51 → omdev-0.0.53}/omdev/precheck/git.py +0 -0
  394. {omdev-0.0.51 → omdev-0.0.53}/omdev/precheck/imports.py +0 -0
  395. {omdev-0.0.51 → omdev-0.0.53}/omdev/precheck/lite.py +0 -0
  396. {omdev-0.0.51 → omdev-0.0.53}/omdev/precheck/main.py +0 -0
  397. {omdev-0.0.51 → omdev-0.0.53}/omdev/precheck/manifests.py +0 -0
  398. {omdev-0.0.51 → omdev-0.0.53}/omdev/precheck/scripts.py +0 -0
  399. {omdev-0.0.51 → omdev-0.0.53}/omdev/precheck/unicode.py +0 -0
  400. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/__init__.py +0 -0
  401. {omdev-0.0.51/omdev/packaging → omdev-0.0.53/omdev/py/asts}/__init__.py +0 -0
  402. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/asts/parents.py +0 -0
  403. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/asts/toplevel.py +0 -0
  404. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/asts/visitors.py +0 -0
  405. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/attrdocs.py +0 -0
  406. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/bracepy.py +0 -0
  407. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/classdot.py +0 -0
  408. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/docstrings/LICENSE +0 -0
  409. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/docstrings/__init__.py +0 -0
  410. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/docstrings/attrdoc.py +0 -0
  411. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/docstrings/common.py +0 -0
  412. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/docstrings/epydoc.py +0 -0
  413. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/docstrings/google.py +0 -0
  414. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/docstrings/numpydoc.py +0 -0
  415. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/docstrings/parser.py +0 -0
  416. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/docstrings/rest.py +0 -0
  417. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/findimports.py +0 -0
  418. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/reprs.py +0 -0
  419. {omdev-0.0.51/omdev/precheck → omdev-0.0.53/omdev/py/scripts}/__init__.py +0 -0
  420. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/scripts/bumpversion.py +0 -0
  421. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/scripts/importtrace.py +0 -0
  422. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/srcheaders.py +0 -0
  423. {omdev-0.0.51/omdev/py/asts → omdev-0.0.53/omdev/py/tokens}/__init__.py +0 -0
  424. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/tokens/all.py +0 -0
  425. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/tokens/tokenizert.py +0 -0
  426. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/tokens/utils.py +0 -0
  427. {omdev-0.0.51/omdev/py/scripts → omdev-0.0.53/omdev/py/tools}/__init__.py +0 -0
  428. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/tools/fixdocstrings.py +0 -0
  429. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/tools/importscan.py +0 -0
  430. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/tools/mkrelimp.py +0 -0
  431. {omdev-0.0.51 → omdev-0.0.53}/omdev/py/tools/pipdepup.py +0 -0
  432. {omdev-0.0.51 → omdev-0.0.53}/omdev/py.typed +0 -0
  433. {omdev-0.0.51 → omdev-0.0.53}/omdev/pyproject/__init__.py +0 -0
  434. {omdev-0.0.51 → omdev-0.0.53}/omdev/pyproject/__main__.py +0 -0
  435. {omdev-0.0.51 → omdev-0.0.53}/omdev/pyproject/cli.py +0 -0
  436. {omdev-0.0.51 → omdev-0.0.53}/omdev/pyproject/configs.py +0 -0
  437. {omdev-0.0.51 → omdev-0.0.53}/omdev/pyproject/inject.py +0 -0
  438. {omdev-0.0.51 → omdev-0.0.53}/omdev/pyproject/pkg.py +0 -0
  439. {omdev-0.0.51 → omdev-0.0.53}/omdev/pyproject/reqs.py +0 -0
  440. {omdev-0.0.51 → omdev-0.0.53}/omdev/pyproject/resources/dockerdev.sh +0 -0
  441. {omdev-0.0.51 → omdev-0.0.53}/omdev/pyproject/resources/python.sh +0 -0
  442. {omdev-0.0.51/omdev/py/tokens → omdev-0.0.53/omdev/pyproject/tools}/__init__.py +0 -0
  443. {omdev-0.0.51 → omdev-0.0.53}/omdev/pyproject/tools/aboutdeps.py +0 -0
  444. {omdev-0.0.51 → omdev-0.0.53}/omdev/pyproject/tools/buildrs.py +0 -0
  445. {omdev-0.0.51 → omdev-0.0.53}/omdev/pyproject/tools/pyversions.py +0 -0
  446. {omdev-0.0.51 → omdev-0.0.53}/omdev/pyproject/venvs.py +0 -0
  447. {omdev-0.0.51 → omdev-0.0.53}/omdev/pyproject/versions.py +0 -0
  448. {omdev-0.0.51/omdev/py/tools → omdev-0.0.53/omdev/pyright}/__init__.py +0 -0
  449. {omdev-0.0.51 → omdev-0.0.53}/omdev/pyright/report.py +0 -0
  450. {omdev-0.0.51/omdev/pyproject/tools → omdev-0.0.53/omdev/rs}/__init__.py +0 -0
  451. {omdev-0.0.51 → omdev-0.0.53}/omdev/scripts/__init__.py +0 -0
  452. {omdev-0.0.51 → omdev-0.0.53}/omdev/scripts/ci.py +0 -0
  453. {omdev-0.0.51 → omdev-0.0.53}/omdev/scripts/interp.py +0 -0
  454. {omdev-0.0.51/omdev/pyright → omdev-0.0.53/omdev/scripts/lib}/__init__.py +0 -0
  455. {omdev-0.0.51/omdev/rs → omdev-0.0.53/omdev/scripts/lib/formats}/__init__.py +0 -0
  456. {omdev-0.0.51 → omdev-0.0.53}/omdev/scripts/lib/formats/goyaml.py +0 -0
  457. {omdev-0.0.51 → omdev-0.0.53}/omdev/scripts/lib/inject.py +0 -0
  458. {omdev-0.0.51/omdev/scripts/lib → omdev-0.0.53/omdev/scripts/lib/io}/__init__.py +0 -0
  459. {omdev-0.0.51 → omdev-0.0.53}/omdev/scripts/lib/io/pipelines.py +0 -0
  460. {omdev-0.0.51 → omdev-0.0.53}/omdev/scripts/lib/io/streambufs.py +0 -0
  461. {omdev-0.0.51 → omdev-0.0.53}/omdev/scripts/lib/logs.py +0 -0
  462. {omdev-0.0.51 → omdev-0.0.53}/omdev/scripts/lib/marshal.py +0 -0
  463. {omdev-0.0.51 → omdev-0.0.53}/omdev/scripts/pidfiles.py +0 -0
  464. {omdev-0.0.51 → omdev-0.0.53}/omdev/scripts/pyproject.py +0 -0
  465. {omdev-0.0.51/omdev/scripts/lib/formats → omdev-0.0.53/omdev/specs}/__init__.py +0 -0
  466. {omdev-0.0.51/omdev/scripts/lib/io → omdev-0.0.53/omdev/specs/irc}/__init__.py +0 -0
  467. {omdev-0.0.51/omdev/specs → omdev-0.0.53/omdev/specs/irc/messages}/__init__.py +0 -0
  468. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/irc/messages/base.py +0 -0
  469. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/irc/messages/formats.py +0 -0
  470. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/irc/messages/messages.py +0 -0
  471. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/irc/messages/parsing.py +0 -0
  472. {omdev-0.0.51/omdev/specs/irc → omdev-0.0.53/omdev/specs/irc/numerics}/__init__.py +0 -0
  473. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/irc/numerics/formats.py +0 -0
  474. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/irc/numerics/numerics.py +0 -0
  475. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/irc/numerics/types.py +0 -0
  476. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/irc/protocol/LICENSE +0 -0
  477. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/irc/protocol/__init__.py +0 -0
  478. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/irc/protocol/consts.py +0 -0
  479. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/irc/protocol/errors.py +0 -0
  480. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/irc/protocol/message.py +0 -0
  481. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/irc/protocol/nuh.py +0 -0
  482. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/irc/protocol/parsing.py +0 -0
  483. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/irc/protocol/rendering.py +0 -0
  484. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/irc/protocol/tags.py +0 -0
  485. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/irc/protocol/utils.py +0 -0
  486. {omdev-0.0.51/omdev/specs/irc/messages → omdev-0.0.53/omdev/specs/jsonschema}/__init__.py +0 -0
  487. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/jsonschema/codegen/__init__.py +0 -0
  488. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/jsonschema/codegen/__main__.py +0 -0
  489. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/jsonschema/codegen/analysis.py +0 -0
  490. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/jsonschema/codegen/cli.py +0 -0
  491. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/jsonschema/codegen/config.py +0 -0
  492. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/jsonschema/codegen/errors.py +0 -0
  493. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/jsonschema/codegen/generator.py +0 -0
  494. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/jsonschema/codegen/ir.py +0 -0
  495. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/jsonschema/codegen/names.py +0 -0
  496. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/jsonschema/codegen/rendering.py +0 -0
  497. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/jsonschema/codegen/transforms.py +0 -0
  498. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/jsonschema/codegen/typing.py +0 -0
  499. {omdev-0.0.51/omdev/specs/irc/numerics → omdev-0.0.53/omdev/specs/oci}/__init__.py +0 -0
  500. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/oci/building.py +0 -0
  501. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/oci/compression.py +0 -0
  502. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/oci/data.py +0 -0
  503. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/oci/datarefs.py +0 -0
  504. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/oci/dataserver.py +0 -0
  505. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/oci/loading.py +0 -0
  506. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/oci/media.py +0 -0
  507. {omdev-0.0.51/omdev/specs/jsonschema → omdev-0.0.53/omdev/specs/oci/pack}/__init__.py +0 -0
  508. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/oci/pack/packing.py +0 -0
  509. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/oci/pack/repositories.py +0 -0
  510. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/oci/pack/unpacking.py +0 -0
  511. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/oci/repositories.py +0 -0
  512. {omdev-0.0.51 → omdev-0.0.53}/omdev/specs/oci/tars.py +0 -0
  513. {omdev-0.0.51 → omdev-0.0.53}/omdev/tagstrings.py +0 -0
  514. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/__init__.py +0 -0
  515. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/cloc.py +0 -0
  516. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/diff.py +0 -0
  517. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/doc.py +0 -0
  518. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/docker.py +0 -0
  519. {omdev-0.0.51/omdev/specs/oci → omdev-0.0.53/omdev/tools/git}/__init__.py +0 -0
  520. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/git/__main__.py +0 -0
  521. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/git/cli.py +0 -0
  522. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/git/cloning.py +0 -0
  523. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/git/consts.py +0 -0
  524. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/git/messages.py +0 -0
  525. {omdev-0.0.51/omdev/specs/oci/pack → omdev-0.0.53/omdev/tools/json}/__init__.py +0 -0
  526. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/json/__main__.py +0 -0
  527. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/json/cli.py +0 -0
  528. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/json/formats.py +0 -0
  529. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/json/io.py +0 -0
  530. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/json/parsing.py +0 -0
  531. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/json/processing.py +0 -0
  532. {omdev-0.0.51/omdev/tools/git → omdev-0.0.53/omdev/tools/jsonview}/__init__.py +0 -0
  533. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/jsonview/__main__.py +0 -0
  534. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/jsonview/cli.py +0 -0
  535. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/jsonview/resources/jsonview.css +0 -0
  536. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/jsonview/resources/jsonview.html.j2 +0 -0
  537. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/jsonview/resources/jsonview.js +0 -0
  538. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/linehisto.py +0 -0
  539. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/mkenv.py +0 -0
  540. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/notebook.py +0 -0
  541. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/ocr.py +0 -0
  542. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/pawk/README.md +0 -0
  543. {omdev-0.0.51/omdev/tools/json → omdev-0.0.53/omdev/tools/pawk}/__init__.py +0 -0
  544. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/pawk/__main__.py +0 -0
  545. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/pawk/pawk.py +0 -0
  546. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/pip.py +0 -0
  547. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/prof.py +0 -0
  548. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/qr.py +0 -0
  549. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/shadow.py +0 -0
  550. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/shell.py +0 -0
  551. {omdev-0.0.51 → omdev-0.0.53}/omdev/tools/sqlrepl.py +0 -0
  552. {omdev-0.0.51/omdev/tools/jsonview → omdev-0.0.53/omdev/tui}/__init__.py +0 -0
  553. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/_devdocs/dev_00_initial.md +0 -0
  554. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/_devdocs/intro.md +0 -0
  555. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/_devdocs/requirements.md +0 -0
  556. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/_devdocs/research.md +0 -0
  557. {omdev-0.0.51/omdev/tools/pawk → omdev-0.0.53/omdev/tui/minitui/controls}/__init__.py +0 -0
  558. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/controls/base.py +0 -0
  559. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/controls/cards.py +0 -0
  560. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/controls/history.py +0 -0
  561. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/controls/spinners.py +0 -0
  562. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/controls/stacks.py +0 -0
  563. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/controls/suggestions.py +0 -0
  564. {omdev-0.0.51/omdev/tui → omdev-0.0.53/omdev/tui/minitui/docs}/__init__.py +0 -0
  565. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/docs/cursors.py +0 -0
  566. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/docs/documents.py +0 -0
  567. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/docs/edits.py +0 -0
  568. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/docs/searching.py +0 -0
  569. {omdev-0.0.51/omdev/tui/minitui/controls → omdev-0.0.53/omdev/tui/minitui/events}/__init__.py +0 -0
  570. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/events/keymaps.py +0 -0
  571. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/events/keys.py +0 -0
  572. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/events/parsing.py +0 -0
  573. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/events/xterm.py +0 -0
  574. {omdev-0.0.51/omdev/tui/minitui/docs → omdev-0.0.53/omdev/tui/minitui/runtime}/__init__.py +0 -0
  575. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/runtime/base.py +0 -0
  576. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/runtime/timers.py +0 -0
  577. {omdev-0.0.51/omdev/tui/minitui/events → omdev-0.0.53/omdev/tui/minitui/screens}/__init__.py +0 -0
  578. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/screens/diffs.py +0 -0
  579. {omdev-0.0.51/omdev/tui/minitui/runtime → omdev-0.0.53/omdev/tui/minitui/surfaces}/__init__.py +0 -0
  580. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/surfaces/writers.py +0 -0
  581. {omdev-0.0.51/omdev/tui/minitui/screens → omdev-0.0.53/omdev/tui/minitui/text}/__init__.py +0 -0
  582. {omdev-0.0.51/omdev/tui/minitui/surfaces → omdev-0.0.53/omdev/tui/minitui/text/markdown}/__init__.py +0 -0
  583. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/text/markdown/backends.py +0 -0
  584. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/text/markdown/flattening.py +0 -0
  585. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/text/markdown/pdcmark.py +0 -0
  586. {omdev-0.0.51/omdev/tui/minitui/text → omdev-0.0.53/omdev/tui/minitui/tty}/__init__.py +0 -0
  587. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/vim/__init__.py +0 -0
  588. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/vim/engine.py +0 -0
  589. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/vim/modes.py +0 -0
  590. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/vim/motions.py +0 -0
  591. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/vim/parsing.py +0 -0
  592. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/vim/registers.py +0 -0
  593. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/vim/scans.py +0 -0
  594. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/vim/status.py +0 -0
  595. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/vim/substitutes.py +0 -0
  596. {omdev-0.0.51 → omdev-0.0.53}/omdev/tui/minitui/vim/textobjs.py +0 -0
  597. {omdev-0.0.51 → omdev-0.0.53}/omdev.egg-info/dependency_links.txt +0 -0
  598. {omdev-0.0.51 → omdev-0.0.53}/omdev.egg-info/entry_points.txt +0 -0
  599. {omdev-0.0.51 → omdev-0.0.53}/omdev.egg-info/top_level.txt +0 -0
  600. {omdev-0.0.51 → omdev-0.0.53}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omdev
3
- Version: 0.0.51
3
+ Version: 0.0.53
4
4
  Summary: omdev
5
5
  Author: wrmsr
6
6
  License-Expression: BSD-3-Clause
@@ -14,11 +14,11 @@ Classifier: Programming Language :: Python :: 3.15
14
14
  Requires-Python: >=3.14
15
15
  Description-Content-Type: text/markdown
16
16
  License-File: LICENSE
17
- Requires-Dist: omcore==0.0.51
17
+ Requires-Dist: omcore==0.0.53
18
18
  Provides-Extra: ominfra
19
- Requires-Dist: ominfra==0.0.51; extra == "ominfra"
19
+ Requires-Dist: ominfra==0.0.53; extra == "ominfra"
20
20
  Provides-Extra: omllm
21
- Requires-Dist: omllm==0.0.51; extra == "omllm"
21
+ Requires-Dist: omllm==0.0.53; extra == "omllm"
22
22
  Provides-Extra: black
23
23
  Requires-Dist: black~=26.5; extra == "black"
24
24
  Provides-Extra: c
@@ -26,9 +26,6 @@ Requires-Dist: pycparser~=3.0; extra == "c"
26
26
  Requires-Dist: pcpp~=1.30; extra == "c"
27
27
  Provides-Extra: doc
28
28
  Requires-Dist: docutils~=0.23; extra == "doc"
29
- Requires-Dist: markdown-it-py~=4.2; extra == "doc"
30
- Requires-Dist: mdit-py-plugins~=0.6; extra == "doc"
31
- Requires-Dist: pygments~=2.21; extra == "doc"
32
29
  Provides-Extra: mypy
33
30
  Requires-Dist: mypy~=2.3; extra == "mypy"
34
31
  Provides-Extra: ocr
@@ -44,8 +41,6 @@ Provides-Extra: qr
44
41
  Requires-Dist: segno~=1.6; extra == "qr"
45
42
  Provides-Extra: ruff
46
43
  Requires-Dist: ruff~=0.16; extra == "ruff"
47
- Provides-Extra: tui
48
- Requires-Dist: rich~=15.0; extra == "tui"
49
44
  Provides-Extra: tui-syntax
50
45
  Requires-Dist: tree-sitter~=0.26; extra == "tui-syntax"
51
46
  Requires-Dist: tree-sitter-bash~=0.25; extra == "tui-syntax"
@@ -64,21 +59,18 @@ Requires-Dist: tree-sitter-toml~=0.7; extra == "tui-syntax"
64
59
  Requires-Dist: tree-sitter-xml~=0.7; extra == "tui-syntax"
65
60
  Requires-Dist: tree-sitter-yaml~=0.7; extra == "tui-syntax"
66
61
  Provides-Extra: cext
67
- Requires-Dist: omdev-cext==0.0.51; extra == "cext"
62
+ Requires-Dist: omdev-cext==0.0.53; extra == "cext"
68
63
  Provides-Extra: rs
69
- Requires-Dist: omdev-rs==0.0.51; extra == "rs"
64
+ Requires-Dist: omdev-rs==0.0.53; extra == "rs"
70
65
  Provides-Extra: cli
71
- Requires-Dist: omdev-cli==0.0.51; extra == "cli"
66
+ Requires-Dist: omdev-cli==0.0.53; extra == "cli"
72
67
  Provides-Extra: all
73
- Requires-Dist: ominfra==0.0.51; extra == "all"
74
- Requires-Dist: omllm==0.0.51; extra == "all"
68
+ Requires-Dist: ominfra==0.0.53; extra == "all"
69
+ Requires-Dist: omllm==0.0.53; extra == "all"
75
70
  Requires-Dist: black~=26.5; extra == "all"
76
71
  Requires-Dist: pycparser~=3.0; extra == "all"
77
72
  Requires-Dist: pcpp~=1.30; extra == "all"
78
73
  Requires-Dist: docutils~=0.23; extra == "all"
79
- Requires-Dist: markdown-it-py~=4.2; extra == "all"
80
- Requires-Dist: mdit-py-plugins~=0.6; extra == "all"
81
- Requires-Dist: pygments~=2.21; extra == "all"
82
74
  Requires-Dist: mypy~=2.3; extra == "all"
83
75
  Requires-Dist: pytesseract~=0.3; extra == "all"
84
76
  Requires-Dist: rapidocr-onnxruntime~=1.4; extra == "all"
@@ -87,7 +79,6 @@ Requires-Dist: gprof2dot~=2025.4; extra == "all"
87
79
  Requires-Dist: basedpyright~=1.39; extra == "all"
88
80
  Requires-Dist: segno~=1.6; extra == "all"
89
81
  Requires-Dist: ruff~=0.16; extra == "all"
90
- Requires-Dist: rich~=15.0; extra == "all"
91
82
  Requires-Dist: tree-sitter~=0.26; extra == "all"
92
83
  Requires-Dist: tree-sitter-bash~=0.25; extra == "all"
93
84
  Requires-Dist: tree-sitter-css~=0.25; extra == "all"
@@ -104,9 +95,9 @@ Requires-Dist: tree-sitter-sql~=0.3; extra == "all"
104
95
  Requires-Dist: tree-sitter-toml~=0.7; extra == "all"
105
96
  Requires-Dist: tree-sitter-xml~=0.7; extra == "all"
106
97
  Requires-Dist: tree-sitter-yaml~=0.7; extra == "all"
107
- Requires-Dist: omdev-cext==0.0.51; extra == "all"
108
- Requires-Dist: omdev-rs==0.0.51; extra == "all"
109
- Requires-Dist: omdev-cli==0.0.51; extra == "all"
98
+ Requires-Dist: omdev-cext==0.0.53; extra == "all"
99
+ Requires-Dist: omdev-rs==0.0.53; extra == "all"
100
+ Requires-Dist: omdev-cli==0.0.53; extra == "all"
110
101
  Dynamic: license-file
111
102
 
112
103
  # Overview
@@ -71,18 +71,6 @@
71
71
  }
72
72
  }
73
73
  },
74
- {
75
- "module": ".diffs.__main__",
76
- "attr": "_CLI_MODULE",
77
- "file": "omdev/diffs/__main__.py",
78
- "line": 4,
79
- "value": {
80
- "!.cli.types.CliModule": {
81
- "name": "diffs",
82
- "module": "omdev.diffs.__main__"
83
- }
84
- }
85
- },
86
74
  {
87
75
  "module": ".dockerdev.__main__",
88
76
  "attr": "_CLI_MODULE",
@@ -319,7 +307,7 @@
319
307
  "module": ".scripts.slowcat",
320
308
  "attr": "_CLI_MODULE",
321
309
  "file": "omdev/scripts/slowcat.py",
322
- "line": 117,
310
+ "line": 120,
323
311
  "value": {
324
312
  "!.cli.types.CliModule": {
325
313
  "name": "slowcat",
@@ -331,7 +319,7 @@
331
319
  "module": ".scripts.tmpexec",
332
320
  "attr": "_CLI_MODULE",
333
321
  "file": "omdev/scripts/tmpexec.py",
334
- "line": 50,
322
+ "line": 53,
335
323
  "value": {
336
324
  "!.cli.types.CliModule": {
337
325
  "name": "tmpexec",
@@ -586,14 +574,14 @@
586
574
  }
587
575
  },
588
576
  {
589
- "module": ".tui.rich.diff.__main__",
577
+ "module": ".tui.diff.__main__",
590
578
  "attr": "_CLI_MODULE",
591
- "file": "omdev/tui/rich/diff/__main__.py",
579
+ "file": "omdev/tui/diff/__main__.py",
592
580
  "line": 4,
593
581
  "value": {
594
582
  "!.cli.types.CliModule": {
595
583
  "name": "tui/diff",
596
- "module": "omdev.tui.rich.diff.__main__"
584
+ "module": "omdev.tui.diff.__main__"
597
585
  }
598
586
  }
599
587
  }
@@ -28,16 +28,12 @@ class Project(ProjectBase):
28
28
 
29
29
  'c': [
30
30
  'pycparser ~= 3.0',
31
+
31
32
  'pcpp ~= 1.30',
32
33
  ],
33
34
 
34
35
  'doc': [
35
36
  'docutils ~= 0.23',
36
-
37
- 'markdown-it-py ~= 4.2',
38
- 'mdit-py-plugins ~= 0.6',
39
-
40
- 'pygments ~= 2.21',
41
37
  ],
42
38
 
43
39
  'mypy': [
@@ -76,10 +72,6 @@ class Project(ProjectBase):
76
72
  # 'pgcli ~= 4.6',
77
73
  # ],
78
74
 
79
- 'tui': [
80
- 'rich ~= 15.0',
81
- ],
82
-
83
75
  'tui-syntax': [
84
76
  'tree-sitter ~= 0.26',
85
77
  'tree-sitter-bash ~= 0.25',
@@ -12,8 +12,8 @@
12
12
  "14d": "3.14.7d",
13
13
  "14t": "3.14.7t",
14
14
  "14dt": "3.14.7dt",
15
- "15": "3.15.0rc1",
16
- "15d": "3.15.0rc1d",
17
- "15t": "3.15.0rc1t",
18
- "15dt": "3.15.0rc1dt"
15
+ "15": "3.15.0rc2",
16
+ "15d": "3.15.0rc2d",
17
+ "15t": "3.15.0rc2t",
18
+ "15dt": "3.15.0rc2dt"
19
19
  }
@@ -1053,6 +1053,11 @@ int unicode_normalize(uint32_t **pdst, const uint32_t *src, int src_len,
1053
1053
  int *buf, buf_len, i, p, starter_pos, cc, last_cc, out_len;
1054
1054
  bool is_compat;
1055
1055
  DynBuf dbuf_s, *dbuf = &dbuf_s;
1056
+
1057
+ if (src_len == 0) {
1058
+ *pdst = NULL;
1059
+ return 0;
1060
+ }
1056
1061
 
1057
1062
  is_compat = n_type >> 1;
1058
1063
 
@@ -197,6 +197,8 @@ typedef struct JSThreadState {
197
197
  #endif // USE_WORKER
198
198
  JSClassID std_file_class_id;
199
199
  JSClassID worker_class_id;
200
+ JSInterruptHandler *prev_interrupt_handler;
201
+ void *prev_interrupt_opaque;
200
202
  } JSThreadState;
201
203
 
202
204
  static uint64_t os_pending_signals;
@@ -1085,7 +1087,13 @@ static JSValue js_std_gc(JSContext *ctx, JSValueConst this_val,
1085
1087
 
1086
1088
  static int interrupt_handler(JSRuntime *rt, void *opaque)
1087
1089
  {
1088
- return (os_pending_signals >> SIGINT) & 1;
1090
+ JSThreadState *ts = opaque;
1091
+
1092
+ if (1 & (os_pending_signals >> SIGINT))
1093
+ return 1;
1094
+ if (ts->prev_interrupt_handler)
1095
+ return ts->prev_interrupt_handler(rt, ts->prev_interrupt_opaque);
1096
+ return 0;
1089
1097
  }
1090
1098
 
1091
1099
  static JSValue js_evalScript(JSContext *ctx, JSValueConst this_val,
@@ -1148,7 +1156,14 @@ static JSValue js_evalScript(JSContext *ctx, JSValueConst this_val,
1148
1156
  }
1149
1157
  if (!ts->recv_pipe && ++ts->eval_script_recurse == 1) {
1150
1158
  /* install the interrupt handler */
1151
- JS_SetInterruptHandler(JS_GetRuntime(ctx), interrupt_handler, NULL);
1159
+ ts->prev_interrupt_handler =
1160
+ (JSInterruptHandler *)js_std_cmd(/*GetInterruptHandler*/5, rt);
1161
+ ts->prev_interrupt_opaque =
1162
+ (void *)js_std_cmd(/*GetInterruptOpaque*/6, rt);
1163
+ // FIXME(bnoordhuis) Questionable hack to make the REPL interruptible.
1164
+ // Ideally qjs installs a signal handler + interrupt handler but then
1165
+ // scripts can intercept it with os.signal(SIGINT).
1166
+ JS_SetInterruptHandler(JS_GetRuntime(ctx), interrupt_handler, ts);
1152
1167
  }
1153
1168
  flags = compile_module ? JS_EVAL_TYPE_MODULE : JS_EVAL_TYPE_GLOBAL;
1154
1169
  if (backtrace_barrier)
@@ -1166,7 +1181,11 @@ static JSValue js_evalScript(JSContext *ctx, JSValueConst this_val,
1166
1181
  JS_FreeCString(ctx, str);
1167
1182
  if (!ts->recv_pipe && --ts->eval_script_recurse == 0) {
1168
1183
  /* remove the interrupt handler */
1169
- JS_SetInterruptHandler(JS_GetRuntime(ctx), NULL, NULL);
1184
+ JS_SetInterruptHandler(JS_GetRuntime(ctx),
1185
+ ts->prev_interrupt_handler,
1186
+ ts->prev_interrupt_opaque);
1187
+ ts->prev_interrupt_handler = NULL;
1188
+ ts->prev_interrupt_opaque = NULL;
1170
1189
  os_pending_signals &= ~((uint64_t)1 << SIGINT);
1171
1190
  /* convert the uncatchable "interrupted" error into a normal error
1172
1191
  so that it can be caught by the REPL */
@@ -4950,23 +4950,34 @@ fail:
4950
4950
  return NULL;
4951
4951
  }
4952
4952
 
4953
+ static void copy_str16(uint16_t *dst, JSString *p, int offset, int len)
4954
+ {
4955
+ if (p->is_wide_char) {
4956
+ memcpy(dst, str16(p) + offset, len * 2);
4957
+ } else {
4958
+ const uint8_t *src1 = str8(p) + offset;
4959
+ int i;
4960
+
4961
+ for(i = 0; i < len; i++)
4962
+ dst[i] = src1[i];
4963
+ }
4964
+ }
4965
+
4953
4966
  const uint16_t *JS_ToCStringLenUTF16(JSContext *ctx, size_t *plen,
4954
4967
  JSValueConst val1)
4955
4968
  {
4956
4969
  JSString *p, *q;
4957
- uint32_t i;
4958
4970
  JSValue v;
4959
4971
 
4960
4972
  v = js_force_tostring(ctx, val1);
4961
4973
  if (JS_IsException(v))
4962
4974
  goto fail;
4963
4975
  p = JS_VALUE_GET_STRING(v);
4964
- if (!p->is_wide_char) {
4976
+ if (!(p->is_wide_char && p->kind == JS_STRING_KIND_NORMAL)) {
4965
4977
  q = js_alloc_string(ctx, p->len, /*is_wide_char*/true);
4966
4978
  if (!q)
4967
4979
  goto fail;
4968
- for (i = 0; i < p->len; i++)
4969
- str16(q)[i] = str8(p)[i];
4980
+ copy_str16(str16(q), p, 0, p->len);
4970
4981
  JS_FreeValue(ctx, v);
4971
4982
  p = q;
4972
4983
  }
@@ -5411,19 +5422,6 @@ static JSValue js_linearize_string_rope(JSContext *ctx, JSValueConst rope)
5411
5422
  /* flat string concatenation - used by rope when concatenating short strings */
5412
5423
  static JSValue JS_ConcatString2(JSContext *ctx, JSValue op1, JSValue op2);
5413
5424
 
5414
- static void copy_str16(uint16_t *dst, JSString *p, int offset, int len)
5415
- {
5416
- if (p->is_wide_char) {
5417
- memcpy(dst, str16(p) + offset, len * 2);
5418
- } else {
5419
- const uint8_t *src1 = str8(p) + offset;
5420
- int i;
5421
-
5422
- for(i = 0; i < len; i++)
5423
- dst[i] = src1[i];
5424
- }
5425
- }
5426
-
5427
5425
  static JSValue JS_ConcatString1(JSContext *ctx, JSString *p1, JSString *p2)
5428
5426
  {
5429
5427
  JSString *p;
@@ -8071,7 +8069,8 @@ static int find_line_num(JSContext *ctx, JSFunctionBytecode *b,
8071
8069
  uint32_t pc_value, int *col)
8072
8070
  {
8073
8071
  const uint8_t *p_end, *p;
8074
- int new_line_num, new_col_num, line_num, col_num, pc, v, ret;
8072
+ int new_line_num, new_col_num, line_num, col_num, pc, ret;
8073
+ int32_t v;
8075
8074
  unsigned int op;
8076
8075
 
8077
8076
  *col = 1;
@@ -45319,50 +45318,58 @@ fail:
45319
45318
  static JSValue js_iterator_from(JSContext *ctx, JSValueConst this_val,
45320
45319
  int argc, JSValueConst *argv)
45321
45320
  {
45322
- JSValue method, iter;
45321
+ JSValue method, iter, next, wrapper;
45323
45322
  JSIteratorWrapData *it;
45324
45323
  int ret;
45325
45324
 
45326
45325
  JSValueConst obj = argv[0];
45327
- if (JS_IsString(obj)) {
45328
- method = JS_GetProperty(ctx, obj, JS_ATOM_Symbol_iterator);
45329
- if (JS_IsException(method))
45330
- return JS_EXCEPTION;
45331
- return JS_CallFree(ctx, method, obj, 0, NULL);
45332
- }
45333
- if (!JS_IsObject(obj))
45326
+ if (!JS_IsObject(obj) && !JS_IsString(obj))
45334
45327
  return JS_ThrowTypeError(ctx, "Iterator.from called on non-object");
45335
- ret = JS_OrdinaryIsInstanceOf(ctx, obj, ctx->iterator_ctor);
45336
- if (ret < 0)
45337
- return JS_EXCEPTION;
45338
- if (ret)
45339
- return js_dup(obj);
45340
45328
  method = JS_GetProperty(ctx, obj, JS_ATOM_Symbol_iterator);
45341
45329
  if (JS_IsException(method))
45342
45330
  return JS_EXCEPTION;
45343
45331
  if (JS_IsNull(method) || JS_IsUndefined(method)) {
45344
- method = JS_GetProperty(ctx, obj, JS_ATOM_next);
45345
- if (JS_IsException(method))
45346
- return JS_EXCEPTION;
45347
- iter = JS_NewObjectClass(ctx, JS_CLASS_ITERATOR_WRAP);
45348
- if (JS_IsException(iter))
45349
- goto fail;
45350
- it = js_malloc(ctx, sizeof(*it));
45351
- if (!it)
45352
- goto fail;
45353
- it->wrapped_iter = js_dup(obj);
45354
- it->wrapped_next = method;
45355
- JS_SetOpaqueInternal(iter, it);
45332
+ iter = js_dup(obj);
45356
45333
  } else {
45357
45334
  iter = JS_GetIterator2(ctx, obj, method);
45358
- JS_FreeValue(ctx, method);
45359
- if (JS_IsException(iter))
45360
- return JS_EXCEPTION;
45361
45335
  }
45362
- return iter;
45363
- fail:
45364
45336
  JS_FreeValue(ctx, method);
45337
+ if (JS_IsException(iter))
45338
+ return JS_EXCEPTION;
45339
+ if (!JS_IsObject(iter)) {
45340
+ JS_FreeValue(ctx, iter);
45341
+ return JS_ThrowTypeErrorNotAnObject(ctx);
45342
+ }
45343
+
45344
+ /* GetIteratorDirect */
45345
+ next = JS_GetProperty(ctx, iter, JS_ATOM_next);
45346
+ if (JS_IsException(next)) {
45347
+ JS_FreeValue(ctx, iter);
45348
+ return JS_EXCEPTION;
45349
+ }
45350
+ ret = JS_OrdinaryIsInstanceOf(ctx, iter, ctx->iterator_ctor);
45351
+ if (ret < 0)
45352
+ goto fail;
45353
+ if (ret) {
45354
+ JS_FreeValue(ctx, next);
45355
+ return iter;
45356
+ }
45357
+
45358
+ wrapper = JS_NewObjectClass(ctx, JS_CLASS_ITERATOR_WRAP);
45359
+ if (JS_IsException(wrapper))
45360
+ goto fail;
45361
+ it = js_malloc(ctx, sizeof(*it));
45362
+ if (!it) {
45363
+ JS_FreeValue(ctx, wrapper);
45364
+ goto fail;
45365
+ }
45366
+ it->wrapped_iter = iter;
45367
+ it->wrapped_next = next;
45368
+ JS_SetOpaqueInternal(wrapper, it);
45369
+ return wrapper;
45370
+ fail:
45365
45371
  JS_FreeValue(ctx, iter);
45372
+ JS_FreeValue(ctx, next);
45366
45373
  return JS_EXCEPTION;
45367
45374
  }
45368
45375
 
@@ -46689,7 +46696,8 @@ static JSValue js_parseInt(JSContext *ctx, JSValueConst this_val,
46689
46696
  int argc, JSValueConst *argv)
46690
46697
  {
46691
46698
  const char *str, *p;
46692
- int radix, flags;
46699
+ int flags;
46700
+ int32_t radix;
46693
46701
  JSValue ret;
46694
46702
 
46695
46703
  str = JS_ToCString(ctx, argv[0]);
@@ -56059,34 +56067,29 @@ static JSValue js_promise_resolve(JSContext *ctx, JSValueConst this_val,
56059
56067
  static JSValue js_promise_withResolvers(JSContext *ctx, JSValueConst this_val,
56060
56068
  int argc, JSValueConst *argv)
56061
56069
  {
56062
- JSValue result_promise, resolving_funcs[2], obj;
56070
+ static const JSAtom atoms[] = {JS_ATOM_promise, JS_ATOM_resolve, JS_ATOM_reject};
56071
+ JSValue values[3], obj, *pval;
56072
+ int i, ret;
56073
+
56063
56074
  if (!JS_IsObject(this_val))
56064
56075
  return JS_ThrowTypeErrorNotAnObject(ctx);
56065
- result_promise = js_new_promise_capability(ctx, resolving_funcs, this_val);
56066
- if (JS_IsException(result_promise))
56076
+ values[0] = js_new_promise_capability(ctx, &values[1], this_val);
56077
+ if (JS_IsException(values[0]))
56067
56078
  return JS_EXCEPTION;
56068
56079
  obj = JS_NewObject(ctx);
56069
56080
  if (JS_IsException(obj))
56070
56081
  goto exception;
56071
- if (JS_DefinePropertyValue(ctx, obj, JS_ATOM_promise, result_promise,
56072
- JS_PROP_C_W_E) < 0) {
56073
- goto exception;
56074
- }
56075
- result_promise = JS_UNDEFINED;
56076
- if (JS_DefinePropertyValue(ctx, obj, JS_ATOM_resolve, resolving_funcs[0],
56077
- JS_PROP_C_W_E) < 0) {
56078
- goto exception;
56079
- }
56080
- resolving_funcs[0] = JS_UNDEFINED;
56081
- if (JS_DefinePropertyValue(ctx, obj, JS_ATOM_reject, resolving_funcs[1],
56082
- JS_PROP_C_W_E) < 0) {
56083
- goto exception;
56082
+ for (i = 0; i < (int)countof(values); i++) {
56083
+ pval = &values[i];
56084
+ ret = JS_DefinePropertyValue(ctx, obj, atoms[i], *pval, JS_PROP_C_W_E);
56085
+ *pval = JS_UNDEFINED; // consumed by JS_DefinePropertyValue
56086
+ if (ret < 0)
56087
+ goto exception;
56084
56088
  }
56085
56089
  return obj;
56086
56090
  exception:
56087
- JS_FreeValue(ctx, resolving_funcs[0]);
56088
- JS_FreeValue(ctx, resolving_funcs[1]);
56089
- JS_FreeValue(ctx, result_promise);
56091
+ for (i = 0; i < (int)countof(values); i++)
56092
+ JS_FreeValue(ctx, values[i]);
56090
56093
  JS_FreeValue(ctx, obj);
56091
56094
  return JS_EXCEPTION;
56092
56095
  }
@@ -56124,7 +56127,7 @@ static __exception int remainingElementsCount_add(JSContext *ctx,
56124
56127
  int addend)
56125
56128
  {
56126
56129
  JSValue val;
56127
- int remainingElementsCount;
56130
+ int32_t remainingElementsCount;
56128
56131
 
56129
56132
  val = JS_GetPropertyUint32(ctx, resolve_element_env, 0);
56130
56133
  if (JS_IsException(val))
@@ -56155,7 +56158,8 @@ static JSValue js_promise_all_resolve_element(JSContext *ctx,
56155
56158
  JSValueConst resolve = func_data[3];
56156
56159
  JSValueConst resolve_element_env = func_data[4];
56157
56160
  JSValue ret, obj;
56158
- int is_zero, index;
56161
+ int is_zero;
56162
+ int32_t index;
56159
56163
 
56160
56164
  if (JS_ToInt32(ctx, &index, func_data[1]))
56161
56165
  return JS_EXCEPTION;
@@ -59891,9 +59895,21 @@ static JSValue js_typed_array_get_byteOffset(JSContext *ctx, JSValueConst this_v
59891
59895
  JSValue JS_NewTypedArray(JSContext *ctx, int argc, JSValueConst *argv,
59892
59896
  JSTypedArrayEnum type)
59893
59897
  {
59898
+ JSValueConst temp[3];
59899
+
59894
59900
  if (type < JS_TYPED_ARRAY_UINT8C || type > JS_TYPED_ARRAY_FLOAT64)
59895
59901
  return JS_ThrowRangeError(ctx, "invalid typed array type");
59896
-
59902
+ // js_typed_array_constructor makes assumptions about the length
59903
+ // of the argv vector without checking argc, so let's ensure our
59904
+ // side upholds said assumptions
59905
+ if (argc < countof(temp)) {
59906
+ temp[0] = temp[1] = temp[2] = JS_UNDEFINED;
59907
+ switch (argc) {
59908
+ case 2: temp[1] = argv[1]; // fallthru
59909
+ case 1: temp[0] = argv[0]; // fallthru
59910
+ }
59911
+ argv = temp;
59912
+ }
59897
59913
  return js_typed_array_constructor(ctx, JS_UNDEFINED, argc, argv,
59898
59914
  JS_CLASS_UINT8C_ARRAY + type);
59899
59915
  }
@@ -60244,6 +60260,7 @@ static JSValue js_typed_array_create(JSContext *ctx, JSValueConst ctor,
60244
60260
  return ret;
60245
60261
  }
60246
60262
 
60263
+ // expects typed array object in argv[0] so argc *must* be > 0
60247
60264
  static JSValue js_typed_array___speciesCreate(JSContext *ctx,
60248
60265
  JSValueConst this_val,
60249
60266
  int argc, JSValueConst *argv,
@@ -60252,8 +60269,8 @@ static JSValue js_typed_array___speciesCreate(JSContext *ctx,
60252
60269
  JSValueConst obj;
60253
60270
  JSObject *p;
60254
60271
  JSValue ctor, ret;
60255
- int argc1;
60256
60272
 
60273
+ assert(argc > 0);
60257
60274
  obj = argv[0];
60258
60275
  p = get_typed_array(ctx, obj);
60259
60276
  if (!p)
@@ -60261,12 +60278,13 @@ static JSValue js_typed_array___speciesCreate(JSContext *ctx,
60261
60278
  ctor = JS_SpeciesConstructor(ctx, obj, JS_UNDEFINED);
60262
60279
  if (JS_IsException(ctor))
60263
60280
  return ctor;
60264
- argc1 = max_int(argc - 1, 0);
60281
+ argc--;
60282
+ argv++;
60265
60283
  if (JS_IsUndefined(ctor)) {
60266
- ret = js_typed_array_constructor(ctx, JS_UNDEFINED, argc1, argv + 1,
60284
+ ret = js_typed_array_constructor(ctx, JS_UNDEFINED, argc, argv,
60267
60285
  p->class_id);
60268
60286
  } else {
60269
- ret = js_typed_array_create(ctx, ctor, argc1, argv + 1, require_mutable);
60287
+ ret = js_typed_array_create(ctx, ctor, argc, argv, require_mutable);
60270
60288
  JS_FreeValue(ctx, ctor);
60271
60289
  }
60272
60290
  return ret;
@@ -62740,7 +62758,8 @@ static JSValue js_atomics_notify(JSContext *ctx,
62740
62758
  {
62741
62759
  struct list_head *el, *el1, waiter_list;
62742
62760
  int size_log2;
62743
- int32_t count, n;
62761
+ int count;
62762
+ int32_t n;
62744
62763
  void *ptr;
62745
62764
  uint64_t idx;
62746
62765
  JSObject *p;
@@ -64859,6 +64878,14 @@ uintptr_t js_std_cmd(int cmd, ...) {
64859
64878
  rt = va_arg(ap, JSRuntime *);
64860
64879
  rv = rt->shape_hash_count;
64861
64880
  break;
64881
+ case 5: // GetInterruptHandler
64882
+ rt = va_arg(ap, JSRuntime *);
64883
+ rv = (uintptr_t)rt->interrupt_handler;
64884
+ break;
64885
+ case 6: // GetInterruptOpaque
64886
+ rt = va_arg(ap, JSRuntime *);
64887
+ rv = (uintptr_t)rt->interrupt_opaque;
64888
+ break;
64862
64889
  default:
64863
64890
  rv = -1;
64864
64891
  }