Триггер / событие зомба ie в стороже? - PullRequest
0 голосов
/ 23 февраля 2020

Я использую watchman для просмотра каталога файлов LaTeX. Когда файл LaTeX редактируется, срабатывает триггер, который (1) перестраивает pdf из отредактированного файла LaTeX, а затем (2) снова открывает новый pdf в Preview. (Это на macOS 10.15.3, и я использую сторож 4.9.0_3, который я установил через brew.) Ниже представлен триггер и небольшой скрипт оболочки, который вызывает триггер:

[
  "trigger", "./", {
  "name": "rebuild-tex",
  "expression": [ "match", "*.tex" ],
  "command": [ "do-it" ],
  "append_files": true
  }
]
#!/usr/local/bin/bash

set -e
target="${1##*/}"
target="${target%.tex}"

osascript -e 'quit app "Preview"' && make "${target}" && open "${target}.pdf"

(Мне все это кажется неуклюжим, поэтому, если у кого-то есть идея для самого триггера, отлично!)

Это работает, когда я сохраняю правку, например, crito.tex, триггер (1) выходит из режима предварительного просмотра, (2) вызывает make с crito в качестве аргумента и (3) открывает заново только что построенный crito.pdf с предварительным просмотром.

Однако есть зомб ie событие. Когда я запускаю свой компьютер, указанный c pdf файл (meno.pdf из meno.tex) перестраивается и открывается в Preview даже до того, как я отредактировал этот файл, или я нахожусь в соответствующем каталоге . Кроме того, если я удаляю триггер, останавливаю watchman, перезапускаю watchman и перезагружаю триггер, то boom: meno.pdf немедленно перестраивается и открывается в Preview. Опять же, это вообще без моего редактирования этого файла.

Я вижу вызов make в моих watchman журналах, но я не вижу почему watchman думает, что это должно сработать Поэтому я понятия не имею, как, так сказать, убить событие зомба ie навсегда. Есть предложения?

...