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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox