Pry
Perry로 구축된 빠른 네이티브 JSON 뷰어. 트리 탐색, 검색, 키보드 단축키 — TypeScript에서 네이티브 바이너리로 컴파일.
기능
트리 뷰
깊이 중첩된 JSON 구조를 위한 접기 가능하고 탐색 가능한 트리 렌더링.
검색
키와 값에 대한 전문 검색 및 즉시 하이라이트.
키보드 단축키
키보드만으로 탐색, 펼치기, 접기, 복사.
클립보드 지원
모든 노드나 하위 트리를 포맷된 JSON으로 클립보드에 복사.
상태 바
노드 수, 현재 깊이, 파일 크기, 파싱 시간 표시.
구문 색상 표시
타입별 색상 구분 — 문자열, 숫자, 불리언, null.
빌드 방식
Pry는 TypeScript로 작성되고 Perry로 네이티브 바이너리로 컴파일됩니다. Electron 없음, 웹 뷰 없음, JavaScript 런타임 없음.
TypeScript 소스
Perry의 네이티브 UI API를 사용한 표준 TypeScript
Perry Compile
SWC 파싱 → 타입 해결 → Cranelift 코드 생성
네이티브 바이너리
런타임 종속성 없는 독립형 실행 파일
import { App, TreeView, SearchBar } from "perry/ui";
import { readFile } from "perry/fs";
const data = JSON.parse(readFile(process.argv[2]));
const app = new App("Pry", { width: 800, height: 600 });
app.addSearchBar({ placeholder: "Search JSON..." });
app.addTreeView(data, {
collapsible: true,
syntaxHighlight: true,
copyOnClick: true,
});
app.addStatusBar();
app.run();
플랫폼 지원
macOS
네이티브 AppKit 위젯
사용 가능iOS
네이티브 UIKit 위젯
사용 가능Android
네이티브 Views 위젯
사용 가능스크린샷
macOS 스크린샷 — 출시 예정
iOS 스크린샷 — 출시 예정
스크린샷은 Pry 개발이 진행되면서 추가될 예정입니다. 최신 정보는 GitHub 리포지토리를 확인하세요.