Переименовал update в flag_update. Добавил utils/text.py для вывода сообщений с цветом. Обновил вывод --help, добавил цвета, добавил флаг --version, что бы показать версию dcr

This commit is contained in:
2026-02-12 10:18:13 +08:00
parent 35dd8812ad
commit 9e842e8021
6 changed files with 63 additions and 14 deletions

View File

@@ -4,7 +4,7 @@ from .new import new
from .run import run
from .build import build
from .clean import clean
from .update import update
from .flag_update import flag_update
__all__ = [
@@ -14,5 +14,5 @@ __all__ = [
"run",
"build",
"clean",
"update",
"flag_update",
]

View File

@@ -3,7 +3,7 @@ import shutil
import subprocess
def update(args: list[str] | None = None) -> int:
def flag_update(args: list[str] | None = None) -> int:
if args and len(args) > 0:
print("Ошибка: команда не поддежривает аргументы")
return 1

View File

@@ -1,3 +1,6 @@
from ..utils.text import colored, BRIGHT_GREEN, BRIGHT_CYAN, BOLD
def help() -> int:
print(
"\n".join(
@@ -5,29 +8,30 @@ def help() -> int:
"DCR (Dexoron Cargo Realization)",
"Менеджер C-проектов, вдохновленный Cargo.",
"",
"ИСПОЛЬЗОВАНИЕ:",
" dcr <команда> [опции]",
colored("ИСПОЛЬЗОВАНИЕ:", BRIGHT_GREEN + BOLD),
colored(" dcr <команда> [опции]", BRIGHT_CYAN + BOLD),
"",
"КОМАНДЫ:",
colored("КОМАНДЫ:", BRIGHT_GREEN + BOLD),
" new <name> Создать новый проект",
" init Инициализировать текущую директорию как проект",
" build [--profile] Собрать проект (по умолчанию: --debug)",
" run [--profile] Собрать и запустить (по умолчанию: --debug)",
" clean Удалить директорию target",
"ФЛАГИ:",
colored("ФЛАГИ:", BRIGHT_GREEN + BOLD),
" --help Показать справку по команде",
" --update Обновить dcr до актуальной версии",
" --version Показать версию dcr",
"",
"ОПЦИИ:",
colored("ОПЦИИ:", BRIGHT_GREEN + BOLD),
" --debug Сборка с профилем debug",
" --release Сборка с профилем release",
"",
"ПРИМЕРЫ:",
" dcr new hello",
" dcr build --release",
" dcr run --debug",
colored("ПРИМЕРЫ:", BRIGHT_GREEN + BOLD),
colored(" dcr new hello", BRIGHT_CYAN + BOLD),
colored(" dcr build --release", BRIGHT_CYAN + BOLD),
colored(" dcr run --debug", BRIGHT_CYAN + BOLD),
"",
"ПОДСКАЗКА:",
colored("ПОДСКАЗКА:", BRIGHT_GREEN + BOLD),
" Запусти 'dcr <команда> --help' для справки по команде.",
]
)

View File

@@ -40,3 +40,5 @@ flags: dict[str, list[str]] = {
"release": ["-O3", "-DNDEBUG", "-march=native"],
"debug": ["-O0", "-g", "-Wall", "-Wextra", "-fno-omit-frame-pointer", "-DDEBUG"],
}
VERSION = "v0.1.1"

View File

@@ -1,3 +1,4 @@
from src.dcr.config import VERSION
import dcr.cli as cli
import sys
@@ -21,10 +22,12 @@ def main() -> int:
cli.run(args)
case "clean":
cli.clean(args)
case "--version":
print(f"dcr {VERSION} (GNU/Linux)")
case "--help":
cli.help()
case "--update":
cli.update(args)
cli.flag_update(args)
case _:
print("Неизвестная команда или аргумент")

40
src/dcr/utils/text.py Normal file
View File

@@ -0,0 +1,40 @@
# RESET
RESET = "\033[0m"
# TEXT STYLES
BOLD = "\033[1m"
DIM = "\033[2m"
ITALIC = "\033[3m"
UNDERLINE = "\033[4m"
BLINK = "\033[5m"
REVERSE = "\033[7m"
HIDDEN = "\033[8m"
STRIKETHROUGH = "\033[9m"
# STANDARD COLORS (Foreground)
BLACK = "\033[30m"
RED = "\033[31m"
GREEN = "\033[32m"
YELLOW = "\033[33m"
BLUE = "\033[34m"
MAGENTA = "\033[35m"
CYAN = "\033[36m"
WHITE = "\033[37m"
# BRIGHT COLORS
BRIGHT_BLACK = "\033[90m"
BRIGHT_RED = "\033[91m"
BRIGHT_GREEN = "\033[92m"
BRIGHT_YELLOW = "\033[93m"
BRIGHT_BLUE = "\033[94m"
BRIGHT_MAGENTA = "\033[95m"
BRIGHT_CYAN = "\033[96m"
BRIGHT_WHITE = "\033[97m"
def colored(msg: str, style: str) -> str:
return style + msg + RESET
def printc(msg: str, style: str) -> None:
print(style + msg + RESET)