Skip to main content
Glama

MCP Language Server

README.md2.03 kB
# Workspace Watcher Testing This package contains tests for the `WorkspaceWatcher` component. The tests use a real filesystem and a mock LSP client to verify that the watcher correctly detects and reports file events. ## Test Suite Overview The test suite consists of the following tests: ### 1. Basic Functionality Tests - Tests file creation, modification, and deletion events - Confirms that appropriate notifications are sent to the LSP client - Verifies that each operation triggers the correct event type (Created, Changed, Deleted) ### 2. Exclusion Pattern Tests - Tests that files matching exclusion patterns are not reported - Specifically tests: - Files with excluded extensions (.tmp) - Files ending with tilde (~) - Files in excluded directories (.git) - Files matching gitignore patterns ### 3. Debouncing Tests - Tests that rapid changes to the same file result in a single notification - Verifies the debouncing mechanism works correctly ## Mock LSP Client The `MockLSPClient` implements the `watcher.LSPClient` interface and provides functionality for: - Recording file events - Testing if files are open - Opening files - Notifying about file changes - Waiting for events with a timeout ## Running the Tests To run the tests: ```bash go test -v ./internal/watcher/testing ``` For more detailed output, enable debug logging: ```bash go test -v -tags debug ./internal/watcher/testing ``` ## Known Issues and Limitations 1. Gitignore Integration: - The watcher uses the go-gitignore package to parse and match gitignore patterns. - The tests verify that files matching gitignore patterns are excluded from notifications. - Additional tests in gitignore_test.go verify more complex patterns and matching scenarios. 2. File Deletion in Excluded Directories: - Since excluded directories are not watched, file deletion events in these directories are not detected. 3. Large Binary Files: - The tests don't verify the handling of large binary files due to test resource limitations.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/isaacphi/mcp-language-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server