Skip to content

Latest commit

 

History

History
119 lines (87 loc) · 3.43 KB

README.md

File metadata and controls

119 lines (87 loc) · 3.43 KB

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.

Installation

xpip install xontrib-hist-format
# or: xpip install -U git+https://github.com/anki-code/xontrib-hist-format

Usage

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.

Example

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!


Clipboard

You can redirect the output to clipboard. Example for xclip:

hist-md | xclip

Known issues

Not every command has output in the __xonsh__.history.

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.

Credits