usecli 0.1.53__tar.gz → 0.1.54__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.
- {usecli-0.1.53 → usecli-0.1.54}/PKG-INFO +1 -1
- {usecli-0.1.53 → usecli-0.1.54}/pyproject.toml +1 -1
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/core/base_command.py +37 -1
- {usecli-0.1.53 → usecli-0.1.54}/LICENSE +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/README.md +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/__init__.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/__init__.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/commands/README.md +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/commands/__init__.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/commands/custom/README.md +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/commands/custom/__init__.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/commands/defaults/__init__.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/commands/defaults/base/__init__.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/commands/defaults/base/about_command.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/commands/defaults/base/help_command.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/commands/defaults/base/inspire_command.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/commands/defaults/base/internal/__init__.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/commands/defaults/base/internal/fzf_command.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/commands/defaults/core/__init__.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/commands/defaults/core/utils.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/commands/defaults/make/__init__.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/commands/defaults/make/make_command.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/commands/defaults/make/make_theme_command.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/commands/init_command.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/config/__init__.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/config/colors.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/core/__init__.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/core/error/__init__.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/core/error/handler.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/core/error/utils.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/core/exceptions/__init__.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/core/exceptions/base.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/core/exceptions/config.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/core/exceptions/usage.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/core/exceptions/validation.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/core/ui/__init__.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/core/ui/list.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/core/ui/title.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/core/ui/title.txt +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/core/validators/__init__.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/core/validators/network.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/core/validators/numeric.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/core/validators/path.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/core/validators/string.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/services/__init__.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/services/command_service.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/templates/command.py.j2 +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/templates/theme.toml.j2 +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/templates/usecli.config.toml.j2 +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/themes/ayu_dark.toml +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/themes/catppuccin_frappe.toml +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/themes/catppuccin_latte.toml +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/themes/catppuccin_macchiato.toml +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/themes/catppuccin_mocha.toml +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/themes/default.toml +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/themes/dracula.toml +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/themes/gruvbox_dark.toml +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/themes/nord.toml +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/themes/tokyo_night.toml +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/utils/__init__.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/utils/interactive/__init__.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/utils/interactive/terminal_menu.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/menu.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/params.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/shared/__init__.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/shared/config/__init__.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/shared/config/globals.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/shared/config/manager.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/ui.py +0 -0
- {usecli-0.1.53 → usecli-0.1.54}/src/usecli/usecli.config.toml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "usecli"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.54"
|
|
4
4
|
description = "A powerful Python CLI framework for building beautiful, developer-friendly command-line tools."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = [{ name = "Edward Boswell", email = "thememium@gmail.com" }]
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
from abc import ABC, abstractmethod
|
|
6
|
-
from typing import TYPE_CHECKING, Any, ClassVar
|
|
6
|
+
from typing import TYPE_CHECKING, Any, ClassVar, Optional, Sequence
|
|
7
7
|
|
|
8
8
|
import typer
|
|
9
9
|
from click.exceptions import Exit
|
|
@@ -192,6 +192,42 @@ class CustomHelpCommand(TyperCommand):
|
|
|
192
192
|
for param in getattr(self, "params", [])
|
|
193
193
|
)
|
|
194
194
|
|
|
195
|
+
def main(
|
|
196
|
+
self,
|
|
197
|
+
args: Optional[Sequence[str]] = None,
|
|
198
|
+
prog_name: Optional[str] = None,
|
|
199
|
+
complete_var: Optional[str] = None,
|
|
200
|
+
standalone_mode: bool = True,
|
|
201
|
+
windows_expand_args: bool = True,
|
|
202
|
+
**extra: Any,
|
|
203
|
+
) -> Any:
|
|
204
|
+
"""Override main to disable standalone mode.
|
|
205
|
+
|
|
206
|
+
Click's default standalone_mode=True catches ClickException
|
|
207
|
+
internally and calls sys.exit(), preventing our custom error
|
|
208
|
+
handlers from running. Setting standalone_mode=False lets
|
|
209
|
+
exceptions propagate to our styled error handlers.
|
|
210
|
+
|
|
211
|
+
Args:
|
|
212
|
+
args: Command-line arguments.
|
|
213
|
+
prog_name: Program name for help display.
|
|
214
|
+
complete_var: Shell completion variable name.
|
|
215
|
+
standalone_mode: Must be False for custom error handling.
|
|
216
|
+
windows_expand_args: Windows argument expansion flag.
|
|
217
|
+
**extra: Additional context arguments.
|
|
218
|
+
|
|
219
|
+
Returns:
|
|
220
|
+
The command return value.
|
|
221
|
+
"""
|
|
222
|
+
return super().main(
|
|
223
|
+
args=args,
|
|
224
|
+
prog_name=prog_name,
|
|
225
|
+
complete_var=complete_var,
|
|
226
|
+
standalone_mode=False,
|
|
227
|
+
windows_expand_args=windows_expand_args,
|
|
228
|
+
**extra,
|
|
229
|
+
)
|
|
230
|
+
|
|
195
231
|
def invoke(self, ctx: ClickContext) -> Any:
|
|
196
232
|
interactive = ctx.params.pop("interactive", False)
|
|
197
233
|
if interactive:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{usecli-0.1.53 → usecli-0.1.54}/src/usecli/cli/commands/defaults/base/internal/fzf_command.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|