omdev 0.0.46__tar.gz → 0.0.47__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.
- {omdev-0.0.46/omdev.egg-info → omdev-0.0.47}/PKG-INFO +45 -18
- {omdev-0.0.46 → omdev-0.0.47}/omdev/.om-manifests.json +1 -16
- {omdev-0.0.46 → omdev-0.0.47}/omdev/__about__.py +19 -3
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/.python-versions.json +3 -3
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/depsets/system.toml +2 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/scripts/install-claude +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/scripts/install-codex +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/scripts/run-dbus +0 -0
- omdev-0.0.47/omdev/dockerdev/resources/scripts/run-mysql +21 -0
- omdev-0.0.47/omdev/dockerdev/resources/scripts/run-postgres +16 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/jsonschema/codegen/ir.py +1 -1
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/cloc.py +13 -1
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/docs/documents.py +1 -1
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/events/parsing.py +1 -1
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/text/markdownit.py +1 -1
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/text/segments.py +2 -2
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/vim/engine.py +62 -13
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/vim/parsing.py +1 -1
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/vim/status.py +15 -12
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/vim/substitutes.py +17 -3
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/vim/textobjs.py +20 -3
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/rich/markdown2.py +2 -129
- {omdev-0.0.46 → omdev-0.0.47/omdev.egg-info}/PKG-INFO +45 -18
- {omdev-0.0.46 → omdev-0.0.47}/omdev.egg-info/SOURCES.txt +6 -62
- omdev-0.0.47/omdev.egg-info/requires.txt +103 -0
- {omdev-0.0.46 → omdev-0.0.47}/pyproject.toml +46 -24
- omdev-0.0.46/omdev/tui/apps/edit/main.py +0 -167
- omdev-0.0.46/omdev/tui/apps/irc/__main__.py +0 -4
- omdev-0.0.46/omdev/tui/apps/irc/app.py +0 -287
- omdev-0.0.46/omdev/tui/apps/irc/client.py +0 -187
- omdev-0.0.46/omdev/tui/apps/irc/commands.py +0 -175
- omdev-0.0.46/omdev/tui/apps/irc/main.py +0 -84
- omdev-0.0.46/omdev/tui/apps/jtree/LICENSE +0 -21
- omdev-0.0.46/omdev/tui/apps/jtree/__main__.py +0 -4
- omdev-0.0.46/omdev/tui/apps/jtree/app.py +0 -64
- omdev-0.0.46/omdev/tui/apps/jtree/cli.py +0 -34
- omdev-0.0.46/omdev/tui/apps/jtree/styles/layout.tcss +0 -18
- omdev-0.0.46/omdev/tui/apps/jtree/utils.py +0 -27
- omdev-0.0.46/omdev/tui/apps/jtree/widgets.py +0 -74
- omdev-0.0.46/omdev/tui/apps/markdown/__main__.py +0 -11
- omdev-0.0.46/omdev/tui/apps/markdown/cli.py +0 -28
- omdev-0.0.46/omdev/tui/minitui/screens/__init__.py +0 -0
- omdev-0.0.46/omdev/tui/minitui/surfaces/__init__.py +0 -0
- omdev-0.0.46/omdev/tui/minitui/text/__init__.py +0 -0
- omdev-0.0.46/omdev/tui/minitui/tty/__init__.py +0 -0
- omdev-0.0.46/omdev/tui/minitui/vim/__init__.py +0 -0
- omdev-0.0.46/omdev/tui/textual/__init__.py +0 -324
- omdev-0.0.46/omdev/tui/textual/actionmenu.py +0 -123
- omdev-0.0.46/omdev/tui/textual/altdevtools/LICENSE +0 -21
- omdev-0.0.46/omdev/tui/textual/altdevtools/__init__.py +0 -35
- omdev-0.0.46/omdev/tui/textual/altdevtools/client.py +0 -349
- omdev-0.0.46/omdev/tui/textual/altdevtools/previews/__init__.py +0 -9
- omdev-0.0.46/omdev/tui/textual/altdevtools/previews/borders.py +0 -91
- omdev-0.0.46/omdev/tui/textual/altdevtools/previews/colors.py +0 -142
- omdev-0.0.46/omdev/tui/textual/altdevtools/previews/colors.tcss +0 -338
- omdev-0.0.46/omdev/tui/textual/altdevtools/previews/easing.py +0 -138
- omdev-0.0.46/omdev/tui/textual/altdevtools/previews/easing.tcss +0 -59
- omdev-0.0.46/omdev/tui/textual/altdevtools/previews/keys.py +0 -83
- omdev-0.0.46/omdev/tui/textual/altdevtools/protocol.py +0 -48
- omdev-0.0.46/omdev/tui/textual/altdevtools/redirect_output.py +0 -114
- omdev-0.0.46/omdev/tui/textual/altdevtools/renderables.py +0 -162
- omdev-0.0.46/omdev/tui/textual/altdevtools/server.py +0 -154
- omdev-0.0.46/omdev/tui/textual/altdevtools/service.py +0 -367
- omdev-0.0.46/omdev/tui/textual/altdevtools/tools/__init__.py +0 -0
- omdev-0.0.46/omdev/tui/textual/altdevtools/tools/diagnose.py +0 -206
- omdev-0.0.46/omdev/tui/textual/app2.py +0 -11
- omdev-0.0.46/omdev/tui/textual/autocomplete/LICENSE +0 -21
- omdev-0.0.46/omdev/tui/textual/autocomplete/__init__.py +0 -33
- omdev-0.0.46/omdev/tui/textual/autocomplete/matching.py +0 -226
- omdev-0.0.46/omdev/tui/textual/autocomplete/paths.py +0 -202
- omdev-0.0.46/omdev/tui/textual/autocomplete/widget.py +0 -611
- omdev-0.0.46/omdev/tui/textual/binding2.py +0 -46
- omdev-0.0.46/omdev/tui/textual/clipboard.py +0 -39
- omdev-0.0.46/omdev/tui/textual/debug/__init__.py +0 -10
- omdev-0.0.46/omdev/tui/textual/debug/dominfo.py +0 -151
- omdev-0.0.46/omdev/tui/textual/debug/screen.py +0 -24
- omdev-0.0.46/omdev/tui/textual/devtools.py +0 -223
- omdev-0.0.46/omdev/tui/textual/dom2.py +0 -28
- omdev-0.0.46/omdev/tui/textual/drivers2.py +0 -55
- omdev-0.0.46/omdev/tui/textual/logging2.py +0 -20
- omdev-0.0.46/omdev/tui/textual/render2.py +0 -39
- omdev-0.0.46/omdev/tui/textual/screen2.py +0 -13
- omdev-0.0.46/omdev/tui/textual/types.py +0 -43
- omdev-0.0.46/omdev/tui/textual/widgets2.py +0 -54
- omdev-0.0.46/omdev.egg-info/requires.txt +0 -75
- {omdev-0.0.46 → omdev-0.0.47}/LICENSE +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/MANIFEST.in +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/README.md +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/README.md +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/amalg/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/amalg/__main__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/amalg/cli/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/amalg/cli/main.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/amalg/gen/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/amalg/gen/gen.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/amalg/gen/imports.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/amalg/gen/manifests.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/amalg/gen/resources.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/amalg/gen/srcfiles.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/amalg/gen/strip.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/amalg/gen/types.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/amalg/gen/typing.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/amalg/info.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/amalg/sources.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cache/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cache/compute/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cache/compute/cache.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cache/compute/contexts.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cache/compute/currents.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cache/compute/fns.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cache/compute/resolvers.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cache/compute/storage.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cache/compute/types.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cache/data/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cache/data/actions.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cache/data/cache.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cache/data/consts.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cache/data/defaults.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cache/data/manifests.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cache/data/specs.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/capi/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/capi/darwin/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/capi/darwin/aps.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/capi/darwin/ax.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/capi/darwin/cf.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/capi/darwin/cg.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/capi/linux/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/capi/linux/x11.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cc/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cc/__main__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cc/cdeps.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cc/cdeps.toml +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cc/cli.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cc/srclangs.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/_boilerplate.cc +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/_distutils/LICENSE +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/_distutils/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/_distutils/build_ext.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/_distutils/compilers/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/_distutils/compilers/ccompiler.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/_distutils/compilers/options.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/_distutils/compilers/unixccompiler.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/_distutils/dir_util.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/_distutils/errors.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/_distutils/extension.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/_distutils/file_util.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/_distutils/modified.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/_distutils/spawn.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/_distutils/sysconfig.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/_distutils/util.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/_distutils/version.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/build.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/cmake.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/configs.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/importhook.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/magic.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cexts/scan.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/__main__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/cache.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/ci.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/cli.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/compose.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/consts.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/docker/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/docker/buildcaching.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/docker/cache.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/docker/cacheserved/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/docker/cacheserved/cache.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/docker/cacheserved/manifests.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/docker/cmds.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/docker/dataserver.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/docker/imagepulling.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/docker/inject.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/docker/packing.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/docker/repositories.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/docker/utils.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/github/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/github/api/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/github/api/clients.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/github/api/v1/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/github/api/v1/api.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/github/api/v1/client.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/github/api/v2/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/github/api/v2/api.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/github/api/v2/azure.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/github/api/v2/client.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/github/bootstrap.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/github/cache.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/github/cli.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/github/env.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/github/inject.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/inject.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/requirements.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/shell.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/ci/utils.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cli/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cli/__main__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cli/_pathhack.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cli/clicli.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cli/install.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cli/main.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cli/managers.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cli/types.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/clipboard/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/clipboard/capi/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/clipboard/capi/darwin_cf.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/clipboard/capi/linux_x11.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/clipboard/commands.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/clipboard/platform.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/clipboard/types.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cmake.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cmdlog/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cmdlog/__main__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cmdlog/_cmdlog.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cmdlog/cli.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/cmdlog/cmdlog.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dataclasses/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dataclasses/__main__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dataclasses/_dumping.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dataclasses/_template.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dataclasses/cli.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dataclasses/codegen.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dataclasses/dumping.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dataserver/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dataserver/handlers.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dataserver/http.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dataserver/routes.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dataserver/server.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dataserver/targets.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/diffs/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/diffs/__main__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/diffs/cli.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/diffs/parsing.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/diffs/rendering.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/diffs/types.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/__main__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/build.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/cli.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/config.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/config.toml +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/content.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/discovery.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/gen.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/helpers.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/ops.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/rendering.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/configs/.gdbinit +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/configs/.sqliterc +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/configs/.tmux.conf +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/configs/.vimrc +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/depsets/python.toml +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/depsets/x11.toml +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/fragments/apt.sh +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/fragments/chgrp.sh +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/fragments/docker.sh +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/fragments/firefox.sh +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/fragments/go.sh +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/fragments/jdk.sh +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/fragments/man.sh +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/fragments/nvm.sh +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/fragments/om.sh +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/fragments/pyenv.sh +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/fragments/rbenv.sh +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/fragments/rust.sh +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/fragments/sshd.sh +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/fragments/user.sh +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/fragments/uv.sh +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/fragments/vcpkg.sh +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/fragments/workdir.sh +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/fragments/zig.sh +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/scripts/install-pi +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/resources/shift-uid.sh +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/run.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/dockerdev/utils.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/git/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/git/magic.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/git/revisions.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/git/shallow.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/git/status.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/git/vendor/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/git/vendor/aborting.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/git/vendor/diffing.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/git/vendor/errors.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/git/vendor/journals.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/git/vendor/merging.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/git/vendor/paths.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/git/vendor/pulling.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/git/vendor/runners.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/git/vendor/specs.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/git/vendor/upstreams.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/home/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/home/__main__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/home/cli.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/home/paths.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/home/secrets.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/home/shadow.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/imgur.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/intellij/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/intellij/cli.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/intellij/ides.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/intellij/open.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/__main__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/cli.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/default.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/inject.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/inspect.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/providers/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/providers/base.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/providers/inject.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/providers/running.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/providers/standalone.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/providers/system.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/pyenv/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/pyenv/inject.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/pyenv/install.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/pyenv/provider.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/pyenv/pyenv.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/resolvers.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/types.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/uv/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/uv/inject.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/uv/provider.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/uv/uv.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/interp/venvs.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/java/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/java/__main__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/java/cli.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/java/pomgen.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/java/utils.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/java/xml.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/LICENSE +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/TODO.md +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/_pyqjsng.c +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/_pyqjsng.pyi +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/_quickjs/LICENSE +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/_quickjs/builtin-array-fromasync.h +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/_quickjs/builtin-iterator-zip-keyed.h +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/_quickjs/builtin-iterator-zip.h +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/_quickjs/cutils.h +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/_quickjs/dtoa.c +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/_quickjs/dtoa.h +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/_quickjs/libregexp-opcode.h +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/_quickjs/libregexp.c +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/_quickjs/libregexp.h +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/_quickjs/libunicode-table.h +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/_quickjs/libunicode.c +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/_quickjs/libunicode.h +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/_quickjs/list.h +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/_quickjs/quickjs-atom.h +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/_quickjs/quickjs-c-atomics.h +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/_quickjs/quickjs-libc.c +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/_quickjs/quickjs-libc.h +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/_quickjs/quickjs-opcode.h +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/_quickjs/quickjs.c +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/_quickjs/quickjs.h +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/js/quickjs/snapshots.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/magic/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/magic/__main__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/magic/cli.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/magic/find.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/magic/magic.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/magic/prepare.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/magic/styles.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/manifests/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/manifests/__main__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/manifests/_dumping.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/manifests/building.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/manifests/dumping.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/manifests/main.py +0 -0
- {omdev-0.0.46/omdev/markdown → omdev-0.0.47/omdev/markdownit}/__init__.py +0 -0
- {omdev-0.0.46/omdev/markdown → omdev-0.0.47/omdev/markdownit}/incparse.py +0 -0
- {omdev-0.0.46/omdev/markdown → omdev-0.0.47/omdev/markdownit}/tokens.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/mypy/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/mypy/debug.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/mypy/report.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/packaging/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/packaging/marshal.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/packaging/names.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/packaging/requirements.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/packaging/revisions.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/packaging/specifiers.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/packaging/versions.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/packaging/wheelfile.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/pip.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/precheck/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/precheck/__main__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/precheck/base.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/precheck/blanklines.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/precheck/caches.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/precheck/git.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/precheck/imports.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/precheck/lite.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/precheck/main.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/precheck/manifests.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/precheck/scripts.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/precheck/unicode.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/asts/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/asts/parents.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/asts/toplevel.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/asts/visitors.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/attrdocs.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/bracepy.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/classdot.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/docstrings/LICENSE +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/docstrings/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/docstrings/attrdoc.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/docstrings/common.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/docstrings/epydoc.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/docstrings/google.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/docstrings/numpydoc.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/docstrings/parser.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/docstrings/rest.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/findimports.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/reprs.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/scripts/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/scripts/bumpversion.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/scripts/importtrace.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/srcheaders.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/tokens/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/tokens/all.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/tokens/tokenizert.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/tokens/utils.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/tools/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/tools/fixdocstrings.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/tools/importscan.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/tools/mkrelimp.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py/tools/pipdepup.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/py.typed +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/pyproject/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/pyproject/__main__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/pyproject/cli.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/pyproject/configs.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/pyproject/inject.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/pyproject/pkg.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/pyproject/reqs.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/pyproject/resources/dockerdev.sh +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/pyproject/resources/python.sh +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/pyproject/tools/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/pyproject/tools/aboutdeps.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/pyproject/tools/buildrs.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/pyproject/tools/pyversions.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/pyproject/venvs.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/pyproject/versions.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/pyright/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/pyright/report.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/rs/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/scripts/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/scripts/ci.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/scripts/interp.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/scripts/lib/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/scripts/lib/formats/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/scripts/lib/formats/goyaml.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/scripts/lib/inject.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/scripts/lib/io/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/scripts/lib/io/pipelines.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/scripts/lib/io/streambufs.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/scripts/lib/logs.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/scripts/lib/marshal.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/scripts/pidfiles.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/scripts/pyproject.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/scripts/slowcat.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/scripts/tmpexec.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/irc/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/irc/messages/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/irc/messages/base.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/irc/messages/formats.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/irc/messages/messages.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/irc/messages/parsing.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/irc/numerics/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/irc/numerics/formats.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/irc/numerics/numerics.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/irc/numerics/types.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/irc/protocol/LICENSE +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/irc/protocol/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/irc/protocol/consts.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/irc/protocol/errors.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/irc/protocol/message.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/irc/protocol/nuh.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/irc/protocol/parsing.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/irc/protocol/rendering.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/irc/protocol/tags.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/irc/protocol/utils.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/jsonschema/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/jsonschema/codegen/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/jsonschema/codegen/__main__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/jsonschema/codegen/analysis.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/jsonschema/codegen/cli.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/jsonschema/codegen/config.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/jsonschema/codegen/errors.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/jsonschema/codegen/generator.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/jsonschema/codegen/names.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/jsonschema/codegen/rendering.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/jsonschema/codegen/transforms.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/jsonschema/codegen/typing.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/oci/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/oci/building.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/oci/compression.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/oci/data.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/oci/datarefs.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/oci/dataserver.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/oci/loading.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/oci/media.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/oci/pack/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/oci/pack/packing.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/oci/pack/repositories.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/oci/pack/unpacking.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/oci/repositories.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/specs/oci/tars.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tagstrings.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/diff.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/doc.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/docker.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/git/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/git/__main__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/git/cli.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/git/cloning.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/git/consts.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/git/messages.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/json/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/json/__main__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/json/cli.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/json/formats.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/json/io.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/json/parsing.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/json/processing.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/json/rendering.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/jsonview/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/jsonview/__main__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/jsonview/cli.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/jsonview/resources/jsonview.css +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/jsonview/resources/jsonview.html.j2 +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/jsonview/resources/jsonview.js +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/linehisto.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/mkenv.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/notebook.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/ocr.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/pawk/README.md +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/pawk/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/pawk/__main__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/pawk/pawk.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/pip.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/prof.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/qr.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/shadow.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/shell.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tools/sqlrepl.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/README.md +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/_dataclasses.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/_devdocs/design.md +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/_devdocs/dev_00_initial.md +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/_devdocs/dev_01_parity_push.md +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/_devdocs/intro.md +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/_devdocs/requirements.md +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/_devdocs/research.md +0 -0
- {omdev-0.0.46/omdev/tui/apps → omdev-0.0.47/omdev/tui/minitui/controls}/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/controls/base.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/controls/cards.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/controls/history.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/controls/markdown.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/controls/spinners.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/controls/stacks.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/controls/static.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/controls/status.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/controls/suggestions.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/controls/textarea.py +0 -0
- {omdev-0.0.46/omdev/tui/apps/edit → omdev-0.0.47/omdev/tui/minitui/docs}/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/docs/cursors.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/docs/edits.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/docs/highlighting.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/docs/positions.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/docs/searching.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/docs/treesitter.py +0 -0
- {omdev-0.0.46/omdev/tui/apps/irc → omdev-0.0.47/omdev/tui/minitui/events}/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/events/keymaps.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/events/keys.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/events/types.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/events/xterm.py +0 -0
- {omdev-0.0.46/omdev/tui/apps/jtree → omdev-0.0.47/omdev/tui/minitui/runtime}/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/runtime/asyncs.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/runtime/drivers.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/runtime/timers.py +0 -0
- {omdev-0.0.46/omdev/tui/apps/markdown → omdev-0.0.47/omdev/tui/minitui/screens}/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/screens/cells.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/screens/diffs.py +0 -0
- {omdev-0.0.46/omdev/tui/minitui/controls → omdev-0.0.47/omdev/tui/minitui/surfaces}/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/surfaces/alts.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/surfaces/base.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/surfaces/inlines.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/surfaces/writers.py +0 -0
- {omdev-0.0.46/omdev/tui/minitui/docs → omdev-0.0.47/omdev/tui/minitui/text}/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/text/colors.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/text/highlights.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/text/markdown.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/text/pdcmark.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/text/pygments.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/text/sgr.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/text/styles.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/text/themes.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/text/widths.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/text/wraps.py +0 -0
- {omdev-0.0.46/omdev/tui/minitui/events → omdev-0.0.47/omdev/tui/minitui/tty}/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/tty/terminals.py +0 -0
- {omdev-0.0.46/omdev/tui/minitui/runtime → omdev-0.0.47/omdev/tui/minitui/vim}/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/vim/modes.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/vim/motions.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/vim/options.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/vim/registers.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/minitui/vim/scans.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/rich/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/rich/console2.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/rich/diff/LICENSE +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/rich/diff/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/rich/diff/__main__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/rich/diff/_compat.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/rich/diff/cli.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/rich/diff/renderables.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/rich/diff/rendering.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/rich/diff/underlinebar.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/rich/textual/__init__.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/rich/textual/dark.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/rich/textual/dump.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/rich/textual/themes.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev/tui/rich/trirule.py +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev.egg-info/dependency_links.txt +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev.egg-info/entry_points.txt +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/omdev.egg-info/top_level.txt +0 -0
- {omdev-0.0.46 → omdev-0.0.47}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: omdev
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.47
|
|
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.
|
|
17
|
+
Requires-Dist: omcore==0.0.47
|
|
18
18
|
Provides-Extra: ominfra
|
|
19
|
-
Requires-Dist: ominfra==0.0.
|
|
19
|
+
Requires-Dist: ominfra==0.0.47; extra == "ominfra"
|
|
20
20
|
Provides-Extra: omllm
|
|
21
|
-
Requires-Dist: omllm==0.0.
|
|
21
|
+
Requires-Dist: omllm==0.0.47; extra == "omllm"
|
|
22
22
|
Provides-Extra: black
|
|
23
23
|
Requires-Dist: black~=26.5; extra == "black"
|
|
24
24
|
Provides-Extra: c
|
|
@@ -42,18 +42,32 @@ Provides-Extra: qr
|
|
|
42
42
|
Requires-Dist: segno~=1.6; extra == "qr"
|
|
43
43
|
Provides-Extra: tui
|
|
44
44
|
Requires-Dist: rich~=15.0; extra == "tui"
|
|
45
|
-
|
|
46
|
-
Requires-Dist:
|
|
47
|
-
Requires-Dist:
|
|
45
|
+
Provides-Extra: tui-syntax
|
|
46
|
+
Requires-Dist: tree-sitter~=0.26; extra == "tui-syntax"
|
|
47
|
+
Requires-Dist: tree-sitter-bash~=0.24; extra == "tui-syntax"
|
|
48
|
+
Requires-Dist: tree-sitter-css~=0.25; extra == "tui-syntax"
|
|
49
|
+
Requires-Dist: tree-sitter-go~=0.25; extra == "tui-syntax"
|
|
50
|
+
Requires-Dist: tree-sitter-html~=0.23; extra == "tui-syntax"
|
|
51
|
+
Requires-Dist: tree-sitter-java~=0.23; extra == "tui-syntax"
|
|
52
|
+
Requires-Dist: tree-sitter-javascript~=0.25; extra == "tui-syntax"
|
|
53
|
+
Requires-Dist: tree-sitter-json~=0.24; extra == "tui-syntax"
|
|
54
|
+
Requires-Dist: tree-sitter-markdown~=0.5; extra == "tui-syntax"
|
|
55
|
+
Requires-Dist: tree-sitter-python~=0.25; extra == "tui-syntax"
|
|
56
|
+
Requires-Dist: tree-sitter-regex~=0.25; extra == "tui-syntax"
|
|
57
|
+
Requires-Dist: tree-sitter-rust~=0.24; extra == "tui-syntax"
|
|
58
|
+
Requires-Dist: tree-sitter-sql~=0.3; extra == "tui-syntax"
|
|
59
|
+
Requires-Dist: tree-sitter-toml~=0.7; extra == "tui-syntax"
|
|
60
|
+
Requires-Dist: tree-sitter-xml~=0.7; extra == "tui-syntax"
|
|
61
|
+
Requires-Dist: tree-sitter-yaml~=0.7; extra == "tui-syntax"
|
|
48
62
|
Provides-Extra: cext
|
|
49
|
-
Requires-Dist: omdev-cext==0.0.
|
|
63
|
+
Requires-Dist: omdev-cext==0.0.47; extra == "cext"
|
|
50
64
|
Provides-Extra: rs
|
|
51
|
-
Requires-Dist: omdev-rs==0.0.
|
|
65
|
+
Requires-Dist: omdev-rs==0.0.47; extra == "rs"
|
|
52
66
|
Provides-Extra: cli
|
|
53
|
-
Requires-Dist: omdev-cli==0.0.
|
|
67
|
+
Requires-Dist: omdev-cli==0.0.47; extra == "cli"
|
|
54
68
|
Provides-Extra: all
|
|
55
|
-
Requires-Dist: ominfra==0.0.
|
|
56
|
-
Requires-Dist: omllm==0.0.
|
|
69
|
+
Requires-Dist: ominfra==0.0.47; extra == "all"
|
|
70
|
+
Requires-Dist: omllm==0.0.47; extra == "all"
|
|
57
71
|
Requires-Dist: black~=26.5; extra == "all"
|
|
58
72
|
Requires-Dist: pycparser~=3.0; extra == "all"
|
|
59
73
|
Requires-Dist: pcpp~=1.30; extra == "all"
|
|
@@ -68,12 +82,25 @@ Requires-Dist: pillow~=12.3; extra == "all"
|
|
|
68
82
|
Requires-Dist: gprof2dot~=2025.4; extra == "all"
|
|
69
83
|
Requires-Dist: segno~=1.6; extra == "all"
|
|
70
84
|
Requires-Dist: rich~=15.0; extra == "all"
|
|
71
|
-
Requires-Dist:
|
|
72
|
-
Requires-Dist:
|
|
73
|
-
Requires-Dist:
|
|
74
|
-
Requires-Dist:
|
|
75
|
-
Requires-Dist:
|
|
76
|
-
Requires-Dist:
|
|
85
|
+
Requires-Dist: tree-sitter~=0.26; extra == "all"
|
|
86
|
+
Requires-Dist: tree-sitter-bash~=0.24; extra == "all"
|
|
87
|
+
Requires-Dist: tree-sitter-css~=0.25; extra == "all"
|
|
88
|
+
Requires-Dist: tree-sitter-go~=0.25; extra == "all"
|
|
89
|
+
Requires-Dist: tree-sitter-html~=0.23; extra == "all"
|
|
90
|
+
Requires-Dist: tree-sitter-java~=0.23; extra == "all"
|
|
91
|
+
Requires-Dist: tree-sitter-javascript~=0.25; extra == "all"
|
|
92
|
+
Requires-Dist: tree-sitter-json~=0.24; extra == "all"
|
|
93
|
+
Requires-Dist: tree-sitter-markdown~=0.5; extra == "all"
|
|
94
|
+
Requires-Dist: tree-sitter-python~=0.25; extra == "all"
|
|
95
|
+
Requires-Dist: tree-sitter-regex~=0.25; extra == "all"
|
|
96
|
+
Requires-Dist: tree-sitter-rust~=0.24; extra == "all"
|
|
97
|
+
Requires-Dist: tree-sitter-sql~=0.3; extra == "all"
|
|
98
|
+
Requires-Dist: tree-sitter-toml~=0.7; extra == "all"
|
|
99
|
+
Requires-Dist: tree-sitter-xml~=0.7; extra == "all"
|
|
100
|
+
Requires-Dist: tree-sitter-yaml~=0.7; extra == "all"
|
|
101
|
+
Requires-Dist: omdev-cext==0.0.47; extra == "all"
|
|
102
|
+
Requires-Dist: omdev-rs==0.0.47; extra == "all"
|
|
103
|
+
Requires-Dist: omdev-cli==0.0.47; extra == "all"
|
|
77
104
|
Dynamic: license-file
|
|
78
105
|
|
|
79
106
|
# Overview
|
|
@@ -343,7 +343,7 @@
|
|
|
343
343
|
"module": ".tools.cloc",
|
|
344
344
|
"attr": "_CLI_MODULE",
|
|
345
345
|
"file": "omdev/tools/cloc.py",
|
|
346
|
-
"line":
|
|
346
|
+
"line": 260,
|
|
347
347
|
"value": {
|
|
348
348
|
"!.cli.types.CliModule": {
|
|
349
349
|
"name": "cloc",
|
|
@@ -585,21 +585,6 @@
|
|
|
585
585
|
}
|
|
586
586
|
}
|
|
587
587
|
},
|
|
588
|
-
{
|
|
589
|
-
"module": ".tui.apps.markdown.__main__",
|
|
590
|
-
"attr": "_CLI_MODULE",
|
|
591
|
-
"file": "omdev/tui/apps/markdown/__main__.py",
|
|
592
|
-
"line": 4,
|
|
593
|
-
"value": {
|
|
594
|
-
"!.cli.types.CliModule": {
|
|
595
|
-
"name": [
|
|
596
|
-
"tui/markdown",
|
|
597
|
-
"tui/md"
|
|
598
|
-
],
|
|
599
|
-
"module": "omdev.tui.apps.markdown.__main__"
|
|
600
|
-
}
|
|
601
|
-
}
|
|
602
|
-
},
|
|
603
588
|
{
|
|
604
589
|
"module": ".tui.rich.diff.__main__",
|
|
605
590
|
"attr": "_CLI_MODULE",
|
|
@@ -64,9 +64,25 @@ class Project(ProjectBase):
|
|
|
64
64
|
|
|
65
65
|
'tui': [
|
|
66
66
|
'rich ~= 15.0',
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
],
|
|
68
|
+
|
|
69
|
+
'tui-syntax': [
|
|
70
|
+
'tree-sitter ~= 0.26',
|
|
71
|
+
'tree-sitter-bash ~= 0.24',
|
|
72
|
+
'tree-sitter-css ~= 0.25',
|
|
73
|
+
'tree-sitter-go ~= 0.25',
|
|
74
|
+
'tree-sitter-html ~= 0.23',
|
|
75
|
+
'tree-sitter-java ~= 0.23',
|
|
76
|
+
'tree-sitter-javascript ~= 0.25',
|
|
77
|
+
'tree-sitter-json ~= 0.24',
|
|
78
|
+
'tree-sitter-markdown ~= 0.5',
|
|
79
|
+
'tree-sitter-python ~= 0.25',
|
|
80
|
+
'tree-sitter-regex ~= 0.25',
|
|
81
|
+
'tree-sitter-rust ~= 0.24',
|
|
82
|
+
'tree-sitter-sql ~= 0.3',
|
|
83
|
+
'tree-sitter-toml ~= 0.7',
|
|
84
|
+
'tree-sitter-xml ~= 0.7',
|
|
85
|
+
'tree-sitter-yaml ~= 0.7',
|
|
70
86
|
],
|
|
71
87
|
}
|
|
72
88
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -ex
|
|
3
|
+
|
|
4
|
+
if ! sudo test -d /var/lib/mysql/mysql; then
|
|
5
|
+
sudo mysqld --initialize-insecure --user=mysql
|
|
6
|
+
fi
|
|
7
|
+
|
|
8
|
+
sudo install -d -o mysql -g mysql -m 0755 /var/run/mysqld
|
|
9
|
+
|
|
10
|
+
sudo tee /var/run/mysqld/init.sql > /dev/null <<'SQL'
|
|
11
|
+
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'om';
|
|
12
|
+
CREATE USER IF NOT EXISTS 'root'@'%' IDENTIFIED BY 'om';
|
|
13
|
+
ALTER USER 'root'@'%' IDENTIFIED WITH caching_sha2_password BY 'om';
|
|
14
|
+
GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION;
|
|
15
|
+
CREATE USER IF NOT EXISTS 'om'@'%' IDENTIFIED BY 'om';
|
|
16
|
+
ALTER USER 'om'@'%' IDENTIFIED WITH caching_sha2_password BY 'om';
|
|
17
|
+
SQL
|
|
18
|
+
|
|
19
|
+
# --skip-log-error overrides the packaged config's log_error file and sends the error log to stderr instead. dumb-init
|
|
20
|
+
# rewrites SIGINT to SIGTERM, as mysqld ignores SIGINT but shuts down cleanly on SIGTERM.
|
|
21
|
+
exec sudo dumb-init --rewrite 2:15 mysqld --user=mysql --init-file=/var/run/mysqld/init.sql --skip-log-error
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -ex
|
|
3
|
+
|
|
4
|
+
PG_VERSION=$(ls /usr/lib/postgresql | sort -n | tail -n 1)
|
|
5
|
+
PG_BIN=/usr/lib/postgresql/$PG_VERSION/bin
|
|
6
|
+
|
|
7
|
+
if ! pg_lsclusters -h | grep -q "^$PG_VERSION main "; then
|
|
8
|
+
sudo pg_createcluster "$PG_VERSION" main
|
|
9
|
+
fi
|
|
10
|
+
|
|
11
|
+
echo "ALTER USER postgres PASSWORD 'om';" | sudo runuser -u postgres -- "$PG_BIN/postgres" --single \
|
|
12
|
+
-D "/var/lib/postgresql/$PG_VERSION/main" \
|
|
13
|
+
-c "config_file=/etc/postgresql/$PG_VERSION/main/postgresql.conf" \
|
|
14
|
+
postgres
|
|
15
|
+
|
|
16
|
+
exec sudo pg_ctlcluster "$PG_VERSION" main start --foreground
|
|
@@ -41,9 +41,21 @@ _LANG = [
|
|
|
41
41
|
comment_pats=(r'//', r'/\*', r'\*/'),
|
|
42
42
|
),
|
|
43
43
|
|
|
44
|
+
Lang(
|
|
45
|
+
'rust',
|
|
46
|
+
{'.rs'},
|
|
47
|
+
comment_pats=(r'//', r'/\*', r'\*/'),
|
|
48
|
+
),
|
|
49
|
+
|
|
44
50
|
Lang(
|
|
45
51
|
'javascript',
|
|
46
|
-
{'.js'},
|
|
52
|
+
{'.js', '.mjs'},
|
|
53
|
+
comment_pats=(r'//', r'/\*', r'\*/'),
|
|
54
|
+
),
|
|
55
|
+
|
|
56
|
+
Lang(
|
|
57
|
+
'typescript',
|
|
58
|
+
{'.ts'},
|
|
47
59
|
comment_pats=(r'//', r'/\*', r'\*/'),
|
|
48
60
|
),
|
|
49
61
|
]
|
|
@@ -15,9 +15,9 @@ from omcore import lang
|
|
|
15
15
|
from .styles import StyleLike
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
Segments
|
|
18
|
+
type Segments = ta.Sequence[Segment]
|
|
19
19
|
|
|
20
|
-
SegmentRows
|
|
20
|
+
type SegmentRows = ta.Sequence[ta.Sequence[Segment]]
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
##
|
|
@@ -94,15 +94,22 @@ TOKEN_MOTIONS: ta.Mapping[str, str] = {
|
|
|
94
94
|
'<end>': '$',
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
+
|
|
98
|
+
class Synonym(ta.NamedTuple):
|
|
99
|
+
op: str
|
|
100
|
+
mkey: str | None
|
|
101
|
+
doubled: bool
|
|
102
|
+
|
|
103
|
+
|
|
97
104
|
# Synonym commands compile straight to op+motion / doubled op, like vim.
|
|
98
|
-
SYNONYMS: ta.Mapping[str,
|
|
99
|
-
'x': ('d', 'l', False),
|
|
100
|
-
'X': ('d', 'h', False),
|
|
101
|
-
'D': ('d', '$', False),
|
|
102
|
-
'C': ('c', '$', False),
|
|
103
|
-
's': ('c', 'l', False),
|
|
104
|
-
'S': ('c', None, True),
|
|
105
|
-
'Y': ('y', None, True),
|
|
105
|
+
SYNONYMS: ta.Mapping[str, Synonym] = {
|
|
106
|
+
'x': Synonym('d', 'l', False),
|
|
107
|
+
'X': Synonym('d', 'h', False),
|
|
108
|
+
'D': Synonym('d', '$', False),
|
|
109
|
+
'C': Synonym('c', '$', False),
|
|
110
|
+
's': Synonym('c', 'l', False),
|
|
111
|
+
'S': Synonym('c', None, True),
|
|
112
|
+
'Y': Synonym('y', None, True),
|
|
106
113
|
}
|
|
107
114
|
|
|
108
115
|
|
|
@@ -471,8 +478,10 @@ class VimEngine:
|
|
|
471
478
|
def make(pos: Pos) -> tuple[Pos, Pos, str] | None:
|
|
472
479
|
if pos.col > 0:
|
|
473
480
|
return (Pos(pos.row, pos.col - 1), pos, '')
|
|
481
|
+
|
|
474
482
|
if pos.row > 0:
|
|
475
483
|
return (Pos(pos.row - 1, llen(doc, pos.row - 1)), Pos(pos.row, 0), '')
|
|
484
|
+
|
|
476
485
|
return None
|
|
477
486
|
|
|
478
487
|
self._edit_at_cursors(make, lambda a: a.edit.start)
|
|
@@ -483,21 +492,29 @@ class VimEngine:
|
|
|
483
492
|
def move(pos: Pos) -> Pos:
|
|
484
493
|
if key == '<left>':
|
|
485
494
|
return Pos(pos.row, max(0, pos.col - 1))
|
|
495
|
+
|
|
486
496
|
if key == '<right>':
|
|
487
497
|
return Pos(pos.row, min(pos.col + 1, llen(doc, pos.row)))
|
|
498
|
+
|
|
488
499
|
if key == '<up>' and pos.row > 0:
|
|
489
500
|
return Pos(pos.row - 1, min(pos.col, llen(doc, pos.row - 1)))
|
|
501
|
+
|
|
490
502
|
if key == '<down>' and pos.row + 1 < doc.line_count():
|
|
491
503
|
return Pos(pos.row + 1, min(pos.col, llen(doc, pos.row + 1)))
|
|
504
|
+
|
|
492
505
|
if key == '<home>':
|
|
493
506
|
return Pos(pos.row, 0)
|
|
507
|
+
|
|
494
508
|
if key == '<end>':
|
|
495
509
|
return Pos(pos.row, llen(doc, pos.row))
|
|
510
|
+
|
|
496
511
|
if key == '<a-b>': # emacs backward-word: start of the current/previous word
|
|
497
512
|
return word_back(doc, pos, 1, False)
|
|
513
|
+
|
|
498
514
|
if key == '<a-f>': # emacs forward-word: just past the end of the current/next word
|
|
499
515
|
end = word_end(doc, pos, 1, False)
|
|
500
516
|
return Pos(end.row, min(end.col + 1, llen(doc, end.row)))
|
|
517
|
+
|
|
501
518
|
return pos
|
|
502
519
|
|
|
503
520
|
self._set_all_cursors([move(c.pos) for c in self._cursors])
|
|
@@ -514,6 +531,7 @@ class VimEngine:
|
|
|
514
531
|
if pos.row > 0:
|
|
515
532
|
return (Pos(pos.row - 1, llen(doc, pos.row - 1)), pos, '')
|
|
516
533
|
return None
|
|
534
|
+
|
|
517
535
|
start = word_back(doc, pos, 1, False)
|
|
518
536
|
if start.row < pos.row: # word-back crossed the newline; the kill stops at BOL (vim ctrl+w does too)
|
|
519
537
|
start = Pos(pos.row, 0)
|
|
@@ -529,6 +547,7 @@ class VimEngine:
|
|
|
529
547
|
if pos.row + 1 < doc.line_count():
|
|
530
548
|
return (pos, Pos(pos.row + 1, 0), '')
|
|
531
549
|
return None
|
|
550
|
+
|
|
532
551
|
end = word_end(doc, pos, 1, False) # emacs M-d kills through to the end of the next word
|
|
533
552
|
return (pos, Pos(end.row, end.col + 1), '')
|
|
534
553
|
|
|
@@ -541,11 +560,15 @@ class VimEngine:
|
|
|
541
560
|
if to_end:
|
|
542
561
|
if pos.col < (eol := llen(doc, pos.row)):
|
|
543
562
|
return (pos, Pos(pos.row, eol), '')
|
|
563
|
+
|
|
544
564
|
if pos.row + 1 < doc.line_count(): # emacs C-k at EOL kills the newline
|
|
545
565
|
return (pos, Pos(pos.row + 1, 0), '')
|
|
566
|
+
|
|
546
567
|
return None
|
|
568
|
+
|
|
547
569
|
if pos.col > 0:
|
|
548
570
|
return (Pos(pos.row, 0), pos, '')
|
|
571
|
+
|
|
549
572
|
return None
|
|
550
573
|
|
|
551
574
|
self._edit_at_cursors(make, lambda a: a.edit.start)
|
|
@@ -577,12 +600,15 @@ class VimEngine:
|
|
|
577
600
|
if key == '<c-w>':
|
|
578
601
|
self._delete_word_back_at_cursors()
|
|
579
602
|
return
|
|
603
|
+
|
|
580
604
|
if key == '<a-d>':
|
|
581
605
|
self._delete_word_fwd_at_cursors()
|
|
582
606
|
return
|
|
607
|
+
|
|
583
608
|
if key == '<c-k>':
|
|
584
609
|
self._kill_to_line_edge_at_cursors(to_end=True)
|
|
585
610
|
return
|
|
611
|
+
|
|
586
612
|
if key == '<c-u>':
|
|
587
613
|
self._kill_to_line_edge_at_cursors(to_end=False)
|
|
588
614
|
return
|
|
@@ -649,7 +675,11 @@ class VimEngine:
|
|
|
649
675
|
return False
|
|
650
676
|
|
|
651
677
|
if rng is None:
|
|
652
|
-
rng = parse_ex_range(
|
|
678
|
+
rng = parse_ex_range(
|
|
679
|
+
'.',
|
|
680
|
+
current_row=self.cursor.row,
|
|
681
|
+
last_row=doc.line_count() - 1,
|
|
682
|
+
)[0]
|
|
653
683
|
rng = check.not_none(rng)
|
|
654
684
|
|
|
655
685
|
last_query = self._last_search[0] if self._last_search is not None else None
|
|
@@ -988,7 +1018,12 @@ class VimEngine:
|
|
|
988
1018
|
return None
|
|
989
1019
|
lk, ch = self._last_ft
|
|
990
1020
|
if k == ',':
|
|
991
|
-
lk = {
|
|
1021
|
+
lk = {
|
|
1022
|
+
'f': 'F',
|
|
1023
|
+
'F': 'f',
|
|
1024
|
+
't': 'T',
|
|
1025
|
+
'T': 't',
|
|
1026
|
+
}[lk]
|
|
992
1027
|
fwd, till = lk in 'ft', lk in 'tT'
|
|
993
1028
|
t_ = find_char(doc, p, ch, n, forward=fwd, till=till, repeat=True)
|
|
994
1029
|
if t_ is None:
|
|
@@ -1080,9 +1115,11 @@ class VimEngine:
|
|
|
1080
1115
|
|
|
1081
1116
|
def _extract(self, span: Span) -> tuple[list[str], SpanKind]:
|
|
1082
1117
|
doc = self._doc
|
|
1118
|
+
|
|
1083
1119
|
if span.kind is SpanKind.LINEWISE:
|
|
1084
1120
|
return ([doc.line(r) for r in range(span.start.row, span.end.row + 1)], SpanKind.LINEWISE)
|
|
1085
|
-
|
|
1121
|
+
|
|
1122
|
+
elif span.kind is SpanKind.BLOCK:
|
|
1086
1123
|
return (
|
|
1087
1124
|
[
|
|
1088
1125
|
doc.line(r)[span.start.col: min(span.end.col, llen(doc, r))]
|
|
@@ -1090,10 +1127,13 @@ class VimEngine:
|
|
|
1090
1127
|
],
|
|
1091
1128
|
SpanKind.BLOCK,
|
|
1092
1129
|
)
|
|
1093
|
-
|
|
1130
|
+
|
|
1131
|
+
else:
|
|
1132
|
+
return (doc.get_text(span.start, span.end).split('\n'), SpanKind.EXCLUSIVE)
|
|
1094
1133
|
|
|
1095
1134
|
def _delete_span(self, span: Span) -> None:
|
|
1096
1135
|
doc = self._doc
|
|
1136
|
+
|
|
1097
1137
|
if span.kind is SpanKind.BLOCK:
|
|
1098
1138
|
# Row-local deletes: column positions on other rows are unaffected, so order doesn't matter.
|
|
1099
1139
|
for r in range(span.start.row, span.end.row + 1):
|
|
@@ -1105,7 +1145,8 @@ class VimEngine:
|
|
|
1105
1145
|
pos = clamp_col(doc, self._doc.clamp(Pos(span.start.row, span.start.col)))
|
|
1106
1146
|
self._set_cursor(pos, want=pos.col)
|
|
1107
1147
|
return
|
|
1108
|
-
|
|
1148
|
+
|
|
1149
|
+
elif span.kind is SpanKind.LINEWISE:
|
|
1109
1150
|
r1, r2 = span.start.row, span.end.row
|
|
1110
1151
|
last = doc.line_count() - 1
|
|
1111
1152
|
if r2 >= last:
|
|
@@ -1118,6 +1159,7 @@ class VimEngine:
|
|
|
1118
1159
|
row = min(r1, doc.line_count() - 1)
|
|
1119
1160
|
col = first_nonblank(doc, row)
|
|
1120
1161
|
self._set_cursor(Pos(row, col), want=col)
|
|
1162
|
+
|
|
1121
1163
|
else:
|
|
1122
1164
|
doc.delete(span.start, span.end)
|
|
1123
1165
|
pos = clamp_col(doc, span.start)
|
|
@@ -1141,20 +1183,27 @@ class VimEngine:
|
|
|
1141
1183
|
if a and a in 'iIaAoO':
|
|
1142
1184
|
self._begin_change()
|
|
1143
1185
|
line = doc.line(cur.row)
|
|
1186
|
+
|
|
1144
1187
|
if a == 'i':
|
|
1145
1188
|
pass
|
|
1189
|
+
|
|
1146
1190
|
elif a == 'I':
|
|
1147
1191
|
self._set_cursor(Pos(cur.row, first_nonblank(doc, cur.row)))
|
|
1192
|
+
|
|
1148
1193
|
elif a == 'a':
|
|
1149
1194
|
self._set_cursor(Pos(cur.row, cur.col + 1 if line else 0))
|
|
1195
|
+
|
|
1150
1196
|
elif a == 'A':
|
|
1151
1197
|
self._set_cursor(Pos(cur.row, len(line)))
|
|
1198
|
+
|
|
1152
1199
|
elif a == 'o':
|
|
1153
1200
|
doc.insert(Pos(cur.row, len(line)), '\n')
|
|
1154
1201
|
self._set_cursor(Pos(cur.row + 1, 0))
|
|
1202
|
+
|
|
1155
1203
|
elif a == 'O':
|
|
1156
1204
|
doc.insert(Pos(cur.row, 0), '\n')
|
|
1157
1205
|
self._set_cursor(Pos(cur.row, 0))
|
|
1206
|
+
|
|
1158
1207
|
self._mode = Mode.INSERT
|
|
1159
1208
|
return True
|
|
1160
1209
|
|
|
@@ -19,7 +19,7 @@ from .motions import MOTION_NEEDS_ARG
|
|
|
19
19
|
from .textobjs import TEXTOBJ_KEYS
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
ParseResult
|
|
22
|
+
type ParseResult = tuple[str, Command | None] # ('more'|'cmd'|'abort', command)
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
##
|
|
@@ -11,24 +11,27 @@ from .modes import Mode
|
|
|
11
11
|
##
|
|
12
12
|
|
|
13
13
|
|
|
14
|
+
MODE_TEXT_MAP = {
|
|
15
|
+
Mode.NORMAL: '',
|
|
16
|
+
Mode.INSERT: '-- INSERT --',
|
|
17
|
+
Mode.VISUAL: '-- VISUAL --',
|
|
18
|
+
Mode.VISUAL_LINE: '-- VISUAL LINE --',
|
|
19
|
+
Mode.VISUAL_BLOCK: '-- VISUAL BLOCK --',
|
|
20
|
+
Mode.CMDLINE: '',
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
|
|
14
24
|
@dc.dataclass(frozen=True, kw_only=True)
|
|
15
25
|
class VimStatus(lang.Final):
|
|
16
26
|
mode: Mode
|
|
17
|
-
pending: str = ''
|
|
18
|
-
cmdline: str | None = None
|
|
19
|
-
message: str = ''
|
|
20
|
-
cursor_count: int = 1
|
|
27
|
+
pending: str = '' # keys of an in-progress normal-mode command ('"a2d' ...)
|
|
28
|
+
cmdline: str | None = None # full command line incl. its ':'/'/'/'?' prefix, when in CMDLINE mode
|
|
29
|
+
message: str = '' # transient message (errors, ex feedback)
|
|
30
|
+
cursor_count: int = 1 # >1 during multi-cursor (blockwise insert, add_cursor)
|
|
21
31
|
|
|
22
32
|
@property
|
|
23
33
|
def mode_text(self) -> str:
|
|
24
|
-
return
|
|
25
|
-
Mode.NORMAL: '',
|
|
26
|
-
Mode.INSERT: '-- INSERT --',
|
|
27
|
-
Mode.VISUAL: '-- VISUAL --',
|
|
28
|
-
Mode.VISUAL_LINE: '-- VISUAL LINE --',
|
|
29
|
-
Mode.VISUAL_BLOCK: '-- VISUAL BLOCK --',
|
|
30
|
-
Mode.CMDLINE: '',
|
|
31
|
-
}[self.mode]
|
|
34
|
+
return MODE_TEXT_MAP[self.mode]
|
|
32
35
|
|
|
33
36
|
|
|
34
37
|
##
|
|
@@ -90,12 +90,22 @@ def parse_ex_range(
|
|
|
90
90
|
if text.startswith('%'):
|
|
91
91
|
return (ExRange(0, last_row), text[1:])
|
|
92
92
|
|
|
93
|
-
first, rest = _parse_address(
|
|
93
|
+
first, rest = _parse_address(
|
|
94
|
+
text,
|
|
95
|
+
current_row=current_row,
|
|
96
|
+
last_row=last_row,
|
|
97
|
+
visual=visual,
|
|
98
|
+
)
|
|
94
99
|
if first is None:
|
|
95
100
|
return (None, text)
|
|
96
101
|
|
|
97
102
|
if rest.startswith(','):
|
|
98
|
-
second, rest2 = _parse_address(
|
|
103
|
+
second, rest2 = _parse_address(
|
|
104
|
+
rest[1:],
|
|
105
|
+
current_row=current_row,
|
|
106
|
+
last_row=last_row,
|
|
107
|
+
visual=visual,
|
|
108
|
+
)
|
|
99
109
|
if second is None:
|
|
100
110
|
return (None, text)
|
|
101
111
|
lo, hi = sorted((first, second))
|
|
@@ -247,4 +257,8 @@ def apply_substitute(
|
|
|
247
257
|
if not replaced:
|
|
248
258
|
raise SubstituteError(f'Pattern not found: {pattern}')
|
|
249
259
|
|
|
250
|
-
return SubstituteResult(
|
|
260
|
+
return SubstituteResult(
|
|
261
|
+
replaced=replaced,
|
|
262
|
+
lines=lines_changed,
|
|
263
|
+
last_row=last_changed,
|
|
264
|
+
)
|
|
@@ -151,10 +151,27 @@ def _obj_quote(doc: Document, p: Pos, *, around: bool, q: str) -> Span | None:
|
|
|
151
151
|
|
|
152
152
|
def textobj(doc: Document, p: Pos, *, around: bool, obj: str, count: int) -> Span | None:
|
|
153
153
|
if obj in 'wW':
|
|
154
|
-
return _obj_word(
|
|
154
|
+
return _obj_word(
|
|
155
|
+
doc,
|
|
156
|
+
p,
|
|
157
|
+
around=around,
|
|
158
|
+
big=obj == 'W',
|
|
159
|
+
count=count,
|
|
160
|
+
)
|
|
155
161
|
if obj in PAIRS:
|
|
156
162
|
pair = PAIRS[obj]
|
|
157
|
-
return _obj_pair(
|
|
163
|
+
return _obj_pair(
|
|
164
|
+
doc,
|
|
165
|
+
p,
|
|
166
|
+
around=around,
|
|
167
|
+
open_ch=pair[0],
|
|
168
|
+
close_ch=pair[1],
|
|
169
|
+
)
|
|
158
170
|
if obj in QUOTES:
|
|
159
|
-
return _obj_quote(
|
|
171
|
+
return _obj_quote(
|
|
172
|
+
doc,
|
|
173
|
+
p,
|
|
174
|
+
around=around,
|
|
175
|
+
q=obj,
|
|
176
|
+
)
|
|
160
177
|
return None
|