Import MySQL completion candidates from pygments
#1447
+195
−166
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.
Description
Since the
pygmentslibrary is already required, why not use its list of reserved words for completions?This fixes #767 and should keep us up-to-date. It's really great to have the
JSON_*functions.Obsoletes #925, and addresses the two points in #925 (comment) .
Compared to the previous code, this PR
LENandTOP, which are not MySQL reserved wordsORDER BYDownsides and bugs:
pygments.lexers._mysql_builtinsdoes contain a leading underscore, so we should be aware that the library reserves the right to break this usage. The library version has been more tightly defined to remediate issues here.exit,help,source,status,system,use. This is fixable, but should we prefer the upper- or lower-case flavor?Checklist
changelog.md.AUTHORSfile (or it's already there).uv run ruff check && uv run ruff format && uv run mypy --install-types .to lint and format the code.