Language Server - What features are missing?

I’m working on a set of features that people want to be added to the language server for Motoko.

It looks like there has been some work on this lately(Language server and development client support :: Internet Computer) and I’m not sure which features were added and which ones are still missing.

I know some features that have been requested are:

  • Support for multiple projects in the same window
  • Refactoring tools(Which ones?)

What other features are missing from VSCode motoko development that people would like to see?

1 Like

Prettier plugin… please

1 Like

Not sure which of these falls under the purview of the language server (as opposed to the plugin) but:

  • Go to definition for variables defined in a local module, actor, class, or function
  • Show type on variable hover
  • Go to imported module definition directly (e.g. Blob instead of Blob.fromArray)
  • Type check .mo files that aren’t imported from the canister entry point (e.g. unit tests)
  • Prettier conforming to the style guidelines

Also, the Motoko syntax highlighting just uses Swift’s, which works pretty well, but there are some differences that don’t get highlighted correctly. For example, certain Motoko keywords don’t get highlighted (i.e. stable) and certain Swift keywords get highlighted when they shouldn’t (i.e. none). Also, Motoko lambdas defined as func(...) = ... as opposed to the more verbose func(...) { ... } completely screw up the highlighting for everything following it.

4 Likes

We already have a separate $4,000 bounty for the prettier plug it: Bounty - ICDevs.org Motoko Prettier Plugin

Perfect. More like this, please!