使用 JXA 设置 BBEdit 插入点
Setting a BBEdit insertion point with JXA
我正在尝试将一些 Applescript (AS) 翻译成 Javascript (JXA) for BBedit。
敲掉一些锈迹是一件有趣的小事,但我很难过。
使用 AS 我可以在 BBEdit 文档中设置一个插入点;
tell application "BBEdit"
activate
tell text 1 of window 1
select insertion point before line 40
end tell
end tell
谈到 JXA,我完全被难住了。我一直在 line 对象中四处寻找,但找不到 insertsionPoint 属性.
您可以像这样访问 selection 属性;
currentLine = bbedit.selection().startline().
但它是只读的。所以我认为如果你想设置一个 select 离子或插入点,你需要访问那个 select 方法。我不知道如何,或者如果你可以使用 JXA。
有人知道如何使用 JXA 设置 BBEdit 插入点 and/or selection 吗?
谢谢
JXA 不实现插入引用形式 (before
/after
/beginning
/end
)。相对 (previous…
/next…
) 和范围 (from…to…
) 说明符也很乏味,过滤器 (whose…
) 子句也很糟糕。许多重要的东西在 JXA 的 AS 中断中工作得很好:就像 Apple 早期的 Scripting Bridge API,JXA 在交付时是半生不熟的,并立即被遗弃。
像这样废话就是我推荐坚持使用 AppleScript 的原因。该语言可能很糟糕,但它是唯一 [勉强] 支持的选项,它实际上正确地实现了 Apple 事件。通常我建议通过 AppleScript-ObjC 桥从其他语言调用 AppleScript 作为最简单的解决方案,但 Apple 在 10.13 中也设法打破了这一点。
(如果你喜欢危险的生活,NodeAutomation 为 Node.js 提供了完整的 Apple 事件支持,但是随着 Apple 放弃 AppleScript 自动化,我不想浪费任何人的时间来推广或支持它, 所以买者自负。)
我正在尝试将一些 Applescript (AS) 翻译成 Javascript (JXA) for BBedit。
敲掉一些锈迹是一件有趣的小事,但我很难过。 使用 AS 我可以在 BBEdit 文档中设置一个插入点;
tell application "BBEdit"
activate
tell text 1 of window 1
select insertion point before line 40
end tell
end tell
谈到 JXA,我完全被难住了。我一直在 line 对象中四处寻找,但找不到 insertsionPoint 属性.
您可以像这样访问 selection 属性;
currentLine = bbedit.selection().startline().
但它是只读的。所以我认为如果你想设置一个 select 离子或插入点,你需要访问那个 select 方法。我不知道如何,或者如果你可以使用 JXA。
有人知道如何使用 JXA 设置 BBEdit 插入点 and/or selection 吗? 谢谢
JXA 不实现插入引用形式 (before
/after
/beginning
/end
)。相对 (previous…
/next…
) 和范围 (from…to…
) 说明符也很乏味,过滤器 (whose…
) 子句也很糟糕。许多重要的东西在 JXA 的 AS 中断中工作得很好:就像 Apple 早期的 Scripting Bridge API,JXA 在交付时是半生不熟的,并立即被遗弃。
像这样废话就是我推荐坚持使用 AppleScript 的原因。该语言可能很糟糕,但它是唯一 [勉强] 支持的选项,它实际上正确地实现了 Apple 事件。通常我建议通过 AppleScript-ObjC 桥从其他语言调用 AppleScript 作为最简单的解决方案,但 Apple 在 10.13 中也设法打破了这一点。
(如果你喜欢危险的生活,NodeAutomation 为 Node.js 提供了完整的 Apple 事件支持,但是随着 Apple 放弃 AppleScript 自动化,我不想浪费任何人的时间来推广或支持它, 所以买者自负。)