feat: complete issue-facade capability enhancement and project cleanup
Some checks failed
Test Suite / unit-tests (3.11) (push) Has been cancelled
Test Suite / unit-tests (3.12) (push) Has been cancelled
Test Suite / integration-tests (push) Has been cancelled
Test Suite / e2e-tests (push) Has been cancelled
Test Suite / performance-tests (push) Has been cancelled
Test Suite / code-quality (push) Has been cancelled
Test Suite / security-scan (push) Has been cancelled
Test Suite / test-summary (push) Has been cancelled
Some checks failed
Test Suite / unit-tests (3.11) (push) Has been cancelled
Test Suite / unit-tests (3.12) (push) Has been cancelled
Test Suite / integration-tests (push) Has been cancelled
Test Suite / e2e-tests (push) Has been cancelled
Test Suite / performance-tests (push) Has been cancelled
Test Suite / code-quality (push) Has been cancelled
Test Suite / security-scan (push) Has been cancelled
Test Suite / test-summary (push) Has been cancelled
- Update TODO.md to reflect completed issue-facade capability fixes - Archive old CLI structure files that were moved to capabilities/issue-facade - Reorganize remaining CLI components into issue_tracker/ package - Add test coverage for issue #166 substack theme implementation - Update document manager and markdown command plugins with latest improvements - Complete project reorganization following capability-based architecture This commit finalizes the issue-facade capability enhancement project and ensures the main repository reflects the current state of all completed work. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
85
issue_tracker/cli/presenters/formatters.py
Normal file
85
issue_tracker/cli/presenters/formatters.py
Normal file
@@ -0,0 +1,85 @@
|
||||
"""
|
||||
Output formatting utilities for CLI presentation.
|
||||
"""
|
||||
|
||||
import sys
|
||||
from typing import Any, Dict, List
|
||||
|
||||
|
||||
class OutputFormatter:
|
||||
"""Handles output formatting and display."""
|
||||
|
||||
@staticmethod
|
||||
def success(message: str) -> None:
|
||||
"""Display success message."""
|
||||
print(f"✅ {message}")
|
||||
|
||||
@staticmethod
|
||||
def info(message: str) -> None:
|
||||
"""Display info message."""
|
||||
print(f"📋 {message}")
|
||||
|
||||
@staticmethod
|
||||
def warning(message: str) -> None:
|
||||
"""Display warning message."""
|
||||
print(f"⚠️ {message}")
|
||||
|
||||
@staticmethod
|
||||
def error(message: str) -> None:
|
||||
"""Display error message."""
|
||||
print(f"❌ {message}")
|
||||
|
||||
@staticmethod
|
||||
def header(title: str, separator: str = "=") -> None:
|
||||
"""Display section header."""
|
||||
print(title)
|
||||
print(separator * len(title))
|
||||
print()
|
||||
|
||||
@staticmethod
|
||||
def section(title: str) -> None:
|
||||
"""Display section title."""
|
||||
print(f"## {title}")
|
||||
print()
|
||||
|
||||
@staticmethod
|
||||
def bullet_point(text: str, indent: int = 0) -> None:
|
||||
"""Display bullet point."""
|
||||
prefix = " " * indent
|
||||
print(f"{prefix}- {text}")
|
||||
|
||||
@staticmethod
|
||||
def key_value(key: str, value: Any, indent: int = 0) -> None:
|
||||
"""Display key-value pair."""
|
||||
prefix = " " * indent
|
||||
print(f"{prefix}{key}: {value}")
|
||||
|
||||
@staticmethod
|
||||
def empty_line() -> None:
|
||||
"""Display empty line."""
|
||||
print()
|
||||
|
||||
@staticmethod
|
||||
def exit_with_error(message: str, exit_code: int = 1) -> None:
|
||||
"""Display error and exit."""
|
||||
OutputFormatter.error(message)
|
||||
sys.exit(exit_code)
|
||||
|
||||
@staticmethod
|
||||
def format_file_list(files: List[str], title: str = "Files") -> None:
|
||||
"""Format and display file list."""
|
||||
print(f"📄 {title} ({len(files)}):")
|
||||
if files:
|
||||
for file in files:
|
||||
print(f" - {file}")
|
||||
else:
|
||||
print(" - No files found")
|
||||
print()
|
||||
|
||||
@staticmethod
|
||||
def format_command_list(commands: List[str], title: str = "Commands") -> None:
|
||||
"""Format and display command list."""
|
||||
print(f"💡 {title}:")
|
||||
for command in commands:
|
||||
print(f" - {command}")
|
||||
print()
|
||||
Reference in New Issue
Block a user