libghostty
Loading...
Searching...
No Matches
selection.h File Reference
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <ghostty/vt/allocator.h>
#include <ghostty/vt/grid_ref.h>
#include <ghostty/vt/point.h>
#include <ghostty/vt/types.h>

Go to the source code of this file.

Data Structures

struct  GhosttySelection
struct  GhosttyTerminalSelectWordOptions
struct  GhosttyTerminalSelectWordBetweenOptions
struct  GhosttyTerminalSelectLineOptions
struct  GhosttyTerminalSelectionFormatOptions
struct  GhosttySelectionGestureBehaviors
struct  GhosttySelectionGestureGeometry

Typedefs

typedef struct GhosttySelectionGestureImpl * GhosttySelectionGesture
typedef struct GhosttySelectionGestureEventImpl * GhosttySelectionGestureEvent

Enumerations

enum  GhosttySelectionOrder { GHOSTTY_SELECTION_ORDER_FORWARD = 0 , GHOSTTY_SELECTION_ORDER_REVERSE = 1 , GHOSTTY_SELECTION_ORDER_MIRRORED_FORWARD = 2 , GHOSTTY_SELECTION_ORDER_MIRRORED_REVERSE = 3 , GHOSTTY_SELECTION_ORDER_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE }
enum  GhosttySelectionAdjust {
  GHOSTTY_SELECTION_ADJUST_LEFT = 0 , GHOSTTY_SELECTION_ADJUST_RIGHT = 1 , GHOSTTY_SELECTION_ADJUST_UP = 2 , GHOSTTY_SELECTION_ADJUST_DOWN = 3 ,
  GHOSTTY_SELECTION_ADJUST_HOME = 4 , GHOSTTY_SELECTION_ADJUST_END = 5 , GHOSTTY_SELECTION_ADJUST_PAGE_UP = 6 , GHOSTTY_SELECTION_ADJUST_PAGE_DOWN = 7 ,
  GHOSTTY_SELECTION_ADJUST_BEGINNING_OF_LINE = 8 , GHOSTTY_SELECTION_ADJUST_END_OF_LINE = 9 , GHOSTTY_SELECTION_ADJUST_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE
}
enum  GhosttySelectionGestureBehavior { GHOSTTY_SELECTION_GESTURE_BEHAVIOR_CELL = 0 , GHOSTTY_SELECTION_GESTURE_BEHAVIOR_WORD = 1 , GHOSTTY_SELECTION_GESTURE_BEHAVIOR_LINE = 2 , GHOSTTY_SELECTION_GESTURE_BEHAVIOR_OUTPUT = 3 , GHOSTTY_SELECTION_GESTURE_BEHAVIOR_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE }
enum  GhosttySelectionGestureAutoscroll { GHOSTTY_SELECTION_GESTURE_AUTOSCROLL_NONE = 0 , GHOSTTY_SELECTION_GESTURE_AUTOSCROLL_UP = 1 , GHOSTTY_SELECTION_GESTURE_AUTOSCROLL_DOWN = 2 , GHOSTTY_SELECTION_GESTURE_AUTOSCROLL_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE }
enum  GhosttySelectionGestureData {
  GHOSTTY_SELECTION_GESTURE_DATA_CLICK_COUNT = 0 , GHOSTTY_SELECTION_GESTURE_DATA_DRAGGED = 1 , GHOSTTY_SELECTION_GESTURE_DATA_AUTOSCROLL = 2 , GHOSTTY_SELECTION_GESTURE_DATA_BEHAVIOR = 3 ,
  GHOSTTY_SELECTION_GESTURE_DATA_ANCHOR = 4 , GHOSTTY_SELECTION_GESTURE_DATA_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE
}
enum  GhosttySelectionGestureEventType {
  GHOSTTY_SELECTION_GESTURE_EVENT_TYPE_PRESS = 0 , GHOSTTY_SELECTION_GESTURE_EVENT_TYPE_RELEASE = 1 , GHOSTTY_SELECTION_GESTURE_EVENT_TYPE_DRAG = 2 , GHOSTTY_SELECTION_GESTURE_EVENT_TYPE_AUTOSCROLL_TICK = 3 ,
  GHOSTTY_SELECTION_GESTURE_EVENT_TYPE_DEEP_PRESS = 4 , GHOSTTY_SELECTION_GESTURE_EVENT_TYPE_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE
}
enum  GhosttySelectionGestureEventOption {
  GHOSTTY_SELECTION_GESTURE_EVENT_OPT_REF = 0 , GHOSTTY_SELECTION_GESTURE_EVENT_OPT_POSITION = 1 , GHOSTTY_SELECTION_GESTURE_EVENT_OPT_REPEAT_DISTANCE = 2 , GHOSTTY_SELECTION_GESTURE_EVENT_OPT_TIME_NS = 3 ,
  GHOSTTY_SELECTION_GESTURE_EVENT_OPT_REPEAT_INTERVAL_NS = 4 , GHOSTTY_SELECTION_GESTURE_EVENT_OPT_WORD_BOUNDARY_CODEPOINTS = 5 , GHOSTTY_SELECTION_GESTURE_EVENT_OPT_BEHAVIORS = 6 , GHOSTTY_SELECTION_GESTURE_EVENT_OPT_RECTANGLE = 7 ,
  GHOSTTY_SELECTION_GESTURE_EVENT_OPT_GEOMETRY = 8 , GHOSTTY_SELECTION_GESTURE_EVENT_OPT_VIEWPORT = 9 , GHOSTTY_SELECTION_GESTURE_EVENT_OPT_MAX_VALUE = GHOSTTY_ENUM_MAX_VALUE
}

Functions

GHOSTTY_API GhosttyResult ghostty_selection_gesture_event_new (const GhosttyAllocator *allocator, GhosttySelectionGestureEvent *out_event, GhosttySelectionGestureEventType type)
GHOSTTY_API void ghostty_selection_gesture_event_free (GhosttySelectionGestureEvent event)
GHOSTTY_API GhosttyResult ghostty_selection_gesture_event_set (GhosttySelectionGestureEvent event, GhosttySelectionGestureEventOption option, const void *value)
GHOSTTY_API GhosttyResult ghostty_selection_gesture_event (GhosttySelectionGesture gesture, GhosttyTerminal terminal, GhosttySelectionGestureEvent event, GhosttySelection *out_selection)
GHOSTTY_API GhosttyResult ghostty_selection_gesture_new (const GhosttyAllocator *allocator, GhosttySelectionGesture *out_gesture)
GHOSTTY_API void ghostty_selection_gesture_free (GhosttySelectionGesture gesture, GhosttyTerminal terminal)
GHOSTTY_API void ghostty_selection_gesture_reset (GhosttySelectionGesture gesture, GhosttyTerminal terminal)
GHOSTTY_API GhosttyResult ghostty_selection_gesture_get (GhosttySelectionGesture gesture, GhosttyTerminal terminal, GhosttySelectionGestureData data, void *value)
GHOSTTY_API GhosttyResult ghostty_selection_gesture_get_multi (GhosttySelectionGesture gesture, GhosttyTerminal terminal, size_t count, const GhosttySelectionGestureData *keys, void **values, size_t *out_written)
GHOSTTY_API GhosttyResult ghostty_terminal_select_word (GhosttyTerminal terminal, const GhosttyTerminalSelectWordOptions *options, GhosttySelection *out_selection)
GHOSTTY_API GhosttyResult ghostty_terminal_select_word_between (GhosttyTerminal terminal, const GhosttyTerminalSelectWordBetweenOptions *options, GhosttySelection *out_selection)
GHOSTTY_API GhosttyResult ghostty_terminal_select_line (GhosttyTerminal terminal, const GhosttyTerminalSelectLineOptions *options, GhosttySelection *out_selection)
GHOSTTY_API GhosttyResult ghostty_terminal_select_all (GhosttyTerminal terminal, GhosttySelection *out_selection)
GHOSTTY_API GhosttyResult ghostty_terminal_select_output (GhosttyTerminal terminal, GhosttyGridRef ref, GhosttySelection *out_selection)
GHOSTTY_API GhosttyResult ghostty_terminal_selection_format_buf (GhosttyTerminal terminal, GhosttyTerminalSelectionFormatOptions options, uint8_t *buf, size_t buf_len, size_t *out_written)
GHOSTTY_API GhosttyResult ghostty_terminal_selection_format_alloc (GhosttyTerminal terminal, const GhosttyAllocator *allocator, GhosttyTerminalSelectionFormatOptions options, uint8_t **out_ptr, size_t *out_len)
GHOSTTY_API GhosttyResult ghostty_terminal_selection_adjust (GhosttyTerminal terminal, GhosttySelection *selection, GhosttySelectionAdjust adjustment)
GHOSTTY_API GhosttyResult ghostty_terminal_selection_order (GhosttyTerminal terminal, const GhosttySelection *selection, GhosttySelectionOrder *out_order)
GHOSTTY_API GhosttyResult ghostty_terminal_selection_ordered (GhosttyTerminal terminal, const GhosttySelection *selection, GhosttySelectionOrder desired, GhosttySelection *out_selection)
GHOSTTY_API GhosttyResult ghostty_terminal_selection_contains (GhosttyTerminal terminal, const GhosttySelection *selection, GhosttyPoint point, bool *out_contains)
GHOSTTY_API GhosttyResult ghostty_terminal_selection_equal (GhosttyTerminal terminal, const GhosttySelection *a, const GhosttySelection *b, bool *out_equal)

Detailed Description

Selection range type for specifying a region of terminal content.

Definition in file selection.h.