@@ -1369,6 +1369,21 @@ format_cb_buffer_sample(struct format_tree *ft)
return (NULL);
}
+/* Callback for buffer_full. */
+static void *
+format_cb_buffer_full(struct format_tree *ft)
+{
+ size_t size;
+ const char *s;
+
+ if (ft->pb != NULL) {
+ s = paste_buffer_data(ft->pb, &size);
+ if (s != NULL)
+ return (xstrndup(s, size));
+ }
+ return (NULL);
+}
+
/* Callback for buffer_size. */
static void *
format_cb_buffer_size(struct format_tree *ft)
@@ -3004,6 +3019,9 @@ static const struct format_table_entry format_table[] = {
{ "buffer_created", FORMAT_TABLE_TIME,
format_cb_buffer_created
},
+ { "buffer_full", FORMAT_TABLE_STRING,
+ format_cb_buffer_full
+ },
{ "buffer_mode_format", FORMAT_TABLE_STRING,
format_cb_buffer_mode_format
},
@@ -6056,6 +6056,7 @@ The following variables are available, where appropriate:
.It Li "alternate_saved_x" Ta "" Ta "Saved cursor X in alternate screen"
.It Li "alternate_saved_y" Ta "" Ta "Saved cursor Y in alternate screen"
.It Li "buffer_created" Ta "" Ta "Time buffer created"
+.It Li "buffer_full" Ta "" Ta "Full buffer content"
.It Li "buffer_name" Ta "" Ta "Name of buffer"
.It Li "buffer_sample" Ta "" Ta "Sample of start of buffer"
.It Li "buffer_size" Ta "" Ta "Size of the specified buffer in bytes"