summaryrefslogtreecommitdiff
path: root/continuedev/src
diff options
context:
space:
mode:
authorNate Sesti <sestinj@gmail.com>2023-10-04 10:57:03 -0700
committerNate Sesti <sestinj@gmail.com>2023-10-04 10:57:03 -0700
commitd69c6d4f3729374ab40fcebc861e67f2da100ad9 (patch)
tree3fbd10c01617977a4fc4f333fd5b15bffc288c32 /continuedev/src
parent8093c9d10db9d3084057f4f5ea0278b9b72f5193 (diff)
downloadsncontinue-d69c6d4f3729374ab40fcebc861e67f2da100ad9.tar.gz
sncontinue-d69c6d4f3729374ab40fcebc861e67f2da100ad9.tar.bz2
sncontinue-d69c6d4f3729374ab40fcebc861e67f2da100ad9.zip
fix: :bug: fix for windows drive difference bug
Diffstat (limited to 'continuedev/src')
-rw-r--r--continuedev/src/continuedev/plugins/context_providers/file.py23
1 files changed, 18 insertions, 5 deletions
diff --git a/continuedev/src/continuedev/plugins/context_providers/file.py b/continuedev/src/continuedev/plugins/context_providers/file.py
index f4fbaf03..4cfbcfdb 100644
--- a/continuedev/src/continuedev/plugins/context_providers/file.py
+++ b/continuedev/src/continuedev/plugins/context_providers/file.py
@@ -1,11 +1,12 @@
import asyncio
import os
-from typing import List
+from typing import List, Optional
from ...core.context import ContextProvider
from ...core.main import ContextItem, ContextItemDescription, ContextItemId
from ...core.sdk import ContinueSDK
from ...libs.util.filter_files import DEFAULT_IGNORE_PATTERNS
+from ...libs.util.logging import logger
from .util import remove_meilisearch_disallowed_chars
MAX_SIZE_IN_CHARS = 50_000
@@ -80,14 +81,26 @@ class FileContextProvider(ContextProvider):
async def get_context_item_for_filepath(
self, absolute_filepath: str
- ) -> ContextItem:
+ ) -> Optional[ContextItem]:
content = await get_file_contents(absolute_filepath, self.sdk)
if content is None:
return None
- relative_to_workspace = os.path.relpath(
- absolute_filepath, self.sdk.ide.workspace_directory
- )
+ workspace_dir = self.sdk.ide.workspace_directory
+ if (
+ os.path.splitdrive(workspace_dir)[0]
+ != os.path.splitdrive(absolute_filepath)[0]
+ ):
+ workspace_dir = (
+ os.path.splitdrive(absolute_filepath)[0]
+ + os.path.splitdrive(workspace_dir)[1]
+ )
+
+ try:
+ relative_to_workspace = os.path.relpath(absolute_filepath, workspace_dir)
+ except Exception as e:
+ logger.warning(f"Error getting relative path: {e}")
+ return None
return ContextItem(
content=content[: min(2000, len(content))],