def at.qual

bolt@1.27.0.0 · src/lsp/nav.bend:109

import bolt@1.27.0.0/src/lsp/nav.bend as Nav
import Base
import bolt@1.27.0.0/src/syntax/outline.bend as Outline
import bolt@1.27.0.0/src/lsp/files/service.bend as F
import bolt@1.27.0.0/src/lsp/docs.bend as Docs
import bolt@1.27.0.0/src/lsp/path.bend as Path
import bolt@1.27.0.0/src/lsp/proto.bend as Proto

109# a name behind an import alias: `rest` in the file the import names,
110# relative to the document; the document's own item when the outline has no
111# import of that alias
112def at.qual(
113  ~fs: F.Files,
114  imp: Maybe<&2, String>,
115  rest: String,
116  items: List<&2, Outline.Item>,
117  docs: List<&2, Docs.Doc>,
118  +uri: String,
119  +name: String
120) -> IO(Maybe<&2, Found>):
121  match imp:
122    case Some{rel}:
123      in_file(~fs, docs, Path.join(Path.dir(Proto.path(uri)), rel), rest)
124    case None{}:
125      own(~fs, Outline.find(items, name), docs, uri, name)

Uses (14)

Used by (1)