Merge pull request #1326 from oraios/fix/added_ignored_dirs

Followup after 34e1fae7 - added more ignored directories
This commit is contained in:
Michael Panchenko authored and GitHub committed 2026-04-13 23:17:42 +02:00
commit 587f74ccdd
8 files changed
+45 -8

No files matched your search

+9 -6
View File
@@ -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)
+1
View File
@@ -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
} }
) )