FileTagService.cs (140줄) — 신규:
- 파일·폴더에 사용자 태그 부여 서비스 (싱글턴)
- AddTag / RemoveTag / ClearTags / GetTags / GetFilesByTag / GetAllTags / HasTags
- %APPDATA%\AxCopilot\file_tags.json 로컬 저장 (key=경로, value=태그목록)
- 태그 정규화: 소문자 + 공백→하이픈 변환
TagHandler.cs (190줄) — 신규:
- "tag" 프리픽스 핸들러 (IActionHandler 구현)
- tag → 전체 태그 목록 (파일 수 내림차순)
- tag work → "work" 태그 파일 목록 (prefix match + contains)
- tag add [태그] [경로] → 파일에 태그 추가 (Enter로 확정)
- tag del [태그] [경로] → 파일에서 태그 제거 (Enter로 확정)
- tag clear [경로] → 파일의 모든 태그 삭제 (Enter로 확정)
- 파일 열기: Process.Start UseShellExecute
Symbols.cs (+1줄):
- Tag = "\uEAB4" 심볼 상수 추가
LauncherViewModel.cs (+2줄):
- PrefixMap에 "tag" → ("태그", Symbols.Tag, "#6366F1") 추가
App.xaml.cs (+2줄):
- Phase L3 핸들러 섹션에 TagHandler 등록
docs/LAUNCHER_ROADMAP.md:
- L3-1~L3-5 완료 표시 (✅)
빌드: 경고 0, 오류 0
137 lines
10 KiB
C#
137 lines
10 KiB
C#
namespace AxCopilot.Themes;
|
|
|
|
/// <summary>
|
|
/// Segoe MDL2 Assets 폰트 유니코드 심볼 상수.
|
|
/// Windows 10+ 에 기본 포함되어 있습니다.
|
|
/// 참고: https://learn.microsoft.com/en-us/windows/apps/design/style/segoe-ui-symbol-font
|
|
/// </summary>
|
|
internal static class Symbols
|
|
{
|
|
// ─── 검색 / 입력 ─────────────────────────────────────────────────────────
|
|
public const string Search = "\uE721"; // 돋보기 (기본 검색 아이콘)
|
|
|
|
// ─── 핸들러 타입별 아이콘 ─────────────────────────────────────────────────
|
|
public const string Globe = "\uE774"; // 지구본 (URL @)
|
|
public const string Folder = "\uE8B7"; // 폴더 (폴더 ~)
|
|
public const string Terminal = "\uE756"; // 터미널/명령 (배치 >)
|
|
public const string LaunchIcon = "\uE7C4"; // 실행/런치 (Windows Run ^)
|
|
public const string Clipboard = "\uE77F"; // 클립보드 (클립보드 $)
|
|
public const string Workspace = "\uE8A1"; // 창 배치 (워크스페이스 !)
|
|
public const string Cloud = "\uE82D"; // 클라우드 (API/JSON 스킬)
|
|
public const string Plugin = "\uECCA"; // 플러그인 (외부 플러그인)
|
|
|
|
// ─── 파일 인덱스 타입 ────────────────────────────────────────────────────
|
|
public const string App = "\uECAA"; // 앱 실행 파일 (.exe)
|
|
public const string File = "\uE8A5"; // 일반 파일 (.lnk, .bat, .ps1)
|
|
public const string Excel = "\uE9F9"; // 엑셀/스프레드시트
|
|
public const string Word = "\uE8A5"; // 워드/문서 (File과 동일)
|
|
public const string Slides = "\uEE71"; // 프레젠테이션
|
|
public const string Pdf = "\uEA90"; // PDF
|
|
public const string Image = "\uEB9F"; // 이미지 (Picture와 동일)
|
|
public const string Video = "\uE714"; // 동영상
|
|
public const string Music = "\uEC4F"; // 음악
|
|
public const string Archive = "\uE8C6"; // 압축 파일
|
|
public const string Code = "\uE943"; // 코드/소스
|
|
public const string Config = "\uE713"; // 설정 파일
|
|
public const string TextFile = "\uE8D2"; // 텍스트 파일
|
|
public const string Web = "\uE774"; // 웹 파일 (Globe와 동일)
|
|
|
|
// ─── 상태 아이콘 ──────────────────────────────────────────────────────────
|
|
public const string Warning = "\uE7BA"; // 경고
|
|
public const string Error = "\uEA39"; // 오류
|
|
public const string Info = "\uE946"; // 정보
|
|
|
|
// ─── 액션 ────────────────────────────────────────────────────────────────
|
|
public const string Save = "\uE74E"; // 저장
|
|
public const string Delete = "\uE74D"; // 삭제
|
|
public const string Rename = "\uE8AC"; // 이름 변경
|
|
public const string Restore = "\uE72C"; // 복원
|
|
|
|
// ─── 계산기 ───────────────────────────────────────────────────────────────
|
|
public const string Calculator = "\uE8EF"; // 계산기
|
|
public const string Equal = "\uE8D2"; // = 결과
|
|
|
|
// ─── 스니펫 ───────────────────────────────────────────────────────────────
|
|
public const string Snippet = "\uE70B"; // 코드 스니펫 / 번개
|
|
public const string Text = "\uE8D2"; // 텍스트
|
|
|
|
// ─── 클립보드 히스토리 ────────────────────────────────────────────────────
|
|
public const string History = "\uE81C"; // 히스토리 / 시계
|
|
public const string ClipPaste = "\uE77F"; // 클립보드 + 붙여넣기 (기존 Clipboard와 구분)
|
|
public const string Picture = "\uEB9F"; // 사진/이미지 (클립보드 이미지 항목)
|
|
|
|
// ─── 시스템 명령 ──────────────────────────────────────────────────────────
|
|
public const string Lock = "\uE72E"; // 화면 잠금
|
|
public const string Sleep = "\uEC46"; // 절전
|
|
public const string Power = "\uE7E8"; // 전원 / 종료
|
|
public const string Restart = "\uE777"; // 재시작
|
|
public const string Logout = "\uF3B1"; // 로그아웃
|
|
public const string RecycleBin = "\uE74D"; // 휴지통 비우기 (Delete와 동일 코드포인트)
|
|
|
|
// ─── 미디어 컨트롤 ────────────────────────────────────────────────────────
|
|
public const string MediaPlay = "\uE768"; // 재생 / 일시정지
|
|
public const string MediaNext = "\uE893"; // 다음 트랙
|
|
public const string MediaPrev = "\uE892"; // 이전 트랙
|
|
public const string VolumeUp = "\uE995"; // 볼륨 올리기
|
|
public const string VolumeDown = "\uE993"; // 볼륨 낮추기
|
|
public const string VolumeMute = "\uE74F"; // 음소거
|
|
|
|
// ─── 시스템 정보 ──────────────────────────────────────────────────────────
|
|
public const string Computer = "\uE7F4"; // 컴퓨터 / PC
|
|
public const string Person = "\uE77B"; // 사용자
|
|
public const string Network = "\uE968"; // 네트워크 / Wi-Fi
|
|
public const string Battery = "\uE83F"; // 배터리
|
|
public const string BatteryCharging = "\uE83E"; // 배터리 충전 중
|
|
public const string BatteryLow = "\uEBA0"; // 배터리 낮음
|
|
public const string Clock = "\uE823"; // 시계 / 가동시간
|
|
public const string Processor = "\uE950"; // CPU / 프로세서
|
|
public const string Memory = "\uE950"; // RAM / 메모리 (프로세서 아이콘 공유)
|
|
public const string Storage = "\uEDA2"; // 디스크 / 저장소
|
|
|
|
// ─── 신규 핸들러 아이콘 ───────────────────────────────────────────────────
|
|
public const string Emoji = "\uE76E"; // 이모지 피커 (감정 표현)
|
|
public const string ColorPicker = "\uE771"; // 색상 팔레트
|
|
public const string Timer = "\uE916"; // 타이머 / 알람
|
|
public const string RecentFiles = "\uE81C"; // 최근 파일 (시계)
|
|
public const string Currency = "\uE8EE"; // 통화 / 환율
|
|
public const string Uninstall = "\uE74D"; // 앱 제거 (삭제)
|
|
public const string Note = "\uE70B"; // 빠른 메모 (번개/메모)
|
|
|
|
// ─── v1.6 신규 핸들러 아이콘 ──────────────────────────────────────────────
|
|
public const string PortIcon = "\uE968"; // 포트/네트워크 점검 (Network와 동일)
|
|
public const string EnvVar = "\uE8D7"; // 환경변수 (코드/설정)
|
|
public const string JsonValid = "\uE930"; // JSON 유효 (체크)
|
|
public const string JsonFormat = "\uE8A4"; // JSON 포맷 (문서)
|
|
public const string JsonMinify = "\uE8C6"; // JSON 미니파이 (압축)
|
|
public const string EncodeIcon = "\uE8CB"; // 인코딩/해싱 (열쇠)
|
|
public const string SnapLayout = "\uE8A0"; // 창 스냅 (레이아웃)
|
|
public const string CaptureIcon = "\uE722"; // 화면 캡처 (카메라)
|
|
public const string ScrollCapture = "\uE8F4"; // 스크롤 캡처 (스크롤)
|
|
|
|
// ─── v1.8 신규 아이콘 ─────────────────────────────────────────────────────
|
|
public const string ReminderBell = "\uEA8F"; // 잠금 해제 알림 (벨)
|
|
public const string Lightbulb = "\uE82F"; // 전구 (아이디어 / 자동 실행)
|
|
|
|
// ─── v1.0 추가 핸들러 아이콘 ───────────────────────────────────────────────
|
|
public const string EyeDropper = "\uEF3C"; // 스포이드 (색상 추출)
|
|
public const string DateIcon = "\uE787"; // 달력 (날짜 계산)
|
|
public const string ServiceIcon = "\uE912"; // 서비스 (기어)
|
|
|
|
public const string PipeIcon = "\uE8C8"; // 파이프라인 (체인)
|
|
public const string JournalIcon = "\uE70B"; // 업무 일지 (메모)
|
|
public const string RoutineIcon = "\uE82F"; // 루틴 (전구)
|
|
public const string BatchIcon = "\uE8C6"; // 일괄 처리 (압축)
|
|
public const string DiffIcon = "\uE89A"; // 비교 (분기)
|
|
public const string WindowIcon = "\uE8A7"; // 윈도우 스위처 (창)
|
|
|
|
// ─── v1.0 유틸리티 핸들러 아이콘 ────────────────────────────────────────────
|
|
public const string TextStats = "\uE8D2"; // 텍스트 통계 (= 결과)
|
|
public const string Favorite = "\uE728"; // 즐겨찾기 (별)
|
|
public const string RenameIcon = "\uE8AC"; // 이름 변경 (Rename와 동일)
|
|
public const string MonitorIcon = "\uE7F4"; // 시스템 모니터 (Computer와 동일)
|
|
public const string ScaffoldIcon = "\uE8F1"; // 스캐폴딩 (프로젝트 구조)
|
|
|
|
// ─── Phase L3-5 태그 시스템 ────────────────────────────────────────────────
|
|
public const string Tag = "\uEAB4"; // 파일 태그 (레이블)
|
|
}
|