refactor!: move source/sticky logic to chat window - #1469
Merged
Conversation
This refactors the management of source and sticky prompt logic by moving
it from the main module to the chat window implementation. The
`CopilotChat.source` and sticky state are now encapsulated within the
`CopilotChat.ui.chat.Chat` class, providing a cleaner separation of
concerns and reducing global state. All related methods and type
annotations have been updated accordingly. The sticky prompt insertion
and retrieval logic is now handled via `get_sticky` and `set_sticky`
methods on the chat window, and the source window/buffer is managed
through `get_source` and `set_source` methods. This change also removes
the sticky toggle mapping and updates documentation and function
signatures for consistency.
BREAKING CHANGE: get_source, and set_source methods moved to require('CopilotChat').chat
|
Hi @deathbeam, I tend to use the toggle_sticky quite a lot. How do I implement this behavior after this refactor? |
Collaborator
Author
It was mostly overcomplicated implementation, basically you just get current line at cursor and either prepend > to it if it doesnt start with > or if it does delete the line, its probs like 5 lines of code. The reason why it was so overcomplicated here because I had to add bunch of checks for misuse but it wasnt worth maintaining so dropped it |
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.
This refactors the management of source and sticky prompt logic by moving it from the main module to the chat window implementation. The
CopilotChat.sourceand sticky state are now encapsulated within theCopilotChat.ui.chat.Chatclass, providing a cleaner separation of concerns and reducing global state. All related methods and type annotations have been updated accordingly. The sticky prompt insertion and retrieval logic is now handled viaget_stickyandset_stickymethods on the chat window, and the source window/buffer is managed throughget_sourceandset_sourcemethods. This change also removes the sticky toggle mapping and updates documentation and function signatures for consistency.BREAKING CHANGE: get_source, and set_source methods moved to require('CopilotChat').chat