Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement DidChangeTextDocument LSP handler #52

Open
retailcoder opened this issue Mar 12, 2023 · 0 comments
Open

Implement DidChangeTextDocument LSP handler #52

retailcoder opened this issue Mar 12, 2023 · 0 comments
Labels
component: Server.LSP Issue involves the LSP server process

Comments

@retailcoder
Copy link
Member

Specification (LSP)

The document change notification is sent from the client to the server to signal changes to a text document. Before a client can change a text document it must claim ownership of its content using the textDocument/didOpen notification.

The notification sends an array of TextDocumentContentChangeEvent objects, each representing a distinct change of state for a specific Range in a given version of a given document. Client may send the full document every time, or send incremental edits (let's start with full-document only for now).

The editor may send didChange notifications on an idle timer - that is, whenever the user stops typing for a certain (configurable) amount of time.

Alternatively (through editor settings), the user might prefer sending this notification manually; the editor UI should expose a command to do so - the flow is then similar to Rubberduck 2.x, where the parser state is manually refreshed; the command should send a content changed event for each document that was modified since the last synchronization.

@retailcoder retailcoder added the component: Server.LSP Issue involves the LSP server process label Mar 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: Server.LSP Issue involves the LSP server process
Projects
None yet
Development

No branches or pull requests

1 participant