From 7c21a4c8333e23b17162bb3d31d9e8975427f481 Mon Sep 17 00:00:00 2001 From: Saoud Rizwan <7799382+saoudrizwan@users.noreply.github.com> Date: Tue, 24 Sep 2024 11:36:37 -0400 Subject: [PATCH] Refactor out of utils --- src/core/ClaudeDev.ts | 8 ++++---- src/{utils => core/mentions}/context-mentions.ts | 10 +++++----- src/core/{webviews => webview}/ClaudeDevProvider.ts | 4 ++-- src/{utils => core/webview}/getNonce.ts | 0 src/{utils => core/webview}/getUri.ts | 0 src/exports/index.ts | 2 +- src/extension.ts | 2 +- .../diagnostics/index.ts} | 0 src/{utils => integrations/misc}/export-markdown.ts | 0 src/{utils => integrations/misc}/extract-text.ts | 0 src/{utils => integrations/misc}/open-file.ts | 2 +- src/{utils => integrations/misc}/process-images.ts | 0 .../workspace}/get-python-env.ts | 0 src/utils/index.ts | 8 ++++---- 14 files changed, 18 insertions(+), 18 deletions(-) rename src/{utils => core/mentions}/context-mentions.ts (94%) rename src/core/{webviews => webview}/ClaudeDevProvider.ts (99%) rename src/{utils => core/webview}/getNonce.ts (100%) rename src/{utils => core/webview}/getUri.ts (100%) rename src/{utils/diagnostics.ts => integrations/diagnostics/index.ts} (100%) rename src/{utils => integrations/misc}/export-markdown.ts (100%) rename src/{utils => integrations/misc}/extract-text.ts (100%) rename src/{utils => integrations/misc}/open-file.ts (97%) rename src/{utils => integrations/misc}/process-images.ts (100%) rename src/{utils => integrations/workspace}/get-python-env.ts (100%) diff --git a/src/core/ClaudeDev.ts b/src/core/ClaudeDev.ts index 418aff8..38f454e 100644 --- a/src/core/ClaudeDev.ts +++ b/src/core/ClaudeDev.ts @@ -13,7 +13,7 @@ import { ApiHandler, buildApiHandler } from "../api" import { TerminalManager } from "../integrations/terminal/TerminalManager" import { parseSourceCodeForDefinitionsTopLevel } from "../services/tree-sitter" import { listFiles } from "../services/glob/list-files" -import { ClaudeDevProvider } from "./webviews/ClaudeDevProvider" +import { ClaudeDevProvider } from "./webview/ClaudeDevProvider" import { ApiConfiguration } from "../shared/api" import { ClaudeRequestResult } from "../shared/ClaudeRequestResult" import { combineApiRequests } from "../shared/combineApiRequests" @@ -25,11 +25,11 @@ import { Tool, ToolName } from "../shared/Tool" import { ClaudeAskResponse } from "../shared/WebviewMessage" import { findLast, findLastIndex, formatContentBlockToMarkdown } from "../utils" import { truncateHalfConversation } from "../utils/context-management" -import { extractTextFromFile } from "../utils/extract-text" +import { extractTextFromFile } from "../integrations/misc/extract-text" import { regexSearchFiles } from "../services/ripgrep" -import { parseMentions } from "../utils/context-mentions" +import { parseMentions } from "./mentions/context-mentions" import { UrlContentFetcher } from "../services/browser/UrlContentFetcher" -import { diagnosticsToProblemsString, getNewDiagnostics } from "../utils/diagnostics" +import { diagnosticsToProblemsString, getNewDiagnostics } from "../integrations/diagnostics" import { arePathsEqual } from "../utils/path-helpers" const SYSTEM_PROMPT = async ( diff --git a/src/utils/context-mentions.ts b/src/core/mentions/context-mentions.ts similarity index 94% rename from src/utils/context-mentions.ts rename to src/core/mentions/context-mentions.ts index 0085225..e1c1d7c 100644 --- a/src/utils/context-mentions.ts +++ b/src/core/mentions/context-mentions.ts @@ -1,12 +1,12 @@ import * as vscode from "vscode" import * as path from "path" -import { openFile } from "./open-file" -import { UrlContentFetcher } from "../services/browser/UrlContentFetcher" -import { mentionRegexGlobal } from "../shared/context-mentions" +import { openFile } from "../../integrations/misc/open-file" +import { UrlContentFetcher } from "../../services/browser/UrlContentFetcher" +import { mentionRegexGlobal } from "../../shared/context-mentions" import fs from "fs/promises" -import { extractTextFromFile } from "./extract-text" +import { extractTextFromFile } from "../../integrations/misc/extract-text" import { isBinaryFile } from "isbinaryfile" -import { diagnosticsToProblemsString } from "./diagnostics" +import { diagnosticsToProblemsString } from "../../integrations/diagnostics" export function openMention(mention?: string): void { if (!mention) { diff --git a/src/core/webviews/ClaudeDevProvider.ts b/src/core/webview/ClaudeDevProvider.ts similarity index 99% rename from src/core/webviews/ClaudeDevProvider.ts rename to src/core/webview/ClaudeDevProvider.ts index e095d7a..d8feeba 100644 --- a/src/core/webviews/ClaudeDevProvider.ts +++ b/src/core/webview/ClaudeDevProvider.ts @@ -10,9 +10,9 @@ import fs from "fs/promises" import { HistoryItem } from "../../shared/HistoryItem" import axios from "axios" import { getTheme } from "../../integrations/theme/getTheme" -import { openFile, openImage } from "../../utils/open-file" +import { openFile, openImage } from "../../integrations/misc/open-file" import WorkspaceTracker from "../../integrations/workspace/WorkspaceTracker" -import { openMention } from "../../utils/context-mentions" +import { openMention } from "../mentions/context-mentions" /* https://github.com/microsoft/vscode-webview-ui-toolkit-samples/blob/main/default/weather-webview/src/providers/WeatherViewProvider.ts diff --git a/src/utils/getNonce.ts b/src/core/webview/getNonce.ts similarity index 100% rename from src/utils/getNonce.ts rename to src/core/webview/getNonce.ts diff --git a/src/utils/getUri.ts b/src/core/webview/getUri.ts similarity index 100% rename from src/utils/getUri.ts rename to src/core/webview/getUri.ts diff --git a/src/exports/index.ts b/src/exports/index.ts index 362eb4b..5ba0ea0 100644 --- a/src/exports/index.ts +++ b/src/exports/index.ts @@ -1,5 +1,5 @@ import * as vscode from "vscode" -import { ClaudeDevProvider } from "../core/webviews/ClaudeDevProvider" +import { ClaudeDevProvider } from "../core/webview/ClaudeDevProvider" import { ClaudeDevAPI } from "./claude-dev" export function createClaudeDevAPI( diff --git a/src/extension.ts b/src/extension.ts index bb1ea59..8db8d61 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -1,7 +1,7 @@ // The module 'vscode' contains the VS Code extensibility API // Import the module and reference it with the alias vscode in your code below import * as vscode from "vscode" -import { ClaudeDevProvider } from "./core/webviews/ClaudeDevProvider" +import { ClaudeDevProvider } from "./core/webview/ClaudeDevProvider" import delay from "delay" import { createClaudeDevAPI } from "./exports" import "./utils/path-helpers" // necessary to have access to String.prototype.toPosix diff --git a/src/utils/diagnostics.ts b/src/integrations/diagnostics/index.ts similarity index 100% rename from src/utils/diagnostics.ts rename to src/integrations/diagnostics/index.ts diff --git a/src/utils/export-markdown.ts b/src/integrations/misc/export-markdown.ts similarity index 100% rename from src/utils/export-markdown.ts rename to src/integrations/misc/export-markdown.ts diff --git a/src/utils/extract-text.ts b/src/integrations/misc/extract-text.ts similarity index 100% rename from src/utils/extract-text.ts rename to src/integrations/misc/extract-text.ts diff --git a/src/utils/open-file.ts b/src/integrations/misc/open-file.ts similarity index 97% rename from src/utils/open-file.ts rename to src/integrations/misc/open-file.ts index 91e121a..d74ac7e 100644 --- a/src/utils/open-file.ts +++ b/src/integrations/misc/open-file.ts @@ -1,7 +1,7 @@ import * as path from "path" import * as os from "os" import * as vscode from "vscode" -import { arePathsEqual } from "./path-helpers" +import { arePathsEqual } from "../../utils/path-helpers" export async function openImage(dataUri: string) { const matches = dataUri.match(/^data:image\/([a-zA-Z]+);base64,(.+)$/) diff --git a/src/utils/process-images.ts b/src/integrations/misc/process-images.ts similarity index 100% rename from src/utils/process-images.ts rename to src/integrations/misc/process-images.ts diff --git a/src/utils/get-python-env.ts b/src/integrations/workspace/get-python-env.ts similarity index 100% rename from src/utils/get-python-env.ts rename to src/integrations/workspace/get-python-env.ts diff --git a/src/utils/index.ts b/src/utils/index.ts index fe0548d..14002b8 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -1,5 +1,5 @@ -export * from "./getNonce" -export * from "./getUri" -export * from "./process-images" -export * from "./export-markdown" +export * from "../core/webview/getNonce" +export * from "../core/webview/getUri" +export * from "../integrations/misc/process-images" +export * from "../integrations/misc/export-markdown" export * from "./array-helpers"