omdev 0.0.0.dev461__tar.gz → 0.0.0.dev462__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 (358) hide show
  1. {omdev-0.0.0.dev461/omdev.egg-info → omdev-0.0.0.dev462}/PKG-INFO +2 -2
  2. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/.omlish-manifests.json +1 -1
  3. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cexts/cmake.py +4 -1
  4. omdev-0.0.0.dev462/omdev/tui/textual/__init__.py +156 -0
  5. omdev-0.0.0.dev462/omdev/tui/textual/drivers2.py +55 -0
  6. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462/omdev.egg-info}/PKG-INFO +2 -2
  7. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev.egg-info/SOURCES.txt +2 -1
  8. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev.egg-info/requires.txt +1 -1
  9. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/pyproject.toml +2 -2
  10. omdev-0.0.0.dev461/omdev/tui/textual/__init__.py +0 -9
  11. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/LICENSE +0 -0
  12. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/MANIFEST.in +0 -0
  13. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/README.md +0 -0
  14. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/__about__.py +0 -0
  15. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/__init__.py +0 -0
  16. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/amalg/__init__.py +0 -0
  17. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/amalg/__main__.py +0 -0
  18. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/amalg/cli/__init__.py +0 -0
  19. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/amalg/cli/main.py +0 -0
  20. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/amalg/gen/__init__.py +0 -0
  21. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/amalg/gen/gen.py +0 -0
  22. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/amalg/gen/imports.py +0 -0
  23. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/amalg/gen/manifests.py +0 -0
  24. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/amalg/gen/resources.py +0 -0
  25. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/amalg/gen/srcfiles.py +0 -0
  26. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/amalg/gen/strip.py +0 -0
  27. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/amalg/gen/types.py +0 -0
  28. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/amalg/gen/typing.py +0 -0
  29. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/amalg/sources.py +0 -0
  30. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cache/__init__.py +0 -0
  31. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cache/compute/__init__.py +0 -0
  32. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cache/compute/cache.py +0 -0
  33. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cache/compute/contexts.py +0 -0
  34. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cache/compute/currents.py +0 -0
  35. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cache/compute/fns.py +0 -0
  36. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cache/compute/resolvers.py +0 -0
  37. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cache/compute/storage.py +0 -0
  38. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cache/compute/types.py +0 -0
  39. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cache/data/__init__.py +0 -0
  40. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cache/data/actions.py +0 -0
  41. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cache/data/cache.py +0 -0
  42. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cache/data/consts.py +0 -0
  43. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cache/data/defaults.py +0 -0
  44. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cache/data/manifests.py +0 -0
  45. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cache/data/specs.py +0 -0
  46. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/capi/__init__.py +0 -0
  47. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/capi/darwin/__init__.py +0 -0
  48. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/capi/darwin/aps.py +0 -0
  49. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/capi/darwin/ax.py +0 -0
  50. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/capi/darwin/cf.py +0 -0
  51. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/capi/darwin/cg.py +0 -0
  52. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/capi/linux/__init__.py +0 -0
  53. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/capi/linux/x11.py +0 -0
  54. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cc/__init__.py +0 -0
  55. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cc/__main__.py +0 -0
  56. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cc/cdeps.py +0 -0
  57. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cc/cdeps.toml +0 -0
  58. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cc/cli.py +0 -0
  59. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cc/srclangs.py +0 -0
  60. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cexts/__init__.py +0 -0
  61. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cexts/_boilerplate.cc +0 -0
  62. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cexts/_distutils/LICENSE +0 -0
  63. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cexts/_distutils/__init__.py +0 -0
  64. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cexts/_distutils/build_ext.py +0 -0
  65. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
  66. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
  67. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cexts/_distutils/compilers/options.py +0 -0
  68. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
  69. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cexts/_distutils/dir_util.py +0 -0
  70. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cexts/_distutils/errors.py +0 -0
  71. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cexts/_distutils/extension.py +0 -0
  72. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cexts/_distutils/file_util.py +0 -0
  73. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cexts/_distutils/modified.py +0 -0
  74. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cexts/_distutils/spawn.py +0 -0
  75. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cexts/_distutils/sysconfig.py +0 -0
  76. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cexts/_distutils/util.py +0 -0
  77. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cexts/_distutils/version.py +0 -0
  78. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cexts/build.py +0 -0
  79. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cexts/importhook.py +0 -0
  80. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cexts/magic.py +0 -0
  81. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cexts/scan.py +0 -0
  82. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/__init__.py +0 -0
  83. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/__main__.py +0 -0
  84. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/cache.py +0 -0
  85. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/ci.py +0 -0
  86. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/cli.py +0 -0
  87. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/compose.py +0 -0
  88. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/consts.py +0 -0
  89. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/docker/__init__.py +0 -0
  90. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/docker/buildcaching.py +0 -0
  91. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/docker/cache.py +0 -0
  92. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/docker/cacheserved/__init__.py +0 -0
  93. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/docker/cacheserved/cache.py +0 -0
  94. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/docker/cacheserved/manifests.py +0 -0
  95. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/docker/cmds.py +0 -0
  96. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/docker/dataserver.py +0 -0
  97. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/docker/imagepulling.py +0 -0
  98. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/docker/inject.py +0 -0
  99. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/docker/packing.py +0 -0
  100. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/docker/repositories.py +0 -0
  101. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/docker/utils.py +0 -0
  102. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/github/__init__.py +0 -0
  103. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/github/api/__init__.py +0 -0
  104. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/github/api/clients.py +0 -0
  105. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/github/api/v1/__init__.py +0 -0
  106. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/github/api/v1/api.py +0 -0
  107. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/github/api/v1/client.py +0 -0
  108. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/github/api/v2/__init__.py +0 -0
  109. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/github/api/v2/api.py +0 -0
  110. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/github/api/v2/azure.py +0 -0
  111. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/github/api/v2/client.py +0 -0
  112. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/github/bootstrap.py +0 -0
  113. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/github/cache.py +0 -0
  114. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/github/cli.py +0 -0
  115. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/github/env.py +0 -0
  116. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/github/inject.py +0 -0
  117. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/inject.py +0 -0
  118. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/requirements.py +0 -0
  119. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/shell.py +0 -0
  120. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/ci/utils.py +0 -0
  121. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cli/__init__.py +0 -0
  122. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cli/__main__.py +0 -0
  123. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cli/_pathhack.py +0 -0
  124. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cli/clicli.py +0 -0
  125. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cli/install.py +0 -0
  126. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cli/main.py +0 -0
  127. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cli/managers.py +0 -0
  128. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cli/types.py +0 -0
  129. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/clipboard/__init__.py +0 -0
  130. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/clipboard/clipboard.py +0 -0
  131. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/clipboard/darwin_cf.py +0 -0
  132. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/clipboard/linux_x11.py +0 -0
  133. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cmake.py +0 -0
  134. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cmdlog/__init__.py +0 -0
  135. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cmdlog/__main__.py +0 -0
  136. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cmdlog/_cmdlog.py +0 -0
  137. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cmdlog/cli.py +0 -0
  138. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/cmdlog/cmdlog.py +0 -0
  139. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/dataclasses/__init__.py +0 -0
  140. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/dataclasses/__main__.py +0 -0
  141. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/dataclasses/cli.py +0 -0
  142. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/dataclasses/codegen.py +0 -0
  143. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/dataserver/__init__.py +0 -0
  144. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/dataserver/handlers.py +0 -0
  145. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/dataserver/http.py +0 -0
  146. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/dataserver/routes.py +0 -0
  147. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/dataserver/server.py +0 -0
  148. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/dataserver/targets.py +0 -0
  149. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/git/__init__.py +0 -0
  150. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/git/magic.py +0 -0
  151. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/git/revisions.py +0 -0
  152. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/git/shallow.py +0 -0
  153. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/git/status.py +0 -0
  154. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/home/__init__.py +0 -0
  155. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/home/paths.py +0 -0
  156. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/home/secrets.py +0 -0
  157. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/home/shadow.py +0 -0
  158. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/imgur.py +0 -0
  159. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/intellij/__init__.py +0 -0
  160. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/intellij/cli.py +0 -0
  161. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/intellij/ides.py +0 -0
  162. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/intellij/open.py +0 -0
  163. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/__init__.py +0 -0
  164. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/__main__.py +0 -0
  165. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/cli.py +0 -0
  166. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/default.py +0 -0
  167. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/inject.py +0 -0
  168. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/inspect.py +0 -0
  169. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/providers/__init__.py +0 -0
  170. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/providers/base.py +0 -0
  171. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/providers/inject.py +0 -0
  172. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/providers/running.py +0 -0
  173. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/providers/standalone.py +0 -0
  174. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/providers/system.py +0 -0
  175. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/pyenv/__init__.py +0 -0
  176. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/pyenv/inject.py +0 -0
  177. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/pyenv/install.py +0 -0
  178. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/pyenv/provider.py +0 -0
  179. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/pyenv/pyenv.py +0 -0
  180. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/resolvers.py +0 -0
  181. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/types.py +0 -0
  182. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/uv/__init__.py +0 -0
  183. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/uv/inject.py +0 -0
  184. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/uv/provider.py +0 -0
  185. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/uv/uv.py +0 -0
  186. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/interp/venvs.py +0 -0
  187. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/irc/__init__.py +0 -0
  188. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/irc/messages/__init__.py +0 -0
  189. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/irc/messages/base.py +0 -0
  190. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/irc/messages/formats.py +0 -0
  191. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/irc/messages/messages.py +0 -0
  192. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/irc/messages/parsing.py +0 -0
  193. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/irc/numerics/__init__.py +0 -0
  194. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/irc/numerics/formats.py +0 -0
  195. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/irc/numerics/numerics.py +0 -0
  196. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/irc/numerics/types.py +0 -0
  197. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/irc/protocol/LICENSE +0 -0
  198. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/irc/protocol/__init__.py +0 -0
  199. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/irc/protocol/consts.py +0 -0
  200. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/irc/protocol/errors.py +0 -0
  201. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/irc/protocol/message.py +0 -0
  202. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/irc/protocol/nuh.py +0 -0
  203. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/irc/protocol/parsing.py +0 -0
  204. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/irc/protocol/rendering.py +0 -0
  205. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/irc/protocol/tags.py +0 -0
  206. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/irc/protocol/utils.py +0 -0
  207. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/magic/__init__.py +0 -0
  208. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/magic/__main__.py +0 -0
  209. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/magic/cli.py +0 -0
  210. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/magic/find.py +0 -0
  211. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/magic/magic.py +0 -0
  212. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/magic/prepare.py +0 -0
  213. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/magic/styles.py +0 -0
  214. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/manifests/__init__.py +0 -0
  215. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/manifests/__main__.py +0 -0
  216. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/manifests/_dumping.py +0 -0
  217. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/manifests/building.py +0 -0
  218. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/manifests/dumping.py +0 -0
  219. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/manifests/main.py +0 -0
  220. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/markdown/__init__.py +0 -0
  221. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/markdown/incparse.py +0 -0
  222. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/markdown/tokens.py +0 -0
  223. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/mypy/__init__.py +0 -0
  224. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/mypy/debug.py +0 -0
  225. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/mypy/report.py +0 -0
  226. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/oci/__init__.py +0 -0
  227. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/oci/building.py +0 -0
  228. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/oci/compression.py +0 -0
  229. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/oci/data.py +0 -0
  230. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/oci/datarefs.py +0 -0
  231. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/oci/dataserver.py +0 -0
  232. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/oci/loading.py +0 -0
  233. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/oci/media.py +0 -0
  234. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/oci/pack/__init__.py +0 -0
  235. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/oci/pack/packing.py +0 -0
  236. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/oci/pack/repositories.py +0 -0
  237. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/oci/pack/unpacking.py +0 -0
  238. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/oci/repositories.py +0 -0
  239. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/oci/tars.py +0 -0
  240. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/packaging/__init__.py +0 -0
  241. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/packaging/marshal.py +0 -0
  242. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/packaging/names.py +0 -0
  243. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/packaging/requires.py +0 -0
  244. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/packaging/revisions.py +0 -0
  245. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/packaging/specifiers.py +0 -0
  246. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/packaging/versions.py +0 -0
  247. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/packaging/wheelfile.py +0 -0
  248. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/pip.py +0 -0
  249. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/precheck/__init__.py +0 -0
  250. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/precheck/__main__.py +0 -0
  251. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/precheck/base.py +0 -0
  252. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/precheck/blanklines.py +0 -0
  253. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/precheck/caches.py +0 -0
  254. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/precheck/git.py +0 -0
  255. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/precheck/imports.py +0 -0
  256. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/precheck/lite.py +0 -0
  257. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/precheck/main.py +0 -0
  258. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/precheck/manifests.py +0 -0
  259. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/precheck/scripts.py +0 -0
  260. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/precheck/unicode.py +0 -0
  261. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/py/__init__.py +0 -0
  262. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/py/attrdocs.py +0 -0
  263. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/py/bracepy.py +0 -0
  264. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/py/classdot.py +0 -0
  265. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/py/docstrings/LICENSE +0 -0
  266. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/py/docstrings/__init__.py +0 -0
  267. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/py/docstrings/attrdoc.py +0 -0
  268. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/py/docstrings/common.py +0 -0
  269. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/py/docstrings/epydoc.py +0 -0
  270. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/py/docstrings/google.py +0 -0
  271. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/py/docstrings/numpydoc.py +0 -0
  272. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/py/docstrings/parser.py +0 -0
  273. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/py/docstrings/rest.py +0 -0
  274. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/py/findimports.py +0 -0
  275. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/py/scripts/__init__.py +0 -0
  276. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/py/scripts/bumpversion.py +0 -0
  277. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/py/scripts/execstat.py +0 -0
  278. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/py/scripts/importtrace.py +0 -0
  279. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/py/srcheaders.py +0 -0
  280. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/py/tools/__init__.py +0 -0
  281. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/py/tools/importscan.py +0 -0
  282. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/py/tools/mkrelimp.py +0 -0
  283. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/pyproject/__init__.py +0 -0
  284. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/pyproject/__main__.py +0 -0
  285. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/pyproject/cexts.py +0 -0
  286. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/pyproject/cli.py +0 -0
  287. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/pyproject/configs.py +0 -0
  288. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/pyproject/inject.py +0 -0
  289. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/pyproject/pkg.py +0 -0
  290. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/pyproject/reqs.py +0 -0
  291. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/pyproject/resources/__init__.py +0 -0
  292. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/pyproject/resources/docker-dev.sh +0 -0
  293. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/pyproject/resources/python.sh +0 -0
  294. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/pyproject/venvs.py +0 -0
  295. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/scripts/__init__.py +0 -0
  296. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/scripts/ci.py +0 -0
  297. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/scripts/interp.py +0 -0
  298. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/scripts/lib/__init__.py +0 -0
  299. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/scripts/lib/inject.py +0 -0
  300. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/scripts/lib/logs.py +0 -0
  301. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/scripts/lib/marshal.py +0 -0
  302. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/scripts/pyproject.py +0 -0
  303. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/scripts/slowcat.py +0 -0
  304. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/scripts/tmpexec.py +0 -0
  305. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tagstrings.py +0 -0
  306. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tokens/__init__.py +0 -0
  307. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tokens/all.py +0 -0
  308. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tokens/tokenizert.py +0 -0
  309. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tokens/utils.py +0 -0
  310. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/__init__.py +0 -0
  311. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/cloc.py +0 -0
  312. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/diff.py +0 -0
  313. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/doc.py +0 -0
  314. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/docker.py +0 -0
  315. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/git/__init__.py +0 -0
  316. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/git/__main__.py +0 -0
  317. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/git/cli.py +0 -0
  318. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/git/cloning.py +0 -0
  319. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/git/consts.py +0 -0
  320. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/git/messages.py +0 -0
  321. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/json/__init__.py +0 -0
  322. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/json/__main__.py +0 -0
  323. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/json/cli.py +0 -0
  324. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/json/formats.py +0 -0
  325. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/json/io.py +0 -0
  326. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/json/parsing.py +0 -0
  327. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/json/processing.py +0 -0
  328. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/json/rendering.py +0 -0
  329. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/jsonview/__init__.py +0 -0
  330. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/jsonview/__main__.py +0 -0
  331. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/jsonview/cli.py +0 -0
  332. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/jsonview/resources/__init__.py +0 -0
  333. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/jsonview/resources/jsonview.css +0 -0
  334. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/jsonview/resources/jsonview.js +0 -0
  335. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/linehisto.py +0 -0
  336. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/mkenv.py +0 -0
  337. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/notebook.py +0 -0
  338. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/pawk/__init__.py +0 -0
  339. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/pawk/__main__.py +0 -0
  340. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/pawk/pawk.py +0 -0
  341. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/pip.py +0 -0
  342. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/prof.py +0 -0
  343. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/qr.py +0 -0
  344. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/shadow.py +0 -0
  345. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/shell.py +0 -0
  346. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tools/sqlrepl.py +0 -0
  347. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tui/__init__.py +0 -0
  348. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tui/apps/__init__.py +0 -0
  349. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tui/apps/markdown/__init__.py +0 -0
  350. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tui/apps/markdown/__main__.py +0 -0
  351. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tui/apps/markdown/cli.py +0 -0
  352. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tui/rich/__init__.py +0 -0
  353. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tui/rich/console2.py +0 -0
  354. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev/tui/rich/markdown2.py +0 -0
  355. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev.egg-info/dependency_links.txt +0 -0
  356. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev.egg-info/entry_points.txt +0 -0
  357. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/omdev.egg-info/top_level.txt +0 -0
  358. {omdev-0.0.0.dev461 → omdev-0.0.0.dev462}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omdev
3
- Version: 0.0.0.dev461
3
+ Version: 0.0.0.dev462
4
4
  Summary: omdev
5
5
  Author: wrmsr
6
6
  License-Expression: BSD-3-Clause
@@ -14,7 +14,7 @@ Classifier: Programming Language :: Python :: 3.13
14
14
  Requires-Python: >=3.13
15
15
  Description-Content-Type: text/markdown
16
16
  License-File: LICENSE
17
- Requires-Dist: omlish==0.0.0.dev461
17
+ Requires-Dist: omlish==0.0.0.dev462
18
18
  Provides-Extra: all
19
19
  Requires-Dist: black~=25.9; extra == "all"
20
20
  Requires-Dist: pycparser~=2.23; extra == "all"
@@ -27,7 +27,7 @@
27
27
  "module": ".cexts.cmake",
28
28
  "attr": "_CLI_MODULE",
29
29
  "file": "omdev/cexts/cmake.py",
30
- "line": 332,
30
+ "line": 335,
31
31
  "value": {
32
32
  "!.cli.types.CliModule": {
33
33
  "name": "cmake",
@@ -266,7 +266,10 @@ class CmakeProjectGen:
266
266
  '-g',
267
267
  '-c',
268
268
  ],
269
- ['-std=c++20'],
269
+ [
270
+ '$<$<COMPILE_LANGUAGE:C>:-std=c11>',
271
+ '$<$<COMPILE_LANGUAGE:CXX>:-std=c++20>',
272
+ ],
270
273
  ),
271
274
  ))
272
275
 
@@ -0,0 +1,156 @@
1
+ # ruff: noqa: F401
2
+ # flake8: noqa: F401
3
+ from omlish import lang as _lang
4
+
5
+
6
+ with _lang.auto_proxy_init(globals()):
7
+ ##
8
+
9
+ from textual import app # noqa
10
+ from textual import binding # noqa
11
+ from textual import containers # noqa
12
+ from textual import events # noqa
13
+ from textual import events # noqa
14
+ from textual import message # noqa
15
+ from textual import reactive # noqa
16
+ from textual import widgets # noqa
17
+ from textual.app import ActionError # noqa
18
+ from textual.app import ActiveModeError # noqa
19
+ from textual.app import App # noqa
20
+ from textual.app import AppError # noqa
21
+ from textual.app import AutopilotCallbackType # noqa
22
+ from textual.app import CallThreadReturnType # noqa
23
+ from textual.app import CommandCallback # noqa
24
+ from textual.app import ComposeResult # noqa
25
+ from textual.app import InvalidModeError # noqa
26
+ from textual.app import InvalidThemeError # noqa
27
+ from textual.app import ModeError # noqa
28
+ from textual.app import RenderResult # noqa
29
+ from textual.app import ReturnType # noqa
30
+ from textual.app import ScreenError # noqa
31
+ from textual.app import ScreenStackError # noqa
32
+ from textual.app import ScreenType # noqa
33
+ from textual.app import SuspendNotSupported # noqa
34
+ from textual.app import SystemCommand # noqa
35
+ from textual.app import UnknownModeError # noqa
36
+ from textual.app import get_system_commands_provider # noqa
37
+ from textual.binding import ActiveBinding # noqa
38
+ from textual.binding import Binding # noqa
39
+ from textual.binding import BindingError # noqa
40
+ from textual.binding import BindingIDString # noqa
41
+ from textual.binding import BindingType # noqa
42
+ from textual.binding import BindingsMap # noqa
43
+ from textual.binding import InvalidBinding # noqa
44
+ from textual.binding import KeyString # noqa
45
+ from textual.binding import Keymap # noqa
46
+ from textual.binding import KeymapApplyResult # noqa
47
+ from textual.binding import NoBinding # noqa
48
+ from textual.containers import Center # noqa
49
+ from textual.containers import CenterMiddle # noqa
50
+ from textual.containers import Container # noqa
51
+ from textual.containers import Grid # noqa
52
+ from textual.containers import Horizontal # noqa
53
+ from textual.containers import HorizontalGroup # noqa
54
+ from textual.containers import HorizontalScroll # noqa
55
+ from textual.containers import ItemGrid # noqa
56
+ from textual.containers import Middle # noqa
57
+ from textual.containers import Right # noqa
58
+ from textual.containers import ScrollableContainer # noqa
59
+ from textual.containers import Vertical # noqa
60
+ from textual.containers import VerticalGroup # noqa
61
+ from textual.containers import VerticalScroll # noqa
62
+ from textual.driver import Driver # noqa
63
+ from textual.events import Action # noqa
64
+ from textual.events import AppBlur # noqa
65
+ from textual.events import AppFocus # noqa
66
+ from textual.events import Blur # noqa
67
+ from textual.events import Callback # noqa
68
+ from textual.events import Click # noqa
69
+ from textual.events import Compose # noqa
70
+ from textual.events import CursorPosition # noqa
71
+ from textual.events import DeliveryComplete # noqa
72
+ from textual.events import DeliveryFailed # noqa
73
+ from textual.events import DescendantBlur # noqa
74
+ from textual.events import DescendantFocus # noqa
75
+ from textual.events import Enter # noqa
76
+ from textual.events import Event # noqa
77
+ from textual.events import Focus # noqa
78
+ from textual.events import Hide # noqa
79
+ from textual.events import Idle # noqa
80
+ from textual.events import InputEvent # noqa
81
+ from textual.events import Key # noqa
82
+ from textual.events import Leave # noqa
83
+ from textual.events import Load # noqa
84
+ from textual.events import Mount # noqa
85
+ from textual.events import MouseCapture # noqa
86
+ from textual.events import MouseDown # noqa
87
+ from textual.events import MouseEvent # noqa
88
+ from textual.events import MouseMove # noqa
89
+ from textual.events import MouseRelease # noqa
90
+ from textual.events import MouseScrollDown # noqa
91
+ from textual.events import MouseScrollLeft # noqa
92
+ from textual.events import MouseScrollRight # noqa
93
+ from textual.events import MouseScrollUp # noqa
94
+ from textual.events import MouseUp # noqa
95
+ from textual.events import Paste # noqa
96
+ from textual.events import Print # noqa
97
+ from textual.events import Ready # noqa
98
+ from textual.events import Resize # noqa
99
+ from textual.events import ScreenResume # noqa
100
+ from textual.events import ScreenSuspend # noqa
101
+ from textual.events import Show # noqa
102
+ from textual.events import Timer # noqa
103
+ from textual.events import Unmount # noqa
104
+ from textual.message import Message # noqa
105
+ from textual.reactive import Reactive # noqa
106
+ from textual.widget import Widget # noqa
107
+ from textual.widgets import Button # noqa
108
+ from textual.widgets import Checkbox # noqa
109
+ from textual.widgets import Collapsible # noqa
110
+ from textual.widgets import CollapsibleTitle # noqa
111
+ from textual.widgets import ContentSwitcher # noqa
112
+ from textual.widgets import DataTable # noqa
113
+ from textual.widgets import Digits # noqa
114
+ from textual.widgets import DirectoryTree # noqa
115
+ from textual.widgets import Footer # noqa
116
+ from textual.widgets import Header # noqa
117
+ from textual.widgets import HelpPanel # noqa
118
+ from textual.widgets import Input # noqa
119
+ from textual.widgets import KeyPanel # noqa
120
+ from textual.widgets import Label # noqa
121
+ from textual.widgets import Link # noqa
122
+ from textual.widgets import ListItem # noqa
123
+ from textual.widgets import ListView # noqa
124
+ from textual.widgets import LoadingIndicator # noqa
125
+ from textual.widgets import Log # noqa
126
+ from textual.widgets import Markdown # noqa
127
+ from textual.widgets import MarkdownViewer # noqa
128
+ from textual.widgets import MaskedInput # noqa
129
+ from textual.widgets import OptionList # noqa
130
+ from textual.widgets import Placeholder # noqa
131
+ from textual.widgets import Pretty # noqa
132
+ from textual.widgets import ProgressBar # noqa
133
+ from textual.widgets import RadioButton # noqa
134
+ from textual.widgets import RadioSet # noqa
135
+ from textual.widgets import RichLog # noqa
136
+ from textual.widgets import Rule # noqa
137
+ from textual.widgets import Select # noqa
138
+ from textual.widgets import SelectionList # noqa
139
+ from textual.widgets import Sparkline # noqa
140
+ from textual.widgets import Static # noqa
141
+ from textual.widgets import Switch # noqa
142
+ from textual.widgets import Tab # noqa
143
+ from textual.widgets import TabPane # noqa
144
+ from textual.widgets import TabbedContent # noqa
145
+ from textual.widgets import Tabs # noqa
146
+ from textual.widgets import TextArea # noqa
147
+ from textual.widgets import Tooltip # noqa
148
+ from textual.widgets import Tree # noqa
149
+ from textual.widgets import Welcome # noqa
150
+
151
+ ##
152
+
153
+ from .drivers2 import ( # noqa
154
+ PendingWritesDriverMixin,
155
+ get_pending_writes_driver_class,
156
+ )
@@ -0,0 +1,55 @@
1
+ import threading
2
+ import typing as ta
3
+
4
+ from omlish import lang
5
+
6
+
7
+ if ta.TYPE_CHECKING:
8
+ from textual.driver import Driver
9
+
10
+
11
+ ##
12
+
13
+
14
+ class PendingWritesDriverMixin:
15
+ def __init__(self, *args: ta.Any, **kwargs: ta.Any) -> None:
16
+ super().__init__(*args, **kwargs)
17
+
18
+ self._pending_primary_buffer_writes: list[str] = []
19
+
20
+ def queue_primary_buffer_write(self, *s: str) -> None:
21
+ self._pending_primary_buffer_writes.extend(s)
22
+
23
+ def write(self, data: str) -> None:
24
+ if (pw := self._pending_primary_buffer_writes):
25
+ data = ''.join([*pw, data])
26
+ pw.clear()
27
+ super().write(data) # type: ignore
28
+
29
+
30
+ _PENDING_WRITES_DRIVER_CLASSES_LOCK = threading.RLock()
31
+ _PENDING_WRITES_DRIVER_CLASSES: dict[type['Driver'], type['Driver']] = {}
32
+
33
+
34
+ def get_pending_writes_driver_class(cls: type['Driver']) -> type['Driver']:
35
+ if issubclass(cls, PendingWritesDriverMixin):
36
+ return cls # noqa
37
+
38
+ try:
39
+ return _PENDING_WRITES_DRIVER_CLASSES[cls]
40
+ except KeyError:
41
+ pass
42
+
43
+ with _PENDING_WRITES_DRIVER_CLASSES_LOCK:
44
+ try:
45
+ return _PENDING_WRITES_DRIVER_CLASSES[cls]
46
+ except KeyError:
47
+ pass
48
+
49
+ cls = _PENDING_WRITES_DRIVER_CLASSES[cls] = lang.new_type( # noqa
50
+ f'PendingWrites{cls.__name__}',
51
+ (PendingWritesDriverMixin, cls),
52
+ {},
53
+ )
54
+
55
+ return cls # noqa
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omdev
3
- Version: 0.0.0.dev461
3
+ Version: 0.0.0.dev462
4
4
  Summary: omdev
5
5
  Author: wrmsr
6
6
  License-Expression: BSD-3-Clause
@@ -14,7 +14,7 @@ Classifier: Programming Language :: Python :: 3.13
14
14
  Requires-Python: >=3.13
15
15
  Description-Content-Type: text/markdown
16
16
  License-File: LICENSE
17
- Requires-Dist: omlish==0.0.0.dev461
17
+ Requires-Dist: omlish==0.0.0.dev462
18
18
  Provides-Extra: all
19
19
  Requires-Dist: black~=25.9; extra == "all"
20
20
  Requires-Dist: pycparser~=2.23; extra == "all"
@@ -351,4 +351,5 @@ omdev/tui/apps/markdown/cli.py
351
351
  omdev/tui/rich/__init__.py
352
352
  omdev/tui/rich/console2.py
353
353
  omdev/tui/rich/markdown2.py
354
- omdev/tui/textual/__init__.py
354
+ omdev/tui/textual/__init__.py
355
+ omdev/tui/textual/drivers2.py
@@ -1,4 +1,4 @@
1
- omlish==0.0.0.dev461
1
+ omlish==0.0.0.dev462
2
2
 
3
3
  [all]
4
4
  black~=25.9
@@ -13,7 +13,7 @@ urls = {source = 'https://github.com/wrmsr/omlish'}
13
13
  license = 'BSD-3-Clause'
14
14
  readme = 'README.md'
15
15
  requires-python = '>=3.13'
16
- version = '0.0.0.dev461'
16
+ version = '0.0.0.dev462'
17
17
  classifiers = [
18
18
  'Development Status :: 2 - Pre-Alpha',
19
19
  'Intended Audience :: Developers',
@@ -24,7 +24,7 @@ classifiers = [
24
24
  ]
25
25
  description = 'omdev'
26
26
  dependencies = [
27
- 'omlish == 0.0.0.dev461',
27
+ 'omlish == 0.0.0.dev462',
28
28
  ]
29
29
 
30
30
  [project.optional-dependencies]
@@ -1,9 +0,0 @@
1
- # ruff: noqa: F401
2
- # flake8: noqa: F401
3
- from omlish import lang as _lang
4
-
5
-
6
- with _lang.auto_proxy_init(globals()):
7
- ##
8
-
9
- pass
File without changes
File without changes
File without changes