Теперь вы можете выйти за рамки упрощения своего терминала с помощью iTerm2 и oh-my-zsh. Богатый интерфейс командной строки позволит вам добавить совершенно новое измерение к тому, как вы можете просматривать файлы в командной строке. Предоставляя набор инструментов для добавления цвета и форматирования, Rich CLI не только преобразует файлы CSV в красивые таблицы, позволяет вашим сценариям кодирования выглядеть так же, как в выбранной вами среде IDE, и предоставляет специальное форматирование для файлов Markdown и JSON, но и также позволит вам самостоятельно форматировать текст, который вы вводите в командной строке.

Расширенный интерфейс командной строки был создан Уиллом МакГуганом и доступен для Mac OS, Linux и Windows. Уилл также является создателем библиотеки Python под названием Rich и фреймворка Python под названием Textual. Библиотека Rich Python позволяет программистам Python отображать вывод форматированного текста на терминал и уже используется во многих основных проектах Python. В выпуске Rich CLI возможности библиотеки Rich Python реализованы в командной строке.

«Вы больше никогда не будете использовать встроенные команды CAT, HEAD или TAIL!»

Расширенный интерфейс командной строки — установка

Инструмент Rich CLI можно установить в определенный каталог или виртуальную среду просто с помощью команды pip install

python -m pip install rich-cli

Однако, если вы хотите иметь возможность использовать Rich CLI глобально на вашем компьютере (и я уверен, что как только вы начнете его использовать, вы захотите использовать его везде!), тогда я бы рекомендовал установить его с помощью pipx.

Инструменты и пакеты, установленные с помощью pipx, хранятся в глобальной виртуальной среде, которая будет доступна из вашей командной строки, для всех ваших глобальных каталогов и для всех ваших виртуальных сред.



Чтобы установить Pipx на Mac, выполните следующую команду в своем терминале.

brew install pipx
pipx ensurepath

Затем, чтобы установить, обновить или удалить пакеты и инструменты с помощью pipX, вы просто используете pipx install, pipx upgrade и pipx uninstall, как при использовании pip для управления вашими библиотеками. Чтобы установить Rich CLI, просто используйте следующую команду.

pipx install rich-cli

Богатый интерфейс командной строки — возможности

Богатый интерфейс командной строки невероятно прост в использовании и обеспечивает прекрасное форматирование широкого спектра типов файлов прямо из коробки (без применения каких-либо параметров). Просто используйте команду Rich, за которой следует путь к выбранному файлу, и вы будете поражены выводом, который вы видите в своем терминале.

rich Ex11_Prime_No_Function.py` 

Инструментарий предлагает множество опций, которые вы можете использовать для настройки вывода в соответствии с вашими предпочтениями. Я просто выделю несколько моих любимых ниже, чтобы вы могли почувствовать, на что он способен. Чтобы получить список всех доступных опций и аргументов, просто вызовите встроенную функцию справки, набрав rich --help в своем терминале.

Номера строк и направляющие

Отличная функция для просмотра файлов кода в терминале — возможность добавлять номера строк и направляющие отступов. Этого легко добиться, добавив параметры -n для номеров строк и -g для направляющих линий.

rich Ex11_Prime_No_Function.py -n -g

Темы

Богатый интерфейс командной строки даже позволяет вам установить некоторые общие темы, которые будут применяться к отображаемому файлу. Темы могут быть установлены для отдельного файла

rich Ex11_Prime_No_Function.py --theme monokai

или установить в качестве параметра по умолчанию в переменной окружения

RICH_THEME=monokai
rich Ex11_Prime_No_Function.py

В разделе Стили на сайте Pygments.org представлен широкий выбор тем.

Пейджер

Если количество строк в файле слишком велико для удобного просмотра в стандартном окне терминала, вы можете использовать опцию --pager, чтобы открыть файл во встроенном пейджере, где для навигации можно использовать либо клавиши курсора, либо полосу прокрутки. файл.

CSV-файлы в виде таблиц

Богатый интерфейс командной строки отображает содержимое файлов CSV или TSV в очень четкой и удобной для чтения таблице. В сочетании с опцией пейджера --pager, показанной выше, вы можете легко прокручивать вверх и вниз для просмотра содержащегося набора данных.

Вышеприведенные примеры едва касаются поверхности возможностей Rich CLI. Некоторые другие ключевые особенности, заслуживающие упоминания:

  • -— head xx или —-tail xx, чтобы вы могли указать количество строк от начала или конца файла, которые будут отображаться с применением выбранного форматирования.
  • Специальное форматирование JSON и MARKDOWN
  • Конкретная ширина текстового блока, выравнивание и выравнивание
  • Цветные линейки, построенные из определенных пользователем символов
  • Богатая печать, панели и набивка
  • Чтение файлов напрямую из Интернета с URL-адресов, начинающихся с HTTP/HTTPS.
  • Запишите отформатированный вывод (все команды/параметры) в файл HTML.

Для получения полной информации обо всех предлагаемых командах/параметрах, а также примеров кода и примеров выходных изображений, пожалуйста, обратитесь к очень хорошо сконструированному файлу README.md в Rich CLI GitHub repo.

Я действительно рекомендую вам попробовать Rich CLI, и если вы разработчик Python, вам также следует взглянуть на Rich и Textual. Все три проекта по-прежнему активно поддерживаются, регулярно добавляются новые функции.

Мне определенно не терпится увидеть, какие удивительные новые возможности будут добавлены к этим замечательным наборам инструментов в ближайшем будущем.

Рекомендации

Если вы хотите подробнее изучить инструменты, на которые я ссылаюсь в этой статье, вы можете изучить их полный набор функций, перейдя по ссылкам ниже…..

  1. https://github.com/Textualize/rich-cli
  2. https://github.com/Textualize/rich
  3. https://github.com/Textualize/textual
  4. https://github.com/pipxproject/pipx