diff options
Diffstat (limited to 'continuedev/src')
| -rw-r--r-- | continuedev/src/continuedev/plugins/context_providers/file.py | 23 | 
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))], | 
