ide-purescript package for VS Code
This package provides editor support for PureScript projects in Visual Studio Code, similar to the corresponding atom plugin. Now based on a common PureScript language server! Basic syntax highlighting support is provided by the separate package language-purescript which should be installed automatically as a dependency.
This package provides:
- Build and error reporting
- Quick-fix support for certain warnings
- Type info tooltips
- Go to symbol
- Go to definition
Package should trigger on opening a
Installation and General Use
This package makes use of the
purs ide server (previously
psc-ide) for most functionality, with
purs compile (by default via
pulp) for the explicit
build command. All this is via a Language Server Protocol implementation, purescript-language-server.
This package will launch a
purescript-language-server process, which will automatically (but this is configurable) start
purs ide server in your project directory and kill it when closing. Start/stop and restart commands are provided for the IDE server in case required (eg after changing config or updating compiler version).
Multi-root workspaces should be supported via a multiple language server approach.
For all functions provided by the IDE server you will need to build your project first!
The extension language-purescript
is required but should be installed automatically. The package will start on opening a
'PureScript Build' command will build your project using the command line
pulp build -- --json-errors.
Version 0.8.0+ of the PureScript compiler is required, as well as version 10.0.0 of
pulp (with earlier versions remove
Alternative build commands can be used by setting
pulp --psc-package build -- --json-errors
Error suggestions are provided for some compiler errors, try alt/cmd and
purs ide server. Make sure
your project is built first.
Completions will be sourced from modules imported in the current file.
Hovering over an identifier will show a tooltip with its type.
This is really stupid, and only cares that you hover over a word regardless of context, you will get some false positives (eg doesn't see local definitions, just the globals that should be visible in a given module).
Hovering over a qualifier of a qualified identifier will show the associated module name.
Commands "Search Pursuit" and "Search Pursuit Modules" are available to search for identifiers or modules/packages on Pursuit.
No particular support. Suggest you open a PSCI in the integrated terminal.