2014-04-21 8 views
0

Я один из 10% мужчин, которые являются дальтониками, поэтому я пытаюсь настроить мой выход CLI Behat, чтобы лучше различать желтую и зеленую линии , Обычно это поддерживается, но, судя по документам, если я хочу добавить такой параметр, как подчеркивание, я также должен указать цвета переднего и заднего плана.Конфигурация Behat: как установить параметр output_style без указания цветов fg и bg

http://docs.behat.org/guides/7.config.html#colors

Я бы даже не против, если я должен был избыточно определить цвет фг, но стиль по умолчанию не применяется цвет Б.Г., и я не могу обнаружить, если аргументы могут быть настроены таким образом, чтобы они не переопределяют значение по умолчанию.

Вот пример, приведенный:

default: 
    formatter: 
     name:    pretty 
     parameters: 
      output_styles: 
       comment: [ black, white, [ underscore ] ] 

Это примерно то, что я после:

default: 
    formatter: 
     name:    pretty 
     parameters: 
      output_styles: 
       undefined: [ , , [ underscore ] ] 

Однако, если оставить первые два аргумента (или только второй аргумент) пустым , Я получаю ошибку:

[InvalidArgumentException] 
    Invalid foreground color specified: "Array". Expected one of (black, red, green, yellow, blue, magenta, cyan, white) 

Это не конец света, потому что я могу просто указать как fg и bg, но поскольку значения по умолчанию не используют цвета bg, это заканчивается тем, что выглядит уродливым.

ответ

1

я наткнулся на ответ методом проб и ошибок:

default: 
    formatter: 
     name:    pretty 
     parameters: 
      output_styles: 
       undefined: [ null, null, [ underscore ] ] 

После работы со стилями и держать их в синхронизации с документированных цветовых значений (см http://docs.behat.org/guides/2.definitions.html#step-execution-result-types), я пришел со следующими параметрами, которые работают а на темные и светлые клеммные цветовые схемы, и которые также используют не-цветовые стили для дифференциации типов результата:

default: 
    formatter: 
     name:    pretty 
     parameters: 
      output_styles: 
       passed:      [ white, green ] 
       passed_param:     [ white, green, [ bold ]] 
       undefined:     [ yellow, null, [ underscore, bold ]] 
       pending:      [ yellow, null, [ underscore ]] 
       pending_param:    [ yellow, null, [ underscore, bold ]] 
       failed:      [ white, red ] 
       failed_param:     [ white, red, [ bold ]] 
       skipped:      [ cyan ] 
       skipped_param:    [ cyan, null, [ bold ]] 
       comment:      [ cyan ] 
       tag:       [ cyan ] 

Вот скриншот из этих output_styles на как светлый и темном терминале:

enter image description here