mirror of
https://github.com/tiennm99/serena.git
synced 2026-10-11 16:13:26 +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 pprint import pprint
|
||||
|
||||
from toon_format import encode
|
||||
|
||||
from serena.agent import SerenaAgent
|
||||
from serena.config.serena_config import SerenaConfig
|
||||
from serena.constants import REPO_ROOT
|
||||
@@ -24,7 +26,7 @@ if __name__ == "__main__":
|
||||
serena_config = SerenaConfig.from_config_file()
|
||||
serena_config.web_dashboard = False
|
||||
# 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)
|
||||
|
||||
# apply a tool
|
||||
@@ -37,11 +39,12 @@ if __name__ == "__main__":
|
||||
inline_symbol = agent.get_tool(JetBrainsInlineSymbol)
|
||||
|
||||
result = agent.execute_task(
|
||||
lambda: inline_symbol.apply(
|
||||
relative_path="test_repo/nested.py",
|
||||
name_path="OuterClass/NestedClass",
|
||||
keep_definition=True,
|
||||
lambda: overview_tool.apply(
|
||||
# name_path_pattern="SerenaAgent",
|
||||
relative_path="src/serena/agent.py",
|
||||
depth=2,
|
||||
# keep_definition=True,
|
||||
)
|
||||
)
|
||||
pprint(json.loads(result))
|
||||
pprint(encode(json.loads(result)))
|
||||
# input("Press Enter to continue...")
|
||||
@@ -34,6 +34,8 @@ import pathlib
|
||||
import threading
|
||||
from typing import Any, cast
|
||||
|
||||
from overrides import override
|
||||
|
||||
from solidlsp.ls import (
|
||||
LanguageServerDependencyProvider,
|
||||
LanguageServerDependencyProviderSinglePath,
|
||||
@@ -67,6 +69,13 @@ class CCLS(SolidLanguageServer):
|
||||
def _create_dependency_provider(self) -> LanguageServerDependencyProvider:
|
||||
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):
|
||||
def _get_or_install_core_dependency(self) -> str:
|
||||
"""
|
||||
|
||||
@@ -5,6 +5,8 @@ import pathlib
|
||||
import threading
|
||||
from typing import Any, cast
|
||||
|
||||
from overrides import override
|
||||
|
||||
from solidlsp.ls import LanguageServerDependencyProvider, LanguageServerDependencyProviderSinglePath, ProcessLaunchInfo, SolidLanguageServer
|
||||
from solidlsp.ls_config import LanguageServerConfig
|
||||
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
|
||||
@@ -40,6 +42,13 @@ class ClangdLanguageServer(SolidLanguageServer):
|
||||
self.initialize_searcher_command_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:
|
||||
"""
|
||||
Prepare clangd compilation database with absolute directory paths.
|
||||
|
||||
@@ -10,6 +10,8 @@ import subprocess
|
||||
import threading
|
||||
from typing import cast
|
||||
|
||||
from overrides import override
|
||||
|
||||
from solidlsp.ls import LanguageServerDependencyProvider, LanguageServerDependencyProviderSinglePath, SolidLanguageServer
|
||||
from solidlsp.ls_config import LanguageServerConfig
|
||||
from solidlsp.lsp_protocol_handler.lsp_types import InitializeParams
|
||||
@@ -59,6 +61,11 @@ class ClojureLSP(SolidLanguageServer):
|
||||
CLOJURE_LSP_VERSION = CLOJURE_LSP_VERSION
|
||||
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
|
||||
def _runtime_dependencies(cls, version: str) -> RuntimeDependencyCollection:
|
||||
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/webpack", # Webpack output
|
||||
"public/assets", # Rails compiled assets
|
||||
".ruby-lsp",
|
||||
]
|
||||
return super().is_ignored_dirname(dirname) or dirname in ruby_ignored_dirs
|
||||
|
||||
|
||||
@@ -67,6 +67,7 @@ class Solargraph(SolidLanguageServer):
|
||||
"doc", # Generated documentation
|
||||
"node_modules", # Node modules (for Rails with JS)
|
||||
"storage", # Active Storage files (Rails)
|
||||
".ruby-lsp",
|
||||
]
|
||||
return super().is_ignored_dirname(dirname) or dirname in ruby_ignored_dirs
|
||||
|
||||
|
||||
@@ -14,6 +14,8 @@ import shutil
|
||||
import stat
|
||||
from typing import Any
|
||||
|
||||
from overrides import override
|
||||
|
||||
from solidlsp.ls import LanguageServerDependencyProvider, LanguageServerDependencyProviderSinglePath, SolidLanguageServer
|
||||
from solidlsp.ls_config import LanguageServerConfig
|
||||
from solidlsp.ls_utils import FileUtils, PathUtils
|
||||
@@ -266,6 +268,10 @@ class TaploServer(SolidLanguageServer):
|
||||
|
||||
log.info("Taplo server initialization complete")
|
||||
|
||||
@override
|
||||
def is_ignored_dirname(self, dirname: str) -> bool:
|
||||
"""Define TOML-specific directories to ignore."""
|
||||
return super().is_ignored_dirname(dirname) or dirname in ["target", ".cargo", "node_modules"]
|
||||
if dirname == ".vscode":
|
||||
# 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
|
||||
".idea", # IDE internals
|
||||
".serena", # serena's own data
|
||||
".vscode", # Doesn't contain symbols
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
Reference in new issue
Block a user