History

refactor(shared): remove retired PATH capture parser (#9991)

Julius Marminge committed 2 months ago

Commit da1bebb1 parent c6410d32 files · +0 −37Browse files

Unified · Split

2 files
  1. packages/shared/src/shell.test.ts +0 −23
  2. packages/shared/src/shell.ts +0 −14
packages/shared/src/shell.test.ts+0−23
@@ -8,7 +8,6 @@ import * as TestClock from "effect/testing/TestClock"; · 7 unmodified lines
88 import { describe, expect, it, vi } from "vite-plus/test";
99
1010 import {
11− extractPathFromShellOutput,
1211 CommandAvailability,
1312 CommandResolutionCache,
1413 type CommandAvailabilityChecker,
@@ -39,28 +38,6 @@ const withWindowsEnvironmentMocks = <A, E, R>( · 24 unmodified lines
3938 Effect.provideService(CommandAvailability, commandAvailable),
4039 );
4140
42−describe("extractPathFromShellOutput", () => {
43− it("extracts the path between capture markers", () => {
44− expect(
45− extractPathFromShellOutput(
46− "__T3CODE_PATH_START__\n/opt/homebrew/bin:/usr/bin\n__T3CODE_PATH_END__\n",
47− ),
48− ).toBe("/opt/homebrew/bin:/usr/bin");
49− });
50−
51− it("ignores shell startup noise around the capture markers", () => {
52− expect(
53− extractPathFromShellOutput(
54− "Welcome to fish\n__T3CODE_PATH_START__\n/opt/homebrew/bin:/usr/bin\n__T3CODE_PATH_END__\nBye\n",
55− ),
56− ).toBe("/opt/homebrew/bin:/usr/bin");
57− });
58−
59− it("returns null when the markers are missing", () => {
60− expect(extractPathFromShellOutput("/opt/homebrew/bin /usr/bin")).toBeNull();
61− });
62−});
63−
6441 describe("readPathFromLoginShell", () => {
6542 it("uses a shell-agnostic printenv PATH probe", () => {
6643 const execFile = vi.fn<
packages/shared/src/shell.ts+0−14
@@ -12,8 +12,6 @@ import * as Path from "effect/Path"; · 11 unmodified lines
1212 import { HostProcessEnvironment, HostProcessPlatform } from "./hostProcess.ts";
1313 import * as Context from "effect/Context";
1414
15−const PATH_CAPTURE_START = "__T3CODE_PATH_START__";
16−const PATH_CAPTURE_END = "__T3CODE_PATH_END__";
1715 const SHELL_ENV_NAME_PATTERN = /^[A-Z0-9_]+$/;
1816 const WINDOWS_PATH_DELIMITER = ";";
1917 const POSIX_PATH_DELIMITER = ":";
@@ -179,18 +177,6 @@ export function listLoginShellCandidates( · 159 unmodified lines
179177 return candidates;
180178 }
181179
182−export function extractPathFromShellOutput(output: string): string | null {
183− const startIndex = output.indexOf(PATH_CAPTURE_START);
184− if (startIndex === -1) return null;
185−
186− const valueStartIndex = startIndex + PATH_CAPTURE_START.length;
187− const endIndex = output.indexOf(PATH_CAPTURE_END, valueStartIndex);
188− if (endIndex === -1) return null;
189−
190− const pathValue = output.slice(valueStartIndex, endIndex).trim();
191− return pathValue.length > 0 ? pathValue : null;
192−}
193−
194180 export function readPathFromLoginShell(
195181 shell: string,
196182 execFile: ExecFileSyncLike = NodeChildProcess.execFileSync,