diff --git a/webview-ui/src/components/ChatRow.tsx b/webview-ui/src/components/ChatRow.tsx
index 1d9cb75..e56c68c 100644
--- a/webview-ui/src/components/ChatRow.tsx
+++ b/webview-ui/src/components/ChatRow.tsx
@@ -4,7 +4,7 @@ import React, { memo, useMemo } from "react"
import ReactMarkdown from "react-markdown"
import { ClaudeMessage, ClaudeSayTool } from "../../../src/shared/ExtensionMessage"
import { COMMAND_OUTPUT_STRING } from "../../../src/shared/combineCommandSequences"
-import CodeAccordian, { removeLeadingNonAlphanumeric } from "./CodeAccordian"
+import CodeAccordian, { formatFilePathForTruncation } from "./CodeAccordian"
import CodeBlock, { CODE_BLOCK_BG_COLOR } from "./CodeBlock"
import Thumbnails from "./Thumbnails"
import { vscode } from "../utils/vscode"
@@ -228,8 +228,9 @@ const ChatRowContent = ({ message, isExpanded, onToggleExpand, lastModifiedMessa
marginRight: "8px",
direction: "rtl",
textAlign: "left",
+ unicodeBidi: "plaintext",
}}>
- {removeLeadingNonAlphanumeric(tool.path ?? "") + "\u200E"}
+ {formatFilePathForTruncation(tool.path ?? "") + "\u200E"}
path.replace(/^[^a-zA-Z0-9]+/, "")
+export const formatFilePathForTruncation = (path: string): string => path.replace(/^[^a-zA-Z0-9.]+/, "")
const CodeAccordian = ({ code, diff, language, path, isFeedback, isExpanded, onToggleExpand }: CodeAccordianProps) => {
const inferredLanguage = useMemo(
@@ -73,8 +73,9 @@ const CodeAccordian = ({ code, diff, language, path, isFeedback, isExpanded, onT
// trick to get ellipsis at beginning of string
direction: "rtl",
textAlign: "left",
+ unicodeBidi: "plaintext",
}}>
- {removeLeadingNonAlphanumeric(path ?? "") + "\u200E"}
+ {formatFilePathForTruncation(path ?? "") + "\u200E"}
>
)}
diff --git a/webview-ui/src/components/ContextMenu.tsx b/webview-ui/src/components/ContextMenu.tsx
index 67db54d..8c18857 100644
--- a/webview-ui/src/components/ContextMenu.tsx
+++ b/webview-ui/src/components/ContextMenu.tsx
@@ -1,6 +1,6 @@
import React, { useEffect, useRef, useState } from "react"
import { getContextMenuOptions } from "../utils/mention-context"
-import { removeLeadingNonAlphanumeric } from "./CodeAccordian"
+import { formatFilePathForTruncation } from "./CodeAccordian"
interface ContextMenuProps {
onSelect: (type: string, value: string) => void
@@ -79,8 +79,9 @@ const ContextMenu: React.FC = ({
textOverflow: "ellipsis",
direction: "rtl",
textAlign: "left",
+ unicodeBidi: "plaintext",
}}>
- {removeLeadingNonAlphanumeric(option.value) + "\u200E"}
+ {formatFilePathForTruncation(option.value) + "\u200E"}
)
}