Format xonsh history to post it to Github or another page.
The mission of xontrib-hist-format is to make commands repeatable, copy-pastable and save time to preparing.
If you like the idea click โญ on the repo and stay tuned.
xpip install xontrib-hist-format
# or: xpip install -U git+https://github.com/anki-code/xontrib-hist-format
xontrib load hist_format
hist-format --help # Basic command
hist-md # Markdown format shortcut
hist-txt # Text format shortcut
Arguments:
usage: hist-format [-h] [-f FORMAT] [-c COMMANDS_COUNT] [-l]
[-H [OUTPUT_HEAD_COUNT]] [-T [OUTPUT_TAIL_COUNT]]
[-m] [--lines]
Format xonsh history to post it to Github or another page.
optional arguments:
-h, --help show this help message and exit
-f FORMAT, --format FORMAT
Format: md, txt.
-c COMMANDS_COUNT, --commands-count COMMANDS_COUNT
Count of commands
-l, --commands-list Show commands in distinct section.
-H [OUTPUT_HEAD_COUNT], --output-head-count [OUTPUT_HEAD_COUNT]
Count of lines from output head to show.
-T [OUTPUT_TAIL_COUNT], --output-tail-count [OUTPUT_TAIL_COUNT]
Count of lines from output tail to show.
-m, --min Make block minimized i.e. by adding <details> tag in Markdown.
--lines Add additional lines before and after.
Note! The clear
command is used as marker of the beginning of commands list. If you run commands 1, 2, 3
then run clear
, and run 4, 5, 6 and finally run hist-md
it will show 4, 5, 6 commands.
Feel free to open an issue with feedback on this approach.
Run commands:
echo 123
ls / | head -n 3
Run hist-format:
hist-md -c 2 -l --lines # latest 2 commands + commands list + header and footer as line
As result you will get the output that you can copy and paste to the Github comment or md-file:
Output:
echo 123
#123
ls / | head -n 3
#boot
#cdrom
#dev
# Prepared by xontrib-hist-format
Commands:
echo 123
ls / | head -n 3
# Prepared by xontrib-hist-format
You can disable the "Prepared by" message by setting XONTRIB_HIST_FORMAT_FOOTER = ''
in your environment. If you like this xontrib, tell your friends!
You can redirect the output to clipboard. Example for xclip:
hist-md | xclip
Workaround in some cases is to use pipe into head
i.e. cat file | head
.
Not working after xonsh 0.10.0 (4283)
Workaround: Check XONSH_CAPTURE_ALWAYS
environment variable to bring the capturing of the output back.
- This package is the part of ergopack - the pack of ergonomic xontribs.
- This package was created with xontrib cookiecutter template.