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.
LSP Server Capability Handling and Fallback Improvements
Summary
This PR improves the LSP server's capability handling and adds proper fallback mechanisms for both browser and Node.js environments. It also refactors the server initialization flow to be more robust and type-safe.
This will make LSP Server ready to be used in vim.
Key Changes
Architecture Changes
DocumentStore
initialization outside ofstartServer
to allow platform-specific implementationsDocumentStoreInNode
class for Node.js-specific implementationsisBrowser
flagCapability Handling
ListBeanFile
andFileRead
custom messagesfallbackListBeanFiles
: Uses workspace folder to find bean filesfallbackFileRead
: Provides platform-specific file reading implementationBrowser Support