# CudaText 플러그인: "Disk Wins"(외부 변경 시 강제 자동 다시 로드) CudaText에는 파일이 생성되는 순간 자동으로 파일을 다시 로드하는 내장 옵션이 없습니다. 디스크 변경 — 모든 내장된 "디스크 변경" 모드에는 여전히 일부 내용이 표시됩니다. 다시 로드하기 전 일종의 프롬프트(모달 또는 모달 없음) (`default.json`의 `ui_notif_confirm` 참조, 값 `0`-`4`, 모두 묻다). 이 플러그인은 이러한 격차를 해소합니다. **디스크가 항상 승리**하며 프롬프트가 표시되지 않습니다. 여기에 보관되어 있으므로 누구도 이에 대해 CudaText 플러그인 API를 다시 파생할 필요가 없습니다. 다시. 플러그인 자체에 대한 진실의 출처는 다음과 같습니다. 이 폴더에 [`cuda_disk_wins/`](.././cuda_disk_wins/)가 있습니다. ## 기능 - 열려 있고 명명된 모든 파일을 초당 한 번씩 폴링합니다(다음을 통해 구성 가능). `__init__.py`의 `TIMER_INTERVAL`). - 디스크에 있는 파일의 mtime이 변경되면 플러그인은 이를 다시 읽고 호출합니다. `Editor.set_text_all()` — **저장되지 않은 변경 사항을 덮어씁니다. 묻지 않고 편집기 탭 **. - 나중에 "수정된" 플래그를 지웁니다(`PROP_MODIFIED = False`). 탭은 아무것도 갈라지지 않은 것처럼 깨끗해 보입니다. - 최선의 노력으로 캐럿 위치와 이후에 보이는 맨 위 줄이 복원됩니다. 다시 로드합니다. - `Plugins → Disk Wins` 아래에 두 개의 명령을 추가합니다: - `자동 재장전 켜기/끄기 전환` - `지금 확인`(수동 원샷 확인) ## 설정 대신 플러그인이 필요한 이유 CudaText의 자체 파일 감시자(`ui_notif`)는 "질문" 동작만 제공합니다. | `ui_notif_confirm` | 행동 | |---------|--------------------------| | 0 | 모달 없는 프롬프트, 항상 | | 1 | 모달 없는 프롬프트, 편집기가 수정되었거나 비어 있지 않은 경우 실행 취소 | | 2 | 모달 없는 프롬프트(편집기가 수정된 경우) | | 3 | 모달 프롬프트, 항상 | | 4 | 모달 프롬프트(편집기가 수정된 경우) | "자동으로 다시 로드, 프롬프트 없음, 계속 진행"을 의미하는 값은 없습니다. 따라서 자체 폴링 루프를 실행하고 다시 로드하는 이 작은 플러그인은 Python API를 통해 직접적으로. ## 설치 ```bash mkdir -p ~/.config/cudatext/py cp -r cuda_disk_wins ~/.config/cudatext/py/ ``` CudaText를 다시 시작하십시오. **중요:** 또한 CudaText의 자체 변경 알림 대화 상자를 비활성화하여 플러그인과 싸우지 않습니다. ~ 안에 `~/.config/cudatext/settings/user.json`: ```json { "ui_notif": false } ``` (UI의 `옵션 → 설정 – 사용자 구성`과 동일합니다.) 다시 시작 이 변경 후에 CudaText를 다시 사용하세요. ## 주의사항 - 이는 의도적으로 파괴적입니다. 저장되지 않은 편집 편집 내용은 삭제됩니다. 파일이 외부적으로 변경되는 순간 조용히. 그게 전부야 플러그인의 요점 — 가끔 유지하고 싶다면 설치하지 마세요. 외부 변경 사항에 대한 로컬 편집. - 파일의 mtime 변경에만 반응합니다. 편집기 자체에 입력 다시 로드를 트리거하지 않습니다(피드백 루프 없음). - 파일이 외부에서 삭제되면 플러그인은 파일이 삭제될 때까지 아무 작업도 수행하지 않습니다. 다시 나타납니다(충돌 없음, 반복적인 재로드 시도 없음). - 인코딩은 `PROP_ENC`를 통해 읽고 가장 가까운 Python 코덱에 매핑됩니다. 아직 인코딩을 사용하지 않는 경우 `__init__.py`에서 `ENC_MAP`을 확장하세요. 나열되어 있습니다. ## 기원 저장되지 않은 편집기보다 파일 시스템 변경을 항상 선호하도록 제작됨 버퍼, 확인 없음" 요구 사항은 CudaText를 설정할 때 논의됨 Arch의 `yay -S cudatext-qt6-bin python`을 통해.