TECH 으로 돌아가기
TECH HACKER NEWS 8분 읽기 31 READS

Lua 기반 에디터 프래그티컬 v3.14, 메뉴·플로팅 뷰·세션으로 UX를 다듬다

Lua 기반 에디터 프래그티컬 v3.14, 메뉴·플로팅 뷰·세션으로 UX를 다듬다
SOURCE IMAGE · HACKER NEWS

텍스트 에디터 프래그티컬(Pragtical)이 v3.14.0을 내놓았다. 이 에디터는 Lite XL 계열에서 갈라져 나온 Lua 기반 경량 에디터로, 코어 로직이 C로 작성되고 상당 부분의 동작과 플러그인이 Lua로 구현되는 구조를 갖는다. 그만큼 사용자가 설정 모듈과 플러그인으로 동작을 직접 바꾸기 쉬운 것이 특징인데, 이번 릴리스는 그런 확장성보다는 기본으로 제공되는 인터페이스 자체를 손본 성격이 강하다. v3.13.1 이후 쌓인 변경을 묶은 이번 버전의 핵심은 애플리케이션 메뉴 도입, 명령 입력창과 프로젝트 검색의 위치 유연화, 워크스페이스 세션 관리, 플러그인 관리자 개편, 그리고 유휴 상태 CPU 사용량 절감으로 정리된다.

발견 가능성을 높이는 메뉴와 창 구조

가장 눈에 띄는 변화는 파일·편집·검색·보기·도구·도움말로 구성된 상단 메뉴 바다. 그동안 명령 팔레트로 이름을 쳐서 실행하거나 단축키를 외워야 했던 상당수 편집 명령이 이제 메뉴 항목으로 노출된다. 명령의 이름이나 키 바인딩을 모르더라도 기능을 찾아 쓸 수 있게 된 것이다. 플러그인도 자체 메뉴 항목을 등록할 수 있으며, 이때 단축키와 활성화 상태는 등록된 명령을 그대로 따라간다. 기능 발견성(discoverability)이 약한 것은 미니멀 에디터들이 공통으로 안고 있던 진입 장벽인데, 이를 정면으로 다룬 셈이다.

테두리 없는(borderless) 모드와 메뉴 바는 이번 버전부터 기본값으로 켜진다. 테두리 없는 모드에서는 메뉴가 타이틀 바의 로고 옆에 자리 잡고, 나머지 영역은 창 이동용 드래그 공간으로 쓰인다. 창 크기 조절 영역은 네 모서리를 따라 얇은 띠 형태로 바뀌어 상태 바 항목의 클릭을 가로채지 않으며, 최대화나 전체 화면 상태에서는 크기 조절이 비활성화된다. 이 두 옵션은 모두 설정의 Core > User Interface에서 조정할 수 있다. 트리뷰 도구 모음 역시 왼쪽·아래·위·오른쪽 네 방향으로 배치를 바꿀 수 있어, 파일 트리 옆이나 위아래, 혹은 편집기 오른쪽 끝에 둘 수 있다.

바닥에 고정돼 있던 입력창을 떼어내다

명령 입력창이 더 이상 창 하단에만 머무르지 않는다. Command Palette Position 설정으로 아래·위·가운데를 고를 수 있는데, 가운데를 선택하면 입력창과 후보 목록이 문서 패널 크기를 바꾸지 않고 편집 영역 위에 떠서 표시된다. 특히 가운데 배치에서는 필터링으로 목록이 짧아져도 입력창의 상단 모서리가 흔들리지 않고 고정돼, 결과가 줄어들 때마다 창이 위아래로 움직이던 불편을 없앴다. 전역 프로젝트 검색도 마찬가지로 왼쪽·오른쪽·가운데 팝업 중 하나를 선택할 수 있고, 가운데 뷰는 실시간 검색이 결과를 갱신하는 동안에도 열린 채 유지된다.

이 변화들의 바탕에는 공유 플로팅 뷰 API가 깔려 있다. 메뉴, 자동완성 팝업, 대화상자가 각자 편집기 이벤트를 가로채는 대신 동일한 배치·포커스·마우스 처리 로직을 함께 쓰도록 한 것이다. 플러그인 작성자 입장에서는 떠 있는 UI를 만들 때마다 반복하던 기반 작업을 줄일 수 있다. 여기에 CommandView는 입력값·선택·결과 스크롤 위치의 스냅샷을 선택적으로 기억해, 반복 검색이나 명령을 이어갈 수 있게 한다. 다만 'Go To Line' 검색이 엉뚱한 문서로 따라붙지 않도록 맥락 검사를 두어 상태 복원의 부작용을 막았다.

세션 관리와 트리뷰 보강

직전 릴리스가 자동 세션 복원을 고쳤다면, 이번에는 저장된 세션 가운데 어떤 것을 불러올지 고르고 필요 없는 세션을 지우는 기능이 더해졌다. File > Sessions 메뉴나 workspace:load-session 등의 명령으로 접근한다. 다른 세션을 불러오기 전에 프래그티컬은 저장하지 않은 텍스트를 포함해 현재 워크스페이스를 백업하며, 불러오기는 문서 레이아웃을 교체하지만 세션 삭제는 열려 있는 탭을 건드리지 않는다. 이 동작들은 모두 현재 프로젝트에 한정되어 다른 프로젝트의 세션에는 영향을 주지 않는다.

기여자 Vinfall의 작업으로 파일 트리는 접힌 디렉터리 안에 파일이 몇 개 있는지 표시할 수 있게 됐다. 집계는 트리의 숨김·무시 파일 설정을 따르며, 후속 작업에서 디렉터리를 순회하는 스캔이 중간중간 양보하도록 만들어 대규모 집계 중에도 에디터가 멈추지 않게 했다. 다만 이 기능은 기본적으로 꺼져 있어 설정에서 직접 켜야 한다. 플러그인 관리자도 검색·분류·상태 필터, 정렬, 상세 창, 여러 플러그인을 한 번에 고르는 체크박스를 갖춰 설치·업그레이드·제거를 묶어 처리할 수 있도록 개편됐다.

성능 면에서는 메인 루프가 긴 대기에는 SDL 이벤트를, 짧은 프레임 지연에는 정밀 슬립을 쓰도록 바뀌었다. 창이 포커스를 잃었을 때의 유휴 CPU 사용량은 PR #645에서 공유된 측정 기준으로 코어 하나의 1.6%에서 약 0.24%로 떨어졌는데, 이 수치는 작업 부하와 켜 둔 플러그인에 따라 달라진다는 단서가 붙는다. 그밖에 접힌 패널이 음수 크기를 받아 숨겨진 내용이 계속 다시 그려지던 문제, 애니메이션이 정확한 목적지에서 끝나지 않아 플로팅 뷰가 닫힐 때 테두리가 남던 문제 등이 함께 정리됐고, 번들 의존성도 SDL3 3.4.18과 FreeType 2.15.0 등으로 갱신됐다.

정리하면 이번 v3.14는 새로운 편집 기능보다 '이미 있는 기능을 어떻게 보여주고 어디에 둘 것인가'에 집중한 릴리스다. 메뉴와 플로팅 뷰로 발견성을 높이고 배치의 자유도를 넓힌 점은 키보드 중심 사용자뿐 아니라 마우스에 익숙한 실무자에게도 문턱을 낮춘다. 반대로 파일 카운트처럼 기본 비활성 상태인 기능이 있고 CPU 개선 효과가 환경에 좌우된다는 점은, 도입 시 자신의 워크플로에 맞춰 옵션을 직접 조정해 봐야 한다는 뜻이기도 하다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://pragtical.dev/blog/pragtical-v3140-release
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기 →
처리 중...