Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pieli/coating
A filter with a clickable interface 🦝
https://github.com/pieli/coating
bash canny cli hci interaction rice tui unix unix-philosophy vim
Last synced: 3 days ago
JSON representation
A filter with a clickable interface 🦝
- Host: GitHub
- URL: https://github.com/pieli/coating
- Owner: Pieli
- License: gpl-3.0
- Created: 2023-10-12T23:09:27.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-20T12:14:04.000Z (12 months ago)
- Last Synced: 2025-01-14T03:55:56.163Z (3 days ago)
- Topics: bash, canny, cli, hci, interaction, rice, tui, unix, unix-philosophy, vim
- Language: Python
- Homepage:
- Size: 1.12 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
`coating` creates a clickable pane, based on the standard input.
or more precise:
`coating` reads lines from STDIN, allowing you to interactively select a value, which is then returned to STDOUT.![example_interaction](assets/example_interaction.gif)
* coating enables interactive filters in piped commands
* a unix-philosophy experiment
* brings the mouse to the cli :)
* a fzf inspired tool
**But, what does it do?**
- Every non-white space becomes a token
- Every token will be possible element for selection
- After a selection, the token will be returned through standard output## Usage
Here are some examples, after the [installation step](#installation)This will open the selected file/directory of the current directory in vim:
```sh
vim $(ls -C | coating)
```Another possible usage is this:
```sh
ls -C | coating | xargs xdg-open
```
This opens the selected file with it's standard application.For more ways to use `coating` check out the `examples` directory.
### Html Parser
- when run with the `--tags` flag, coating will look for HTML tags (excluding semantics) and makes tag bodies clickable.
- this function allows for a predefinition of clickable elements, in contrast to the default case, where every non-whitespace character is clickable
- if the tags are nested, only the highest level of tags is clickable
- in the case ther are no tags in the text, every word will be tokenized and clickable.
## Installation
> [!Note]
> only tested / written for linuxYou can install `coating` from the PyPI repositories using the following command:
```
pip install coating
```
or check the realease page for a manual installation.on ubuntu first install ncurses-term:
```
apt install ncurses-term
```## Issues
> [!Important]
> This tool currently supports python3.10 and upwardsOn version with a python version lower than 3.10 the `curses.BUTTON5` constant is not supported.
Please report possible issues [here](https://github.com/Pieli/coating/issues).
## License
This project is licensed under the [GPLv3 License](LICENSE).
---
Made with love by 🦝