doxygen: integrate examples into documentation

pull/9053/head
Mitchell Hashimoto 2025-10-06 08:36:19 -07:00
parent 972dc94386
commit 9194d6c496
No known key found for this signature in database
GPG Key ID: 523D5DC389D273BC
3 changed files with 25 additions and 4 deletions

View File

@ -6,6 +6,9 @@ PROJECT_LOGO = images/gnome/64.png
INPUT = include/ghostty/vt.h INPUT = include/ghostty/vt.h
INPUT_ENCODING = UTF-8 INPUT_ENCODING = UTF-8
RECURSIVE = NO RECURSIVE = NO
EXAMPLE_PATH = example
EXAMPLE_RECURSIVE = YES
EXAMPLE_PATTERNS = *
FULL_PATH_NAMES = NO FULL_PATH_NAMES = NO
STRIP_FROM_INC_PATH = include STRIP_FROM_INC_PATH = include
SOURCE_BROWSER = YES SOURCE_BROWSER = YES

View File

@ -1,7 +1,7 @@
/** /**
* @file vt.h * @file vt.h
* *
* libghostty-vt - Virtual terminal sequence parsing library * libghostty-vt - Virtual terminal emulator library
* *
* This library provides functionality for parsing and handling terminal * This library provides functionality for parsing and handling terminal
* escape sequences as well as maintaining terminal state such as styles, * escape sequences as well as maintaining terminal state such as styles,
@ -12,14 +12,15 @@
*/ */
/** /**
* @mainpage libghostty-vt - Virtual Terminal Sequence Parser * @mainpage libghostty-vt - Virtual Terminal Emulator Library
* *
* libghostty-vt is a C library which implements a modern terminal emulator, * libghostty-vt is a C library which implements a modern terminal emulator,
* extracted from the [Ghostty](https://ghostty.org) terminal emulator. * extracted from the [Ghostty](https://ghostty.org) terminal emulator.
* *
* libghostty-vt contains the logic for handling the core parts of a terminal * libghostty-vt contains the logic for handling the core parts of a terminal
* emulator: parsing terminal escape sequences and maintaining terminal state. * emulator: parsing terminal escape sequences, maintaining terminal state,
* It can handle scrollback, line wrapping, reflow on resize, and more. * encoding input events, etc. It can handle scrollback, line wrapping,
* reflow on resize, and more.
* *
* @warning This library is currently in development and the API is not yet stable. * @warning This library is currently in development and the API is not yet stable.
* Breaking changes are expected in future versions. Use with caution in production code. * Breaking changes are expected in future versions. Use with caution in production code.
@ -31,6 +32,22 @@
* - @ref osc "OSC Parser" - Parse OSC (Operating System Command) sequences * - @ref osc "OSC Parser" - Parse OSC (Operating System Command) sequences
* - @ref allocator "Memory Management" - Memory management and custom allocators * - @ref allocator "Memory Management" - Memory management and custom allocators
* *
* @section examples_sec Examples
*
* Complete working examples:
* - @ref c-vt/src/main.c - OSC parser example
* - @ref c-vt-key-encode/src/main.c - Key encoding example
*
*/
/** @example c-vt/src/main.c
* This example demonstrates how to use the OSC parser to parse an OSC sequence,
* extract command information, and retrieve command-specific data like window titles.
*/
/** @example c-vt-key-encode/src/main.c
* This example demonstrates how to use the key encoder to convert key events
* into terminal escape sequences using the Kitty keyboard protocol.
*/ */
#ifndef GHOSTTY_VT_H #ifndef GHOSTTY_VT_H

View File

@ -14,6 +14,7 @@ WORKDIR /ghostty
COPY include/ ./include/ COPY include/ ./include/
COPY images/ ./images/ COPY images/ ./images/
COPY dist/doxygen/ ./dist/doxygen/ COPY dist/doxygen/ ./dist/doxygen/
COPY example/ ./example/
COPY Doxyfile ./ COPY Doxyfile ./
COPY DoxygenLayout.xml ./ COPY DoxygenLayout.xml ./
RUN mkdir -p zig-out/share/ghostty/doc/libghostty RUN mkdir -p zig-out/share/ghostty/doc/libghostty