Hi Rainer,
I suspect that BBEdit's Script menu will always be blocking because as far
as I know it uses an XPCService. (This should be checked with Bare Bones
support though!)
I think of 2 other options that you could try:
*Option 1. Use the menubar Script Menu.*
• Activate the menubar Script Menu in Script Editor > Preferences >
General > Script Menu.
• Create BBEdit's application scripts directory :
% mkdir -p ~/Library/Scripts/Applications/BBEdit
• Scripts placed in this directory should appear in the menubar Script
Menu when BBEdit is the frontmost application. Generally they act as if
they where run from the Script Editor.
• Sometimes this allows you to do things you couldn't do from BBEdit's
Script menu (like restarting BBEdit for example).
*Option 2. Create a launchAgent that watches the folder containing your
quarto files and that executes a script whenever a file is saved and thus
refreshes the preview. *(Replace '<rainer>' with your user account in the
below paths.)
• Save this launchAgent in ~/Library/LaunchAgents/quarto_watcher.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN
http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
<key>Label</key>
<string>quarto_watcher</string>
<key>ProgramArguments</key>
<array>
<string>/Users/<rainer>/Library/Application
Support/BBEdit/Scripts/quarto_previewer.sh</string>
</array>
<key>WatchPaths</key>
<array>
<string>/Users/<rainer>/Documents/Quarto</string>
</array>
</dict>
</plist>
• Save this script in ~/Library/Application
Support/BBEdit/Scripts/quarto_previewer.sh and give it the execution
permission.
#!/usr/bin/env sh
DOCPATH=$(osascript -e 'tell application "BBEdit" to (URL of first
document) as string')
EXTENSION="${DOCPATH##*.}"
#echo $DOCPATH
#echo $EXTENSION
if [ $EXTENSION == "quarto" ]; then
/usr/bin/open -a quarto "$DOCPATH"
fi
• Create the /Users/<rainer>/Documents/Quarto directory. (Or some other
directory and change the launchAgent accordingly.)
• Start the launchAgent in the terminal with:
% launchctl load
/Users/<rainer>/Library/LaunchAgents/quarto_watcher.plist
• Now whenever a file with extension ".quarto" is saved in the
~/Documents/Quarto directory, the quarto_previewer.sh script should execute
and open or reload this file in quarto.
HTH
Jean Jourdain
On Tuesday, March 22, 2022 at 2:52:19 PM UTC+1 Rainer Krug wrote:
> I have an using quarto <https://quarto.org> to render technical documents
> (it is very nice!) and writing them in BBEdit.
>
> Now I have a script which I want to start from BBEdit as I do with all
> scripts, but this script runs continuously and updates the preview. I would
> very much like to have this in BBEdit (in the Scripts Menu), but when I
> start this script, it blocks BBEdit.
>
> Is there a way of having that dialog non-blocking? Or is there another way
> of running that script (at the moment I am running it from a different
> terminal)?
>
> Thanks.
>
--
This is the BBEdit Talk public discussion group. If you have a feature request
or need technical support, please email "[email protected]" rather than
posting here. Follow @bbedit on Twitter: <https://twitter.com/bbedit>
---
You received this message because you are subscribed to the Google Groups
"BBEdit Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/bbedit/9002fa2b-f8c5-4ddc-8177-2a6c3d26730en%40googlegroups.com.