Conversation
This commit adds the initial implementation of the Dampen LSP server, including: - Basic server infrastructure using tower-lsp - Document cache management - XML validation and error reporting - Basic completion and hover handlers - Type conversion utilities - Test fixtures and integration tests The implementation follows the architecture outlined in the LSP implementation plan, with all core modules in place and basic functionality working.
Implement widget and attribute detection for completion context Add tests for completion context analysis Update roxmltree dependency to 0.21
Implement context-aware completion for: - Widget names when typing `<` - Attribute names when inside widget tags - Attribute values when inside quotes Add completion handler to LSP server Add integration tests for completion scenarios Implement value suggestions for common attribute types Add widget schema support for attribute completion
Add tests for widget, attribute, and value completion in LSP handler Add test fixtures for completion scenarios Add completion test module Add handlers test module
This commit adds comprehensive hover support to the Dampen LSP server, enabling detailed documentation for widgets and attributes. The implementation includes: 1. A new hover handler in main.rs that processes hover requests 2. Expanded schema data with detailed documentation for all core widgets and common attributes 3. Support for analyzing document context to determine what element is being hovered over 4. Performance monitoring for hover responses 5. Unit tests for the hover functionality The documentation now includes: - Detailed descriptions of each widget's purpose - Required and optional attributes with examples - Event attributes with usage examples - Style attributes with formatting examples - Code examples for each widget - See Also sections with related widgets The hover implementation follows the LSP protocol and provides context-aware documentation based on the position in the document.
Add edge case tests for LSP server Add hover tests for LSP server Add editor integration guide
Add support for border styles, transforms, and improved layout attributes Update theme inheritance documentation and examples Add responsive layout properties and flexbox-like alignment Standardize style class syntax to use `<class>` instead of `<style>` Add new widget attributes for images, inputs, and other controls Update XML schema documentation with current attribute requirements Remove deprecated attributes and update examples Add new state variant syntax options Improve documentation of layout and alignment properties
Update tracing to use stderr and remove diagnostic provider capability in favor of push diagnostics
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add a Language Server Protocol (LSP) implementation for Dampen UI framework to provide IDE features like autocompletion and hover information.
Changes
Testing
New Crate
crates/dampen-lsp/- Full LSP server implementation