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

Update npm package dependencies, in order to support the latest version of the Language Server Protocol #134

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

nickysn
Copy link

@nickysn nickysn commented Oct 29, 2023

I'm working on adding inlay hint support to nimsuggest and the Nim language server. Inlay hints are supported in the latest (3.17) version of the Language Server Protocol. But for this to work in VS code with this extension, the npm package vscode-languageclient needed to be updated, so this was done in this pull request. Updating the npm dependencies also resolves several known security vulnerabilities in the old versions of the packages that were used previously.

This pull request also includes fixes for compilation with Nim version 1.6.16 (the latest stable version in the 1.6.x series). There's also an addition to the compilation instructions in the README.md file - there's an extra step needed, before the package can be compiled, because the nimsuggest sources are required for compilation, however (as far as I know), they were dropped from the 'nim' nimble package.

There's also a new configuration option for tracing the communication between the VS code extension and the language server (and writing in the 'Output' window), when this extension is run in lsp mode.

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>
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.

1 participant