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

Fix code completion issue on the document start offset #352

Merged

Conversation

ThemiraChathumina
Copy link
Contributor

Purpose

When typing at the start of a document (offset 0), the code completion feature does not capture the initial characters typed. Consequently, accepting a completion suggestion results in it being incorrectly appended to the initially typed text. This fix aims to ensure that suggestions are accurately based on the entire text entered and are inserted correctly. Related to #351

Approach

Change the function public String getCompletionPrefix(Editor editor, int offset)
In the original implementation, the function scans backwards from the offset until it encounters a delimiter. If no delimiter is found, it returns an empty string. However, at the start of the document where there are no preceding delimiters, this approach results in an empty string being returned, failing to capture the text initially typed. To address this, the function should be adjusted to return the captured characters up to the point where a delimiter is encountered, or, if at the start of the document where no delimiters are present, return the text from the start to the current offset.

Change the function public void prepareAndRunSnippet(String insertText)
An IDE error throws when trying to insert a suggestion that is not a code snippet from this function. Therefore, if the insertText does not align with recognized code snippet patterns, the function should return immediately, avoiding further processing.

Copy link
Contributor

@NipunaRanasinghe NipunaRanasinghe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@NipunaRanasinghe NipunaRanasinghe merged commit b7e59bf into ballerina-platform:master Apr 9, 2024
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants