code-puppy 0.0.341__tar.gz → 0.0.343__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.
- {code_puppy-0.0.341 → code_puppy-0.0.343}/PKG-INFO +1 -1
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/prompt_toolkit_completion.py +16 -10
- {code_puppy-0.0.341 → code_puppy-0.0.343}/pyproject.toml +1 -1
- {code_puppy-0.0.341 → code_puppy-0.0.343}/.gitignore +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/LICENSE +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/README.md +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/__init__.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/__main__.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/agents/__init__.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/agents/agent_c_reviewer.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/agents/agent_code_puppy.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/agents/agent_code_reviewer.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/agents/agent_cpp_reviewer.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/agents/agent_creator_agent.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/agents/agent_golang_reviewer.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/agents/agent_javascript_reviewer.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/agents/agent_manager.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/agents/agent_planning.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/agents/agent_python_programmer.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/agents/agent_python_reviewer.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/agents/agent_qa_expert.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/agents/agent_qa_kitten.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/agents/agent_security_auditor.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/agents/agent_typescript_reviewer.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/agents/base_agent.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/agents/json_agent.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/agents/prompt_reviewer.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/callbacks.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/chatgpt_codex_client.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/claude_cache_client.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/cli_runner.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/__init__.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/add_model_menu.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/attachments.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/autosave_menu.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/clipboard.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/colors_menu.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/command_handler.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/command_registry.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/config_commands.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/core_commands.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/diff_menu.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/file_path_completion.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/load_context_completion.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/__init__.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/add_command.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/base.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/catalog_server_installer.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/custom_server_form.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/custom_server_installer.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/edit_command.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/handler.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/help_command.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/install_command.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/install_menu.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/list_command.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/logs_command.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/remove_command.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/restart_command.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/search_command.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/start_all_command.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/start_command.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/status_command.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/stop_all_command.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/stop_command.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/test_command.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/utils.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/wizard_utils.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp_completion.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/model_picker_completion.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/model_settings_menu.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/motd.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/onboarding_slides.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/onboarding_wizard.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/pin_command_completion.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/session_commands.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/utils.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/config.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/error_logging.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/gemini_code_assist.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/http_utils.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/keymap.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/main.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/mcp_/__init__.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/mcp_/async_lifecycle.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/mcp_/blocking_startup.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/mcp_/captured_stdio_server.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/mcp_/circuit_breaker.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/mcp_/config_wizard.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/mcp_/dashboard.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/mcp_/error_isolation.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/mcp_/examples/retry_example.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/mcp_/health_monitor.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/mcp_/managed_server.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/mcp_/manager.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/mcp_/mcp_logs.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/mcp_/registry.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/mcp_/retry_manager.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/mcp_/server_registry_catalog.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/mcp_/status_tracker.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/mcp_/system_tools.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/messaging/__init__.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/messaging/bus.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/messaging/commands.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/messaging/markdown_patches.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/messaging/message_queue.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/messaging/messages.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/messaging/queue_console.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/messaging/renderers.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/messaging/rich_renderer.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/messaging/spinner/__init__.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/messaging/spinner/console_spinner.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/messaging/spinner/spinner_base.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/model_factory.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/model_utils.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/models.json +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/models_dev_api.json +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/models_dev_parser.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/__init__.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/antigravity_oauth/__init__.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/antigravity_oauth/accounts.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/antigravity_oauth/antigravity_model.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/antigravity_oauth/config.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/antigravity_oauth/constants.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/antigravity_oauth/oauth.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/antigravity_oauth/register_callbacks.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/antigravity_oauth/storage.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/antigravity_oauth/test_plugin.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/antigravity_oauth/token.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/antigravity_oauth/transport.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/antigravity_oauth/utils.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/chatgpt_oauth/__init__.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/chatgpt_oauth/config.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/chatgpt_oauth/oauth_flow.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/chatgpt_oauth/register_callbacks.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/chatgpt_oauth/test_plugin.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/chatgpt_oauth/utils.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/claude_code_oauth/README.md +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/claude_code_oauth/SETUP.md +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/claude_code_oauth/__init__.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/claude_code_oauth/config.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/claude_code_oauth/register_callbacks.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/claude_code_oauth/test_plugin.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/claude_code_oauth/utils.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/customizable_commands/__init__.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/customizable_commands/register_callbacks.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/example_custom_command/README.md +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/example_custom_command/register_callbacks.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/file_permission_handler/__init__.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/file_permission_handler/register_callbacks.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/oauth_puppy_html.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/shell_safety/__init__.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/shell_safety/agent_shell_safety.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/shell_safety/command_cache.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/shell_safety/register_callbacks.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/prompts/codex_system_prompt.md +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/pydantic_patches.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/reopenable_async_client.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/round_robin_model.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/session_storage.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/status_display.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/summarization_agent.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/terminal_utils.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/tools/__init__.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/tools/agent_tools.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/tools/browser/__init__.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/tools/browser/browser_control.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/tools/browser/browser_interactions.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/tools/browser/browser_locators.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/tools/browser/browser_navigation.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/tools/browser/browser_screenshot.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/tools/browser/browser_scripts.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/tools/browser/browser_workflows.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/tools/browser/camoufox_manager.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/tools/browser/vqa_agent.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/tools/command_runner.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/tools/common.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/tools/file_modifications.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/tools/file_operations.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/tools/tools_content.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/uvx_detection.py +0 -0
- {code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/version_checker.py +0 -0
{code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/prompt_toolkit_completion.py
RENAMED
|
@@ -648,30 +648,36 @@ async def get_input_with_combined_completion(
|
|
|
648
648
|
else:
|
|
649
649
|
event.current_buffer.validate_and_handle()
|
|
650
650
|
|
|
651
|
-
# Handle bracketed paste
|
|
652
|
-
#
|
|
651
|
+
# Handle bracketed paste - smart detection for text vs images.
|
|
652
|
+
# Most terminals (Windows included!) send Ctrl+V through bracketed paste.
|
|
653
|
+
# - If there's meaningful text content → paste as text (drag-and-drop file paths, copied text)
|
|
654
|
+
# - If text is empty/whitespace → check for clipboard image (image paste on Windows)
|
|
653
655
|
@bindings.add(Keys.BracketedPaste)
|
|
654
656
|
def handle_bracketed_paste(event):
|
|
655
|
-
"""Handle bracketed paste -
|
|
656
|
-
# The pasted data is in event.data
|
|
657
|
+
"""Handle bracketed paste - smart text vs image detection."""
|
|
657
658
|
pasted_data = event.data
|
|
658
659
|
|
|
659
|
-
#
|
|
660
|
+
# If we have meaningful text content, paste it (don't check for images)
|
|
661
|
+
# This handles drag-and-drop file paths and normal text paste
|
|
662
|
+
if pasted_data and pasted_data.strip():
|
|
663
|
+
# Normalize Windows line endings to Unix style
|
|
664
|
+
sanitized_data = pasted_data.replace("\r\n", "\n").replace("\r", "\n")
|
|
665
|
+
event.app.current_buffer.insert_text(sanitized_data)
|
|
666
|
+
return
|
|
667
|
+
|
|
668
|
+
# No meaningful text - check if clipboard has an image (Windows image paste!)
|
|
660
669
|
try:
|
|
661
670
|
if has_image_in_clipboard():
|
|
662
671
|
placeholder = capture_clipboard_image_to_pending()
|
|
663
672
|
if placeholder:
|
|
664
673
|
event.app.current_buffer.insert_text(placeholder + " ")
|
|
665
|
-
# The placeholder itself is visible feedback - no need for extra output
|
|
666
|
-
# Use bell for audible feedback (works in most terminals)
|
|
667
674
|
event.app.output.bell()
|
|
668
|
-
return
|
|
675
|
+
return
|
|
669
676
|
except Exception:
|
|
670
677
|
pass
|
|
671
678
|
|
|
672
|
-
#
|
|
679
|
+
# Fallback: if there was whitespace-only data, paste it
|
|
673
680
|
if pasted_data:
|
|
674
|
-
# Normalize Windows line endings to Unix style
|
|
675
681
|
sanitized_data = pasted_data.replace("\r\n", "\n").replace("\r", "\n")
|
|
676
682
|
event.app.current_buffer.insert_text(sanitized_data)
|
|
677
683
|
|
|
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
|
{code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/load_context_completion.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/catalog_server_installer.py
RENAMED
|
File without changes
|
|
File without changes
|
{code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/mcp/custom_server_installer.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
|
{code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/command_line/model_picker_completion.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
|
{code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/antigravity_oauth/antigravity_model.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/antigravity_oauth/register_callbacks.py
RENAMED
|
File without changes
|
|
File without changes
|
{code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/antigravity_oauth/test_plugin.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/chatgpt_oauth/register_callbacks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/claude_code_oauth/register_callbacks.py
RENAMED
|
File without changes
|
{code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/claude_code_oauth/test_plugin.py
RENAMED
|
File without changes
|
|
File without changes
|
{code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/customizable_commands/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/example_custom_command/README.md
RENAMED
|
File without changes
|
|
File without changes
|
{code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/file_permission_handler/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/shell_safety/agent_shell_safety.py
RENAMED
|
File without changes
|
|
File without changes
|
{code_puppy-0.0.341 → code_puppy-0.0.343}/code_puppy/plugins/shell_safety/register_callbacks.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
|