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

Inlay hints support #53

Merged
merged 9 commits into from
Nov 6, 2023
Merged

Conversation

nickysn
Copy link
Collaborator

@nickysn nickysn commented Oct 31, 2023

This adds inlay hint support to the Nim language server.

Related PRs:
Nim & nimsuggest: nim-lang/Nim#22896
VS code extension: saem/vscode-nim#134

Araq added a commit to nim-lang/Nim that referenced this pull request Nov 4, 2023
This adds inlay hints support to nimsuggest. It adds a new command to
nimsuggest, called 'inlayHints'.

Currently, it provides type information to 'var' and 'let' variables. In
the future, inlay hints can also be added for 'const' and for function
parameters. The protocol also reserves space for a tooltip field, which
is not used, yet, but support for it can be added in the future, without
further changing the protocol.

The change includes refactoring to allow the 'inlayHints' command to
return a completely different structure, compared to the other
nimsuggest commands. This will allow other future commands to have
custom return types as well. All the previous commands return the same
structure as before, so perfect backwards compatibility is maintained.

To use this feature, an update to the nim language server, as well as
the VS code extension is needed.

Related PRs:
nimlangserver: nim-lang/langserver#53
VS code extension: saem/vscode-nim#134

---------

Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
@yyoncho yyoncho merged commit 611c656 into nim-lang:master Nov 6, 2023
1 check passed
@nickysn nickysn deleted the inlay_hints_support branch November 6, 2023 15:11
nickysn added a commit to nickysn/Nim that referenced this pull request Nov 7, 2023
This adds inlay hints support to nimsuggest. It adds a new command to
nimsuggest, called 'inlayHints'.

Currently, it provides type information to 'var' and 'let' variables. In
the future, inlay hints can also be added for 'const' and for function
parameters. The protocol also reserves space for a tooltip field, which
is not used, yet, but support for it can be added in the future, without
further changing the protocol.

The change includes refactoring to allow the 'inlayHints' command to
return a completely different structure, compared to the other
nimsuggest commands. This will allow other future commands to have
custom return types as well. All the previous commands return the same
structure as before, so perfect backwards compatibility is maintained.

To use this feature, an update to the nim language server, as well as
the VS code extension is needed.

Related PRs:
nimlangserver: nim-lang/langserver#53
VS code extension: saem/vscode-nim#134

---------

Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
(cherry picked from commit 3f2b9c8)
nickysn added a commit to nickysn/Nim that referenced this pull request Nov 7, 2023
This adds inlay hints support to nimsuggest. It adds a new command to
nimsuggest, called 'inlayHints'.

Currently, it provides type information to 'var' and 'let' variables. In
the future, inlay hints can also be added for 'const' and for function
parameters. The protocol also reserves space for a tooltip field, which
is not used, yet, but support for it can be added in the future, without
further changing the protocol.

The change includes refactoring to allow the 'inlayHints' command to
return a completely different structure, compared to the other
nimsuggest commands. This will allow other future commands to have
custom return types as well. All the previous commands return the same
structure as before, so perfect backwards compatibility is maintained.

To use this feature, an update to the nim language server, as well as
the VS code extension is needed.

Related PRs:
nimlangserver: nim-lang/langserver#53
VS code extension: saem/vscode-nim#134

---------

Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
(cherry picked from commit 3f2b9c8)
nickysn added a commit to nickysn/Nim that referenced this pull request Nov 8, 2023
This adds inlay hints support to nimsuggest. It adds a new command to
nimsuggest, called 'inlayHints'.

Currently, it provides type information to 'var' and 'let' variables. In
the future, inlay hints can also be added for 'const' and for function
parameters. The protocol also reserves space for a tooltip field, which
is not used, yet, but support for it can be added in the future, without
further changing the protocol.

The change includes refactoring to allow the 'inlayHints' command to
return a completely different structure, compared to the other
nimsuggest commands. This will allow other future commands to have
custom return types as well. All the previous commands return the same
structure as before, so perfect backwards compatibility is maintained.

To use this feature, an update to the nim language server, as well as
the VS code extension is needed.

Related PRs:
nimlangserver: nim-lang/langserver#53
VS code extension: saem/vscode-nim#134

---------

Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
(cherry picked from commit 3f2b9c8)
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.

2 participants