You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
vsrocq.nvim uses Neovim's built-in LSP client and nvim-lspconfig.
See kickstart.nvim
for basic example configurations for working with LSP.
:VsRocq command
:VsRocq continuous: Use the "Continuous" proof mode. It shows goals for the cursor position.
:VsRocq manual: Use the "Manual" proof mode (default), where the following four commands are used for navigation.
:VsRocq stepForward
:VsRocq stepBackward
:VsRocq interpretToEnd
:VsRocq interpretToPoint
:VsRocq panels: Open the proofview panel and query panel.
Queries
:VsRocq search {pattern}
:VsRocq about {pattern}
:VsRocq check {pattern}
:VsRocq print {pattern}
:VsRocq locate {pattern}
Proofview
:VsRocq admitted: Show the admitted goals.
:VsRocq shelved: Show the shelved goals.
:VsRocq goals: Show the normal goals and messages (default).
etc
:VsRocq jumpToEnd: Jump to the end of the checked region.
Configurations
The setup() function takes a table with the followings keys:
vsrocq: Settings specific to VsRocq, used in both the client and the server.
This corresponds to the "configuration" key in VsRocq's package.json.
lsp: The settings forwarded to :help lspconfig-setup. :help vim.lsp.ClientConfig.
Basic LSP configuration
Some settings in VsRocq's package.json should be configured in nvim's LSP client configuration:
"vsrocq.path" and "vsrocq.args" → lsp.cmd
"vsrocq.trace.server" → lsp.trace
Key
Type
Default value
Description
lsp.cmd
string[]
{ "vsrocqtop" }
Path to vsrocqtop (e.g. path/to/vsrocq/bin/vsrocqtop) and arguments passed
lsp.trace
"off" | "messages" | "verbose"
"off"
Toggles the tracing of communications between the server and client
Memory management (since >= vsrocq 2.1.7)
Key
Type
Default value
Description
vsrocq.memory.limit
int
4
specifies the memory limit (in Gb) over which when a user closes a tab, the corresponding document state is discarded in the server to free up memory
Goal and info view panel
Key
Type
Default value
Description
vsrocq.goals.diff.mode
"on" | "off" | "removed"
"off"
Toggles diff mode. If set to removed, only removed characters are shown
vsrocq.goals.messages.full
bool
false
A toggle to include warnings and errors in the proof view
vsrocq.goals.maxDepth
int
17
A setting to determine at which point the goal display starts eliding (since version >= 2.1.7 of vsrocqtop)
Proof checking
Key
Type
Default value
Description
vsrocq.proof.mode
"Continuous" | "Manual"
"Manual"
Decide whether documents should checked continuously or using the classic navigation commmands (defaults to Manual)
vsrocq.proof.pointInterpretationMode
"Cursor" | "NextCommand"
"Cursor"
Determines the point to which the proof should be check to when using the 'Interpret to point' command
vsrocq.proof.cursor.sticky
bool
true
A toggle to specify whether the cursor should move as Rocq interactively navigates a document (step forward, backward, etc...)
vsrocq.proof.delegation
"None" | "Skip" | "Delegate"
"None"
Decides which delegation strategy should be used by the server. Skip allows to skip proofs which are out of focus and should be used in manual mode. Delegate allocates a settable amount of workers to delegate proofs
vsrocq.proof.workers
int
1
Determines how many workers should be used for proof checking
vsrocq.proof.block
bool
true
Determines if the the execution of a document should halt on first error (since version >= 2.1.7 of vsrocqtop)