mirror of
https://github.com/tiennm99/serena.git
synced 2026-10-14 02:16:21 +00:00
Merge pull request #1326 from oraios/fix/added_ignored_dirs
Followup after 34e1fae7 - added more ignored directories
This commit is contained in:
8 files changed
+45
-8
No files matched your search
@@ -7,6 +7,8 @@ import json
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from pprint import pprint
|
from pprint import pprint
|
||||||
|
|
||||||
|
from toon_format import encode
|
||||||
|
|
||||||
from serena.agent import SerenaAgent
|
from serena.agent import SerenaAgent
|
||||||
from serena.config.serena_config import SerenaConfig
|
from serena.config.serena_config import SerenaConfig
|
||||||
from serena.constants import REPO_ROOT
|
from serena.constants import REPO_ROOT
|
||||||
@@ -24,7 +26,7 @@ if __name__ == "__main__":
|
|||||||
serena_config = SerenaConfig.from_config_file()
|
serena_config = SerenaConfig.from_config_file()
|
||||||
serena_config.web_dashboard = False
|
serena_config.web_dashboard = False
|
||||||
# project = Path(REPO_ROOT).parent / "serena-jetbrains-plugin-copy"
|
# project = Path(REPO_ROOT).parent / "serena-jetbrains-plugin-copy"
|
||||||
project = Path(REPO_ROOT) / "test/resources/repos/python/test_repo"
|
project = Path(REPO_ROOT)
|
||||||
agent = SerenaAgent(project=str(project), serena_config=serena_config)
|
agent = SerenaAgent(project=str(project), serena_config=serena_config)
|
||||||
|
|
||||||
# apply a tool
|
# apply a tool
|
||||||
@@ -37,11 +39,12 @@ if __name__ == "__main__":
|
|||||||
inline_symbol = agent.get_tool(JetBrainsInlineSymbol)
|
inline_symbol = agent.get_tool(JetBrainsInlineSymbol)
|
||||||
|
|
||||||
result = agent.execute_task(
|
result = agent.execute_task(
|
||||||
lambda: inline_symbol.apply(
|
lambda: overview_tool.apply(
|
||||||
relative_path="test_repo/nested.py",
|
# name_path_pattern="SerenaAgent",
|
||||||
name_path="OuterClass/NestedClass",
|
relative_path="src/serena/agent.py",
|
||||||
keep_definition=True,
|
depth=2,
|
||||||
|
# keep_definition=True,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
pprint(json.loads(result))
|
pprint(encode(json.loads(result)))
|
||||||
# input("Press Enter to continue...")
|
# input("Press Enter to continue...")
|
||||||
@@ -34,6 +34,8 @@ import pathlib
|
|||||||
import threading
|
import threading
|
||||||
from typing import Any, cast
|
from typing import Any, cast
|
||||||
|
|
||||||
|
from overrides import override
|
||||||
|
|
||||||
from solidlsp.ls import (
|
from solidlsp.ls import (
|
||||||
LanguageServerDependencyProvider,
|
LanguageServerDependencyProvider,
|
||||||
LanguageServerDependencyProviderSinglePath,
|
LanguageServerDependencyProviderSinglePath,
|
||||||
@@ -67,6 +69,13 @@ class CCLS(SolidLanguageServer):
|
|||||||
def _create_dependency_provider(self) -> LanguageServerDependencyProvider:
|
def _create_dependency_provider(self) -> LanguageServerDependencyProvider:
|
||||||
return self.DependencyProvider(self._custom_settings, self._ls_resources_dir)
|
return self.DependencyProvider(self._custom_settings, self._ls_resources_dir)
|
||||||
|
|
||||||
|
@override
|
||||||
|
def is_ignored_dirname(self, dirname: str) -> bool:
|
||||||
|
ignored_dirs = [
|
||||||
|
".ccls-cache",
|
||||||
|
]
|
||||||
|
return super().is_ignored_dirname(dirname) or dirname in ignored_dirs
|
||||||
|
|
||||||
class DependencyProvider(LanguageServerDependencyProviderSinglePath):
|
class DependencyProvider(LanguageServerDependencyProviderSinglePath):
|
||||||
def _get_or_install_core_dependency(self) -> str:
|
def _get_or_install_core_dependency(self) -> str:
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ import pathlib
|
|||||||
import threading
|
import threading
|
||||||
from typing import Any, cast
|
from typing import Any, cast
|
||||||
|
|
||||||
|
from overrides import override
|
||||||
|
|
||||||
from solidlsp.ls import LanguageServerDependencyProvider, LanguageServerDependencyProviderSinglePath, ProcessLaunchInfo, SolidLanguageServer
|
from solidlsp.ls import LanguageServerDependencyProvider, LanguageServerDependencyProviderSinglePath, ProcessLaunchInfo, SolidLanguageServer
|
||||||
from solidlsp.ls_config import LanguageServerConfig
|
from solidlsp.ls_config import LanguageServerConfig
|
||||||
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
|
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
|
||||||
@@ -40,6 +42,13 @@ class ClangdLanguageServer(SolidLanguageServer):
|
|||||||
self.initialize_searcher_command_available = threading.Event()
|
self.initialize_searcher_command_available = threading.Event()
|
||||||
self.resolve_main_method_available = threading.Event()
|
self.resolve_main_method_available = threading.Event()
|
||||||
|
|
||||||
|
@override
|
||||||
|
def is_ignored_dirname(self, dirname: str) -> bool:
|
||||||
|
ignored_dirs = [
|
||||||
|
".ccls-cache",
|
||||||
|
]
|
||||||
|
return super().is_ignored_dirname(dirname) or dirname in ignored_dirs
|
||||||
|
|
||||||
def _prepare_compile_commands(self) -> str | None:
|
def _prepare_compile_commands(self) -> str | None:
|
||||||
"""
|
"""
|
||||||
Prepare clangd compilation database with absolute directory paths.
|
Prepare clangd compilation database with absolute directory paths.
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ import subprocess
|
|||||||
import threading
|
import threading
|
||||||
from typing import cast
|
from typing import cast
|
||||||
|
|
||||||
|
from overrides import override
|
||||||
|
|
||||||
from solidlsp.ls import LanguageServerDependencyProvider, LanguageServerDependencyProviderSinglePath, SolidLanguageServer
|
from solidlsp.ls import LanguageServerDependencyProvider, LanguageServerDependencyProviderSinglePath, SolidLanguageServer
|
||||||
from solidlsp.ls_config import LanguageServerConfig
|
from solidlsp.ls_config import LanguageServerConfig
|
||||||
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
|
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
|
||||||
@@ -59,6 +61,11 @@ class ClojureLSP(SolidLanguageServer):
|
|||||||
CLOJURE_LSP_VERSION = CLOJURE_LSP_VERSION
|
CLOJURE_LSP_VERSION = CLOJURE_LSP_VERSION
|
||||||
CLOJURE_LSP_ALLOWED_HOSTS = CLOJURE_LSP_ALLOWED_HOSTS
|
CLOJURE_LSP_ALLOWED_HOSTS = CLOJURE_LSP_ALLOWED_HOSTS
|
||||||
|
|
||||||
|
@override
|
||||||
|
def is_ignored_dirname(self, dirname: str) -> bool:
|
||||||
|
ignored_dirs = [".clj-kondo", ".lsp", ".cpcache"]
|
||||||
|
return super().is_ignored_dirname(dirname) or dirname in ignored_dirs
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _runtime_dependencies(cls, version: str) -> RuntimeDependencyCollection:
|
def _runtime_dependencies(cls, version: str) -> RuntimeDependencyCollection:
|
||||||
clojure_lsp_releases = f"https://github.com/clojure-lsp/clojure-lsp/releases/download/{version}"
|
clojure_lsp_releases = f"https://github.com/clojure-lsp/clojure-lsp/releases/download/{version}"
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ class RubyLsp(SolidLanguageServer):
|
|||||||
"public/packs", # Webpacker output
|
"public/packs", # Webpacker output
|
||||||
"public/webpack", # Webpack output
|
"public/webpack", # Webpack output
|
||||||
"public/assets", # Rails compiled assets
|
"public/assets", # Rails compiled assets
|
||||||
|
".ruby-lsp",
|
||||||
]
|
]
|
||||||
return super().is_ignored_dirname(dirname) or dirname in ruby_ignored_dirs
|
return super().is_ignored_dirname(dirname) or dirname in ruby_ignored_dirs
|
||||||
|
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ class Solargraph(SolidLanguageServer):
|
|||||||
"doc", # Generated documentation
|
"doc", # Generated documentation
|
||||||
"node_modules", # Node modules (for Rails with JS)
|
"node_modules", # Node modules (for Rails with JS)
|
||||||
"storage", # Active Storage files (Rails)
|
"storage", # Active Storage files (Rails)
|
||||||
|
".ruby-lsp",
|
||||||
]
|
]
|
||||||
return super().is_ignored_dirname(dirname) or dirname in ruby_ignored_dirs
|
return super().is_ignored_dirname(dirname) or dirname in ruby_ignored_dirs
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ import shutil
|
|||||||
import stat
|
import stat
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
|
from overrides import override
|
||||||
|
|
||||||
from solidlsp.ls import LanguageServerDependencyProvider, LanguageServerDependencyProviderSinglePath, SolidLanguageServer
|
from solidlsp.ls import LanguageServerDependencyProvider, LanguageServerDependencyProviderSinglePath, SolidLanguageServer
|
||||||
from solidlsp.ls_config import LanguageServerConfig
|
from solidlsp.ls_config import LanguageServerConfig
|
||||||
from solidlsp.ls_utils import FileUtils, PathUtils
|
from solidlsp.ls_utils import FileUtils, PathUtils
|
||||||
@@ -266,6 +268,10 @@ class TaploServer(SolidLanguageServer):
|
|||||||
|
|
||||||
log.info("Taplo server initialization complete")
|
log.info("Taplo server initialization complete")
|
||||||
|
|
||||||
|
@override
|
||||||
def is_ignored_dirname(self, dirname: str) -> bool:
|
def is_ignored_dirname(self, dirname: str) -> bool:
|
||||||
"""Define TOML-specific directories to ignore."""
|
if dirname == ".vscode":
|
||||||
return super().is_ignored_dirname(dirname) or dirname in ["target", ".cargo", "node_modules"]
|
# special case, one might want to analyze toml files in .vscode
|
||||||
|
return False
|
||||||
|
dirnames_to_ignore = ["target", ".cargo", "node_modules"]
|
||||||
|
return dirname in dirnames_to_ignore or super().is_ignored_dirname(dirname)
|
||||||
@@ -371,6 +371,7 @@ class SolidLanguageServer(ABC):
|
|||||||
".nox", # test runners
|
".nox", # test runners
|
||||||
".idea", # IDE internals
|
".idea", # IDE internals
|
||||||
".serena", # serena's own data
|
".serena", # serena's own data
|
||||||
|
".vscode", # Doesn't contain symbols
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user