Le script suivant fonctionne bien pour ouvrir une URL dans mon navigateur par défaut :
open location "https://google.com"
Cependant, j'ai un script existant qui récupère une URL dans ma fenêtre Terminal pour l'ouvrir dans mon navigateur. Lorsque j'utilise ce script, j'obtiens l'erreur "Expected end of line but found identifier" et la variable pour mon URL a été mise en évidence :
use framework "Foundation"
tell application "Terminal"
set windowContents to the contents of the front window
end tell
set windowContents to current application's class "NSString"'s stringWithString:windowContents
set fidoRegexPattern to "<PATTERN>"
set fidoRegex to current application's class "NSRegularExpression"'s regularExpressionWithPattern:(fidoRegexPattern) options:(0) |error|:(missing value)
set matchRanges to (fidoRegex's matchesInString:(windowContents) options:(0) range:({0, windowContents's |length|()}))'s valueForKey:("range")
set urlStrings to current application's class "NSMutableArray"'s new()
repeat with thisRange in matchRanges
tell urlStrings to addObject:(windowContents's substringWithRange:(thisRange))
end repeat
-- return urlStrings as list
set urlList to urlStrings as list
set fidoUrl to the last item of urlList
open location fidoUrl
return fidoUrl
Même si j'essaie de remplacer fidoUrl
pour un littéral de chaîne d'URL, j'obtiendrai la même erreur, sauf qu'il dira qu'il a trouvé "
au lieu de la fin de la ligne.
Tout le reste du script semble correct. Si j'enlève le open location
et regardez la return
les résultats de la ligne, cela me donne l'URL que j'attends.
Une recherche sur Google semble indiquer que je pourrais obtenir cette erreur s'il y a un problème avec le script lui-même, mais je ne vois rien.