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
- Autocompletion
- Type info tooltips
- Go to symbol
- Go to definition
Package should trigger on opening a .purs
file.
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 .purs
file.
See input-assist for Unicode input assistance on autocomplete which is known to work with this extension, alternatively unicode-latex which offers similar LaTeX based input vi a lookup command.
The only key binding supplied out of the box is Shift+Ctrl+B (or Shift+Cmd+B) for the full "Build" command. Although this is only enabled inside PureScript-language text editors, it does conflict with the built-in Build command. This can be edited, and other keybinds added, in the VS Code Keyboard Shortcuts preferences.
'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 --
).
For pulp
with psc-package
, add the following configuration to your settings.json
:
{
"purescript.addNpmPath": true,
"purescript.buildCommand": "pulp --psc-package build -- --json-errors"
}
For spago
with psc-package
, add the following configuration to your settings.json
:
{
"purescript.addSpagoSources": true,
"purescript.addNpmPath": true,
"purescript.buildCommand": "spago build -- --json-errors"
}
Be sure to Restart/Reconnect purs IDE server
following such changes.
Error suggestions are provided for some compiler errors, try alt/cmd and .
.
Provided from 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.