Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anki-code/xontrib-hist-format
Format xonsh history to post it to Github or another page.
https://github.com/anki-code/xontrib-hist-format
xonsh xonsh-dev xontrib
Last synced: 28 days ago
JSON representation
Format xonsh history to post it to Github or another page.
- Host: GitHub
- URL: https://github.com/anki-code/xontrib-hist-format
- Owner: anki-code
- License: mit
- Created: 2020-11-04T16:12:55.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-02-16T15:15:45.000Z (over 1 year ago)
- Last Synced: 2024-08-30T21:47:39.327Z (2 months ago)
- Topics: xonsh, xonsh-dev, xontrib
- Language: Python
- Homepage:
- Size: 28.3 KB
- Stars: 8
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
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
```bash
xpip install xontrib-hist-format
# or: xpip install -U git+https://github.com/anki-code/xontrib-hist-format
```## Usage
```bash
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 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:
```python
echo 123
ls / | head -n 3
```
Run hist-format:
```python
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:
```python
echo 123
#123ls / | head -n 3
#boot
#cdrom
#dev# Prepared by xontrib-hist-format
```Commands:
```python
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](https://github.com/astrand/xclip):
```python
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](https://github.com/xonsh/xonsh/releases/tag/0.10.0) ([4283](https://github.com/xonsh/xonsh/pull/4283))
Workaround: Check `XONSH_CAPTURE_ALWAYS` environment variable to bring the capturing of the output back.
## Credits
* This package is the part of [ergopack](https://github.com/anki-code/xontrib-ergopack) - the pack of ergonomic xontribs.
* This package was created with [xontrib cookiecutter template](https://github.com/xonsh/xontrib-cookiecutter).