In a conversation on the forum, someone wondered how you might include a script to do a multi-version lookup. The idea is to take a verse reference and show a result that gives that text in every relevant version you have installed in Accordance.
Here is an example of how to do this.
multiModuleVerseLookup("John 2:1", true)
on multiModuleVerseLookup(theReference, quoteAsCitation)
-- set the delimiter between versions
set theDelimiter to return & "----------" & return
-- get moduleList
tell application "Accordance" to set moduleList to «event AccdVerL»
-- prepare textResult
set textResult to theReference & theDelimiter
repeat with thisModule in moduleList
-- lookup theReference in each module
tell application "Accordance" to set thisResult to «event AccdTxRf» {thisModule, theReference, quoteAsCitation}
-- add the result if the module contains theReference
if thisResult does not start with "ERR-" then set textResult to textResult & thisModule & return & thisResult & theDelimiter
end repeat
return textResult
end multiModuleVerseLookup
The results would look like:
"John 2:1
----------
GNT28-T
Καὶ τῇ ἡμέρᾳ τῇ τρίτῃ γάμος ἐγένετο ἐν Κανὰ τῆς Γαλιλαίας, καὶ ἦν ἡ μήτηρ τοῦ Ἰησοῦ ἐκεῖ· — John 2:1
----------
CEB
On the third day there was a wedding in Cana of Galilee. Jesus’ mother was there, and — John 2:1
----------
NRSVS
On the third day there was a wedding in Cana of Galilee, and the mother of Jesus was there. — John 2:1
----------
…
It is self-explanatory for those who do any Applescripting. You could include it in an Automator workflow, etc.
Here is a simple complete script that when called from Quicksilver/Launchbar/a Workflow/etc. would bring up a dialogue box and then open the result in a TextEdit window.
-- use a display dialog to ask for valid verse reference
set dd to display dialog "Enter a valid verse reference:" default answer "John 1:1"
set theReference to text returned of dd
multiModuleVerseLookup(theReference, true)
on multiModuleVerseLookup(theReference, quoteAsCitation)
-- set the delimiter between versions
set theDelimiter to return & "----------" & return
-- get moduleList
tell application "Accordance" to set moduleList to «event AccdVerL»
-- prepare textResult
set textResult to theReference & theDelimiter
repeat with thisModule in moduleList
-- lookup theReference in each module
tell application "Accordance" to set thisResult to «event AccdTxRf» {thisModule, theReference, quoteAsCitation}
-- add the result if the module contains theReference
if thisResult does not start with "ERR-" then set textResult to textResult & thisModule & return & thisResult & theDelimiter
end repeat
-- display the result in a new TextEdit document
tell application "TextEdit"
activate
set textDoc to make new document at the front
set the text of textDoc to textResult
end tell
end multiModuleVerseLookup