Download packages/tui/src/context/path-format.tsx from SaylorTwift/opencode: direct link, hf CLI and curl.
- Browser
- Download file 830 Bytes
-
https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/tui/src/context/path-format.tsx
- Command line
-
hf download hf://SaylorTwift/opencode/packages/tui/src/context/path-format.tsx
-
curl -L -o path-format.tsx https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/tui/src/context/path-format.tsx
830 Bytes
| import path from "path" | |
| import { abbreviateHome } from "../runtime" | |
| import { useLocation } from "./location" | |
| import { useTuiPaths } from "./runtime" | |
| export function usePathFormatter() { | |
| const paths = useTuiPaths() | |
| const location = useLocation() | |
| return { | |
| path: () => location()?.directory || paths.cwd, | |
| format: (input?: string) => formatPath(input, location()?.directory || paths.cwd, paths.home), | |
| } | |
| } | |
| function formatPath(input: string | undefined, base: string, home: string) { | |
| if (typeof input !== "string" || !input) return "" | |
| const absolute = path.isAbsolute(input) ? input : path.resolve(base, input) | |
| const relative = path.relative(base, absolute) | |
| if (!relative) return "." | |
| if (relative !== ".." && !relative.startsWith(".." + path.sep)) return relative | |
| return abbreviateHome(absolute, home) | |
| } | |