bolt
Releases (13)
-
1.27.0.0 indexed
-
1.26.0.0 unindexed
-
1.25.0.0 unindexed
-
1.24.0.0 unindexed
-
1.23.0.0 unindexed
-
1.22.0.0 unindexed
-
1.21.0.0 unindexed
-
1.20.0.0 unindexed
-
1.19.0.0 unindexed
-
1.18.0.0 unindexed
-
1.17.0.0 unindexed
-
1.12.0.0 invalid
expected a fresh constructor name (duplicate declaration: Ready)
-
1.11.0.0 invalid
expected a fresh constructor name (duplicate declaration: Ready)
Definitions (1,644)
src/lsp/frame.bend
- def unticka count one less (zero stays zero)
- def count.pushone more char's digit onto the count read so far; None once one is no digit
- def count.read.go
- def count.reada string of digits as a count; None when it is empty or holds anything else
- def wrapa message on its way out
- type Headthe header block's Content-Length and the bytes after it, once it is whole
- type Cutthe front of a buffer: a whole body and the bytes after it, or not yet
- def charsbytes as chars, one each (for the ASCII header)
- def line_lena header line (reversed, its \r already dropped) updates the length
- def headerthe header block read up to its blank line: Content-Length, and the bytes after; not whole yet when the blank line has not come
- def split.onthe bytes taken so far and the rest once the count is down to zero, else what more gives
- def splitthe first ds bytes (reversed onto acc) and the rest, or not yet when there are fewer.
- def cut.body
- def cutthe front of a buffer: a whole message body and the bytes after it, or not yet
src/lsp/nav.bend
- type Foundwhat a name names: an item and the document it lives in, or a binder of the document itself (a parameter, a local, a field, ..)
- def foundan item, when there is one, in a document
- def load.miss
- def loada document's text: the open one, or the file's; "" when there is neither
- def in_filethe item of a name in a file
- def in_basethe item of a name in Base
- def ownan item of the document, else of Base
- def viathrough an import alias when the name has one, else the document's own
- def amonga name against a document's items
- def resolvethe item a name in a document names
- def herea binder, when there is one, in a document
- def at.quala name behind an import alias: `rest` in the file the import names, relative to the document; the document's own item when the outline has no import of that alias
- def at.targeta use, by what the binder resolved it to: a binder of the document is that binder; an item of the document is that item, before any alias; a name behind an alias is looked up in the file the import names; a free name is the document's item of that name, else Base's
- def at.sitea binder of the document is answered from the document, and a use as the binder resolved it; nothing at all falls back to the word under the cursor (a half-typed name)
- def at.bound
- def at.in
- def atwhat the name under a position of a document names
- def hover.binderthe binder, when the outline has nothing for that name
- def hover.pickan outline item when the name resolved, else one in this document, else the binder.
- def hover.itemthe outline item a top-level name hovers as.
- def hover.kinda def, law or type is its outline item; any other binder is itself
- def hover.bindthe binder under the cursor, read for hover
- def hover.sitea binder of an item is the outline item (signature, then the comment above it).
- def hover.boundhover at a binding site of a parsed document
- def hover.inhover at a position of a document's text
- def hoverwhat a hover at a position should show.
- type Sitesthe positions a name is at in its document, and whether the name is the document's own (a binder, or an item of it) -- only those can be renamed
- def sites.of
- def sites.in
- def sitesthe positions of the name at a position of a document
- def outlinethe items of a document
- def starting_inthe items of a file that start with a prefix, renamed for insertion
- def from_baseBase is big: it is offered once something is typed
- def as_itemsa binder as a candidate: its note stands for a signature
- def unqualifiedcandidates for a plain prefix: visible names, the document's items, its aliases, then Base
- def candidates.via`Alias.re` completes from the file behind the alias; anything else from the document, its aliases and Base
- def candidates.among
- def candidates.in
- def candidateswhat could complete the prefix typed at a line of a document: the locals visible there, then items, each named by the text to insert
- def text_ofa document's text
src/lsp/path.bend
- def pusha segment lands on the stack (reversed): `..` pops, `.` and `` do nothing
- def normevery segment pushed, in order
- def joindir and rel as one absolute path, its `.` and `..` resolved
- def dirthe directory of a file's path
src/lsp/proto.bend
- def stringsstrings as JSON strings
- def responsea reply to a request
- def failurea refusal of a request, with LSP's error code and a message
- def notifya notification: no id, no reply expected
- def capabilitieswhat the server can do.
- def position.atan LSP position as sent: a line and a character already in the negotiated encoding
- def positionan LSP position (0-based line and a code-point character), its character sent in the document's negotiated encoding
- def diagnosticthe checker gives a line and no columns: a diagnostic covers its whole line
- def diagnosticsdiagnostics as JSON
- def finding_rangea finding's range: its name, or from its column to the end of the line
- def findinga graded lint finding as a diagnostic: an error or a warning by its level, its stable code, and bolt(group:slug) as the source
- def findingsfindings as JSON
- def publishthe publishDiagnostics notification for a document: the checker's errors, then the linter's findings
- def line_rangea whole line as a range
- def hover.textan item as hover text: its signature as code, then its doc comment
- def hoveran item as hover: signature, then doc
- def locationan item's location: its whole line
- def kind_namewhat a binder is, in words
- def where_boundwhere a local was bound, for hover
- def hover.locala binder of the document: the text that bound it, and what it is.
- def name_rangeexactly a name's range
- def location.localexactly the binder's name
- def symbol.kindLSP's SymbolKind: module 2, function 12, constant 14, enum member 22, struct 23
- def symbolan item as a DocumentSymbol
- def symbols.go
- def symbolsthe document symbols
- def completion.kindLSP's CompletionItemKind: function 3, module 9, enum member 20, constant 21, struct 22
- def first_linea text's first line
- def completiona candidate replaces everything typed of the name, dots included: the editor's own idea of a word stops at a dot
- def completions.go
- def completionsisIncomplete: the server filtered by the prefix, so the editor asks again as the prefix grows
- def hexa hex digit's value: 0-9, then a-f and A-F as 10-15
- def unpercenta file URI's path: the scheme dropped, the %XX bytes decoded as UTF-8
- def patha file URI's path: the scheme dropped, the %XX bytes decoded as UTF-8
- def locations.go
- def locationsthe positions a name is at, as Locations
- def edits.go
- def renamea WorkspaceEdit over the one document
- def numsnumbers as JSON numbers
- def semanticthe semantic tokens response