Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/psprint/zsh-angel-iq-system
Intelligent console tools written in Zsh script, available to everyone
https://github.com/psprint/zsh-angel-iq-system
ctags fzf zsh zsh-plugin
Last synced: about 1 month ago
JSON representation
Intelligent console tools written in Zsh script, available to everyone
- Host: GitHub
- URL: https://github.com/psprint/zsh-angel-iq-system
- Owner: psprint
- License: agpl-3.0
- Created: 2023-02-10T10:33:10.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-04-28T15:17:12.000Z (about 1 year ago)
- Last Synced: 2024-05-01T17:37:45.138Z (about 2 months ago)
- Topics: ctags, fzf, zsh, zsh-plugin
- Language: Shell
- Homepage:
- Size: 1.27 MB
- Stars: 15
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Lists
- cli-apps - Zsh Angel IQ System - A bunch of intelligent extensions to Zsh, including an in-shell Ctags browser, an extension to Zinit plugin manager and Angel Swiss Knife. (<a name="utility"></a>Utilities)
- awesome-cli-apps - Zsh Angel IQ System - A bunch of intelligent extensions to Zsh, including an in-shell Ctags browser, an extension to Zinit plugin manager and Angel Swiss Knife. (<a name="utility"></a>Utilities)
README
[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=D6XDCHDSBDSDG)
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
- [Zsh Angel IQ System](#zsh-angel-iq-system)
- [Build console](#build-console)
- [Ctags browser](#ctags-browser)
- [Angel usage information](#angel-usage-information)
- [Angel open console](#angel-open-console)# Zsh Angel IQ System
A bunch of intelligent extensions to Zsh. Features:
1. Smart console – a TUI application allowing to run configure & make
and open editor on exact locations of reported errors.
2. In-shell Ctags browser – list all symbols in `TAGS` index created
with Universal Ctags and open editor on their source locations.
3. [Angel Swiss Knife](#angel-usage-information)
4. An extension to Zinit plugin manager – *action complete* – press
`Alt-a` to complete a name of plugin and `Alt-c` to complete
a name of ice modifier.
5. A set of global aliases in the form `NAME…STR` allowing clever
tests of variable contents. The strings are:
- `EMPTYSTR` – `[:space:][:INCOMPLETE:][:INVALID:]$'\e']#` – any
number of spaces, incomplete chars or invalid chars –
essentially an empty string,
- `INVALIDSTR` – `*[[:INCOMPLETE:][:INVALID:]]*` – a string
holding at least one invalid character,
- `EMORINSTR` – empty or invalid string,
- `FUNCSTR` – a string of the form: `abc() {…` with all possible
variants (like e.g.: preceding `function` keyword),
- `IDSTR` – a string with all characters allowed in Zsh variable
name,
- `PRINTSTR` – a string with all characters being printable,
- `WRONGSTR` – a string either empty, invalid, control-chars only,
zeroes-only or non-printable only,
- `ZEROSTR` – a string with only `0` character,
- `CTRLSTR` – a string consisting of only control characters.To use the global alias do:
```zsh
if [[ $var == WRONGSTR ]]; then
…
fi
```
There are also negation aliases, as `~NAMESTR`, i.e.:```zsh
if [[ $var == ~WRONGSTR ]]; then
print Good \$var contents
fi
```## Build console
A TUI frontend to `configure` and `make`. Its main feature is
opening `$EDITOR` on exact position of an error or warning in its
source file.![Angelcon](https://raw.githubusercontent.com/psprint/zsh-angel-system/master/share/img/angelcon.png)
## Ctags browser
A in-shell Ctags symbol browser, under the prompt (`alt-w` to activate):
![symbrowse](https://raw.githubusercontent.com/psprint/zsh-angel-system/master/share/img/symbolbrowse.png)
**
## Angel usage information
Below are subcommands of the command `angel`, i.e.: `angel {subcommand} …`- **open** : a fzf-like TUI app that opens selected file and can be used in pipe,
- **tags** : generate Ctags for current directory,
- **con** : open smart console for current directory,
- **gh-create** : create a repository at GitHub,
- **gh-unscope** : get the username of the given repository at GitHub (wins the one with biggest # of forks),
- **gh-clone** : get the the given repository from GitHub, only via `username/repository` ID, with a graphical, colorful progress meter,
- **clone** : get a given repo via full URL, with a graphical, colorful progress meter,
- **prj-dir** : get the project directory absolute path by looking for a file (like `.git`, `configure`, e.g.) in uptree (`(../)+{file}`),
- **fetch** : a frontend to curl and wget (first tries cURL)
- **filter** : filters out any color escape codes, reads stdin if no arguments,
- **fresh-in** : finds files changed in ARGUMENT-minutes
- **hop** : deploy a block of code for later execution in ZLE-scope,
- **qprint** : print contents of given variable (by name not by value),
- **swap** : swap two files in their locations,
- **tries-ng** : takes strings and a pattern and returns the strings each after the pattern applied. NON-GREEDY mode,
- **tries** : the same as tries-ng, but greedy,
- **try-ng** : takes string and a pattern and returns the matched string. NON-GREEDY mode,
- **try** : the same as try-ng, but greedy,
- **x-tract** : extracts any archive, recognizes many types,
- **countdown** : a graphical countdown, waits for `ARGUMENT` seconds.## Angel open console
After entering `angel open` (aliased to `apo`) a `fzf`-like TUI opens. It shows
all files in current directory by default (configure by `ANGEL_DEFAULT_COMMAND`)
or the lines read at standard input, if it'll be detected:![angel-open](https://raw.githubusercontent.com/psprint/zsh-angel-system/master/share/img/open-default.png)
After pressing `F2`, the currently selected file will be open, with syntax
highlighting (requires `highlight`, `source-highlight` or `bat`):![preview](https://raw.githubusercontent.com/psprint/zsh-angel-system/master/share/img/open-preview.png)
Pressing `ENTER` on any line will open `$VISUAL`/`$EDITOR`/`$PAGER` scrolled to
that line.Pressing `F3` will open `Git Diff` view.
![diff](https://raw.githubusercontent.com/psprint/zsh-angel-system/master/share/img/open-diff.png)
Pressing `ENTER` on any line will open `$VISUAL`/`$EDITOR`/`$PAGER` scrolled to
that line.Any view can be greped – `angel open` starts with search prompt active, so you
can enter the search-keyword to have either files, file preview contents or
git diff lines filtered with it. Multiple keywords are allowed. Below is a
file preview grepped:![preview-grep](https://raw.githubusercontent.com/psprint/zsh-angel-system/master/share/img/open-preview-grep.png)