1
0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2026-01-15 23:08:16 +08:00

Compare commits

...

8 Commits

Author SHA1 Message Date
Guillermo Alcantara
5b3657a454
feat(plugins): Add Ag completion (#3534)
* Add Ag completion

A replacement for ack/grep https://github.com/ggreer/the_silver_searcher

* Create README.md

As requested in the PR: https://github.com/ohmyzsh/ohmyzsh/pull/3534
2021-06-12 08:49:08 -07:00
Rolf Schröder
e701fa49e7
feat(plugins): New plugins for samtools and bedtools (#3574)
* Add first impl of samtools autocompletion

* Just autocomplete with files all the time

* Add init impl of bedtools completion

* Add readme.md for bedtools plugin

* Add readme for samtools

Co-authored-by: Rolf Schroeder <rolf.schroeder@centogene.com>
2021-06-12 07:12:07 -07:00
Felix Stupp
26e9cead1a
feat(plugins): Plugin "debian": Switch order of "apt" and "aptitude" for detection (#7533)
* Switch order of "apt" and "aptitude" for detection

"apt" is installed by default at Debian (maybe Ubuntu too), while "aptitude" does not seem to be installed by default.
For that, it may be better for most of the users to prefer "aptitude" if installed.

* plugins/debian/README: Change of order mirroded into documentation
2021-06-12 07:10:06 -07:00
javier wilson
8aca13ff78
feat(supervisord): autocomplete for restart command (#5144) 2021-06-12 07:02:10 -07:00
Mirko Lelansky
81a6cc5050
feat(plugins): Add helper function to get current mercurial bookmark (#4970)
Add a new function to get the current mercurial bookmark which can be
used in the theme prompts for example.
2021-06-12 07:01:26 -07:00
Oshadha Gunawardena
3cdc36fc1e
feat(plugins): Add a new showpkg alias to ubuntu plugin (#4653)
Add an alias for ```showpkg``` to get the reverse and recursive dependencies on a package
2021-06-12 06:23:29 -07:00
Frani
6779e10759
feat(plugins): Add new isodate plugin for friendly date formatting commands (#9963)
* add isodate plugin
2021-06-12 06:08:27 -07:00
Daniel Wu
9bdbe08aa2
feat(plugins): add gpr alias for /git pull -rebase/ which is easier to remember (#9964) 2021-06-12 06:06:09 -07:00
14 changed files with 239 additions and 6 deletions

13
plugins/ag/README.md Normal file
View File

@ -0,0 +1,13 @@
# The Silver Searcher
This plugin provides completion support for [`ag`](https://github.com/ggreer/the_silver_searcher).
To use it, add ag to the plugins array in your zshrc file.
```zsh
plugins=(... aws)
```
## INSTALLATION NOTES
Besides oh-my-zsh, `ag` needs to be installed by following these steps: https://github.com/ggreer/the_silver_searcher#installing.

66
plugins/ag/_ag Normal file
View File

@ -0,0 +1,66 @@
#compdef ag
#autoload
typeset -A opt_args
# Took the liberty of not listing every option… specially aliases and -D
_ag () {
local -a _1st_arguments
_1st_arguments=(
'--ackmate:Print results in AckMate-parseable format'
{'-A','--after'}':[LINES] Print lines after match (Default: 2)'
{'-B','--before'}':[LINES] Print lines before match (Default: 2)'
'--break:Print newlines between matches in different files'
'--nobreak:Do not print newlines between matches in different files'
{'-c','--count'}':Only print the number of matches in each file'
'--color:Print color codes in results (Default: On)'
'--nocolor:Do not print color codes in results'
'--color-line-number:Color codes for line numbers (Default: 1;33)'
'--color-match:Color codes for result match numbers (Default: 30;43)'
'--color-path:Color codes for path names (Default: 1;32)'
'--column:Print column numbers in results'
{'-H','--heading'}':Print file names (On unless searching a single file)'
'--noheading:Do not print file names (On unless searching a single file)'
'--line-numbers:Print line numbers even for streams'
{'-C','--context'}':[LINES] Print lines before and after matches (Default: 2)'
'-g:[PATTERN] Print filenames matching PATTERN'
{'-l','--files-with-matches'}':Only print filenames that contain matches'
{'-L','--files-without-matches'}':Only print filenames that do not contain matches'
'--no-numbers:Do not print line numbers'
{'-o','--only-matching'}':Prints only the matching part of the lines'
'--print-long-lines:Print matches on very long lines (Default: 2k characters)'
'--passthrough:When searching a stream, print all lines even if they do not match'
'--silent:Suppress all log messages, including errors'
'--stats:Print stats (files scanned, time taken, etc.)'
'--vimgrep:Print results like vim :vimgrep /pattern/g would'
{'-0','--null'}':Separate filenames with null (for "xargs -0")'
{'-a','--all-types'}':Search all files (does not include hidden files / .gitignore)'
'--depth:[NUM] Search up to NUM directories deep (Default: 25)'
{'-f','--follow'}':Follow symlinks'
{'-G','--file-search-regex'}':[PATTERN] Limit search to filenames matching PATTERN'
'--hidden:Search hidden files (obeys .*ignore files)'
{'-i','--ignore-case'}':Match case insensitively'
'--ignore:[PATTERN] Ignore files/directories matching PATTERN'
{'-m','--max-count'}':[NUM] Skip the rest of a file after NUM matches (Default: 10k)'
{'-p','--path-to-agignore'}':[PATH] Use .agignore file at PATH'
{'-Q','--literal'}':Do not parse PATTERN as a regular expression'
{'-s','--case-sensitive'}':Match case'
{'-S','--smart-case'}':Insensitive match unless PATTERN has uppercase (Default: On)'
'--search-binary:Search binary files for matches'
{'-t','--all-text'}':Search all text files (Hidden files not included)'
{'-u','--unrestricted'}':Search all files (ignore .agignore and _all_)'
{'-U','--skip-vcs-ignores'}':Ignore VCS files (stil obey .agignore)'
{'-v','--invert-match'}':Invert match'
{'-w','--word-regexp'}':Only match whole words'
{'-z','--search-zip'}':Search contents of compressed (e.g., gzip) files'
'--list-file-types:list of supported file types'
)
if [[ $words[-1] =~ "^-" ]]; then
_describe -t commands "ag options" _1st_arguments && ret=0
else
_files && ret=0
fi
}

View File

@ -0,0 +1,5 @@
# Bedtools plugin
This plugin adds support for the [bedtools suite](http://bedtools.readthedocs.org/en/latest/):
* Adds autocomplete options for all bedtools sub commands.

View File

@ -0,0 +1,64 @@
#compdef bedtools
#autoload
local curcontext="$curcontext" state line ret=1
local -a _files
_arguments -C \
'1: :->cmds' \
'2:: :->args' && ret=0
case $state in
cmds)
_values "bedtools command" \
"--contact[Feature requests, bugs, mailing lists, etc.]" \
"--help[Print this help menu.]" \
"--version[What version of bedtools are you using?.]" \
"annotate[Annotate coverage of features from multiple files.]" \
"bamtobed[Convert BAM alignments to BED (& other) formats.]" \
"bamtofastq[Convert BAM records to FASTQ records.]" \
"bed12tobed6[Breaks BED12 intervals into discrete BED6 intervals.]" \
"bedpetobam[Convert BEDPE intervals to BAM records.]" \
"bedtobam[Convert intervals to BAM records.]" \
"closest[Find the closest, potentially non-overlapping interval.]" \
"cluster[Cluster (but don't merge) overlapping/nearby intervals.]" \
"complement[Extract intervals _not_ represented by an interval file.]" \
"coverage[Compute the coverage over defined intervals.]" \
"expand[Replicate lines based on lists of values in columns.]" \
"fisher[Calculate Fisher statistic b/w two feature files.]" \
"flank[Create new intervals from the flanks of existing intervals.]" \
"genomecov[Compute the coverage over an entire genome.]" \
"getfasta[Use intervals to extract sequences from a FASTA file.]" \
"groupby[Group by common cols. & summarize oth. cols. (~ SQL "groupBy")]" \
"igv[Create an IGV snapshot batch script.]" \
"intersect[Find overlapping intervals in various ways.]" \
"jaccard[Calculate the Jaccard statistic b/w two sets of intervals.]" \
"links[Create a HTML page of links to UCSC locations.]" \
"makewindows[Make interval "windows" across a genome.]" \
"map[Apply a function to a column for each overlapping interval.]" \
"maskfasta[Use intervals to mask sequences from a FASTA file.]" \
"merge[Combine overlapping/nearby intervals into a single interval.]" \
"multicov[Counts coverage from multiple BAMs at specific intervals.]" \
"multiinter[Identifies common intervals among multiple interval files.]" \
"nuc[Profile the nucleotide content of intervals in a FASTA file.]" \
"overlap[Computes the amount of overlap from two intervals.]" \
"pairtobed[Find pairs that overlap intervals in various ways.]" \
"pairtopair[Find pairs that overlap other pairs in various ways.]" \
"random[Generate random intervals in a genome.]" \
"reldist[Calculate the distribution of relative distances b/w two files.]" \
"sample[Sample random records from file using reservoir sampling.]" \
"shuffle[Randomly redistrubute intervals in a genome.]" \
"slop[Adjust the size of intervals.]" \
"sort[Order the intervals in a file.]" \
"subtract[Remove intervals based on overlaps b/w two files.]" \
"tag[Tag BAM alignments based on overlaps with interval files.]" \
"unionbedg[Combines coverage intervals from multiple BEDGRAPH files.]" \
"window[Find overlapping intervals within a window around an interval.]" \
ret=0
;;
*)
_files
;;
esac
return ret

View File

@ -10,7 +10,7 @@ plugins=(... debian)
## Settings
- `$apt_pref`: use apt or aptitude if installed, fallback is apt-get.
- `$apt_pref`: use aptitude or apt if installed, fallback is apt-get.
- `$apt_upgr`: use upgrade or safe-upgrade (for aptitude).
Set `$apt_pref` and `$apt_upgr` to whatever command you want (before sourcing Oh My Zsh) to override this behavior.

View File

@ -1,13 +1,13 @@
# Use apt or aptitude if installed, fallback is apt-get
# Use aptitude or apt if installed, fallback is apt-get
# You can just set apt_pref='apt-get' to override it.
if [[ -z $apt_pref || -z $apt_upgr ]]; then
if [[ -e $commands[apt] ]]; then
apt_pref='apt'
apt_upgr='upgrade'
elif [[ -e $commands[aptitude] ]]; then
if [[ -e $commands[aptitude] ]]; then
apt_pref='aptitude'
apt_upgr='safe-upgrade'
elif [[ -e $commands[apt] ]]; then
apt_pref='apt'
apt_upgr='upgrade'
else
apt_pref='apt-get'
apt_upgr='upgrade'

View File

@ -116,6 +116,7 @@ plugins=(... git)
| gpf | git push --force-with-lease |
| gpf! | git push --force |
| gpoat | git push origin --all && git push origin --tags |
| gpr | git pull --rebase |
| gpu | git push upstream |
| gpv | git push -v |
| gr | git remote |

View File

@ -215,6 +215,7 @@ alias gpd='git push --dry-run'
alias gpf='git push --force-with-lease'
alias gpf!='git push --force'
alias gpoat='git push origin --all && git push origin --tags'
alias gpr='git pull --rebase'
alias gpu='git push upstream'
alias gpv='git push -v'

22
plugins/isodate/README.md Normal file
View File

@ -0,0 +1,22 @@
# Isodate plugin
**Maintainer:** [@Frani](https://github.com/frani)
This plugin adds completion for the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601),
as well as some aliases for common Date commands.
To use it, add `isodate` to the plugins array in your zshrc file:
```zsh
plugins=(... isodate)
```
## Aliases
| Alias | Command | Description |
|---------------|--------------------------------------|----------------------------------------------------------------------------|
| isodate | `date +%Y-%m-%dT%H:%M:%S%z` | Display the current date with UTC offset and ISO 8601-2 extended format |
| isodate_utc | `date -u +%Y-%m-%dT%H:%M:%SZ` | Display the current date in UTC and ISO 8601-2 extended format |
| isodate_basic | `date -u +%Y%m%dT%H%M%SZ` | Display the current date in UTC and ISO 8601 basic format |
| unixstamp | `date +%s` | Display the current date as a Unix timestamp (seconds since the Unix epoch)|
| date_locale | `date +"%c"` | Display the current date using the default locale's format |

View File

@ -0,0 +1,7 @@
# work with date ISO 8601 easy
alias isodate="date +%Y-%m-%dT%H:%M:%S%z"
alias isodate_utc="date -u +%Y-%m-%dT%H:%M:%SZ"
alias isodate_basic="date -u +%Y%m%dT%H%M%SZ"
alias unixstamp="date +%s"
alias date_locale="date +"%c""

View File

@ -63,3 +63,9 @@ function hgic() {
function hgoc() {
hg outgoing "$@" | grep "changeset" | wc -l
}
function hg_get_bookmark_name() {
if [ $(in_hg) ]; then
echo $(hg id -B)
fi
}

View File

@ -0,0 +1,5 @@
# Samtools plugin
This plugin adds support for [samtools](http://www.htslib.org/):
* Adds autocomplete options for all samtools sub commands.

View File

@ -0,0 +1,40 @@
#compdef samtools
#autoload
local curcontext="$curcontext" state line ret=1
local -a _files
_arguments -C \
'1: :->cmds' \
'2:: :->args' && ret=0
case $state in
cmds)
_values "samtools command" \
"view[SAM<->BAM conversion]" \
"sort[sort alignment file]" \
"mpileup[multi-way pileup]" \
"depth[compute the depth]" \
"faidx[index/extract FASTA]" \
"tview[text alignment viewer]" \
"index[index alignment]" \
"idxstats[BAM index stats (r595 or later)]" \
"fixmate[fix mate information]" \
"flagstat[simple stats]" \
"calmd[recalculate MD/NM tags and '=' bases]" \
"merge[merge sorted alignments]" \
"rmdup[remove PCR duplicates]" \
"reheader[replace BAM header]" \
"cat[concatenate BAMs]" \
"bedcov[read depth per BED region]" \
"targetcut[cut fosmid regions (for fosmid pool only)]" \
"phase[phase heterozygotes]" \
"bamshuf[shuffle and group alignments by name]"
ret=0
;;
*)
_files
;;
esac
return ret

View File

@ -15,6 +15,9 @@ alias agli='apt list --installed'
# List available updates only
alias aglu='apt list --upgradable'
alias acsp='apt-cache showpkg'
compdef _acsp acsp='apt-cache showpkg'
# superuser operations ######################################################
alias afu='sudo apt-file update'