2017-10-23 2 views
0

BBedit 용 JRE (Java Script)로 몇 가지 AppleScript (AS)를 변환하려고합니다.JXA로 BBEdit 삽입 포인터 설정

약간의 녹슬림을 두드리는 것은 재미있는 일 이었지만, 나는 혼란 스럽습니다. AS를 사용하면 삽입 점을 BBEdit 문서에 설정할 수 있습니다.

tell application "BBEdit" 
    activate 
    tell text 1 of window 1 
     select insertion point before line 40 
    end tell 
end tell 

저는 JXA와 관련하여 완전히 엉망입니다. 선 개체에서 주위를 파고 있었지만 insertsionPoint 속성을 찾을 수 없습니다.

다음과 같이 선택 속성에 액세스 할 수 있습니다.

currentLine = bbedit.selection().startline(). 

그러나 읽기 전용입니다. 그래서 선택 또는 삽입 지점을 설정하려면 해당 선택 메서드에 액세스해야한다고 생각합니다. JXA와 함께 할 수있는 방법이나 실마리가 없습니다.

누구나 JXA로 BBEdit 삽입 포인터 및/또는 선택을 설정하는 방법을 알고 있습니까? 감사합니다. .

답변

0

JXA는 삽입 참조 양식 (before//beginning/end)을 구현하지 않습니다. 상대 (previous…/next…) 및 범위 (from…to…) 지정자도 borked되고 필터 (whose…) 절도 끔찍합니다. JXA에서 AS 휴식 시간에 잘 작동하는 중요한 것들은 많지 않습니다. Apple의 초기 Scripting Bridge API처럼 JXA는 출하시 반쯤 구워졌으며 즉시 썩어 버렸습니다.

이렇게 쓰레기를 쓰면 AppleScript를 사용하는 것이 좋습니다. 언어가 악취를 줄지 모르지만 실제로 Apple 이벤트를 실제로 구현하는 유일한 방법입니다. 일반적으로 AppleScript-ObjC 브릿지를 통해 다른 언어로 AppleScript를 호출하는 것이 가장 좋지 않은 해결책이지만, 애플은 10.13에서도이 문제를 해결할 수있었습니다.

(당신이 위험 살고 즐길 수 있다면, NodeAutomation는 Node.js를 비 깨진 애플 이벤트 지원을 제공하지만, 애플은 애플 스크립트 자동화를 포기와 나는, 그래서주의의 위험 부담을 촉진하거나 지원하는 사람의 시간을 낭비하고 싶지 않아.)