Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ Status of the `main` branch. Changes prior to the next official version change w
- `SvelteLanguageServer`: Fix diagnostics requests for TypeScript/JavaScript files incorrectly being
processed by the Svelte LS instead of the TypeScript LS.
- Improve quoting of arguments in shell executions
- `typescript` / `typescript_vts`: No longer ignore directories named `coverage`. This was intended to skip
coverage-report output, but matched by bare dirname and so also hid legitimate source directories named
`coverage` (e.g. `src/routes/coverage/`) from symbol tools. Generated report dirs are already covered by
gitignore. Fixes #1523.

* JetBrains:
- Add configuration option `jetbrains_launch_command`, allowing Serena to spawn IDE instances automatically
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,6 @@ def is_ignored_dirname(self, dirname: str) -> bool:
"node_modules",
"dist",
"build",
"coverage",
]

@staticmethod
Expand Down
1 change: 0 additions & 1 deletion src/solidlsp/language_servers/vts_language_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,6 @@ def is_ignored_dirname(self, dirname: str) -> bool:
"node_modules",
"dist",
"build",
"coverage",
]

@classmethod
Expand Down
35 changes: 35 additions & 0 deletions test/solidlsp/typescript/test_typescript_ignored_dirs.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
"""
Tests for TypeScript language server directory-ignoring behavior.

Regression test for the case where a *source* directory named `coverage`
(e.g. `src/routes/coverage/`) was hard-ignored by `is_ignored_dirname`,
hiding it from symbol tools. Only generated coverage-report dirs should be
excluded, and those are handled by gitignore.
"""

import pytest

from solidlsp import SolidLanguageServer
from solidlsp.ls_config import Language

pytestmark = pytest.mark.typescript


@pytest.mark.parametrize("language_server", [Language.TYPESCRIPT], indirect=True)
class TestTypescriptIgnoredDirectories:
"""TypeScript-specific directory ignoring behavior."""

def test_generated_dirs_still_ignored(self, language_server: SolidLanguageServer) -> None:
assert language_server.is_ignored_dirname("node_modules"), "node_modules should be ignored"
assert language_server.is_ignored_dirname("dist"), "dist should be ignored"
assert language_server.is_ignored_dirname("build"), "build should be ignored"
# VCS dir handled by the base class
assert language_server.is_ignored_dirname(".git"), ".git should be ignored"

def test_source_dirs_not_ignored(self, language_server: SolidLanguageServer) -> None:
# `coverage` is a legitimate source/module name; only generated
# coverage-report dirs (which are gitignored) should be excluded.
assert not language_server.is_ignored_dirname("coverage"), "coverage source dir should not be ignored"
assert not language_server.is_ignored_dirname("src"), "src should not be ignored"
assert not language_server.is_ignored_dirname("lib"), "lib should not be ignored"
assert not language_server.is_ignored_dirname("routes"), "routes should not be ignored"
Loading