This is what I came up with:

on run
-- open this project
tell application "BBEdit"
open "full:path:to:project.bbprojectd"
end tell
-- open CodeKit
tell application "CodeKit"
launch
end tell
-- open Github Desktop
tell application "Github Desktop"
launch
end tell
-- open Transmit
tell application "Transmit"
launch
end tell
end run


On Monday, January 23, 2017 at 7:08:38 AM UTC-8, Greg Raven wrote:
>
> Chris,
>
> Thanks for all of this.
>
> I, too, have had difficulties getting attachment scripts to work, which is 
> one reason why I was asking if anyone else had an approach to this. So far, 
> I'm not able to get your script to work, but it might be a path issue.
>
> I often open the first project of the day by double-clicking the 
> .bbprojectd file in the Finder, so what I think I'll do for now is to 
> create an AppleScript application that opens the .bbprojectd file (which 
> will also open BBEdit, of course), and then open CodeKit, Github Desktop, 
> and Transmit. It will be crude, but it should get me where I want to go.
>
> On Sunday, January 22, 2017 at 11:08:20 PM UTC-8, Christopher Stone wrote:
>>
>> On Jan 22, 2017, at 15:59, Greg Raven <[email protected]> wrote:
>>
>> When opening one of my website projects, I would like BBEdit 
>> automatically to open CodeKit, Github Desktop, and Transmit. I've tried a 
>> couple approaches, but no joy so far.
>>
>> ------------------------------
>>
>> Hey Greg,
>>
>> See “Document attachment points” and “Using Attachment Scripts” in 
>> the BBEdit manual.
>>
>> See also this post by yours truly:
>>
>> https://groups.google.com/d/msg/bbedit/EAM5uhEvCcc/ZZvb5GC8AgAJ
>>
>> I've posted about attachment scripts before, so you might be able to find 
>> even more material.
>>
>> I haven't fooled with a “documentDidOpen” script for a while, and I must 
>> warn you that when I initially experimented with attachment scripts it was 
>> quite a chore getting them to work properly.
>>
>> Oh, well.  In for a penny...
>>
>> Here you go:
>>
>> Script name MUST be:
>>
>> Document.documentDidOpen.scpt
>>
>> Script path MUST be:
>>
>> ~/Library/Application Support/BBEdit/Attachment 
>> Scripts/Document.documentDidOpen.scpt
>>
>> The internals of the script are reasonably self-explanatory or documented.
>>
>> Change projectFileAlias to correctly point to your project file (note 
>> it's an *alias* – do NOT use a POSIX Path).
>>
>> Change the items listed in variable appList to alter what apps are 
>> launched.
>>
>>
>> -------------------------------------------------------------------------------------------
>> # Auth: Christopher Stone
>> # dCre: 2017/01/22 23:00
>> # dMod: 2017/01/23 00:56
>> # Appl: BBEdit
>> # Task: Attachment script using “documentDidOpen” event – launches apps 
>> if opened doc matches criteria.
>> # Libs: None
>> # Osax: None
>> # Tags: @Applescript, @Script, @Attachment, @documentDidOpen, @Event, 
>> @Launches, @Apps
>>
>> -------------------------------------------------------------------------------------------
>>
>> *using terms from* *application* "BBEdit"
>>
>>    
>>    # Attachment handler for “documentDidOpen” event:
>>    *on* documentDidOpen(openedDocument)
>>
>>       
>>       # Alias of project file we want to check for:
>>       *set* projectFileAlias *to* *alias* ((*path to* *documents folder* 
>> as *text*) & "BBEdit Projects:INFO-PROJECT.bbprojectd:")
>>
>>       
>>       # List of application names we want to launch if opened document 
>> matches “fileAlias”:
>>       *set* appList *to* {"CodeKit", "Github Desktop", "Transmit"}
>>
>>       
>>       # Filter to prevent script from running twice.
>>       *if* *class* *of* openedDocument = *project document* *and* name 
>> *of* openedDocument's *window* *ends with* "bbprojectd" *then*
>>
>>          
>>          *set* openedDocumentAlias *to* *file* *of* openedDocument *as* 
>> *alias*
>>
>>          
>>          *if* openedDocumentAlias = projectFileAlias *then*
>>             launchApps(appList) *of* *me*
>>          *end* *if*
>>
>>          
>>       *end* *if*
>>
>>       
>>    *end* documentDidOpen
>>
>>    
>> *end* *using terms from*
>>
>> # launchApps() handler
>> *on* launchApps(appList)
>>    *repeat* *with* appName *in* appList
>>       *tell* *application* appName *to* *run*
>>    *end* *repeat*
>> *end* launchApps
>>
>> *on* logText(theText)
>>    *tell* *application* "BBEdit"
>>       *set* logDoc *to* *a reference* *to* *document* *id* (ID *of* 
>> *document* "TEST_LOG.txt")
>>       *tell* logDoc
>>          *set* *after* *its* *text* *to* theText & linefeed
>>       *end* *tell*
>>    *end* *tell*
>> *end* logText
>>
>>
>> -------------------------------------------------------------------------------------------
>>
>> Getting this to work properly was quite pesky, because the attachment 
>> mechanism doesn't support external debugging with Script Debugger.
>>
>> --
>> Take Care,
>> Chris
>>
>>

-- 
This is the BBEdit Talk public discussion group. If you have a 
feature request or would like to report a problem, please email
"[email protected]" rather than posting to the group.
Follow @bbedit on Twitter: <http://www.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 post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/bbedit.

Reply via email to