Вложенный arbtt если тогда еще в categoryor.cfg

Я новичок в этом, так что терпите меня, но я пытаюсь создать правило, которое разделяет мое время на вкладках Firefox, используя arbtt v0.7 в categoryorize.cfg:

-- Firefox
current window ($program == "Navigator") ==>
  if $title =~ /^(.*) - (.*@.*) - .* Mail - Mozilla Firefox$/ then tag Email:$2-$1 else
  if $title =~ /^(.*) - Calendar - Mozilla Firefox$/          then tag Calendar:$1 else
  if $title =~ /^(.*) - Mozilla Firefox$/                     then tag Firefox:$1  else
                                                                   tag Firefox,

Но я получаю:

Ошибка синтаксического анализатора: "/home/rich/.arbtt/categorize.cfg" (строка 29, столбец 3): неожиданное "i" ожидает "else"

Я также попробовал другой подход с большим успехом:

current window ( $program == "Navigator" && $title =~ /^(.*) - (.*@.*) - .* Mail - Mozilla Firefox$/ )
  ==> tag Email:$2-$1,
current window ( $program == "Navigator" && $title =~ /^(.*) - Calendar - Mozilla Firefox$/ )
  ==> tag Calendar:$1,
current window ( $program == "Navigator" && $title =~ /^((?!.*\b(Calendar|Mail)\b)) - Mozilla Firefox$/ )
  ==> tag Firefox:$1,

Но последнее предложение не возвращает никаких результатов; первые два пункта делают.

Ура, Рич

1 ответ

Похоже, ошибка в arbtt; Я согласен, что ваш код выглядит правильно.

Но в любом случае, было бы более идиоматичным использовать ; оператор, что означает "Попробуйте первое, а если он не присваивает тег, попробуйте второе":

current window ($program == "Navigator") ==> 
  { $title =~ /^(.*) - (.*@.*) - .* Mail - Mozilla Firefox$/ ==> tag Email:$2-$1;;
    $title =~ /^(.*) - Calendar - Mozilla Firefox$/          ==> tag Calendar:$1;
    $title =~ /^(.*) - Mozilla Firefox$/                     ==> tag Firefox:$1;
    tag Firefox },

(The ;; из-за другой ошибки в синтаксическом анализаторе - думаю, эта часть еще не использовалась.)

Во второй попытке просто возникает проблема с регулярным выражением: /^(?!.*\b(Calendar|Mail)\b)(.*) - Mozilla Firefox$/ - (?!...) шаблон с нулевой шириной

Другие вопросы по тегам