[Phase L15] WSL·환율·BMI·Markdown 핸들러 4종 추가

WslHandler.cs (신규, ~275줄, prefix=wsl):
- wsl --list --verbose 서브프로세스 기반 distro 목록 (Encoding.Unicode)
- 상태별 아이콘: Running=\uE768, Stopped=\uE756
- 서브커맨드: stop [all/distro] · default <distro> · 이름 검색 실행
- wt.exe(Windows Terminal) 우선 실행, 없으면 UseShellExecute 폴백
- Data 튜플: launch / shutdown / terminate / set_default

CurrencyHandler.cs (신규, ~185줄, prefix=currency):
- KRW/USD/EUR/JPY/CNY/GBP/HKD/TWD/SGD/AUD/CAD/CHF/MYR/THB/VND 15개 통화 내장
- currency 100 usd → KRW 환산, currency 100 usd eur → 크로스 환산
- 한글 별칭(달러/엔/위안/유로 등) 지원
- currency rates → 전체 환율표
- JPY/KRW/VND 소수점 0자리, 기타 2자리 포맷

BmiHandler.cs (신규, ~210줄, prefix=bmi):
- bmi 170 65 → BMI 지수 + WHO 아시아태평양 기준 판정 + 적정 체중
- bmi 170 65 30 m → Harris-Benedict 기초대사량 + 5단계 활동 칼로리
- bmi ideal 170 → 키 기준 정상/과체중/비만 체중 범위 계산
- GetGrade(): 저체중/정상/과체중/비만1단계/비만2단계 switch expression

MdHandler.cs (신규, ~280줄, prefix=md, partial class):
- 클립보드 Markdown 자동 읽기 (ContainsText/GetText)
- md toc: 앵커 생성 포함 TOC 목차 생성
- md strip: Regex 기반 마크다운 기호 완전 제거 → 순수 텍스트
- md count: 줄/단어/문자/제목/코드블록/목록/링크/이미지/볼드 통계
- md links / md images: URL 목록 추출
- [GeneratedRegex] 소스 생성기 활용 (partial class 필수)

App.xaml.cs (수정): Phase L15 핸들러 4종 RegisterHandler 추가
docs/LAUNCHER_ROADMAP.md (수정): Phase L15 섹션 추가 ( 완료)
빌드: 경고 0, 오류 0
This commit is contained in:
2026-04-04 15:05:45 +09:00
parent f9c4bc0122
commit bf0a1dce74
6 changed files with 1085 additions and 0 deletions

View File

@@ -321,3 +321,16 @@ public record HotkeyAssignment(string HotkeyStr, string TargetPath, string Label
| L14-2 | **레지스트리 조회** ✅ | `reg` 프리픽스. HKCU/HKLM/HKCR/HKU/HKCC 모든 하이브 지원. 하위 키·값 목록 표시. 값 타입(REG_SZ/DWORD/BINARY/MULTI_SZ) 포맷 출력. 9개 즐겨찾기 경로 빠른 접근. `reg search` 즐겨찾기 필터. 조회 전용(쓰기/삭제 없음) | 높음 |
| L14-3 | **팁·할인·분할 계산기** ✅ | `tip` 프리픽스. 금액만 입력 시 10/15/18/20/25% 팁 전체 표시. `tip 금액 %` 특정 팁. `tip 금액 % 인원` 팁+분할. `tip 금액 off %` 할인가 계산. `tip 금액 vat` VAT 포함/역산. `tip 금액 / 인원` 균등 분할. 100원 단위 올림 계산 | 높음 |
| L14-4 | **시스템 폰트 목록** ✅ | `font` 프리픽스. `Fonts.SystemFontFamilies` WPF API 기반. 설치 폰트 전체 목록 캐시(최초 1회 로드). `font 맑은/nanum/mono` 키워드 필터. 한글·나눔·코딩·Arial·Times 그룹 힌트. 검색 결과 전체 일괄 복사 지원 | 중간 |
---
## Phase L15 — WSL·환율·건강·Markdown 도구 (v2.0.7) ✅ 완료
> **방향**: 개발자 편의·생활 실용 도구 보강 — WSL 관리, 환율 변환, BMI 계산, Markdown 분석.
| # | 기능 | 설명 | 우선순위 |
|---|------|------|----------|
| L15-1 | **WSL 관리** ✅ | `wsl` 프리픽스. `wsl --list --verbose` 서브프로세스 기반 distro 목록(UTF-16 인코딩). 상태(Running/Stopped) 아이콘 구분. `wsl stop [all/distro]` 종료. `wsl default <distro>` 기본 설정. distro 이름 직접 검색 → 실행. Windows Terminal(wt.exe) 우선, 없으면 UseShellExecute 폴백 | 높음 |
| L15-2 | **환율 변환기** ✅ | `currency` 프리픽스. KRW/USD/EUR/JPY/CNY/GBP/HKD/TWD/SGD/AUD/CAD/CHF/MYR/THB/VND 15개 통화 내장. `currency 100 usd` → KRW 환산. `currency 100 usd eur` → 크로스 환산. `currency 50000 krw usd`. `currency rates` 전체 환율표. 한글 별칭(달러/엔/위안) 지원. JPY/KRW/VND 소수점 0자리 포맷 | 높음 |
| L15-3 | **BMI·건강 계산기** ✅ | `bmi` 프리픽스. `bmi 170 65` BMI 지수 + WHO 아시아태평양 기준 판정. 적정 체중 범위(BMI 18.5~22.9). `bmi 170 65 30 m` 나이+성별 포함 시 Harris-Benedict 기초대사량 + 5단계 활동별 권장 칼로리. `bmi ideal 170` 키 기준 적정/과체중/비만 체중 범위 | 높음 |
| L15-4 | **Markdown 분석기** ✅ | `md` 프리픽스. 클립보드 Markdown 자동 읽기. `md toc` 앵커 포함 목차(TOC) 생성. `md strip` 마크다운 기호 완전 제거 → 순수 텍스트. `md count` 줄/단어/문자/제목/코드블록/목록/링크/이미지/볼드 통계. `md links` 링크 목록 추출. `md images` 이미지 URL 목록. [GeneratedRegex] 소스 생성기 활용 | 높음 |