Skip to content

Latest commit

 

History

History
52 lines (36 loc) · 1.37 KB

lsp-spec.md

File metadata and controls

52 lines (36 loc) · 1.37 KB

The RustOwl LSP specification

rustowl, is an LSP server which provides RustOwl information. To display various types of decorations, RustOwl supports some custom methods from the client.

Here, we describe the specifications of those custom methods.

Types

Here, we describe the types we will use in this document.

OprType

"lifetime" | "imm_borrow" | "mut_borrow" | "move" | "call" | "outlive" | "shared_mut"

Decoration

{
    "type": OprType,
    "range": Range,
    "hover_text": Option<String>,
    "overlapped": bool
}

overlapped field indicates that the decoration is overlapped and should be hidden.

Methods

We describe the custom methods used in RustOwl.

rustowl/cursor

Request payload

{
    "position": Position,
    "document": {
        "uri": DocumentUri
    }
}

Response payload

{
    "is_analyzed": bool,
    "decorations": [Decoration]
}