mirror of https://github.com/ohmyzsh/ohmyzsh.git
Compare commits
11 Commits
26d6972913
...
04222da9d0
Author | SHA1 | Date |
---|---|---|
Erin Yuki Schlarb | 04222da9d0 | |
dependabot[bot] | 6e9cda3d30 | |
ohmyzsh[bot] | d689aa289e | |
Felipe Contreras | 8c5b71b2f4 | |
Alexander Schlarb | b58bf31444 | |
Alexander Schlarb | f246f4612a | |
Alexander Schlarb | ca467bd9d9 | |
Alexander Schlarb | 5889f4cfc9 | |
Alexander Schlarb | 3cb5a9097b | |
Alexander Schlarb | aa9043f5ea | |
Alexander Schlarb | bc0433e518 |
|
@ -2,11 +2,13 @@ dependencies:
|
|||
plugins/gitfast:
|
||||
repo: felipec/git-completion
|
||||
branch: master
|
||||
version: tag:v2.1
|
||||
version: tag:v2.2
|
||||
postcopy: |
|
||||
set -e
|
||||
rm -rf git-completion.plugin.zsh Makefile README.adoc t tools
|
||||
test -e git-completion.zsh && mv -f git-completion.zsh _git
|
||||
rm -rf git-completion.plugin.zsh Makefile t tools
|
||||
mv README.adoc MANUAL.adoc
|
||||
mv -f src/* .
|
||||
rmdir src
|
||||
plugins/gradle:
|
||||
repo: gradle/gradle-completion
|
||||
branch: master
|
||||
|
|
|
@ -3,5 +3,5 @@ charset-normalizer==3.4.1
|
|||
idna==3.10
|
||||
PyYAML==6.0.2
|
||||
requests==2.32.3
|
||||
semver==3.0.2
|
||||
semver==3.0.3
|
||||
urllib3==2.3.0
|
||||
|
|
|
@ -56,27 +56,110 @@ autoload -Uz is-at-least
|
|||
if is-at-least 4.2.0; then
|
||||
# open browser on urls
|
||||
if [[ -n "$BROWSER" ]]; then
|
||||
_browser_fts=(htm html de org net com at cx nl se dk)
|
||||
_browser_fts=(htm html xhtml)
|
||||
for ft in $_browser_fts; do alias -s $ft='$BROWSER'; done
|
||||
fi
|
||||
|
||||
_editor_fts=(cpp cxx cc c hh h inl asc txt TXT tex)
|
||||
for ft in $_editor_fts; do alias -s $ft='$EDITOR'; done
|
||||
# open editable text files in text editor
|
||||
if [[ -n "$VISUAL" ]] || [[ -n "$EDITOR" ]]; then
|
||||
_aliases_launch_editor() {
|
||||
# directly launch matched files with executable bit and shebang present
|
||||
if [[ -x "${1}" ]]; then
|
||||
read -r <"${1}"
|
||||
if [[ ${#REPLY} -ge 3 ]] && [[ ${REPLY:0:2} = '#!' ]]; then
|
||||
"$@"
|
||||
return $?
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -n "$VISUAL" ]]; then
|
||||
$VISUAL "$@"
|
||||
else
|
||||
$EDITOR "$@"
|
||||
fi
|
||||
}
|
||||
# Taken from the /language/metadata/property[name="globs"] sections of the
|
||||
# gtksourceview language definition files in
|
||||
# /usr/share/gtksourceview-3.0/language-specs/*.lang
|
||||
_editor_fts=(
|
||||
abnf as adb ads 4th forth asp am awk prg bib bsv boo cg h c cmake ctest
|
||||
cbl cob cbd cdb cdc hh hp hpp h++ cpp cxx cc C c++ cs css CSSL csv cu cuh
|
||||
desktop kdelnk diff patch rej d docbook bat cmd sys dot gv dpatch dtd dtl
|
||||
e eif erl hrl fcl frt fs f f90 f95 for F F90 fs g gd gi gap gdb gs glslv
|
||||
glslf go groovy hs lhs hx pro idl igm ini jade pug java js node ijs json
|
||||
geojson topojson jl kt tex ltx sty cls dtx ins bbl l lex flex la lai lo
|
||||
ll logcat lua m4 ac in make mak mk page markdown md mkd m mac MAC dem DEM
|
||||
wxm WXM build mo mop mxml n nrx nai nsh m j ml mli mll mly ocl ooc sign
|
||||
impl cl p pas txt TXT pl pm al perl t php php3 php4 phtml pig pc po pot
|
||||
prolog proto pp py3 py pyw R Rout r Rhistory Rtspec rst rb rake gemspe rs
|
||||
scala scm sce sci sh bash sml sig rq sql rnw Rnw snw Snw swift sv svh t2t
|
||||
tcl tk tera texi texinfo thrift toml tml lock vala vapi vb v vhd xml xspf
|
||||
siv smil smi sml kino xul xbel abw zabw glabe jnlp mml rdf rss wml xmi fo
|
||||
xslfo xslt xsl y yacc yaml yml
|
||||
)
|
||||
for ft in $_editor_fts; do alias -s $ft=_aliases_launch_editor; done
|
||||
fi
|
||||
|
||||
# open image files in image viewer
|
||||
if [[ -n "$XIVIEWER" ]]; then
|
||||
_image_fts=(jpg jpeg png gif mng tiff tif xpm)
|
||||
# List inspired by https://en.wikipedia.org/wiki/Image_file_formats
|
||||
_image_fts=(
|
||||
#: Raster formats
|
||||
# JPEG, JPEG2000, HEIF/HEVC, JBIG
|
||||
jpg jpeg jpe jif jfif jfi jp2 j2k jpf jpx jpm mj2 heif heic jbg jbig
|
||||
# BMP, BPG, GIF, ICO/ANI, PCX, PNG+MNG, TGA, TIFF, WebP (Web)
|
||||
bmp bpg gif dib ico cur ani pcx png mng tga tiff tif webp
|
||||
# NetPBM, XBM/XPM/XWD (ASCII)
|
||||
pbm bgm ppm pnm xbm xpm xwd
|
||||
# CIFF, DNG, DPX, ECW, FITS, ICS, RGBE (HDR & Raw)
|
||||
crw dng dpx ecw fits ics ids fit fts hdr
|
||||
# DDS ICNS OpenRaster SunRaster (Other)
|
||||
dds icns ora ras sun
|
||||
#: Vector formats
|
||||
# CGM WMF Gerber IGES SVG
|
||||
cgm wmf emf wmz emz gbr iges svg svgz
|
||||
)
|
||||
for ft in $_image_fts; do alias -s $ft='$XIVIEWER'; done
|
||||
fi
|
||||
|
||||
_media_fts=(ape avi flv m4a mkv mov mp3 mpeg mpg ogg ogm rm wav webm)
|
||||
for ft in $_media_fts; do alias -s $ft=mplayer; done
|
||||
if [[ -n "$XMVIEWER" ]]; then
|
||||
_media_fts=(
|
||||
#: Audio (container) formats
|
||||
# https://en.wikipedia.org/wiki/Audio_file_format#List_of_formats
|
||||
aac act aiff ape au awb dct dss flac gsm m4a m4b mp3 mpc oga opus ra sln
|
||||
tta vox wav wma wv
|
||||
#: Video (container) formats
|
||||
# https://en.wikipedia.org/wiki/Video_file_format#List_of_video_file_formats
|
||||
mkv flv f4v f4p f4a f4b vob ogv drc gifv avi mov qt wmv yuv rmvb asf amv
|
||||
m4v mpg mp2 m2v mpeg mpe mpv svi 3g2 mxf nsv
|
||||
#: Container formats that may store both
|
||||
3gp ogg mogg mp4 m4p rm webm
|
||||
)
|
||||
for ft in $_media_fts; do alias -s $ft=$XMVIEWER; done
|
||||
fi
|
||||
|
||||
#read documents
|
||||
alias -s pdf=acroread
|
||||
alias -s ps=gv
|
||||
alias -s dvi=xdvi
|
||||
alias -s chm=xchm
|
||||
alias -s djvu=djview
|
||||
#open complex document formats using the system viewer
|
||||
_document_fts=(
|
||||
# Long-term storage formats
|
||||
djvu dvi fb2 epub pdf ps rtf
|
||||
# Office Binary & Office OpenXML
|
||||
doc docx docm ppt pptx pptm xls xlsx xlsm
|
||||
# OpenDocument
|
||||
odt fodt ods fods odp fodp odg fodg odf
|
||||
# Uniform Office Format
|
||||
uof uot uos uop
|
||||
# StarOffice
|
||||
sdw sxw sdc sxc sdd sci sda sxd smf sxm
|
||||
# WordPerfect
|
||||
wpd wp wp4 wp5 wp6 wp7
|
||||
# Others
|
||||
abw gnm gnumeric pages hwp
|
||||
)
|
||||
if type xdg-open >/dev/null; then
|
||||
for ft in $_document_fts; do alias -s $ft=xdg-open; done
|
||||
elif type open >/dev/null; then
|
||||
for ft in $_document_fts; do alias -s $ft=open; done
|
||||
fi
|
||||
|
||||
#list whats inside packed file
|
||||
alias -s zip="unzip -l"
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
This project is a friendly fork of the official Git completion
|
||||
(`contrib/completion`) and prompt scripts for Bash, Zsh, and possibly other
|
||||
shells.
|
||||
|
||||
Most Git developers use the Bash shell, for which the completion scripts work
|
||||
rather well, however, Zsh is typically neglected. I've sent many patches to fix
|
||||
the issues, many have been merged, but many have been ignored, thus the need for
|
||||
a canonical location of a good, working Zsh completion.
|
||||
|
||||
There are advantages for Bash users too. Currently the scripts under `contrib` are tied to the
|
||||
specific Git version, for example the completion scripts of version v2.40
|
||||
(https://git.kernel.org/pub/scm/git/git.git/plain/contrib/completion/git-completion.bash?h=v2.40.0[git-completion.bash])
|
||||
have issues with older versions of Git (e.g. v2.33); the ones in
|
||||
this project don't.
|
||||
|
||||
With `git-completion` you can be sure you are using the latest completion that
|
||||
works in both shells, and any Git version.
|
||||
|
||||
This is a sister project of the
|
||||
https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/gitfast[Oh My Zsh
|
||||
gitfast] plugin (that I also maintain), which has similar needs.
|
||||
|
||||
== Installation ==
|
||||
|
||||
* https://github.com/felipec/git-completion/wiki/Bash[Bash instructions]
|
||||
* https://github.com/felipec/git-completion/wiki/Zsh[Zsh instructions]
|
||||
|
||||
== Improvements from upstream ==
|
||||
|
||||
This is a short list of the benefits you get:
|
||||
|
||||
* Easier installation
|
||||
* Tons of bug fixes
|
||||
* Works with older versions of git
|
||||
* Zsh: much more options
|
||||
* Zsh: quoting works properly
|
||||
* Zsh: automatic suffix removal
|
||||
|
||||
For a full list of all the patches on top of upstream git check
|
||||
https://github.com/felipec/git-completion/wiki/Patches[Patches].
|
|
@ -2,23 +2,11 @@
|
|||
|
||||
# zsh completion wrapper for git
|
||||
#
|
||||
# Copyright (c) 2012-2020 Felipe Contreras <felipe.contreras@gmail.com>
|
||||
# Copyright (c) 2012-2024 Felipe Contreras <felipe.contreras@gmail.com>
|
||||
#
|
||||
# The recommended way to install this script is to make a copy of it as a
|
||||
# file named '_git' inside any directory in your fpath.
|
||||
# The recommended way to use this script is to prepend its location to your $fpath:
|
||||
#
|
||||
# For example, create a directory '~/.zsh/', copy this file to '~/.zsh/_git',
|
||||
# and then add the following to your ~/.zshrc file:
|
||||
#
|
||||
# fpath=(~/.zsh $fpath)
|
||||
#
|
||||
# You need git's bash completion script installed. By default bash-completion's
|
||||
# location will be used (e.g. pkg-config --variable=completionsdir bash-completion).
|
||||
#
|
||||
# If your bash completion script is somewhere else, you can specify the
|
||||
# location in your ~/.zshrc:
|
||||
#
|
||||
# zstyle ':completion:*:*:git:*' script ~/.git-completion.bash
|
||||
# fpath=($git_completion_srcdir $fpath)
|
||||
#
|
||||
|
||||
zstyle -T ':completion:*:*:git:*' tag-order && \
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
# bash/zsh completion support for core Git.
|
||||
#
|
||||
# Copyright (C) 2006,2007 Shawn O. Pearce <spearce@spearce.org>
|
||||
# Copyright (c) 2012-2024 Felipe Contreras <felipe.contreras@gmail.com>
|
||||
#
|
||||
# Conceptually based on gitcompletion (http://gitweb.hawaga.org.uk/).
|
||||
# Distributed under the GNU General Public License, version 2.0.
|
||||
#
|
||||
|
|
Loading…
Reference in New Issue