Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ Works with any CLI agent. Built for local worktree-based development.
| **Excel 描画オブジェクト・斜線表示** | Excel ファイルの描画オブジェクト(線・矩形)とセル斜線を表示。xlsx ZIP から drawing XML を直接パースし、CSS transform 方式の SVG オーバーレイで正確に配置 | [#16](https://github.com/MocA-Love/superset/pull/16) | 2026-03-29 |
| **Chrome 拡張機能インストール** | Chrome Web Store の URL または拡張 ID からブラウザ拡張機能をインストール。CRX ダウンロード・展開、互換性チェック(Electron 非対応 API 検出)、設定画面での管理(有効/無効/削除)。BrowserPane ツールバーに拡張アイコンを表示し、クリックでポップアップウィンドウを表示。GPL ライブラリ不使用、Electron 標準 API のみで自前実装 | [#20](https://github.com/MocA-Love/superset/pull/20) | 2026-03-29 |
| **Excel diff インラインハイライト** | Excel 差分表示で変更セル内のテキスト差分を文字レベルでインライン表示。追加部分は緑、削除部分は赤+取り消し線。セルからはみ出る場合はホバーでツールチップにフル差分を表示 | [#19](https://github.com/MocA-Love/superset/pull/19) | 2026-03-29 |
| **Files タブのツールチップ** | ファイルツリーのファイル/フォルダ名にホバーで相対パスをツールチップ表示。ツールバーのトグルボタンで ON/OFF 切り替え、設定は永続化 | [#22](https://github.com/MocA-Love/superset/pull/22) | 2026-03-29 |

## Fork のビルド方法 (macOS)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {
ContextMenuSeparator,
ContextMenuTrigger,
} from "@superset/ui/context-menu";
import { Tooltip, TooltipContent, TooltipTrigger } from "@superset/ui/tooltip";
import { cn } from "@superset/ui/utils";
import {
LuChevronDown,
Expand All @@ -20,6 +21,7 @@ import {
LuTrash2,
} from "react-icons/lu";
import type { DirectoryEntry } from "shared/file-tree-types";
import { useFileExplorerStore } from "renderer/stores/file-explorer";
import { useFileDrag, usePathActions } from "../../../ChangesView/hooks";
import { FileIcon } from "../../utils";

Expand Down Expand Up @@ -52,6 +54,7 @@ export function FileTreeItem({
onRename,
onDelete,
}: FileTreeItemProps) {
const showFileTooltips = useFileExplorerStore((s) => s.showFileTooltips);
const isFolder = entry.isDirectory;
const isExpanded = item.isExpanded();
const level = item.getItemMeta().level;
Expand Down Expand Up @@ -143,7 +146,18 @@ export function FileTreeItem({
className="size-4 shrink-0"
/>

<span className="flex-1 min-w-0 text-xs truncate">{entry.name}</span>
{showFileTooltips ? (
<Tooltip>
<TooltipTrigger asChild>
<span className="flex-1 min-w-0 text-xs truncate">
{entry.name}
</span>
</TooltipTrigger>
<TooltipContent side="right">{entry.relativePath}</TooltipContent>
</Tooltip>
) : (
<span className="flex-1 min-w-0 text-xs truncate">{entry.name}</span>
)}
</div>
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@ import {
LuChevronsDownUp,
LuFilePlus,
LuFolderPlus,
LuMessageSquareText,
LuRefreshCw,
LuX,
} from "react-icons/lu";
import { useFileExplorerStore } from "renderer/stores/file-explorer";
import { SEARCH_DEBOUNCE_MS } from "../../constants";

interface FileTreeToolbarProps {
Expand All @@ -30,6 +32,7 @@ export function FileTreeToolbar({
onRefresh,
isRefreshing = false,
}: FileTreeToolbarProps) {
const { showFileTooltips, toggleFileTooltips } = useFileExplorerStore();
const [localSearchTerm, setLocalSearchTerm] = useState(searchTerm);
const debounceTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);

Expand Down Expand Up @@ -157,6 +160,22 @@ export function FileTreeToolbar({
</TooltipTrigger>
<TooltipContent side="bottom">Refresh</TooltipContent>
</Tooltip>

<Tooltip>
<TooltipTrigger asChild>
<Button
variant="ghost"
size="icon"
className={`size-6 ${showFileTooltips ? "bg-accent" : ""}`}
onClick={toggleFileTooltips}
>
<LuMessageSquareText className="size-3.5" />
</Button>
</TooltipTrigger>
<TooltipContent side="bottom">
{showFileTooltips ? "Hide Tooltips" : "Show Tooltips"}
</TooltipContent>
</Tooltip>
</div>
</div>
);
Expand Down
8 changes: 8 additions & 0 deletions apps/desktop/src/renderer/stores/file-explorer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ interface FileExplorerState {
searchTerm: Record<string, string>;
sortBy: SortBy;
sortDirection: SortDirection;
showFileTooltips: boolean;
toggleFolder: (worktreePath: string, folderId: string) => void;
setExpandedFolders: (worktreePath: string, folderIds: string[]) => void;
expandFolder: (worktreePath: string, folderId: string) => void;
Expand All @@ -22,6 +23,7 @@ interface FileExplorerState {
setSearchTerm: (worktreePath: string, term: string) => void;
setSortBy: (sortBy: SortBy) => void;
setSortDirection: (direction: SortDirection) => void;
toggleFileTooltips: () => void;
}

export const useFileExplorerStore = create<FileExplorerState>()(
Expand All @@ -33,6 +35,7 @@ export const useFileExplorerStore = create<FileExplorerState>()(
searchTerm: {},
sortBy: "name",
sortDirection: "asc",
showFileTooltips: false,

toggleFolder: (worktreePath, folderId) => {
const current = get().expandedFolders[worktreePath] || [];
Expand Down Expand Up @@ -143,13 +146,18 @@ export const useFileExplorerStore = create<FileExplorerState>()(
setSortDirection: (direction) => {
set({ sortDirection: direction });
},

toggleFileTooltips: () => {
set({ showFileTooltips: !get().showFileTooltips });
},
}),
{
name: "file-explorer-store",
partialize: (state) => ({
sortBy: state.sortBy,
sortDirection: state.sortDirection,
expandedFolders: state.expandedFolders,
showFileTooltips: state.showFileTooltips,
}),
},
),
Expand Down