L'AppleScript suivant code peut être utilisé dans une action AppleScript Run en tant que service Automator, et se voir attribuer un raccourci clavier pour agir sur un mot sélectionné afin de l'ouvrir dans le dictionnaire et de l'enregistrer, s'il n'est pas déjà dans le fichier journal.
on run {input, parameters}
try
considering diacriticals
if first character of (input as text) is not in "abcdefghijklmnopqrstuvwxyz" then
tell current application
activate
display dialog "The selected text starts with a non-valid character." & return & return & ¬
"Make a different selection and try again." buttons {"OK"} default button 1 ¬
with title "Dictionary Look Up Logging Service"
end tell
return
end if
end considering
open location "dict://" & input
set theDictionaryHistoryFilename to "Dictionary Look Up Service History Log File.txt"
set theTargetFilename to quoted form of (POSIX path of (path to documents folder as string) & theDictionaryHistoryFilename)
set foundSelectedWord to (do shell script "grep '^" & input & "$' " & theTargetFilename & " > /dev/null; echo $?") as integer
if foundSelectedWord is greater than 0 then
do shell script "echo \"" & input & "\" >> " & theTargetFilename
end if
end try
end run
Notez que si le fichier journal est ouvert lorsque le service est exécuté, le mot ajouté peut ne pas apparaître avant que vous ne fermiez et rouvriez le fichier journal, selon l'application dans laquelle vous avez ouvert le fichier journal.