From: Trevor Woerner <twoerner@gmail.com>
To: docs@lists.yoctoproject.org
Subject: [PATCH v2 2/8] docs: copy only the command from a console block
Date: Tue, 22 Sep 2026 14:32:43 -0400 [thread overview]
Message-ID: <20260922183249.2433345-3-twoerner@gmail.com> (raw)
In-Reply-To: <20260922183249.2433345-1-twoerner@gmail.com>
The copy button matches the literal "$ " prompt, so on a block prompted
any other way it matches nothing and falls back to copying every line,
prompt and output included. Match a pattern covering each prompt shape
the manuals use instead, so the button gives the command alone whatever
the prompt looks like.
AI-Generated: codex/claude-opus 5 (xhigh)
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
---
changes in v2:
- dropped the stylesheet change, so a mouse selection keeps the output
- the comment now says this governs the copy button only, and only
reaches a block the console lexer has read
---
documentation/conf.py | 28 +++++++++++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)
diff --git a/documentation/conf.py b/documentation/conf.py
index 48d28a686807..313cabec05bb 100644
--- a/documentation/conf.py
+++ b/documentation/conf.py
@@ -242,4 +242,30 @@ intersphinx_mapping = {
# -- sphinx_copybutton configuration -----------------------------------------
# sphinx-copybutton configuration
-copybutton_prompt_text = "$ "
+# This governs the copy button only. A mouse selection is a separate
+# mechanism and takes whatever the theme leaves selectable, which is the
+# command and its output; Sphinx already excludes the prompt itself.
+#
+# It also only reaches a block the console lexer read, since that is what
+# marks a prompt as a prompt.
+#
+# Strip the prompt from a copied line wherever the prompt cannot be
+# confused with content. The pattern is not scoped to console blocks, so
+# every alternative has to stay safe inside a BitBake or configuration
+# example as well; measured over the built manuals, each one matches only
+# lines the lexer itself marks as a prompt.
+#
+# A bare "#" is deliberately absent. It opens a root prompt, a comment and
+# a line of program output alike, and nothing distinguishes them - which is
+# why the root prompts are given a preamble before this is switched on.
+copybutton_prompt_text = "|".join((
+ r"^(?:\S+[@:]\S*)?\$\s+", # "$ ", and "user@host:~$ "
+ r"^\S+[@:]\S*#\s+", # "root@qemux86-64:~# ", a root prompt
+ r"^[A-Za-z]:\\[^>]*>\s*", # "C:\WINDOWS\system32>", cmd.exe
+ r"^DISKPART>\s*", # diskpart prints a prompt of its own
+ r"^pydevshell>\s+", # bitbake -c pydevshell
+))
+copybutton_prompt_is_regexp = True
+copybutton_only_copy_prompt_lines = True
+copybutton_remove_prompts = True
+copybutton_line_continuation_character = "\\"
--
2.50.0.173.g8b6f19ccfc3a
next prev parent reply other threads:[~2026-09-22 18:33 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-22 18:32 [PATCH v2 0/8] docs: editorial repairs to the examples Trevor Woerner
2026-09-22 18:32 ` [PATCH v2 1/8] docs: give the root prompts a preamble Trevor Woerner
2026-09-23 10:17 ` [docs] " Quentin Schulz
2026-09-24 16:00 ` Trevor Woerner
2026-09-22 18:32 ` Trevor Woerner [this message]
2026-09-23 10:41 ` [docs] [PATCH v2 2/8] docs: copy only the command from a console block Quentin Schulz
2026-09-23 10:43 ` Quentin Schulz
2026-09-22 18:32 ` [PATCH v2 3/8] docs: show a prompt on commands the reader is meant to type Trevor Woerner
2026-09-23 10:49 ` [docs] " Quentin Schulz
2026-09-24 15:59 ` Trevor Woerner
2026-09-22 18:32 ` [PATCH v2 4/8] docs: write an elided passage as a comment Trevor Woerner
2026-09-23 10:50 ` [docs] " Quentin Schulz
2026-09-22 18:32 ` [PATCH v2 5/8] docs: mark the placeholders in examples Trevor Woerner
2026-09-23 10:57 ` [docs] " Quentin Schulz
2026-09-24 15:58 ` Trevor Woerner
2026-09-22 18:32 ` [PATCH v2 6/8] docs: remove real accounts from the examples Trevor Woerner
2026-09-23 11:02 ` [docs] " Quentin Schulz
2026-09-24 15:55 ` Trevor Woerner
2026-09-22 18:32 ` [PATCH v2 7/8] kernel-dev: give each example block one thing to hold Trevor Woerner
2026-09-23 11:05 ` [docs] " Quentin Schulz
2026-09-22 18:32 ` [PATCH v2 8/8] ref-manual: put the ARCHIVER_MODE comments on their own lines Trevor Woerner
2026-09-23 11:09 ` [docs] " Quentin Schulz
2026-09-24 15:55 ` Trevor Woerner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260922183249.2433345-3-twoerner@gmail.com \
--to=twoerner@gmail.com \
--cc=docs@lists.yoctoproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.