Description
Action_Kind
type Action_Kind is (No_Action, Link_Activated);
Enumeration literals
- No_Action
- Link_Activated
Action_Result
type Action_Result is record
Update : Flyology_TUI.Components.Interactions.Update_Result;
Action : Action_Kind := No_Action;
Link : Link_Id := No_Link;
end record;
Record fields
- Update
- Action
- Link
Advance_Parsing
procedure Advance_Parsing
(Item : in out Model; Line_Budget : Natural)
Consume at most Line_Budget physical source lines. Zero is a query-safe no-op. Capacity and malformed input are reported through Parsing.
Parameters
- Item
- Line_Budget
Appearance
type Appearance is record
Text : Flyology_TUI.Styles.Style :=
Flyology_TUI.Styles.Default;
Heading : Heading_Appearance :=
(others => Flyology_TUI.Styles.Default);
Emphasis : Flyology_TUI.Styles.Style :=
Flyology_TUI.Styles.Default;
Strong : Flyology_TUI.Styles.Style :=
Flyology_TUI.Styles.Default;
Inline_Code : Flyology_TUI.Styles.Style :=
Flyology_TUI.Styles.Default;
Code_Block : Flyology_TUI.Styles.Style :=
Flyology_TUI.Styles.Default;
Quote : Flyology_TUI.Styles.Style :=
Flyology_TUI.Styles.Default;
List_Marker : Flyology_TUI.Styles.Style :=
Flyology_TUI.Styles.Default;
Task_Unchecked : Flyology_TUI.Styles.Style :=
Flyology_TUI.Styles.Default;
Task_Checked : Flyology_TUI.Styles.Style :=
Flyology_TUI.Styles.Default;
Link : Flyology_TUI.Styles.Style :=
Flyology_TUI.Styles.Default;
Focused_Link : Flyology_TUI.Styles.Style :=
Flyology_TUI.Styles.Default;
Thematic_Break : Flyology_TUI.Styles.Style :=
Flyology_TUI.Styles.Default;
Diagnostic : Flyology_TUI.Styles.Style :=
Flyology_TUI.Styles.Default;
Selection : Flyology_TUI.Styles.Style :=
Flyology_TUI.Styles.Default;
end record;
Record fields
- Text
- Heading
- Emphasis
- Strong
- Inline_Code
- Code_Block
- Quote
- List_Marker
- Task_Unchecked
- Task_Checked
- Link
- Focused_Link
- Thematic_Break
- Diagnostic
- Selection
Blur
procedure Blur (Item : in out Model)
Parameters
- Item
Clear_Selection
procedure Clear_Selection (Item : in out Model)
Parameters
- Item
Content_Height
function Content_Height (Item : Presentation) return Natural
Parameters
- Item
Return value
Create
function Create
(Max_Code_Points : Positive;
Max_Lines : Positive;
Max_Links : Positive;
Width : Positive := 60;
Height : Positive := 20) return Model
Parameters
- Max_Code_Points
- Max_Lines
- Max_Links
- Width
- Height
Return value
First_Visible_Row
function First_Visible_Row (Item : Model) return Natural
Parameters
- Item
Return value
Focus
procedure Focus (Item : in out Model)
Parameters
- Item
Focused
function Focused (Item : Model) return Boolean
Parameters
- Item
Return value
Focused_Link
function Focused_Link (Item : Model) return Link_Id
Parameters
- Item
Return value
Frame
function Frame
(Item : Presentation) return Flyology_TUI.Surfaces.Surface
Parameters
- Item
Return value
From_Theme
function From_Theme
(Theme : Flyology_TUI.Themes.Theme) return Appearance
Parameters
- Theme
Return value
Handle
function Handle
(Item : in out Model;
Event : Flyology_TUI.Events.Terminal_Event) return Action_Result
Parameters
- Item
- Event
Return value
Handle
function Handle
(Item : in out Model;
Event : Flyology_TUI.Mouse.Local_Event;
Layout : Presentation) return Action_Result
Use the same immutable Presentation that was drawn when routing mouse input. This keeps hit testing aligned across resize and reparse.
Parameters
- Item
- Event
- Layout
Return value
Has_Link
function Has_Link (Item : Presentation; Id : Link_Id) return Boolean
Parameters
- Item
- Id
Return value
Has_Selection
function Has_Selection (Item : Model) return Boolean
Parameters
- Item
Return value
Has_Unsupported
function Has_Unsupported (Item : Model) return Boolean
Parameters
- Item
Return value
Heading_Appearance
type Heading_Appearance is array (Positive range 1 .. 6) of
Flyology_TUI.Styles.Style;
Height
function Height (Item : Model) return Positive
Parameters
- Item
Return value
Link_Count
function Link_Count (Item : Model) return Natural
Parameters
- Item
Return value
Link_Id
type Link_Id is new Natural;
Link_Region
function Link_Region
(Item : Presentation;
Id : Link_Id;
Position : Positive)
return Flyology_TUI.Geometry.Rectangle
Parameters
- Item
- Id
- Position
Return value
Link_Region_Count
function Link_Region_Count
(Item : Presentation; Id : Link_Id) return Natural
Parameters
- Item
- Id
Return value
Link_Target
function Link_Target
(Item : Model; Id : Link_Id) return Wide_Wide_String
Parameters
- Item
- Id
Return value
Model
type Model
(Max_Code_Points : Positive;
Max_Lines : Positive;
Max_Links : Positive) is tagged limited private;
Parsing is synchronous and caller-budgeted. Model owns bounded source, line metadata, and link targets; it owns no task, callback, or queue. The source core is a read-only Text_Area, so selection and Unicode boundary behavior are shared with the editing components.
Record fields
- Max_Code_Points
- Max_Lines
- Max_Links
No_Link
No_Link : constant Link_Id := 0;
Parsed_Line_Count
function Parsed_Line_Count (Item : Model) return Natural
Parameters
- Item
Return value
Parsing
function Parsing (Item : Model) return Parsing_State
Parameters
- Item
Return value
Parsing_State
type Parsing_State is
(Parsing_Dirty,
Parsing_Current,
Parsing_Capacity_Limited,
Parsing_Malformed);
Enumeration literals
- Parsing_Dirty
- Parsing_Current
- Parsing_Capacity_Limited
- Parsing_Malformed
Present
function Present
(Item : Model;
Look : Appearance;
Line_Budget : Natural := Natural'Last) return Presentation
Parameters
- Item
- Look
- Line_Budget
Return value
Present
function Present
(Item : Model;
Theme : Flyology_TUI.Themes.Theme;
Line_Budget : Natural := Natural'Last) return Presentation
Parameters
- Item
- Theme
- Line_Budget
Return value
Presentation
type Presentation (<>) is private;
Rendered_Line_Count
function Rendered_Line_Count (Item : Presentation) return Natural
Parameters
- Item
Return value
Rendering_Complete
function Rendering_Complete (Item : Presentation) return Boolean
Parameters
- Item
Return value
Scroll_Rows
procedure Scroll_Rows
(Item : in out Model; Amount : Integer; Changed : out Boolean)
Parameters
- Item
- Amount
- Changed
Select_All
procedure Select_All (Item : in out Model)
Parameters
- Item
Selection_Range
procedure Selection_Range
(Item : Model; First, Last : out Natural)
Parameters
- Item
- First
- Last
Set_Size
procedure Set_Size (Item : in out Model; Width, Height : Positive)
Parameters
- Item
- Width
- Height
Source
function Source (Item : Model) return Wide_Wide_String
Parameters
- Item
Return value
Try_Set_Source
procedure Try_Set_Source
(Item : in out Model;
Value : Wide_Wide_String;
Success : out Boolean)
Normalize line endings and replace the source atomically. A successful replacement invalidates prior parsing and stable link ids.
Parameters
- Item
- Value
- Success
Unsupported
function Unsupported (Item : Model) return Unsupported_Set
Parameters
- Item
Return value
Unsupported_Construct
type Unsupported_Construct is
(Images,
Tables,
Raw_HTML,
Footnotes,
Definition_Lists,
Nested_Block_Containers);
Enumeration literals
- Images
- Tables
- Raw_HTML
- Footnotes
- Definition_Lists
- Nested_Block_Containers
Unsupported_Set
type Unsupported_Set is array (Unsupported_Construct) of Boolean;
Width
function Width (Item : Model) return Positive
Parameters
- Item