A11 (C++ runtime)
Native C++ implementation of the A11 streaming action runtime
Loading...
Searching...
No Matches
navigate.h File Reference
#include <cstddef>
#include <optional>
#include <string>
#include <string_view>
#include <vector>
#include "a11/flow/catalogue.h"
#include "a11/flow/diagnostic.h"
#include "a11/flow/syntax.h"
#include "a11/flow/vocabulary.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  a11::flow::DocumentSymbol
 One thing a document declares, and the things declared inside it. More...
 
struct  a11::flow::Description
 What is at one offset, described. More...
 

Namespaces

namespace  a11
 
namespace  a11::flow
 

Enumerations

enum class  a11::flow::SymbolClass {
  a11::flow::kFlow , a11::flow::kDto , a11::flow::kField , a11::flow::kPort ,
  a11::flow::kHeader , a11::flow::kNodeMap , a11::flow::kNode , a11::flow::kCall ,
  a11::flow::kBarrier , a11::flow::kVariable , a11::flow::kExternal
}
 Moving around a document: what is under the caret, what the file declares, and where a name was bound. More...
 

Functions

std::string_view a11::flow::SymbolClassName (SymbolClass kind)
 
std::vector< DocumentSymbol > a11::flow::Symbols (std::string_view source)
 Every symbol a document declares, nested as it is written.
 
Description a11::flow::Describe (std::string_view source, size_t offset, const catalogue::Catalogue &known=catalogue::Catalogue::Builtin())
 What is at offset, and where it came from.
 
std::string a11::flow::ActionMarkdown (const catalogue::ActionInfo &action)
 An action, written out as the Markdown a reader wants to see: what it does, then every port it has.
 
std::string a11::flow::PortMarkdown (std::string_view name, std::string_view type, bool required, bool unary, std::string_view description)
 One port, written out as the Markdown a reader wants beside its name.
 
std::string a11::flow::FlowMarkdown (const FlowPlan &flow)
 A flow of the document, written out the same way: what it does, then its ports and which direction each runs.
 
std::string a11::flow::ShapeMarkdown (const DtoPlan &shape)
 A struct, written out the same way: how many fields, then each of them.
 
std::string a11::flow::WordMarkdown (std::string_view name, vocabulary::WordRole role)
 One word or mark of the language, written out as reference: what it does, what it takes, how it behaves, and a line of Flow using it.
 
std::string a11::flow::StageMarkdown (std::string_view name)
 A pipeline stage, written out as reference.
 
std::string a11::flow::BuiltinMarkdown (std::string_view name)
 A built-in function, the same way.
 

Variables

constexpr std::string_view a11::flow::kSymbolsFormat = "flow.symbols/v1"
 The format field of the symbols envelope.
 
constexpr std::string_view a11::flow::kHoverFormat = "flow.hover/v1"
 The format field of the hover envelope.
 
constexpr std::string_view a11::flow::kDefinitionFormat = "flow.definition/v1"
 The format field of the definition envelope.