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

List possible variables, types, properties and imports when cannot find reference #180

Merged
merged 16 commits into from
Jul 30, 2024

Conversation

vHugoObject
Copy link
Contributor

For #166. A get_closest function was added using the levenshtein crate. This function is used to create a list of possible variables, types, properties and imports when a cannot find reference error is raised. The specification tests have been updated to reflect the new error message. I would like to note that in the code, there are currently two functions that can be used to raise a cannot find reference error for properties: PropertyDoesNotExist and ExcessProperty. My pull request only makes changes to the PropertyDoesNotExist. ExcessProperty would need lifetime annotations for a "possibles" variables, which would have required a bigger revision of the TypeCheckWarning enum.

candidates for CouldNotFindType and CouldNotFindVariable errors
possible candidates with their error messages.
…so added

partial_import_path to the CannotOpenFile struct as it will be needed
to find candidates for the error message. Finally, added
get_property_does_not_exist_message, a function that uses
get_possibles_mesage to create a message for the PropertyDoesNotExist
error based on the the type of the property.
get_property_as_string. These functions will be used to create a list
of possible property names for the PropertyDoesNotExist error.
replacement when CannotOpenFile error is raised
…for"

This reverts commit d8a5137.

Removed get_all_imports_functions as it is not necessary
possibles and partial_import_path to CannotOpenFile.
to find possible candidates when the CannotOpenFile error is raised.
@vHugoObject vHugoObject changed the title List possible variables and type names when cannot find reference List possible variables, types, properties and imports when cannot find reference Jul 29, 2024
@kaleidawave kaleidawave linked an issue Jul 30, 2024 that may be closed by this pull request
@kaleidawave
Copy link
Owner

Awesome! Thanks for the changes, all looks good. Especially for going the extra mile to add suggestions for properties and files.

Clippy error seems to be caused by new Rust update, so will ignore for now.

In the future may change the testing and diagnostics but won't fuss about that for now.

@kaleidawave kaleidawave added enhancement New feature or request diagnostics related to outputting code errors labels Jul 30, 2024
@kaleidawave kaleidawave merged commit 9ec1ce0 into kaleidawave:main Jul 30, 2024
8 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
diagnostics related to outputting code errors enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

List possible variables and type names when cannot find reference
2 participants