initial commit
This commit is contained in:
66
.Xresources
Executable file
66
.Xresources
Executable file
@@ -0,0 +1,66 @@
|
|||||||
|
! URxvt settings
|
||||||
|
URxvt.inheritPixmap: false
|
||||||
|
urxvt.transparent: false
|
||||||
|
URxvt.imLocale: en_US.UTF-8
|
||||||
|
URxvt.scrollBar: false
|
||||||
|
URxvt.saveLines: 500
|
||||||
|
URxvt.cursorBlink: true
|
||||||
|
URxvt.geometry: 100x25
|
||||||
|
URxvt.fading: 30%
|
||||||
|
URxvt.allow_bold: true
|
||||||
|
URxvt.internalBorder: 3
|
||||||
|
URxvt.letterSpace:0
|
||||||
|
URxvt*perl-lib: /usr/lib/urxvt/perl/
|
||||||
|
URxvt*perl-ext-common: default,matcher,font-size
|
||||||
|
URxvt*url-launcher: /usr/bin/firefox
|
||||||
|
URxvt*matcher.button: 1
|
||||||
|
URxvt*matcher.pattern.1:\\bwww\\.[\\w-]+\\.[\\w./?&@#-]*[\\w/-]
|
||||||
|
URxvt.keysym.C-Up: font-size:increase
|
||||||
|
URxvt.keysym.C-Down: font-size:decrease
|
||||||
|
URxvt.keysym.C-S-Up: font-size:incglobal
|
||||||
|
URxvt.keysym.C-S-Down: font-size:decglobal
|
||||||
|
URxvt.keysym.C-equal: font-size:reset
|
||||||
|
URxvt.keysym.C-slash: font-size:show
|
||||||
|
! Xft Settings (font)
|
||||||
|
Xft.lcdfilter: lcddefault
|
||||||
|
Xft.antialias: true
|
||||||
|
Xft.rgba:rgba
|
||||||
|
Xft.hinting: true
|
||||||
|
Xft.hintstyle: hintfull
|
||||||
|
Xft.dpi: 92
|
||||||
|
*font: xft:xos4 Terminess Powerline:style=Regular:pixelsize=18,xft:TerminessTTF Nerd Font:pixelsize=20:style=Medium
|
||||||
|
*boldFont: xft:xos4 Terminess Powerline:style=Bold:pixelsize=18,xft:TerminessTTF Nerd Font:pixelsize=20:style=Bold
|
||||||
|
xterm*faceName: Terminess Powerline:pixelsize=14:style=Regular
|
||||||
|
! special
|
||||||
|
urxvt.foreground: #c1c4c2
|
||||||
|
urxvt.background: #1d1f21
|
||||||
|
urxvt.cursorColor: #d2c5bc
|
||||||
|
! black
|
||||||
|
URxvt*color0: #1d1f21
|
||||||
|
URxvt*color8: #303030
|
||||||
|
! red
|
||||||
|
URxvt*color1: #d73555
|
||||||
|
URxvt*color9: #c76484
|
||||||
|
! green
|
||||||
|
URxvt*color2: #35d755
|
||||||
|
URxvt*color10: #64c784
|
||||||
|
! yellow
|
||||||
|
URxvt*color3: #d7d755
|
||||||
|
URxvt*color11: #c7c784
|
||||||
|
! blue
|
||||||
|
URxvt*color4: #3555d7
|
||||||
|
URxvt*color12: #6484c7
|
||||||
|
! magenta
|
||||||
|
URxvt*color5: #d755d7
|
||||||
|
! purple
|
||||||
|
URxvt*color13: #7355d7
|
||||||
|
! cyan
|
||||||
|
URxvt*color6: #55b7b7
|
||||||
|
|
||||||
|
URxvt*color14: #84c7c7
|
||||||
|
!#84c7c7
|
||||||
|
! white
|
||||||
|
URxvt*color7: #505050
|
||||||
|
URxvt*color15: #d7d7d7
|
||||||
|
#include ".config/Xresources.d/t-i3.x"
|
||||||
|
!#include "~/.config/Xresources.d/t-netbook.x"
|
||||||
4
.config/Xresources.d/t-i3.x
Executable file
4
.config/Xresources.d/t-i3.x
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
rofi.color-normal: #15325A, #f5f5f5, #15325A, #225396, #dfdfdf
|
||||||
|
rofi.color-urgent: #15325A, #dc322f, #15325A, #dc322f, #dfdfdf
|
||||||
|
rofi.color-active: #15325A, #268bd2, #15325A, #268bd2, #dfdfdf
|
||||||
|
rofi.color-window: #15325A,#225396
|
||||||
8
.config/Xresources.d/t-netbook.x
Executable file
8
.config/Xresources.d/t-netbook.x
Executable file
@@ -0,0 +1,8 @@
|
|||||||
|
! ------------------------------------------------------------------------------
|
||||||
|
! ROFI Color theme
|
||||||
|
! ------------------------------------------------------------------------------
|
||||||
|
rofi.color-enabled: true
|
||||||
|
rofi.color-window: #273238, #273238, #1e2529
|
||||||
|
rofi.color-normal: #273238, #c1c1c1, #273238, #394249, #ffffff
|
||||||
|
rofi.color-active: #273238, #80cbc4, #273238, #394249, #80cbc4
|
||||||
|
rofi.color-urgent: #273238, #ff1844, #273238, #394249, #ff1844
|
||||||
245
.config/dunst/dunstrc
Executable file
245
.config/dunst/dunstrc
Executable file
@@ -0,0 +1,245 @@
|
|||||||
|
[global]
|
||||||
|
font = Hack-Regular 9
|
||||||
|
|
||||||
|
# Allow a small subset of html markup:
|
||||||
|
# <b>bold</b>
|
||||||
|
# <i>italic</i>
|
||||||
|
# <s>strikethrough</s>
|
||||||
|
# <u>underline</u>
|
||||||
|
#
|
||||||
|
# For a complete reference see
|
||||||
|
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
|
||||||
|
# If markup is not allowed, those tags will be stripped out of the
|
||||||
|
# message.
|
||||||
|
allow_markup = yes
|
||||||
|
|
||||||
|
# The format of the message. Possible variables are:
|
||||||
|
# %a appname
|
||||||
|
# %s summary
|
||||||
|
# %b body
|
||||||
|
# %i iconname (including its path)
|
||||||
|
# %I iconname (without its path)
|
||||||
|
# %p progress value if set ([ 0%] to [100%]) or nothing
|
||||||
|
# Markup is allowed
|
||||||
|
format = "<b>%s</b>\n%b"
|
||||||
|
|
||||||
|
# Sort messages by urgency.
|
||||||
|
sort = yes
|
||||||
|
|
||||||
|
# Show how many messages are currently hidden (because of geometry).
|
||||||
|
indicate_hidden = yes
|
||||||
|
|
||||||
|
# Alignment of message text.
|
||||||
|
# Possible values are "left", "center" and "right".
|
||||||
|
alignment = left
|
||||||
|
|
||||||
|
# The frequency with wich text that is longer than the notification
|
||||||
|
# window allows bounces back and forth.
|
||||||
|
# This option conflicts with "word_wrap".
|
||||||
|
# Set to 0 to disable.
|
||||||
|
bounce_freq = 0
|
||||||
|
|
||||||
|
# Show age of message if message is older than show_age_threshold
|
||||||
|
# seconds.
|
||||||
|
# Set to -1 to disable.
|
||||||
|
show_age_threshold = 60
|
||||||
|
|
||||||
|
# Split notifications into multiple lines if they don't fit into
|
||||||
|
# geometry.
|
||||||
|
word_wrap = yes
|
||||||
|
|
||||||
|
# Ignore newlines '\n' in notifications.
|
||||||
|
ignore_newline = no
|
||||||
|
|
||||||
|
|
||||||
|
# The geometry of the window:
|
||||||
|
# [{width}]x{height}[+/-{x}+/-{y}]
|
||||||
|
# The geometry of the message window.
|
||||||
|
# The height is measured in number of notifications everything else
|
||||||
|
# in pixels. If the width is omitted but the height is given
|
||||||
|
# ("-geometry x2"), the message window expands over the whole screen
|
||||||
|
# (dmenu-like). If width is 0, the window expands to the longest
|
||||||
|
# message displayed. A positive x is measured from the left, a
|
||||||
|
# negative from the right side of the screen. Y is measured from
|
||||||
|
# the top and down respectevly.
|
||||||
|
# The width can be negative. In this case the actual width is the
|
||||||
|
# screen width minus the width defined in within the geometry option.
|
||||||
|
geometry = "300x10-20+30"
|
||||||
|
|
||||||
|
# Shrink window if it's smaller than the width. Will be ignored if
|
||||||
|
# width is 0.
|
||||||
|
shrink = no
|
||||||
|
|
||||||
|
# The transparency of the window. Range: [0; 100].
|
||||||
|
# This option will only work if a compositing windowmanager is
|
||||||
|
# present (e.g. xcompmgr, compiz, etc.).
|
||||||
|
transparency = 0
|
||||||
|
|
||||||
|
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
||||||
|
# for longer than idle_threshold seconds.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
idle_threshold = 120
|
||||||
|
|
||||||
|
# Which monitor should the notifications be displayed on.
|
||||||
|
monitor = 0
|
||||||
|
|
||||||
|
# Display notification on focused monitor. Possible modes are:
|
||||||
|
# mouse: follow mouse pointer
|
||||||
|
# keyboard: follow window with keyboard focus
|
||||||
|
# none: don't follow anything
|
||||||
|
#
|
||||||
|
# "keyboard" needs a windowmanager that exports the
|
||||||
|
# _NET_ACTIVE_WINDOW property.
|
||||||
|
# This should be the case for almost all modern windowmanagers.
|
||||||
|
#
|
||||||
|
# If this option is set to mouse or keyboard, the monitor option
|
||||||
|
# will be ignored.
|
||||||
|
follow = mouse
|
||||||
|
|
||||||
|
# Should a notification popped up from history be sticky or timeout
|
||||||
|
# as if it would normally do.
|
||||||
|
sticky_history = yes
|
||||||
|
|
||||||
|
# Maximum amount of notifications kept in history
|
||||||
|
history_length = 20
|
||||||
|
|
||||||
|
# Display indicators for URLs (U) and actions (A).
|
||||||
|
show_indicators = yes
|
||||||
|
|
||||||
|
# The height of a single line. If the height is smaller than the
|
||||||
|
# font height, it will get raised to the font height.
|
||||||
|
# This adds empty space above and under the text.
|
||||||
|
line_height = 0
|
||||||
|
|
||||||
|
# Draw a line of "separatpr_height" pixel height between two
|
||||||
|
# notifications.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
separator_height = 2
|
||||||
|
|
||||||
|
# Padding between text and separator.
|
||||||
|
padding = 4
|
||||||
|
|
||||||
|
# Horizontal padding.
|
||||||
|
horizontal_padding = 4
|
||||||
|
|
||||||
|
# Define a color for the separator.
|
||||||
|
# possible values are:
|
||||||
|
# * auto: dunst tries to find a color fitting to the background;
|
||||||
|
# * foreground: use the same color as the foreground;
|
||||||
|
# * frame: use the same color as the frame;
|
||||||
|
# * anything else will be interpreted as a X color.
|
||||||
|
separator_color = frame
|
||||||
|
|
||||||
|
# Print a notification on startup.
|
||||||
|
# This is mainly for error detection, since dbus (re-)starts dunst
|
||||||
|
# automatically after a crash.
|
||||||
|
startup_notification = false
|
||||||
|
|
||||||
|
# dmenu path.
|
||||||
|
dmenu = /usr/bin/rofi -dmenu -p dunst:
|
||||||
|
|
||||||
|
# Browser for opening urls in context menu.
|
||||||
|
browser = /usr/bin/firefox-nightly -new-tab
|
||||||
|
|
||||||
|
# Align icons left/right/off
|
||||||
|
icon_position = left
|
||||||
|
|
||||||
|
# Paths to default icons.
|
||||||
|
icon_folders = /usr/share/icons/Numix-Circle/16/panel:/usr/share/icons/Numix/16/devices:/usr/share/icons/Numix/16/status
|
||||||
|
|
||||||
|
[frame]
|
||||||
|
width = 3
|
||||||
|
color = "#225396"
|
||||||
|
|
||||||
|
[shortcuts]
|
||||||
|
|
||||||
|
# Shortcuts are specified as [modifier+][modifier+]...key
|
||||||
|
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
|
||||||
|
# "mod3" and "mod4" (windows-key).
|
||||||
|
# Xev might be helpful to find names for keys.
|
||||||
|
|
||||||
|
# Close notification.
|
||||||
|
# close = mod4+mod2+space
|
||||||
|
|
||||||
|
# Close all notifications.
|
||||||
|
# close_all = mod4+mod2+shift+space
|
||||||
|
|
||||||
|
# Redisplay last message(s).
|
||||||
|
# On the US keyboard layout "grave" is normally above TAB and left
|
||||||
|
# of "1".
|
||||||
|
# history = mod4+mod2+grave
|
||||||
|
|
||||||
|
# Context menu.
|
||||||
|
# context = mod4+mod2+shift+period
|
||||||
|
|
||||||
|
[urgency_low]
|
||||||
|
# IMPORTANT: colors have to be defined in quotation marks.
|
||||||
|
# Otherwise the "#" and following would be interpreted as a comment.
|
||||||
|
background = "#0c0c0c"
|
||||||
|
foreground = "#ffffff"
|
||||||
|
timeout = 10
|
||||||
|
|
||||||
|
[urgency_normal]
|
||||||
|
background = "#15325A"
|
||||||
|
foreground = "#ffffff"
|
||||||
|
timeout = 10
|
||||||
|
|
||||||
|
[urgency_critical]
|
||||||
|
background = "#CC0033"
|
||||||
|
foreground = "#ffffff"
|
||||||
|
timeout = 0
|
||||||
|
|
||||||
|
|
||||||
|
# Every section that isn't one of the above is interpreted as a rules to
|
||||||
|
# override settings for certain messages.
|
||||||
|
# Messages can be matched by "appname", "summary", "body", "icon", "category",
|
||||||
|
# "msg_urgency" and you can override the "timeout", "urgency", "foreground",
|
||||||
|
# "background", "new_icon" and "format".
|
||||||
|
# Shell-like globbing will get expanded.
|
||||||
|
#
|
||||||
|
# SCRIPTING
|
||||||
|
# You can specify a script that gets run when the rule matches by
|
||||||
|
# setting the "script" option.
|
||||||
|
# The script will be called as follows:
|
||||||
|
# script appname summary body icon urgency
|
||||||
|
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
|
||||||
|
#
|
||||||
|
# NOTE: if you don't want a notification to be displayed, set the format
|
||||||
|
# to "".
|
||||||
|
# NOTE: It might be helpful to run dunst -print in a terminal in order
|
||||||
|
# to find fitting options for rules.
|
||||||
|
|
||||||
|
#[espeak]
|
||||||
|
# summary = "*"
|
||||||
|
# script = dunst_espeak.sh
|
||||||
|
|
||||||
|
#[script-test]
|
||||||
|
# summary = "*script*"
|
||||||
|
# script = dunst_test.sh
|
||||||
|
|
||||||
|
#[ignore]
|
||||||
|
# # This notification will not be displayed
|
||||||
|
# summary = "foobar"
|
||||||
|
# format = ""
|
||||||
|
|
||||||
|
#[signed_on]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = "*signed on*"
|
||||||
|
# urgency = low
|
||||||
|
#
|
||||||
|
#[signed_off]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *signed off*
|
||||||
|
# urgency = low
|
||||||
|
#
|
||||||
|
#[says]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *says*
|
||||||
|
# urgency = critical
|
||||||
|
#
|
||||||
|
#[twitter]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *twitter.com*
|
||||||
|
# urgency = normal
|
||||||
|
#
|
||||||
|
# vim: ft=cfg
|
||||||
26
.config/htop/htoprc
Executable file
26
.config/htop/htoprc
Executable file
@@ -0,0 +1,26 @@
|
|||||||
|
# Beware! This file is rewritten by htop when settings are changed in the interface.
|
||||||
|
# The parser is also very primitive, and not human-friendly.
|
||||||
|
fields=0 48 17 18 38 39 40 2 46 47 49 1
|
||||||
|
sort_key=47
|
||||||
|
sort_direction=1
|
||||||
|
hide_threads=0
|
||||||
|
hide_kernel_threads=1
|
||||||
|
hide_userland_threads=0
|
||||||
|
shadow_other_users=0
|
||||||
|
show_thread_names=0
|
||||||
|
show_program_path=1
|
||||||
|
highlight_base_name=0
|
||||||
|
highlight_megabytes=1
|
||||||
|
highlight_threads=1
|
||||||
|
tree_view=1
|
||||||
|
header_margin=1
|
||||||
|
detailed_cpu_time=0
|
||||||
|
cpu_count_from_zero=0
|
||||||
|
update_process_names=0
|
||||||
|
account_guest_in_cpu_meter=0
|
||||||
|
color_scheme=0
|
||||||
|
delay=15
|
||||||
|
left_meters=AllCPUs Memory Swap
|
||||||
|
left_meter_modes=1 1 1
|
||||||
|
right_meters=Tasks LoadAverage Uptime
|
||||||
|
right_meter_modes=2 2 2
|
||||||
17
.config/mpd/mpd.conf
Executable file
17
.config/mpd/mpd.conf
Executable file
@@ -0,0 +1,17 @@
|
|||||||
|
db_file "~/.config/mpd/database"
|
||||||
|
log_file "~/.config/mpd/log"
|
||||||
|
|
||||||
|
# Optional
|
||||||
|
music_directory "/media/Music"
|
||||||
|
playlist_directory "~/.config/mpd/playlists"
|
||||||
|
pid_file "~/.config/mpd/pid"
|
||||||
|
state_file "~/.config/mpd/state"
|
||||||
|
sticker_file "~/.config/mpd/sticker.sql"
|
||||||
|
|
||||||
|
audio_output {
|
||||||
|
type "pulse"
|
||||||
|
name "pulse audio"
|
||||||
|
server "127.0.0.1"
|
||||||
|
}
|
||||||
|
|
||||||
|
restore_paused "yes"
|
||||||
1
.config/nvim
Symbolic link
1
.config/nvim
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
/home/tristan/.vim/
|
||||||
1
.config/ranger/.gitignore
vendored
Executable file
1
.config/ranger/.gitignore
vendored
Executable file
@@ -0,0 +1 @@
|
|||||||
|
/history
|
||||||
5
.config/ranger/bookmarks
Executable file
5
.config/ranger/bookmarks
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
':/home/tristan/build/rineja/public/images/ostalo
|
||||||
|
v:/home/tristan/build/rineja/app/views
|
||||||
|
a:/home/tristan/build/rineja/app/assets
|
||||||
|
c:/home/tristan/build/rineja/app/controllers
|
||||||
|
l:/home/tristan/build/shoppe/config/locales
|
||||||
100
.config/ranger/commands.py
Executable file
100
.config/ranger/commands.py
Executable file
@@ -0,0 +1,100 @@
|
|||||||
|
# This is a sample commands.py. You can add your own commands here.
|
||||||
|
#
|
||||||
|
# Please refer to commands_full.py for all the default commands and a complete
|
||||||
|
# documentation. Do NOT add them all here, or you may end up with defunct
|
||||||
|
# commands when upgrading ranger.
|
||||||
|
|
||||||
|
# You always need to import ranger.api.commands here to get the Command class:
|
||||||
|
from ranger.api.commands import *
|
||||||
|
|
||||||
|
# A simple command for demonstration purposes follows.
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# You can import any python module as needed.
|
||||||
|
from ranger.core.loader import CommandLoader
|
||||||
|
import os
|
||||||
|
|
||||||
|
# Any class that is a subclass of "Command" will be integrated into ranger as a
|
||||||
|
# command. Try typing ":my_edit<ENTER>" in ranger!
|
||||||
|
|
||||||
|
|
||||||
|
class my_edit(Command):
|
||||||
|
# The so-called doc-string of the class will be visible in the built-in
|
||||||
|
# help that is accessible by typing "?c" inside ranger.
|
||||||
|
""":my_edit <filename>
|
||||||
|
|
||||||
|
A sample command for demonstration purposes that opens a file in an editor.
|
||||||
|
"""
|
||||||
|
|
||||||
|
# The execute method is called when you run this command in ranger.
|
||||||
|
def execute(self):
|
||||||
|
# self.arg(1) is the first (space-separated) argument to the function.
|
||||||
|
# This way you can write ":my_edit somefilename<ENTER>".
|
||||||
|
if self.arg(1):
|
||||||
|
# self.rest(1) contains self.arg(1) and everything that follows
|
||||||
|
target_filename = self.rest(1)
|
||||||
|
else:
|
||||||
|
# self.fm is a ranger.core.filemanager.FileManager object and gives
|
||||||
|
# you access to internals of ranger.
|
||||||
|
# self.fm.thisfile is a ranger.container.file.File object and is a
|
||||||
|
# reference to the currently selected file.
|
||||||
|
target_filename = self.fm.thisfile.path
|
||||||
|
|
||||||
|
# This is a generic function to print text in ranger.
|
||||||
|
self.fm.notify("Let's edit the file " + target_filename + "!")
|
||||||
|
|
||||||
|
# Using bad=True in fm.notify allows you to print error messages:
|
||||||
|
if not os.path.exists(target_filename):
|
||||||
|
self.fm.notify("The given file does not exist!", bad=True)
|
||||||
|
return
|
||||||
|
|
||||||
|
# This executes a function from ranger.core.acitons, a module with a
|
||||||
|
# variety of subroutines that can help you construct commands.
|
||||||
|
# Check out the source, or run "pydoc ranger.core.actions" for a list.
|
||||||
|
self.fm.edit_file(target_filename)
|
||||||
|
|
||||||
|
# The tab method is called when you press tab, and should return a list of
|
||||||
|
# suggestions that the user will tab through.
|
||||||
|
# tabnum is 1 for <TAB> and -1 for <S-TAB> by default
|
||||||
|
def tab(self, tabnum):
|
||||||
|
# This is a generic tab-completion function that iterates through the
|
||||||
|
# content of the current directory.
|
||||||
|
return self._tab_directory_content()
|
||||||
|
|
||||||
|
class extracthere(Command):
|
||||||
|
def execute(self):
|
||||||
|
""" Extract copied files to current directory """
|
||||||
|
copied_files = tuple(self.fm.copy_buffer)
|
||||||
|
|
||||||
|
if not copied_files:
|
||||||
|
return
|
||||||
|
|
||||||
|
def refresh(_):
|
||||||
|
cwd = self.fm.get_directory(original_path)
|
||||||
|
cwd.load_content()
|
||||||
|
|
||||||
|
one_file = copied_files[0]
|
||||||
|
cwd = self.fm.thisdir
|
||||||
|
original_path = cwd.path
|
||||||
|
au_flags = ['-X', cwd.path]
|
||||||
|
au_flags += self.line.split()[1:]
|
||||||
|
au_flags += ['-e']
|
||||||
|
|
||||||
|
self.fm.copy_buffer.clear()
|
||||||
|
self.fm.cut_buffer = False
|
||||||
|
if len(copied_files) == 1:
|
||||||
|
descr = "extracting: " + os.path.basename(one_file.path)
|
||||||
|
else:
|
||||||
|
descr = "extracting files from: " + os.path.basename(one_file.dirname)
|
||||||
|
obj = CommandLoader(args=['atool'] + au_flags \
|
||||||
|
+ [f.path for f in copied_files], descr=descr)
|
||||||
|
|
||||||
|
obj.signal_bind('after', refresh)
|
||||||
|
self.fm.loader.add(obj)
|
||||||
|
|
||||||
|
class nvir(Command):
|
||||||
|
def execute(self):
|
||||||
|
cf = self.fm.thisfile
|
||||||
|
n= ['nvr','--servername','/tmp/nvimsocket','--remote']
|
||||||
|
n.extend([f.realpath for f in self.fm.thistab.get_selection()])
|
||||||
|
self.fm.execute_command(n)
|
||||||
616
.config/ranger/rc.conf
Executable file
616
.config/ranger/rc.conf
Executable file
@@ -0,0 +1,616 @@
|
|||||||
|
# ===================================================================
|
||||||
|
# This file contains the default startup commands for ranger.
|
||||||
|
# To change them, it is recommended to create the file
|
||||||
|
# ~/.config/ranger/rc.conf and add your custom commands there.
|
||||||
|
#
|
||||||
|
# If you copy this whole file there, you may want to set the environment
|
||||||
|
# variable RANGER_LOAD_DEFAULT_RC to FALSE to avoid loading it twice.
|
||||||
|
#
|
||||||
|
# The purpose of this file is mainly to define keybindings and settings.
|
||||||
|
# For running more complex python code, please create a plugin in "plugins/" or
|
||||||
|
# a command in "commands.py".
|
||||||
|
#
|
||||||
|
# Each line is a command that will be run before the user interface
|
||||||
|
# is initialized. As a result, you can not use commands which rely
|
||||||
|
# on the UI such as :delete or :mark.
|
||||||
|
# ===================================================================
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# == Options
|
||||||
|
# ===================================================================
|
||||||
|
|
||||||
|
# Which viewmode should be used? Possible values are:
|
||||||
|
# miller: Use miller columns which show multiple levels of the hierarchy
|
||||||
|
# multipane: Midnight-commander like multipane view showing all tabs next
|
||||||
|
# to each other
|
||||||
|
set viewmode miller
|
||||||
|
#set viewmode multipane
|
||||||
|
|
||||||
|
# How many columns are there, and what are their relative widths?
|
||||||
|
set column_ratios 2,3,5
|
||||||
|
|
||||||
|
# Which files should be hidden? (regular expression)
|
||||||
|
set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
|
||||||
|
|
||||||
|
# Show hidden files? You can toggle this by typing 'zh'
|
||||||
|
set show_hidden false
|
||||||
|
|
||||||
|
# Ask for a confirmation when running the "delete" command?
|
||||||
|
# Valid values are "always", "never", "multiple" (default)
|
||||||
|
# With "multiple", ranger will ask only if you delete multiple files at once.
|
||||||
|
set confirm_on_delete multiple
|
||||||
|
|
||||||
|
# Which script is used to generate file previews?
|
||||||
|
# ranger ships with scope.sh, a script that calls external programs (see
|
||||||
|
# README.md for dependencies) to preview images, archives, etc.
|
||||||
|
set preview_script ~/.config/ranger/scope.sh
|
||||||
|
|
||||||
|
# Use the external preview script or display simple plain text or image previews?
|
||||||
|
set use_preview_script true
|
||||||
|
|
||||||
|
# Automatically count files in the directory, even before entering them?
|
||||||
|
set automatically_count_files true
|
||||||
|
|
||||||
|
# Open all images in this directory when running certain image viewers
|
||||||
|
# like feh or sxiv? You can still open selected files by marking them.
|
||||||
|
set open_all_images true
|
||||||
|
|
||||||
|
# Be aware of version control systems and display information.
|
||||||
|
set vcs_aware false
|
||||||
|
|
||||||
|
# State of the three backends git, hg, bzr. The possible states are
|
||||||
|
# disabled, local (only show local info), enabled (show local and remote
|
||||||
|
# information).
|
||||||
|
set vcs_backend_git enabled
|
||||||
|
set vcs_backend_hg disabled
|
||||||
|
set vcs_backend_bzr disabled
|
||||||
|
|
||||||
|
# Use one of the supported image preview protocols
|
||||||
|
set preview_images true
|
||||||
|
|
||||||
|
# Set the preview image method. Supported methods:
|
||||||
|
#
|
||||||
|
# * w3m (default):
|
||||||
|
# Preview images in full color with the external command "w3mimgpreview"?
|
||||||
|
# This requires the console web browser "w3m" and a supported terminal.
|
||||||
|
# It has been successfully tested with "xterm" and "urxvt" without tmux.
|
||||||
|
#
|
||||||
|
# * iterm2:
|
||||||
|
# Preview images in full color using iTerm2 image previews
|
||||||
|
# (http://iterm2.com/images.html). This requires using iTerm2 compiled
|
||||||
|
# with image preview support.
|
||||||
|
#
|
||||||
|
# * urxvt:
|
||||||
|
# Preview images in full color using urxvt image backgrounds. This
|
||||||
|
# requires using urxvt compiled with pixbuf support.
|
||||||
|
#
|
||||||
|
# * urxvt-full:
|
||||||
|
# The same as urxvt but utilizing not only the preview pane but the
|
||||||
|
# whole terminal window.
|
||||||
|
set preview_images_method w3m
|
||||||
|
|
||||||
|
# Use a unicode "..." character to mark cut-off filenames?
|
||||||
|
set unicode_ellipsis false
|
||||||
|
|
||||||
|
# Show dotfiles in the bookmark preview box?
|
||||||
|
set show_hidden_bookmarks true
|
||||||
|
|
||||||
|
# Which colorscheme to use? These colorschemes are available by default:
|
||||||
|
# default, jungle, snow, solarized
|
||||||
|
set colorscheme default
|
||||||
|
|
||||||
|
# Preview files on the rightmost column?
|
||||||
|
# And collapse (shrink) the last column if there is nothing to preview?
|
||||||
|
set preview_files true
|
||||||
|
set preview_directories true
|
||||||
|
set collapse_preview true
|
||||||
|
|
||||||
|
# Save the console history on exit?
|
||||||
|
set save_console_history true
|
||||||
|
|
||||||
|
# Draw the status bar on top of the browser window (default: bottom)
|
||||||
|
set status_bar_on_top false
|
||||||
|
|
||||||
|
# Draw a progress bar in the status bar which displays the average state of all
|
||||||
|
# currently running tasks which support progress bars?
|
||||||
|
set draw_progress_bar_in_status_bar true
|
||||||
|
|
||||||
|
# Draw borders around columns?
|
||||||
|
set draw_borders false
|
||||||
|
|
||||||
|
# Display the directory name in tabs?
|
||||||
|
set dirname_in_tabs false
|
||||||
|
|
||||||
|
# Enable the mouse support?
|
||||||
|
set mouse_enabled true
|
||||||
|
|
||||||
|
# Display the file size in the main column or status bar?
|
||||||
|
set display_size_in_main_column true
|
||||||
|
set display_size_in_status_bar true
|
||||||
|
|
||||||
|
# Display files tags in all columns or only in main column?
|
||||||
|
set display_tags_in_all_columns true
|
||||||
|
|
||||||
|
# Set a title for the window?
|
||||||
|
set update_title false
|
||||||
|
|
||||||
|
# Set the title to "ranger" in the tmux program?
|
||||||
|
set update_tmux_title false
|
||||||
|
|
||||||
|
# Shorten the title if it gets long? The number defines how many
|
||||||
|
# directories are displayed at once, 0 turns off this feature.
|
||||||
|
set shorten_title 3
|
||||||
|
|
||||||
|
# Abbreviate $HOME with ~ in the titlebar (first line) of ranger?
|
||||||
|
set tilde_in_titlebar false
|
||||||
|
|
||||||
|
# How many directory-changes or console-commands should be kept in history?
|
||||||
|
set max_history_size 20
|
||||||
|
set max_console_history_size 50
|
||||||
|
|
||||||
|
# Try to keep so much space between the top/bottom border when scrolling:
|
||||||
|
set scroll_offset 8
|
||||||
|
|
||||||
|
# Flush the input after each key hit? (Noticeable when ranger lags)
|
||||||
|
set flushinput true
|
||||||
|
|
||||||
|
# Padding on the right when there's no preview?
|
||||||
|
# This allows you to click into the space to run the file.
|
||||||
|
set padding_right true
|
||||||
|
|
||||||
|
# Save bookmarks (used with mX and `X) instantly?
|
||||||
|
# This helps to synchronize bookmarks between multiple ranger
|
||||||
|
# instances but leads to *slight* performance loss.
|
||||||
|
# When false, bookmarks are saved when ranger is exited.
|
||||||
|
set autosave_bookmarks true
|
||||||
|
|
||||||
|
# You can display the "real" cumulative size of directories by using the
|
||||||
|
# command :get_cumulative_size or typing "dc". The size is expensive to
|
||||||
|
# calculate and will not be updated automatically. You can choose
|
||||||
|
# to update it automatically though by turning on this option:
|
||||||
|
set autoupdate_cumulative_size false
|
||||||
|
|
||||||
|
# Turning this on makes sense for screen readers:
|
||||||
|
set show_cursor false
|
||||||
|
|
||||||
|
# One of: size, natural, basename, atime, ctime, mtime, type, random
|
||||||
|
set sort natural
|
||||||
|
|
||||||
|
# Additional sorting options
|
||||||
|
set sort_reverse false
|
||||||
|
set sort_case_insensitive true
|
||||||
|
set sort_directories_first true
|
||||||
|
set sort_unicode false
|
||||||
|
|
||||||
|
# Enable this if key combinations with the Alt Key don't work for you.
|
||||||
|
# (Especially on xterm)
|
||||||
|
set xterm_alt_key false
|
||||||
|
|
||||||
|
# Whether to include bookmarks in cd command
|
||||||
|
set cd_bookmarks true
|
||||||
|
|
||||||
|
# Avoid previewing files larger than this size, in bytes. Use a value of 0 to
|
||||||
|
# disable this feature.
|
||||||
|
set preview_max_size 0
|
||||||
|
|
||||||
|
# Add the highlighted file to the path in the titlebar
|
||||||
|
set show_selection_in_titlebar true
|
||||||
|
|
||||||
|
# The delay that ranger idly waits for user input, in milliseconds, with a
|
||||||
|
# resolution of 100ms. Lower delay reduces lag between directory updates but
|
||||||
|
# increases CPU load.
|
||||||
|
set idle_delay 2000
|
||||||
|
|
||||||
|
# When the metadata manager module looks for metadata, should it only look for
|
||||||
|
# a ".metadata.json" file in the current directory, or do a deep search and
|
||||||
|
# check all directories above the current one as well?
|
||||||
|
set metadata_deep_search false
|
||||||
|
|
||||||
|
# Clear all existing filters when leaving a directory
|
||||||
|
set clear_filters_on_dir_change false
|
||||||
|
|
||||||
|
# Disable displaying line numbers in main column
|
||||||
|
set line_numbers false
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# == Local Options
|
||||||
|
# ===================================================================
|
||||||
|
# You can set local options that only affect a single directory.
|
||||||
|
|
||||||
|
# Examples:
|
||||||
|
# setlocal path=~/downloads sort mtime
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# == Command Aliases in the Console
|
||||||
|
# ===================================================================
|
||||||
|
|
||||||
|
alias e edit
|
||||||
|
alias q quit
|
||||||
|
alias q! quitall
|
||||||
|
alias qa quitall
|
||||||
|
alias qall quitall
|
||||||
|
alias setl setlocal
|
||||||
|
|
||||||
|
alias filter scout -prt
|
||||||
|
alias find scout -aeit
|
||||||
|
alias mark scout -mr
|
||||||
|
alias unmark scout -Mr
|
||||||
|
alias search scout -rs
|
||||||
|
alias search_inc scout -rts
|
||||||
|
alias travel scout -aefiklst
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# == Define keys for the browser
|
||||||
|
# ===================================================================
|
||||||
|
|
||||||
|
# Basic
|
||||||
|
map Q quit!
|
||||||
|
map q quit
|
||||||
|
copymap q ZZ ZQ
|
||||||
|
|
||||||
|
map R reload_cwd
|
||||||
|
map <C-r> reset
|
||||||
|
map <C-l> redraw_window
|
||||||
|
map <C-c> abort
|
||||||
|
map <esc> change_mode normal
|
||||||
|
map ~ set viewmode!
|
||||||
|
|
||||||
|
map i display_file
|
||||||
|
map ? help
|
||||||
|
map W display_log
|
||||||
|
map w taskview_open
|
||||||
|
map S shell $SHELL
|
||||||
|
|
||||||
|
map : console
|
||||||
|
map ; console
|
||||||
|
map ! console shell%space
|
||||||
|
map @ console -p6 shell %%s
|
||||||
|
map # console shell -p%space
|
||||||
|
map s console shell%space
|
||||||
|
map r chain draw_possible_programs; console open_with%%space
|
||||||
|
map f console find%space
|
||||||
|
map cd console cd%space
|
||||||
|
|
||||||
|
# Change the line mode
|
||||||
|
map Mf linemode filename
|
||||||
|
map Mi linemode fileinfo
|
||||||
|
map Mm linemode mtime
|
||||||
|
map Mp linemode permissions
|
||||||
|
map Ms linemode sizemtime
|
||||||
|
map Mt linemode metatitle
|
||||||
|
|
||||||
|
# Tagging / Marking
|
||||||
|
map t tag_toggle
|
||||||
|
map ut tag_remove
|
||||||
|
map "<any> tag_toggle tag=%any
|
||||||
|
map <Space> mark_files toggle=True
|
||||||
|
map v mark_files all=True toggle=True
|
||||||
|
map uv mark_files all=True val=False
|
||||||
|
map V toggle_visual_mode
|
||||||
|
map uV toggle_visual_mode reverse=True
|
||||||
|
|
||||||
|
# For the nostalgics: Midnight Commander bindings
|
||||||
|
map <F1> help
|
||||||
|
map <F3> display_file
|
||||||
|
map <F4> edit
|
||||||
|
map <F5> copy
|
||||||
|
map <F6> cut
|
||||||
|
map <F7> console mkdir%space
|
||||||
|
map <F8> console delete
|
||||||
|
map <F10> exit
|
||||||
|
|
||||||
|
# In case you work on a keyboard with dvorak layout
|
||||||
|
map <UP> move up=1
|
||||||
|
map <DOWN> move down=1
|
||||||
|
map <LEFT> move left=1
|
||||||
|
map <RIGHT> move right=1
|
||||||
|
map <HOME> move to=0
|
||||||
|
map <END> move to=-1
|
||||||
|
map <PAGEDOWN> move down=1 pages=True
|
||||||
|
map <PAGEUP> move up=1 pages=True
|
||||||
|
map <CR> move right=1
|
||||||
|
#map <DELETE> console delete
|
||||||
|
map <INSERT> console touch%space
|
||||||
|
|
||||||
|
# VIM-like
|
||||||
|
copymap <UP> k
|
||||||
|
copymap <DOWN> j
|
||||||
|
copymap <LEFT> h
|
||||||
|
copymap <RIGHT> l
|
||||||
|
copymap <HOME> gg
|
||||||
|
copymap <END> G
|
||||||
|
copymap <PAGEDOWN> <C-F>
|
||||||
|
copymap <PAGEUP> <C-B>
|
||||||
|
|
||||||
|
map J move down=0.5 pages=True
|
||||||
|
map K move up=0.5 pages=True
|
||||||
|
copymap J <C-D>
|
||||||
|
copymap K <C-U>
|
||||||
|
|
||||||
|
# Jumping around
|
||||||
|
map H history_go -1
|
||||||
|
map L history_go 1
|
||||||
|
map ] move_parent 1
|
||||||
|
map [ move_parent -1
|
||||||
|
map } traverse
|
||||||
|
|
||||||
|
map gh cd ~
|
||||||
|
map ge cd /etc
|
||||||
|
map gu cd /usr
|
||||||
|
map gd cd /dev
|
||||||
|
map gl cd -r .
|
||||||
|
map gL cd -r %f
|
||||||
|
map go cd /opt
|
||||||
|
map gv cd /var
|
||||||
|
map gm cd /media
|
||||||
|
map gM cd /mnt
|
||||||
|
map gs cd /srv
|
||||||
|
map gr cd /
|
||||||
|
map gR eval fm.cd(ranger.RANGERDIR)
|
||||||
|
map g/ cd /
|
||||||
|
map g? cd /usr/share/doc/ranger
|
||||||
|
|
||||||
|
# External Programs
|
||||||
|
map E edit
|
||||||
|
map du shell -p du --max-depth=1 -h --apparent-size
|
||||||
|
map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh
|
||||||
|
map yp shell -f echo -n %d/%f | xsel -i; xsel -o | xsel -i -b
|
||||||
|
map yd shell -f echo -n %d | xsel -i; xsel -o | xsel -i -b
|
||||||
|
map yn shell -f echo -n %f | xsel -i; xsel -o | xsel -i -b
|
||||||
|
|
||||||
|
# Filesystem Operations
|
||||||
|
map = chmod
|
||||||
|
|
||||||
|
map cw console rename%space
|
||||||
|
map a rename_append
|
||||||
|
map A eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"))
|
||||||
|
map I eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"), position=7)
|
||||||
|
|
||||||
|
map pp paste
|
||||||
|
map po paste overwrite=True
|
||||||
|
map pP paste append=True
|
||||||
|
map pO paste overwrite=True append=True
|
||||||
|
map pl paste_symlink relative=False
|
||||||
|
map pL paste_symlink relative=True
|
||||||
|
map phl paste_hardlink
|
||||||
|
map pht paste_hardlinked_subtree
|
||||||
|
|
||||||
|
map dD console delete
|
||||||
|
|
||||||
|
map dd cut
|
||||||
|
map ud uncut
|
||||||
|
map da cut mode=add
|
||||||
|
map dr cut mode=remove
|
||||||
|
map dt cut mode=toggle
|
||||||
|
|
||||||
|
map yy copy
|
||||||
|
map uy uncut
|
||||||
|
map ya copy mode=add
|
||||||
|
map yr copy mode=remove
|
||||||
|
map yt copy mode=toggle
|
||||||
|
|
||||||
|
# Temporary workarounds
|
||||||
|
map dgg eval fm.cut(dirarg=dict(to=0), narg=quantifier)
|
||||||
|
map dG eval fm.cut(dirarg=dict(to=-1), narg=quantifier)
|
||||||
|
map dj eval fm.cut(dirarg=dict(down=1), narg=quantifier)
|
||||||
|
map dk eval fm.cut(dirarg=dict(up=1), narg=quantifier)
|
||||||
|
map ygg eval fm.copy(dirarg=dict(to=0), narg=quantifier)
|
||||||
|
map yG eval fm.copy(dirarg=dict(to=-1), narg=quantifier)
|
||||||
|
map yj eval fm.copy(dirarg=dict(down=1), narg=quantifier)
|
||||||
|
map yk eval fm.copy(dirarg=dict(up=1), narg=quantifier)
|
||||||
|
|
||||||
|
# Searching
|
||||||
|
map / console search%space
|
||||||
|
map n search_next
|
||||||
|
map N search_next forward=False
|
||||||
|
map ct search_next order=tag
|
||||||
|
map cs search_next order=size
|
||||||
|
map ci search_next order=mimetype
|
||||||
|
map cc search_next order=ctime
|
||||||
|
map cm search_next order=mtime
|
||||||
|
map ca search_next order=atime
|
||||||
|
|
||||||
|
# Tabs
|
||||||
|
map <C-n> tab_new ~
|
||||||
|
map <C-w> tab_close
|
||||||
|
map <TAB> tab_move 1
|
||||||
|
map <S-TAB> tab_move -1
|
||||||
|
map <A-Right> tab_move 1
|
||||||
|
map <A-Left> tab_move -1
|
||||||
|
map gt tab_move 1
|
||||||
|
map gT tab_move -1
|
||||||
|
map gn tab_new ~
|
||||||
|
map gc tab_close
|
||||||
|
map uq tab_restore
|
||||||
|
map <a-1> tab_open 1
|
||||||
|
map <a-2> tab_open 2
|
||||||
|
map <a-3> tab_open 3
|
||||||
|
map <a-4> tab_open 4
|
||||||
|
map <a-5> tab_open 5
|
||||||
|
map <a-6> tab_open 6
|
||||||
|
map <a-7> tab_open 7
|
||||||
|
map <a-8> tab_open 8
|
||||||
|
map <a-9> tab_open 9
|
||||||
|
|
||||||
|
# Sorting
|
||||||
|
map or set sort_reverse!
|
||||||
|
map oz set sort=random
|
||||||
|
map os chain set sort=size; set sort_reverse=False
|
||||||
|
map ob chain set sort=basename; set sort_reverse=False
|
||||||
|
map on chain set sort=natural; set sort_reverse=False
|
||||||
|
map om chain set sort=mtime; set sort_reverse=False
|
||||||
|
map oc chain set sort=ctime; set sort_reverse=False
|
||||||
|
map oa chain set sort=atime; set sort_reverse=False
|
||||||
|
map ot chain set sort=type; set sort_reverse=False
|
||||||
|
map oe chain set sort=extension; set sort_reverse=False
|
||||||
|
|
||||||
|
map oS chain set sort=size; set sort_reverse=True
|
||||||
|
map oB chain set sort=basename; set sort_reverse=True
|
||||||
|
map oN chain set sort=natural; set sort_reverse=True
|
||||||
|
map oM chain set sort=mtime; set sort_reverse=True
|
||||||
|
map oC chain set sort=ctime; set sort_reverse=True
|
||||||
|
map oA chain set sort=atime; set sort_reverse=True
|
||||||
|
map oT chain set sort=type; set sort_reverse=True
|
||||||
|
map oE chain set sort=extension; set sort_reverse=True
|
||||||
|
|
||||||
|
map dc get_cumulative_size
|
||||||
|
|
||||||
|
# Settings
|
||||||
|
map zc set collapse_preview!
|
||||||
|
map zd set sort_directories_first!
|
||||||
|
map zh set show_hidden!
|
||||||
|
map <C-h> set show_hidden!
|
||||||
|
map zI set flushinput!
|
||||||
|
map zi set preview_images!
|
||||||
|
map zm set mouse_enabled!
|
||||||
|
map zp set preview_files!
|
||||||
|
map zP set preview_directories!
|
||||||
|
map zs set sort_case_insensitive!
|
||||||
|
map zu set autoupdate_cumulative_size!
|
||||||
|
map zv set use_preview_script!
|
||||||
|
map zf console filter%space
|
||||||
|
|
||||||
|
# Bookmarks
|
||||||
|
map `<any> enter_bookmark %any
|
||||||
|
map '<any> enter_bookmark %any
|
||||||
|
map m<any> set_bookmark %any
|
||||||
|
map um<any> unset_bookmark %any
|
||||||
|
|
||||||
|
map m<bg> draw_bookmarks
|
||||||
|
copymap m<bg> um<bg> `<bg> '<bg>
|
||||||
|
|
||||||
|
# Generate all the chmod bindings with some python help:
|
||||||
|
eval for arg in "rwxXst": cmd("map +u{0} shell -f chmod u+{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map +g{0} shell -f chmod g+{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map +o{0} shell -f chmod o+{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map +a{0} shell -f chmod a+{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map +{0} shell -f chmod u+{0} %s".format(arg))
|
||||||
|
|
||||||
|
eval for arg in "rwxXst": cmd("map -u{0} shell -f chmod u-{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map -g{0} shell -f chmod g-{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map -o{0} shell -f chmod o-{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map -a{0} shell -f chmod a-{0} %s".format(arg))
|
||||||
|
eval for arg in "rwxXst": cmd("map -{0} shell -f chmod u-{0} %s".format(arg))
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# == Define keys for the console
|
||||||
|
# ===================================================================
|
||||||
|
# Note: Unmapped keys are passed directly to the console.
|
||||||
|
|
||||||
|
# Basic
|
||||||
|
cmap <tab> eval fm.ui.console.tab()
|
||||||
|
cmap <s-tab> eval fm.ui.console.tab(-1)
|
||||||
|
cmap <ESC> eval fm.ui.console.close()
|
||||||
|
cmap <CR> eval fm.ui.console.execute()
|
||||||
|
cmap <C-l> redraw_window
|
||||||
|
|
||||||
|
copycmap <ESC> <C-c>
|
||||||
|
copycmap <CR> <C-j>
|
||||||
|
|
||||||
|
# Move around
|
||||||
|
cmap <up> eval fm.ui.console.history_move(-1)
|
||||||
|
cmap <down> eval fm.ui.console.history_move(1)
|
||||||
|
cmap <left> eval fm.ui.console.move(left=1)
|
||||||
|
cmap <right> eval fm.ui.console.move(right=1)
|
||||||
|
cmap <home> eval fm.ui.console.move(right=0, absolute=True)
|
||||||
|
cmap <end> eval fm.ui.console.move(right=-1, absolute=True)
|
||||||
|
cmap <a-left> eval fm.ui.console.move_word(left=1)
|
||||||
|
cmap <a-right> eval fm.ui.console.move_word(right=1)
|
||||||
|
|
||||||
|
# Line Editing
|
||||||
|
cmap <backspace> eval fm.ui.console.delete(-1)
|
||||||
|
cmap <delete> eval fm.ui.console.delete(0)
|
||||||
|
cmap <C-w> eval fm.ui.console.delete_word()
|
||||||
|
cmap <A-d> eval fm.ui.console.delete_word(backward=False)
|
||||||
|
cmap <C-k> eval fm.ui.console.delete_rest(1)
|
||||||
|
cmap <C-u> eval fm.ui.console.delete_rest(-1)
|
||||||
|
cmap <C-y> eval fm.ui.console.paste()
|
||||||
|
|
||||||
|
# And of course the emacs way
|
||||||
|
copycmap <up> <C-p>
|
||||||
|
copycmap <down> <C-n>
|
||||||
|
copycmap <left> <C-b>
|
||||||
|
copycmap <right> <C-f>
|
||||||
|
copycmap <home> <C-a>
|
||||||
|
copycmap <end> <C-e>
|
||||||
|
copycmap <delete> <C-d>
|
||||||
|
copycmap <backspace> <C-h>
|
||||||
|
|
||||||
|
# Note: There are multiple ways to express backspaces. <backspace> (code 263)
|
||||||
|
# and <backspace2> (code 127). To be sure, use both.
|
||||||
|
copycmap <backspace> <backspace2>
|
||||||
|
|
||||||
|
# This special expression allows typing in numerals:
|
||||||
|
cmap <allow_quantifiers> false
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# == Pager Keybindings
|
||||||
|
# ===================================================================
|
||||||
|
|
||||||
|
# Movement
|
||||||
|
pmap <down> pager_move down=1
|
||||||
|
pmap <up> pager_move up=1
|
||||||
|
pmap <left> pager_move left=4
|
||||||
|
pmap <right> pager_move right=4
|
||||||
|
pmap <home> pager_move to=0
|
||||||
|
pmap <end> pager_move to=-1
|
||||||
|
pmap <pagedown> pager_move down=1.0 pages=True
|
||||||
|
pmap <pageup> pager_move up=1.0 pages=True
|
||||||
|
pmap <C-d> pager_move down=0.5 pages=True
|
||||||
|
pmap <C-u> pager_move up=0.5 pages=True
|
||||||
|
|
||||||
|
copypmap <UP> k <C-p>
|
||||||
|
copypmap <DOWN> j <C-n> <CR>
|
||||||
|
copypmap <LEFT> h
|
||||||
|
copypmap <RIGHT> l
|
||||||
|
copypmap <HOME> g
|
||||||
|
copypmap <END> G
|
||||||
|
copypmap <C-d> d
|
||||||
|
copypmap <C-u> u
|
||||||
|
copypmap <PAGEDOWN> n f <C-F> <Space>
|
||||||
|
copypmap <PAGEUP> p b <C-B>
|
||||||
|
|
||||||
|
# Basic
|
||||||
|
pmap <C-l> redraw_window
|
||||||
|
pmap <ESC> pager_close
|
||||||
|
copypmap <ESC> q Q i <F3>
|
||||||
|
pmap E edit_file
|
||||||
|
|
||||||
|
# ===================================================================
|
||||||
|
# == Taskview Keybindings
|
||||||
|
# ===================================================================
|
||||||
|
|
||||||
|
# Movement
|
||||||
|
tmap <up> taskview_move up=1
|
||||||
|
tmap <down> taskview_move down=1
|
||||||
|
tmap <home> taskview_move to=0
|
||||||
|
tmap <end> taskview_move to=-1
|
||||||
|
tmap <pagedown> taskview_move down=1.0 pages=True
|
||||||
|
tmap <pageup> taskview_move up=1.0 pages=True
|
||||||
|
tmap <C-d> taskview_move down=0.5 pages=True
|
||||||
|
tmap <C-u> taskview_move up=0.5 pages=True
|
||||||
|
|
||||||
|
copytmap <UP> k <C-p>
|
||||||
|
copytmap <DOWN> j <C-n> <CR>
|
||||||
|
copytmap <HOME> g
|
||||||
|
copytmap <END> G
|
||||||
|
copytmap <C-u> u
|
||||||
|
copytmap <PAGEDOWN> n f <C-F> <Space>
|
||||||
|
copytmap <PAGEUP> p b <C-B>
|
||||||
|
|
||||||
|
# Changing priority and deleting tasks
|
||||||
|
tmap J eval -q fm.ui.taskview.task_move(-1)
|
||||||
|
tmap K eval -q fm.ui.taskview.task_move(0)
|
||||||
|
tmap dd eval -q fm.ui.taskview.task_remove()
|
||||||
|
tmap <pagedown> eval -q fm.ui.taskview.task_move(-1)
|
||||||
|
tmap <pageup> eval -q fm.ui.taskview.task_move(0)
|
||||||
|
tmap <delete> eval -q fm.ui.taskview.task_remove()
|
||||||
|
|
||||||
|
# Basic
|
||||||
|
tmap <C-l> redraw_window
|
||||||
|
tmap <ESC> taskview_close
|
||||||
|
copytmap <ESC> q Q w <C-c>
|
||||||
|
|
||||||
|
map pe extracthere
|
||||||
|
map gM cd /run/media/tristan
|
||||||
|
map e nvir
|
||||||
211
.config/ranger/rifle.conf
Executable file
211
.config/ranger/rifle.conf
Executable file
@@ -0,0 +1,211 @@
|
|||||||
|
# vim: ft=cfg
|
||||||
|
#
|
||||||
|
# This is the configuration file of "rifle", ranger's file executor/opener.
|
||||||
|
# Each line consists of conditions and a command. For each line the conditions
|
||||||
|
# are checked and if they are met, the respective command is run.
|
||||||
|
#
|
||||||
|
# Syntax:
|
||||||
|
# <condition1> , <condition2> , ... = command
|
||||||
|
#
|
||||||
|
# The command can contain these environment variables:
|
||||||
|
# $1-$9 | The n-th selected file
|
||||||
|
# $@ | All selected files
|
||||||
|
#
|
||||||
|
# If you use the special command "ask", rifle will ask you what program to run.
|
||||||
|
#
|
||||||
|
# Prefixing a condition with "!" will negate its result.
|
||||||
|
# These conditions are currently supported:
|
||||||
|
# match <regexp> | The regexp matches $1
|
||||||
|
# ext <regexp> | The regexp matches the extension of $1
|
||||||
|
# mime <regexp> | The regexp matches the mime type of $1
|
||||||
|
# name <regexp> | The regexp matches the basename of $1
|
||||||
|
# path <regexp> | The regexp matches the absolute path of $1
|
||||||
|
# has <program> | The program is installed (i.e. located in $PATH)
|
||||||
|
# env <variable> | The environment variable "variable" is non-empty
|
||||||
|
# file | $1 is a file
|
||||||
|
# directory | $1 is a directory
|
||||||
|
# number <n> | change the number of this command to n
|
||||||
|
# terminal | stdin, stderr and stdout are connected to a terminal
|
||||||
|
# X | $DISPLAY is not empty (i.e. Xorg runs)
|
||||||
|
#
|
||||||
|
# There are also pseudo-conditions which have a "side effect":
|
||||||
|
# flag <flags> | Change how the program is run. See below.
|
||||||
|
# label <label> | Assign a label or name to the command so it can
|
||||||
|
# | be started with :open_with <label> in ranger
|
||||||
|
# | or `rifle -p <label>` in the standalone executable.
|
||||||
|
# else | Always true.
|
||||||
|
#
|
||||||
|
# Flags are single characters which slightly transform the command:
|
||||||
|
# f | Fork the program, make it run in the background.
|
||||||
|
# | New command = setsid $command >& /dev/null &
|
||||||
|
# r | Execute the command with root permissions
|
||||||
|
# | New command = sudo $command
|
||||||
|
# t | Run the program in a new terminal. If $TERMCMD is not defined,
|
||||||
|
# | rifle will attempt to extract it from $TERM.
|
||||||
|
# | New command = $TERMCMD -e $command
|
||||||
|
# Note: The "New command" serves only as an illustration, the exact
|
||||||
|
# implementation may differ.
|
||||||
|
# Note: When using rifle in ranger, there is an additional flag "c" for
|
||||||
|
# only running the current file even if you have marked multiple files.
|
||||||
|
|
||||||
|
#-------------------------------------------
|
||||||
|
# Websites
|
||||||
|
#-------------------------------------------
|
||||||
|
# Rarely installed browsers get higher priority; It is assumed that if you
|
||||||
|
# install a rare browser, you probably use it. Firefox/konqueror/w3m on the
|
||||||
|
# other hand are often only installed as fallback browsers.
|
||||||
|
ext x?html?, has surf, X, flag f = surf -- file://"$1"
|
||||||
|
ext x?html?, has vimprobable, X, flag f = vimprobable -- "$@"
|
||||||
|
ext x?html?, has vimprobable2, X, flag f = vimprobable2 -- "$@"
|
||||||
|
ext x?html?, has qutebrowser, X, flag f = qutebrowser -- "$@"
|
||||||
|
ext x?html?, has dwb, X, flag f = dwb -- "$@"
|
||||||
|
ext x?html?, has jumanji, X, flag f = jumanji -- "$@"
|
||||||
|
ext x?html?, has luakit, X, flag f = luakit -- "$@"
|
||||||
|
ext x?html?, has uzbl, X, flag f = uzbl -- "$@"
|
||||||
|
ext x?html?, has uzbl-tabbed, X, flag f = uzbl-tabbed -- "$@"
|
||||||
|
ext x?html?, has uzbl-browser, X, flag f = uzbl-browser -- "$@"
|
||||||
|
ext x?html?, has uzbl-core, X, flag f = uzbl-core -- "$@"
|
||||||
|
ext x?html?, has midori, X, flag f = midori -- "$@"
|
||||||
|
ext x?html?, has chromium, X, flag f = chromium -- "$@"
|
||||||
|
ext x?html?, has opera, X, flag f = opera -- "$@"
|
||||||
|
ext x?html?, has firefox, X, flag f = firefox -- "$@"
|
||||||
|
ext x?html?, has seamonkey, X, flag f = seamonkey -- "$@"
|
||||||
|
ext x?html?, has iceweasel, X, flag f = iceweasel -- "$@"
|
||||||
|
ext x?html?, has epiphany, X, flag f = epiphany -- "$@"
|
||||||
|
ext x?html?, has konqueror, X, flag f = konqueror -- "$@"
|
||||||
|
ext x?html?, has elinks, terminal = elinks "$@"
|
||||||
|
ext x?html?, has links2, terminal = links2 "$@"
|
||||||
|
ext x?html?, has links, terminal = links "$@"
|
||||||
|
ext x?html?, has lynx, terminal = lynx -- "$@"
|
||||||
|
ext x?html?, has w3m, terminal = w3m "$@"
|
||||||
|
|
||||||
|
#-------------------------------------------
|
||||||
|
# Misc
|
||||||
|
#-------------------------------------------
|
||||||
|
# Define the "editor" for text files as first action
|
||||||
|
mime ^text, label editor = $EDITOR -- "$@"
|
||||||
|
mime ^text, label pager = "$PAGER" -- "$@"
|
||||||
|
!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php = $EDITOR -- "$@"
|
||||||
|
!mime ^text, label pager, ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
|
||||||
|
|
||||||
|
ext 1 = man "$1"
|
||||||
|
ext s[wmf]c, has zsnes, X = zsnes "$1"
|
||||||
|
ext s[wmf]c, has snes9x-gtk,X = snes9x-gtk "$1"
|
||||||
|
ext nes, has fceux, X = fceux "$1"
|
||||||
|
ext exe = wine "$1"
|
||||||
|
name ^[mM]akefile$ = make
|
||||||
|
|
||||||
|
#--------------------------------------------
|
||||||
|
# Code
|
||||||
|
#-------------------------------------------
|
||||||
|
ext py = python -- "$1"
|
||||||
|
ext pl = perl -- "$1"
|
||||||
|
ext rb = ruby -- "$1"
|
||||||
|
ext js = node -- "$1"
|
||||||
|
ext sh = sh -- "$1"
|
||||||
|
ext php = php -- "$1"
|
||||||
|
|
||||||
|
#--------------------------------------------
|
||||||
|
# Audio without X
|
||||||
|
#-------------------------------------------
|
||||||
|
mime ^audio|ogg$, terminal, has mpv = mpv -- "$@"
|
||||||
|
mime ^audio|ogg$, terminal, has mplayer2 = mplayer2 -- "$@"
|
||||||
|
mime ^audio|ogg$, terminal, has mplayer = mplayer -- "$@"
|
||||||
|
ext midi?, terminal, has wildmidi = wildmidi -- "$@"
|
||||||
|
|
||||||
|
#--------------------------------------------
|
||||||
|
# Video/Audio with a GUI
|
||||||
|
#-------------------------------------------
|
||||||
|
mime ^video|audio, has gmplayer, X, flag f = gmplayer -- "$@"
|
||||||
|
mime ^video|audio, has smplayer, X, flag f = smplayer "$@"
|
||||||
|
mime ^video, has mpv, X, flag f = mpv -- "$@"
|
||||||
|
mime ^video, has mpv, X, flag f = mpv --fs -- "$@"
|
||||||
|
mime ^video, has mplayer2, X, flag f = mplayer2 -- "$@"
|
||||||
|
mime ^video, has mplayer2, X, flag f = mplayer2 -fs -- "$@"
|
||||||
|
mime ^video, has mplayer, X, flag f = mplayer -- "$@"
|
||||||
|
mime ^video, has mplayer, X, flag f = mplayer -fs -- "$@"
|
||||||
|
mime ^video|audio, has vlc, X, flag f = vlc -- "$@"
|
||||||
|
mime ^video|audio, has totem, X, flag f = totem -- "$@"
|
||||||
|
mime ^video|audio, has totem, X, flag f = totem --fullscreen -- "$@"
|
||||||
|
|
||||||
|
#--------------------------------------------
|
||||||
|
# Video without X:
|
||||||
|
#-------------------------------------------
|
||||||
|
mime ^video, terminal, !X, has mpv = mpv -- "$@"
|
||||||
|
mime ^video, terminal, !X, has mplayer2 = mplayer2 -- "$@"
|
||||||
|
mime ^video, terminal, !X, has mplayer = mplayer -- "$@"
|
||||||
|
|
||||||
|
#-------------------------------------------
|
||||||
|
# Documents
|
||||||
|
#-------------------------------------------
|
||||||
|
ext pdf, has llpp, X, flag f = llpp "$@"
|
||||||
|
ext pdf, has zathura, X, flag f = zathura -- "$@"
|
||||||
|
ext pdf, has mupdf, X, flag f = mupdf "$@"
|
||||||
|
ext pdf, has mupdf-x11,X, flag f = mupdf-x11 "$@"
|
||||||
|
ext pdf, has apvlv, X, flag f = apvlv -- "$@"
|
||||||
|
ext pdf, has xpdf, X, flag f = xpdf -- "$@"
|
||||||
|
ext pdf, has evince, X, flag f = evince -- "$@"
|
||||||
|
ext pdf, has atril, X, flag f = atril -- "$@"
|
||||||
|
ext pdf, has okular, X, flag f = okular -- "$@"
|
||||||
|
ext pdf, has epdfview, X, flag f = epdfview -- "$@"
|
||||||
|
ext pdf, has qpdfview, X, flag f = qpdfview "$@"
|
||||||
|
|
||||||
|
ext docx?, has catdoc, terminal = catdoc -- "$@" | "$PAGER"
|
||||||
|
|
||||||
|
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has gnumeric, X, flag f = gnumeric -- "$@"
|
||||||
|
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has kspread, X, flag f = kspread -- "$@"
|
||||||
|
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, flag f = libreoffice "$@"
|
||||||
|
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has soffice, X, flag f = soffice "$@"
|
||||||
|
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has ooffice, X, flag f = ooffice "$@"
|
||||||
|
|
||||||
|
ext djvu, has zathura,X, flag f = zathura -- "$@"
|
||||||
|
ext djvu, has evince, X, flag f = evince -- "$@"
|
||||||
|
ext djvu, has atril, X, flag f = atril -- "$@"
|
||||||
|
|
||||||
|
#-------------------------------------------
|
||||||
|
# Image Viewing:
|
||||||
|
#-------------------------------------------
|
||||||
|
mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@"
|
||||||
|
mime ^image/svg, has display, X, flag f = display -- "$@"
|
||||||
|
|
||||||
|
mime ^image, has pqiv, X, flag f = pqiv -- "$@"
|
||||||
|
mime ^image, has sxiv, X, flag f = sxiv -- "$@"
|
||||||
|
mime ^image, has feh, X, flag f = feh -- "$@"
|
||||||
|
mime ^image, has mirage, X, flag f = mirage -- "$@"
|
||||||
|
mime ^image, has ristretto, X, flag f = ristretto "$@"
|
||||||
|
mime ^image, has eog, X, flag f = eog -- "$@"
|
||||||
|
mime ^image, has eom, X, flag f = eom -- "$@"
|
||||||
|
mime ^image, has gimp, X, flag f = gimp -- "$@"
|
||||||
|
ext xcf, X, flag f = gimp -- "$@"
|
||||||
|
|
||||||
|
#-------------------------------------------
|
||||||
|
# Archives
|
||||||
|
#-------------------------------------------
|
||||||
|
|
||||||
|
# avoid password prompt by providing empty password
|
||||||
|
ext 7z, has 7z = 7z -p l "$@" | "$PAGER"
|
||||||
|
# This requires atool
|
||||||
|
ext ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has als = als -- "$@" | "$PAGER"
|
||||||
|
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has als = als -- "$@" | "$PAGER"
|
||||||
|
ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has aunpack = aunpack -- "$@"
|
||||||
|
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has aunpack = aunpack -- "$@"
|
||||||
|
|
||||||
|
# Fallback:
|
||||||
|
ext tar|gz, has tar = tar vvtf "$@" | "$PAGER"
|
||||||
|
ext tar|gz, has tar = tar vvxf "$@"
|
||||||
|
|
||||||
|
#-------------------------------------------
|
||||||
|
# Misc
|
||||||
|
#-------------------------------------------
|
||||||
|
label wallpaper, number 11, mime ^image, has feh, X = feh --bg-scale "$1"
|
||||||
|
label wallpaper, number 12, mime ^image, has feh, X = feh --bg-tile "$1"
|
||||||
|
label wallpaper, number 13, mime ^image, has feh, X = feh --bg-center "$1"
|
||||||
|
label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1"
|
||||||
|
|
||||||
|
# Define the editor for non-text files + pager as last action
|
||||||
|
!mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ask
|
||||||
|
label editor, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = $EDITOR -- "$@"
|
||||||
|
label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
|
||||||
|
|
||||||
|
# The very last action, so that it's never triggered accidentally, is to execute a program:
|
||||||
|
mime application/x-executable = "$1"
|
||||||
121
.config/ranger/scope.sh
Executable file
121
.config/ranger/scope.sh
Executable file
@@ -0,0 +1,121 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
# ranger supports enhanced previews. If the option "use_preview_script"
|
||||||
|
# is set to True and this file exists, this script will be called and its
|
||||||
|
# output is displayed in ranger. ANSI color codes are supported.
|
||||||
|
|
||||||
|
# NOTES: This script is considered a configuration file. If you upgrade
|
||||||
|
# ranger, it will be left untouched. (You must update it yourself.)
|
||||||
|
# Also, ranger disables STDIN here, so interactive scripts won't work properly
|
||||||
|
|
||||||
|
# Meanings of exit codes:
|
||||||
|
# code | meaning | action of ranger
|
||||||
|
# -----+------------+-------------------------------------------
|
||||||
|
# 0 | success | success. display stdout as preview
|
||||||
|
# 1 | no preview | failure. display no preview at all
|
||||||
|
# 2 | plain text | display the plain content of the file
|
||||||
|
# 3 | fix width | success. Don't reload when width changes
|
||||||
|
# 4 | fix height | success. Don't reload when height changes
|
||||||
|
# 5 | fix both | success. Don't ever reload
|
||||||
|
# 6 | image | success. display the image $cached points to as an image preview
|
||||||
|
# 7 | image | success. display the file directly as an image
|
||||||
|
|
||||||
|
# Meaningful aliases for arguments:
|
||||||
|
path="$1" # Full path of the selected file
|
||||||
|
width="$2" # Width of the preview pane (number of fitting characters)
|
||||||
|
height="$3" # Height of the preview pane (number of fitting characters)
|
||||||
|
cached="$4" # Path that should be used to cache image previews
|
||||||
|
preview_images="$5" # "True" if image previews are enabled, "False" otherwise.
|
||||||
|
|
||||||
|
maxln=200 # Stop after $maxln lines. Can be used like ls | head -n $maxln
|
||||||
|
|
||||||
|
# Find out something about the file:
|
||||||
|
mimetype=$(file --mime-type -Lb "$path")
|
||||||
|
extension=$(/bin/echo "${path##*.}" | awk '{print tolower($0)}')
|
||||||
|
|
||||||
|
# Functions:
|
||||||
|
# runs a command and saves its output into $output. Useful if you need
|
||||||
|
# the return value AND want to use the output in a pipe
|
||||||
|
try() { output=$(eval '"$@"'); }
|
||||||
|
|
||||||
|
# writes the output of the previously used "try" command
|
||||||
|
dump() { /bin/echo "$output"; }
|
||||||
|
|
||||||
|
# a common post-processing function used after most commands
|
||||||
|
trim() { head -n "$maxln"; }
|
||||||
|
|
||||||
|
# wraps highlight to treat exit code 141 (killed by SIGPIPE) as success
|
||||||
|
safepipe() { "$@"; test $? = 0 -o $? = 141; }
|
||||||
|
|
||||||
|
# Image previews, if enabled in ranger.
|
||||||
|
if [ "$preview_images" = "True" ]; then
|
||||||
|
case "$mimetype" in
|
||||||
|
# Image previews for SVG files, disabled by default.
|
||||||
|
###image/svg+xml)
|
||||||
|
### convert "$path" "$cached" && exit 6 || exit 1;;
|
||||||
|
# Image previews for image files. w3mimgdisplay will be called for all
|
||||||
|
# image files (unless overriden as above), but might fail for
|
||||||
|
# unsupported types.
|
||||||
|
image/*)
|
||||||
|
exit 7;;
|
||||||
|
# Image preview for video, disabled by default.:
|
||||||
|
###video/*)
|
||||||
|
### ffmpegthumbnailer -i "$path" -o "$cached" -s 0 && exit 6 || exit 1;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$extension" in
|
||||||
|
# Archive extensions:
|
||||||
|
a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\
|
||||||
|
rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)
|
||||||
|
try als "$path" && { dump | trim; exit 0; }
|
||||||
|
try acat "$path" && { dump | trim; exit 3; }
|
||||||
|
try bsdtar -lf "$path" && { dump | trim; exit 0; }
|
||||||
|
exit 1;;
|
||||||
|
rar)
|
||||||
|
# avoid password prompt by providing empty password
|
||||||
|
try unrar -p- lt "$path" && { dump | trim; exit 0; } || exit 1;;
|
||||||
|
7z)
|
||||||
|
# avoid password prompt by providing empty password
|
||||||
|
try 7z -p l "$path" && { dump | trim; exit 0; } || exit 1;;
|
||||||
|
# PDF documents:
|
||||||
|
pdf)
|
||||||
|
try pdftotext -l 10 -nopgbrk -q "$path" - && \
|
||||||
|
{ dump | trim | fmt -s -w $width; exit 0; } || exit 1;;
|
||||||
|
# BitTorrent Files
|
||||||
|
torrent)
|
||||||
|
try transmission-show "$path" && { dump | trim; exit 5; } || exit 1;;
|
||||||
|
# ODT Files
|
||||||
|
odt|ods|odp|sxw)
|
||||||
|
try odt2txt "$path" && { dump | trim; exit 5; } || exit 1;;
|
||||||
|
# HTML Pages:
|
||||||
|
htm|html|xhtml)
|
||||||
|
try w3m -dump "$path" && { dump | trim | fmt -s -w $width; exit 4; }
|
||||||
|
try lynx -dump "$path" && { dump | trim | fmt -s -w $width; exit 4; }
|
||||||
|
try elinks -dump "$path" && { dump | trim | fmt -s -w $width; exit 4; }
|
||||||
|
;; # fall back to highlight/cat if the text browsers fail
|
||||||
|
esac
|
||||||
|
|
||||||
|
case "$mimetype" in
|
||||||
|
# Syntax highlight for text files:
|
||||||
|
text/* | */xml)
|
||||||
|
if [ "$(tput colors)" -ge 256 ]; then
|
||||||
|
pygmentize_format=terminal256
|
||||||
|
highlight_format=xterm256
|
||||||
|
else
|
||||||
|
pygmentize_format=terminal
|
||||||
|
highlight_format=ansi
|
||||||
|
fi
|
||||||
|
try safepipe highlight --out-format=${highlight_format} "$path" && { dump | trim; exit 5; }
|
||||||
|
try safepipe pygmentize -f ${pygmentize_format} "$path" && { dump | trim; exit 5; }
|
||||||
|
exit 2;;
|
||||||
|
# Ascii-previews of images:
|
||||||
|
image/*)
|
||||||
|
img2txt --gamma=0.6 --width="$width" "$path" && exit 4 || exit 1;;
|
||||||
|
# Display information about media files:
|
||||||
|
video/* | audio/*)
|
||||||
|
exiftool "$path" && exit 5
|
||||||
|
# Use sed to remove spaces so the output fits into the narrow window
|
||||||
|
try mediainfo "$path" && { dump | trim | sed 's/ \+:/: /;'; exit 5; } || exit 1;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 1
|
||||||
13
.config/ranger/tagged
Executable file
13
.config/ranger/tagged
Executable file
@@ -0,0 +1,13 @@
|
|||||||
|
/home/tristan/build/vim-smooth/colors
|
||||||
|
a:/home/tristan/build/rineja/app/assets
|
||||||
|
v:/home/tristan/build/rineja/app/views
|
||||||
|
c:/home/tristan/build/rineja/app/controllers
|
||||||
|
c:/home/tristan/build/rineja/config
|
||||||
|
a:/home/tristan/build/rineja/app
|
||||||
|
d:/home/tristan/build/rineja/db
|
||||||
|
p:/home/tristan/build/rineja/public
|
||||||
|
G:/home/tristan/build/rineja/Gemfile
|
||||||
|
r:/home/tristan/build/rineja
|
||||||
|
s:/home/tristan/build/shoppe
|
||||||
|
d:/home/tristan/build/dotfiles
|
||||||
|
b:/home/tristan/build
|
||||||
16
.gitconfig
Executable file
16
.gitconfig
Executable file
@@ -0,0 +1,16 @@
|
|||||||
|
[user]
|
||||||
|
name = Tristaan
|
||||||
|
email = tristan.sneider@gmail.com
|
||||||
|
|
||||||
|
[diff]
|
||||||
|
tool = nvimdiff
|
||||||
|
[difftool]
|
||||||
|
prompt = true
|
||||||
|
[difftool "nvimdiff"]
|
||||||
|
cmd = "nvim -d $LOCAL $REMOTE"
|
||||||
|
[merge]
|
||||||
|
tool = nvimdiff
|
||||||
|
[mergetool]
|
||||||
|
prompt = true
|
||||||
|
[mergetool "nvimdiff"]
|
||||||
|
cmd = nvim -d $BASE $LOCAL $REMOTE $MERGED -c '$wincmd w' -c 'wincmd J'
|
||||||
22
.gitignore
vendored
Executable file
22
.gitignore
vendored
Executable file
@@ -0,0 +1,22 @@
|
|||||||
|
/*
|
||||||
|
!/.config
|
||||||
|
!/.i3
|
||||||
|
!/.vim
|
||||||
|
/.vim/bundle
|
||||||
|
!/.dmrc
|
||||||
|
!/.gitconfig
|
||||||
|
!/.gitignore
|
||||||
|
!/.Xresources
|
||||||
|
!/color.sh
|
||||||
|
!/.zsh*
|
||||||
|
/.zsh_history
|
||||||
|
!/.oh-my-zsh
|
||||||
|
|
||||||
|
!/.mozilla
|
||||||
|
/.mozilla/*
|
||||||
|
|
||||||
|
!/.mozilla/firefox
|
||||||
|
/.mozilla/firefox/*
|
||||||
|
|
||||||
|
!/.mozilla/firefox/chrome
|
||||||
|
!/.mozilla/firefox/chrome/*
|
||||||
BIN
.i3/boot.mp3
Executable file
BIN
.i3/boot.mp3
Executable file
Binary file not shown.
215
.i3/config
Normal file
215
.i3/config
Normal file
@@ -0,0 +1,215 @@
|
|||||||
|
# T's desktop v3
|
||||||
|
#exec --no-startup-id xrandr --output HDMI-0 --auto --mode 1920x1080 --primary --output DVI-I-1 --right-of HDMI-0 --auto --dpi 96/HDMI-0
|
||||||
|
exec --no-startup-id mplayer -fs ~/.i3/boot.mp4
|
||||||
|
exec --no-startup-id i3lock -f "xos4 Terminus" -F 40 -X 200 -Y 100 -i '~/Pictures/backgrounds/6a171c_5499051.jpg'
|
||||||
|
#DAEMONS
|
||||||
|
exec --no-startup-id urxvtd -q
|
||||||
|
exec --no-startup-id udiskie -f "urxranger" -t
|
||||||
|
exec --no-startup-id nitrogen --restore
|
||||||
|
#exec --no-startup-id mpd
|
||||||
|
#exec --no-startup-id megasync
|
||||||
|
exec --no-startup-id parcellite
|
||||||
|
exec --no-startup-id dunst
|
||||||
|
exec --no-startup-id blueman-applet
|
||||||
|
exec --no-startup-id setxkbmap us altgr-intl
|
||||||
|
# US brackets on slovene special characters
|
||||||
|
#exec xmodmap ~/.i3/custom.map
|
||||||
|
|
||||||
|
font pango: FontAwesome, xos4 Terminess Powerline 12
|
||||||
|
|
||||||
|
|
||||||
|
#--APPEARANCE--#
|
||||||
|
#--T-netbook---#
|
||||||
|
#client.focused #464A55 #464A55 #969AA5 #ffffff
|
||||||
|
#client.focused_inactive #272B35 #9b9aa6 #ffffff #48504e
|
||||||
|
#client.urgent #272B35 #900000 #ffffff #900000
|
||||||
|
#client.placeholder #000000 #0c0c0c #ffffff #000000
|
||||||
|
#client.background #ffffff
|
||||||
|
|
||||||
|
#-----T-i3-----#
|
||||||
|
#class border backgr. text indicator
|
||||||
|
client.focused #225396 #15325A #ffffff #2e9ef4
|
||||||
|
client.focused_inactive #15325A #032048 #ffffff #484e50
|
||||||
|
client.urgent #2f343a #900000 #ffffff #900000
|
||||||
|
client.placeholder #000000 #0c0c0c #ffffff #000000
|
||||||
|
client.background #ffffff
|
||||||
|
|
||||||
|
new_window pixel 1
|
||||||
|
new_float normal 3
|
||||||
|
hide_edge_borders smart
|
||||||
|
#//APPEARANCE//#
|
||||||
|
|
||||||
|
set $mod Mod4
|
||||||
|
set $alt Mod1
|
||||||
|
|
||||||
|
#--WINDOW-SETTINGS--#
|
||||||
|
floating_modifier $mod
|
||||||
|
for_window [class=".*"] title_format "-> %title"
|
||||||
|
for_window [class="Pavucontrol"] floating enable
|
||||||
|
for_window [class="octopi"] floating enable
|
||||||
|
for_window [class="lxappearance"] floating enable
|
||||||
|
for_window [title="Hold On*"] floating enable
|
||||||
|
for_window [title="florence"] floating enable
|
||||||
|
for_window [title="Starting Unity...*"] floating enable
|
||||||
|
for_window [window_role="pop-up"] floating enable
|
||||||
|
for_window [window_role="task_dialog"] floating enable
|
||||||
|
assign [title="^ranger$"] → $WS4
|
||||||
|
assign [title="^ncmpcpp$"] → $WS5
|
||||||
|
assign [class="^URxvt$"] → $WS3
|
||||||
|
assign [class="^Firefox$"] → $WS2
|
||||||
|
assign [class="^Steam*"] → $WSW2
|
||||||
|
assign [class="^Gimp$"] → $WSW4
|
||||||
|
#//WINDOW-SETTINGS//#
|
||||||
|
|
||||||
|
#--CONTAINERS+WINDOWS--#
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
bindsym --release button2 kill
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
|
||||||
|
bindsym $mod+h focus left
|
||||||
|
bindsym $mod+j focus down
|
||||||
|
bindsym $mod+k focus up
|
||||||
|
bindsym $mod+l focus right
|
||||||
|
|
||||||
|
bindsym $mod+Shift+h move left
|
||||||
|
bindsym $mod+Shift+j move down
|
||||||
|
bindsym $mod+Shift+k move up
|
||||||
|
bindsym $mod+Shift+l move right
|
||||||
|
|
||||||
|
bindsym $mod+p focus parent
|
||||||
|
bindsym $mod+a layout toggle split
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+x split h
|
||||||
|
bindsym $mod+c split v
|
||||||
|
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
#//CONTAINERS+WINDOWS//#
|
||||||
|
|
||||||
|
#--CUSTOM COMMANDS--#
|
||||||
|
#KEYBOARD LAYOUT SWITCHING
|
||||||
|
bindsym $alt+F3 exec --no-startup-id setxkbmap us altgr-intl
|
||||||
|
bindsym $alt+F2 exec --no-startup-id setxkbmap si
|
||||||
|
|
||||||
|
#LAUNCH PROGRAM
|
||||||
|
bindsym $mod+d exec --no-startup-id rofi -color-enabled -show run -font "Hack 12"
|
||||||
|
bindsym $mod+Shift+d exec --no-startup-id j4-dmenu-desktop --dmenu='rofi -dmenu -font "Hack 12" -o 85 -p "Run:"'
|
||||||
|
bindsym $alt+Tab exec --no-startup-id rofi -show window -font "Hack 12"
|
||||||
|
|
||||||
|
bindsym $mod+t exec urxvtc
|
||||||
|
bindsym $mod+w exec firefox
|
||||||
|
bindsym $mod+Shift+f exec urxvtc -e ranger ~
|
||||||
|
bindsym $mod+m exec urxvtc -e ncmpcpp
|
||||||
|
|
||||||
|
#INTEGRATED-SETTINGS
|
||||||
|
bindsym XF86AudioPlay exec mpc toggle
|
||||||
|
bindsym XF86AudioStop exec mpc stop
|
||||||
|
bindsym XF86AudioNext exec mpc next
|
||||||
|
bindsym XF86AudioPrev exec mpc previous
|
||||||
|
bindsym XF86AudioMute exec ~/.i3/scripts/volume_set.sh mute
|
||||||
|
bindsym XF86AudioRaiseVolume exec ~/.i3/scripts/volume_set.sh up
|
||||||
|
bindsym XF86AudioLowerVolume exec ~/.i3/scripts/volume_set.sh down
|
||||||
|
bindsym XF86MonBrightnessUp exec xbacklight +5
|
||||||
|
bindsym XF86MonBrightnessDown exec xbacklight -5
|
||||||
|
bindsym XF86KbdBrightnessUp exec asus-kbd-backlight up
|
||||||
|
bindsym XF86KbdBrightnessDown exec asus-kbd-backlight down
|
||||||
|
bindsym XF86Sleep exec ~/.i3/scripts/locker.sh & systemctl suspend
|
||||||
|
bindsym XF86PowerOff exec ~/.i3/scripts/locker.sh
|
||||||
|
|
||||||
|
#SHUTDOWN+RESTART
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
bindsym $mod+Shift+z exec "i3-msg exit"
|
||||||
|
bindsym $mod+Shift+e exec ~/.i3/scripts/locker.sh
|
||||||
|
#SHUTDOWN MENU
|
||||||
|
bindsym $alt+F4 exec --no-startup-id ~/.i3/scripts/shutdown_menu
|
||||||
|
|
||||||
|
#//CUSTOM COMMANDS//#
|
||||||
|
|
||||||
|
#--WORKSPACES--#
|
||||||
|
workspace_auto_back_and_forth yes
|
||||||
|
workspace $WS1 output primary
|
||||||
|
|
||||||
|
#Primary workspaces
|
||||||
|
set $WS1 "1 "
|
||||||
|
set $WS2 "2 "
|
||||||
|
set $WS3 "3 "
|
||||||
|
set $WS4 "4 "
|
||||||
|
set $WS5 "5 "
|
||||||
|
bindsym $mod+1 workspace $WS1
|
||||||
|
bindsym $mod+2 workspace $WS2
|
||||||
|
bindsym $mod+3 workspace $WS3
|
||||||
|
bindsym $mod+4 workspace $WS4
|
||||||
|
bindsym $mod+5 workspace $WS5
|
||||||
|
bindsym $mod+Shift+1 move container to workspace $WS1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace $WS2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace $WS3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace $WS4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace $WS5
|
||||||
|
|
||||||
|
#Secondary workspaces
|
||||||
|
set $WSW1 "W1"
|
||||||
|
set $WSW2 "W2"
|
||||||
|
set $WSW3 "W3"
|
||||||
|
set $WSW4 "W4"
|
||||||
|
bindsym $mod+F1 workspace $WSW1
|
||||||
|
bindsym $mod+F2 workspace $WSW2
|
||||||
|
bindsym $mod+F3 workspace $WSW3
|
||||||
|
bindsym $mod+F4 workspace $WSW4
|
||||||
|
bindsym $mod+Shift+F1 move container to workspace $WSW1
|
||||||
|
bindsym $mod+Shift+F2 move container to workspace $WSW2
|
||||||
|
bindsym $mod+Shift+F3 move container to workspace $WSW3
|
||||||
|
bindsym $mod+Shift+F4 move container to workspace $WSW4
|
||||||
|
|
||||||
|
#Multiple screens
|
||||||
|
bindsym $mod+Left move container to output left
|
||||||
|
bindsym $mod+Right move container to output right
|
||||||
|
bindsym $mod+Shift+Left move workspace to output left
|
||||||
|
bindsym $mod+Shift+Right move workspace to output right
|
||||||
|
#//WORKSPACES//#
|
||||||
|
|
||||||
|
# resize window (you can also use the mouse for that)
|
||||||
|
mode "resize" {
|
||||||
|
bindsym h resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym j resize grow height 10 px or 10 ppt
|
||||||
|
bindsym k resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym l resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym Down resize grow height 10 px or 10 ppt
|
||||||
|
bindsym Up resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
mode "ignore" {
|
||||||
|
bindsym $alt+Shift+i mode "default"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $alt+i mode "ignore"
|
||||||
|
|
||||||
|
#--BAR CONFIGURATION--#
|
||||||
|
bar {
|
||||||
|
tray_output primary
|
||||||
|
#status_command i3blocks -c ~/.i3/i3blocks.conf
|
||||||
|
status_command i3blocks -c ~/.i3/i3blocks-netbook.conf
|
||||||
|
|
||||||
|
mode dock
|
||||||
|
hidden_state show
|
||||||
|
position top
|
||||||
|
# T-i3
|
||||||
|
colors {
|
||||||
|
background #15325A
|
||||||
|
statusline #FFFFFF
|
||||||
|
separator #666666
|
||||||
|
focused_workspace #225396 #184791 #ffffff
|
||||||
|
active_workspace #333333 #5f676a #ffffff
|
||||||
|
inactive_workspace #333333 #222222 #888888
|
||||||
|
urgent_workspace #aa0000 #990000 #ffffff
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# vim:filetype=i3
|
||||||
6
.i3/custom.map
Normal file
6
.i3/custom.map
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
keycode 10 = 1 exclam 1 exclam asciitilde dead_tilde
|
||||||
|
keycode 49 = asciitilde dead_diaeresis
|
||||||
|
keycode 21 = plus asterisk
|
||||||
|
keycode 34 = braceleft bracketleft braceleft bracketleft scaron Scaron
|
||||||
|
keycode 35 = braceright bracketright braceright bracketright dstroke Dstroke
|
||||||
|
|
||||||
38
.i3/i3blocks-netbook.conf
Normal file
38
.i3/i3blocks-netbook.conf
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
command=/usr/lib/i3blocks/$BLOCK_NAME
|
||||||
|
separator_block_width=15
|
||||||
|
markup=pango
|
||||||
|
|
||||||
|
[battery]
|
||||||
|
command=~/build/i3blocks-battery/battery.py
|
||||||
|
interval=5
|
||||||
|
|
||||||
|
[is_online]
|
||||||
|
command=~/.i3/scripts/wan-or-not.sh
|
||||||
|
interval=3
|
||||||
|
|
||||||
|
[cpu_usage]
|
||||||
|
label=
|
||||||
|
interval=1
|
||||||
|
|
||||||
|
[RAM]
|
||||||
|
label=
|
||||||
|
command=~/.i3/scripts/RAM.sh
|
||||||
|
interval=3
|
||||||
|
|
||||||
|
[disk]
|
||||||
|
label=
|
||||||
|
instance=/
|
||||||
|
interval=60
|
||||||
|
|
||||||
|
[key_layout]
|
||||||
|
command= ~/.i3/scripts/key_layout
|
||||||
|
label=
|
||||||
|
interval=2
|
||||||
|
|
||||||
|
[time]
|
||||||
|
command=date '+%d.%m.%y %H:%M'
|
||||||
|
interval=5
|
||||||
|
|
||||||
|
[shutdown_menu]
|
||||||
|
full_text= Quit
|
||||||
|
command=~/.i3/scripts/shutdown_menu -c
|
||||||
50
.i3/i3blocks.conf
Normal file
50
.i3/i3blocks.conf
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
command=/usr/lib/i3blocks/$BLOCK_NAME
|
||||||
|
separator_block_width=15
|
||||||
|
markup=pango
|
||||||
|
|
||||||
|
#[mpd_status]
|
||||||
|
#command=~/.i3/mpd_status.sh
|
||||||
|
#interval=2
|
||||||
|
|
||||||
|
[is_online]
|
||||||
|
command=~/.i3/scripts/wan-or-not.sh
|
||||||
|
interval=5
|
||||||
|
|
||||||
|
[cpu_usage]
|
||||||
|
label=
|
||||||
|
interval=2
|
||||||
|
|
||||||
|
[RAM]
|
||||||
|
label=
|
||||||
|
command=~/.i3/scripts/RAM.sh
|
||||||
|
interval=2
|
||||||
|
|
||||||
|
[disk]
|
||||||
|
color=#6484C7
|
||||||
|
label=
|
||||||
|
instance=/home
|
||||||
|
interval=100
|
||||||
|
|
||||||
|
[disk]
|
||||||
|
label=
|
||||||
|
instance=/
|
||||||
|
interval=100
|
||||||
|
|
||||||
|
[disk]
|
||||||
|
label=M:
|
||||||
|
instance=/media
|
||||||
|
interval=100
|
||||||
|
|
||||||
|
[key_layout]
|
||||||
|
command= ~/.i3/scripts/key_layout
|
||||||
|
label=
|
||||||
|
interval=2
|
||||||
|
|
||||||
|
[time]
|
||||||
|
label=
|
||||||
|
command=date '+%d.%m.%y %H:%M'
|
||||||
|
interval=5
|
||||||
|
|
||||||
|
[shutdown_menu]
|
||||||
|
full_text= Quit
|
||||||
|
command=~/.i3/scripts/shutdown_menu -c
|
||||||
73
.i3/layouts/gimp-layout.json
Normal file
73
.i3/layouts/gimp-layout.json
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
// vim:ts=4:sw=4:et
|
||||||
|
{
|
||||||
|
"border": "normal",
|
||||||
|
"current_border_width": 5,
|
||||||
|
"floating": "user_off",
|
||||||
|
"geometry": {
|
||||||
|
"height": 820,
|
||||||
|
"width": 210,
|
||||||
|
"x": 3599,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"name": "Layers - Brushes",
|
||||||
|
"percent": 0.1078125,
|
||||||
|
"swallows": [
|
||||||
|
{
|
||||||
|
// "class": "^Gimp$",
|
||||||
|
// "instance": "^gimp$",
|
||||||
|
// "title": "^Layers\\ \\-\\ Brushes$",
|
||||||
|
// "transient_for": "^$",
|
||||||
|
// "window_role": "^gimp\\-dock$"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "con"
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
"border": "pixel",
|
||||||
|
"current_border_width": 5,
|
||||||
|
"floating": "user_off",
|
||||||
|
"geometry": {
|
||||||
|
"height": 200,
|
||||||
|
"width": 620,
|
||||||
|
"x": 410,
|
||||||
|
"y": 370
|
||||||
|
},
|
||||||
|
"name": "*[progress_bar] (imported)-1.0 (RGB color, 1 layer) 192x12 – GIMP",
|
||||||
|
"percent": 0.777083333333333,
|
||||||
|
"swallows": [
|
||||||
|
{
|
||||||
|
// "class": "^Gimp$",
|
||||||
|
// "instance": "^gimp$",
|
||||||
|
// "title": "^\\*\\[progress_bar\\]\\ \\(imported\\)\\-1\\.0\\ \\(RGB\\ color\\,\\ 1\\ layer\\)\\ 192x12\\ \\–\\ GIMP$",
|
||||||
|
// "transient_for": "^$",
|
||||||
|
// "window_role": "^gimp\\-image\\-window$"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "con"
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
"border": "normal",
|
||||||
|
"current_border_width": 5,
|
||||||
|
"floating": "user_off",
|
||||||
|
"geometry": {
|
||||||
|
"height": 820,
|
||||||
|
"width": 170,
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"name": "Toolbox - Tool Options",
|
||||||
|
"percent": 0.115104166666667,
|
||||||
|
"swallows": [
|
||||||
|
{
|
||||||
|
// "class": "^Gimp$",
|
||||||
|
// "instance": "^gimp$",
|
||||||
|
// "title": "^Toolbox\\ \\-\\ Tool\\ Options$",
|
||||||
|
// "transient_for": "^$",
|
||||||
|
// "window_role": "^gimp\\-toolbox$"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "con"
|
||||||
|
}
|
||||||
|
|
||||||
BIN
.i3/mboot.mp3
Normal file
BIN
.i3/mboot.mp3
Normal file
Binary file not shown.
7
.i3/scripts/RAM.sh
Executable file
7
.i3/scripts/RAM.sh
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
ram=$(free -m)
|
||||||
|
arr=($ram)
|
||||||
|
max=$(awk "BEGIN {printf \"%.2f\",${arr[7]}/1024}")
|
||||||
|
cur=$(awk "BEGIN {printf \"%.2f\",${arr[8]}/1024}")
|
||||||
|
echo "${cur}GB/${max}GB"
|
||||||
|
|
||||||
BIN
.i3/scripts/claw
Executable file
BIN
.i3/scripts/claw
Executable file
Binary file not shown.
23
.i3/scripts/key_layout
Executable file
23
.i3/scripts/key_layout
Executable file
@@ -0,0 +1,23 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright 2016 Patrick Haun
|
||||||
|
# Edited: Denis Kadyshev
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
setxkbmap -query | awk '
|
||||||
|
BEGIN{layout="";variant=""}
|
||||||
|
/^layout/{layout=$2}
|
||||||
|
/^variant/{variant=$2}
|
||||||
|
END{printf("%s %s",layout,variant)}'
|
||||||
14
.i3/scripts/locker.sh
Executable file
14
.i3/scripts/locker.sh
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
ARGS=(
|
||||||
|
"--clock" "-s"
|
||||||
|
"-i${HOME}/Pictures/backgrounds/6164e8_5775038.png"
|
||||||
|
"--insidevercolor=35d75588"
|
||||||
|
"--insidewrongcolor=d7355588"
|
||||||
|
"--insidecolor=50505000"
|
||||||
|
"--ringvercolor=64c784ff"
|
||||||
|
"--ringwrongcolor=c76484ff"
|
||||||
|
"--ringcolor=3555d7ff"
|
||||||
|
"--separatorcolor=6484c7ff"
|
||||||
|
"--keyhlcolor=35d755ff"
|
||||||
|
"--bshlcolor=d73555ff")
|
||||||
|
i3lock "${ARGS[@]}"
|
||||||
25
.i3/scripts/mpd_status.sh
Executable file
25
.i3/scripts/mpd_status.sh
Executable file
@@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
SONG=$(mpc current)
|
||||||
|
|
||||||
|
for i in $(mpc --format ""); do
|
||||||
|
a=$i
|
||||||
|
break
|
||||||
|
done
|
||||||
|
|
||||||
|
case $BLOCK_BUTTON in
|
||||||
|
2) mpc toggle ;;
|
||||||
|
1) mpc prev ;;
|
||||||
|
3) mpc next ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -z "$SONG" ]; then
|
||||||
|
OUT="<span foreground='#CC0033'></span>"
|
||||||
|
else
|
||||||
|
if [ $a = "[playing]" ]; then
|
||||||
|
OUT="<span foreground='#00CC33'></span>"
|
||||||
|
else
|
||||||
|
OUT="<span foreground='#CC0033'></span>"
|
||||||
|
fi
|
||||||
|
OUT="$OUT <span foreground='#6484C7'>$SONG</span>"
|
||||||
|
fi
|
||||||
|
echo $OUT
|
||||||
40
.i3/scripts/shutdown_menu
Executable file
40
.i3/scripts/shutdown_menu
Executable file
@@ -0,0 +1,40 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#LOCKSCRIPT="i3lock-extra -m pixelize"
|
||||||
|
FG_COLOR="#d7d7d7"
|
||||||
|
BG_COLOR="#15325A"
|
||||||
|
SF_COLOR="#3555d7"
|
||||||
|
SB_COLOR="#6484c7"
|
||||||
|
color="-bg $BG_COLOR -fg $FG_COLOR -hlfg $SF_COLOR -hlbg $SB_COLOR -bw 0"
|
||||||
|
|
||||||
|
# menu defined as an associative array
|
||||||
|
typeset -A menu
|
||||||
|
|
||||||
|
# Menu with keys/commands
|
||||||
|
menu=(
|
||||||
|
[Shutdown]="systemctl poweroff"
|
||||||
|
[Reboot]="systemctl reboot"
|
||||||
|
[Hibernate]="systemctl hibernate"
|
||||||
|
[Suspend]="systemctl suspend"
|
||||||
|
[Halt]="systemctl halt"
|
||||||
|
[Lock]="i3lock --color=${BG_COLOR}"
|
||||||
|
[Logout]="i3-msg exit"
|
||||||
|
[Cancel]="Cancel"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Menu entries that may trigger a confirmation message
|
||||||
|
menu_confirm="Shutdown Reboot Hibernate Suspend Halt Logout"
|
||||||
|
launcher="rofi -dmenu -hide-scrollbar -width 10"
|
||||||
|
launcher_opt="-i -yoffset 23 -location 3 $color"
|
||||||
|
selection=$(printf '%s\n' ${!menu[@]} | sort | eval '$launcher $launcher_opt -font "Hack-Regular 12" -lines 8')
|
||||||
|
if [ $selection == "Cancel" ] || [ -z $selection ]; then
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
if [[ ${menu_confirm[*]} =~ $selection ]]; then
|
||||||
|
confirm=$(printf 'Yes\nNo\n' | eval '$launcher $launcher_opt -l 2 -font "Hack-Regular 12"')
|
||||||
|
if [[ $confirm == 'Yes' ]]; then
|
||||||
|
i3-msg -q "exec ${menu[${selection}]}"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
i3-msg -q "exec ${menu[${selection}]}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
18
.i3/scripts/volume_set.sh
Executable file
18
.i3/scripts/volume_set.sh
Executable file
@@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
if [ "$1" == "up" ]
|
||||||
|
then
|
||||||
|
pulsemixer --change-volume +5
|
||||||
|
TEXT="Volume: $(pulsemixer --get-volume | cut -d' ' -f 1 | sed 's/\(\[\|\]\)//g')"
|
||||||
|
elif [ "$1" == "down" ]
|
||||||
|
then
|
||||||
|
pulsemixer --change-volume -5
|
||||||
|
TEXT="Volume: $(pulsemixer --get-volume | cut -d' ' -f 1 | sed 's/\(\[\|\]\)//g')"
|
||||||
|
elif [ "$1" == "mute" ]
|
||||||
|
then
|
||||||
|
pulsemixer --toggle-mute
|
||||||
|
TEXT="Mute: $(pulsemixer --get-mute | cut -d' ' -f 1 | sed 's/\(\[\|\]\)//g')"
|
||||||
|
else
|
||||||
|
echo "usage volume_set.sh {up|down|mute}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
dunstify -r 33223 "Volume changed" "$TEXT"
|
||||||
13
.i3/scripts/wan-or-not.sh
Executable file
13
.i3/scripts/wan-or-not.sh
Executable file
@@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/zsh
|
||||||
|
#First arg is icon for WAN IP, Second argument is icon for local IP, third for offline
|
||||||
|
wanip=$(dig +short myip.opendns.com @resolver1.opendns.com);
|
||||||
|
if [[ $wanip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
|
||||||
|
echo "<span foreground='#00CC33'>$1</span>:$wanip"
|
||||||
|
else
|
||||||
|
wanip=$(ip addr show dev wlan0 | grep "inet " | awk '{print $2}')
|
||||||
|
if [[ $wanip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} ]]; then
|
||||||
|
echo "<span foreground='#3300CC'>$2</span>:$wanip"
|
||||||
|
else
|
||||||
|
echo "<span foreground='#CC0033'>$3</span>"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
3
.mozilla/firefox/chrome/userChrome.css
Executable file
3
.mozilla/firefox/chrome/userChrome.css
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
.tabbrowser-tabs .tabbrowser-tab[visuallyselected] .tab-content{
|
||||||
|
background:#15325A;!important
|
||||||
|
}
|
||||||
3
.oh-my-zsh/.gitignore
vendored
Executable file
3
.oh-my-zsh/.gitignore
vendored
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
# temp files directories
|
||||||
|
cache/
|
||||||
|
log/
|
||||||
1
.oh-my-zsh/.zsh-update
Executable file
1
.oh-my-zsh/.zsh-update
Executable file
@@ -0,0 +1 @@
|
|||||||
|
LAST_EPOCH=17126
|
||||||
22
.oh-my-zsh/LICENSE.txt
Executable file
22
.oh-my-zsh/LICENSE.txt
Executable file
@@ -0,0 +1,22 @@
|
|||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2009-2016 Robby Russell and contributors
|
||||||
|
See the full list at https://github.com/robbyrussell/oh-my-zsh/contributors
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
230
.oh-my-zsh/README.md
Executable file
230
.oh-my-zsh/README.md
Executable file
@@ -0,0 +1,230 @@
|
|||||||
|
<p align="center">
|
||||||
|
<img src="https://s3.amazonaws.com/ohmyzsh/oh-my-zsh-logo.png" alt="Oh My Zsh">
|
||||||
|
</p>
|
||||||
|
|
||||||
|
Oh My Zsh is an open source, community-driven framework for managing your [zsh](http://www.zsh.org/) configuration.
|
||||||
|
|
||||||
|
That sounds boring. Let's try this again.
|
||||||
|
|
||||||
|
__Oh My Zsh is a way of life!__
|
||||||
|
|
||||||
|
Once installed, your terminal shell will become the talk of the town _or your money back!_ With each keystroke in your command prompt, you'll take advantage of the hundreds of powerful plugins and beautiful themes. Strangers will come up to you in cafés and ask you, _"that is amazing! are you some sort of genius?"_
|
||||||
|
|
||||||
|
Finally, you'll begin to get the sort of attention that you have always felt you deserved. ...or maybe you'll use the time that you're saving to start flossing more often.
|
||||||
|
|
||||||
|
To learn more, visit [ohmyz.sh](http://ohmyz.sh) and follow [@ohmyzsh](https://twitter.com/ohmyzsh) on Twitter.
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
__Disclaimer:__ _Oh My Zsh works best on macOS and Linux._
|
||||||
|
|
||||||
|
* Unix-based operating system (macOS or Linux)
|
||||||
|
* [Zsh](http://www.zsh.org) should be installed (v4.3.9 or more recent). If not pre-installed (`zsh --version` to confirm), check the following instruction here: [Installing ZSH](https://github.com/robbyrussell/oh-my-zsh/wiki/Installing-ZSH)
|
||||||
|
* `curl` or `wget` should be installed
|
||||||
|
* `git` should be installed
|
||||||
|
|
||||||
|
### Basic Installation
|
||||||
|
|
||||||
|
Oh My Zsh is installed by running one of the following commands in your terminal. You can install this via the command-line with either `curl` or `wget`.
|
||||||
|
|
||||||
|
#### via curl
|
||||||
|
|
||||||
|
```shell
|
||||||
|
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### via wget
|
||||||
|
|
||||||
|
```shell
|
||||||
|
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Using Oh My Zsh
|
||||||
|
|
||||||
|
### Plugins
|
||||||
|
|
||||||
|
Oh My Zsh comes with a shit load of plugins to take advantage of. You can take a look in the [plugins](https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins) directory and/or the [wiki](https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins) to see what's currently available.
|
||||||
|
|
||||||
|
#### Enabling Plugins
|
||||||
|
|
||||||
|
Once you spot a plugin (or several) that you'd like to use with Oh My Zsh, you'll need to enable them in the `.zshrc` file. You'll find the zshrc file in your `$HOME` directory. Open it with your favorite text editor and you'll see a spot to list all the plugins you want to load.
|
||||||
|
|
||||||
|
For example, this line might begin to look like this:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
plugins=(git bundler osx rake ruby)
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Using Plugins
|
||||||
|
|
||||||
|
Most plugins (should! we're working on this) include a __README__, which documents how to use them.
|
||||||
|
|
||||||
|
### Themes
|
||||||
|
|
||||||
|
We'll admit it. Early in the Oh My Zsh world, we may have gotten a bit too theme happy. We have over one hundred themes now bundled. Most of them have [screenshots](https://wiki.github.com/robbyrussell/oh-my-zsh/themes) on the wiki. Check them out!
|
||||||
|
|
||||||
|
#### Selecting a Theme
|
||||||
|
|
||||||
|
_Robby's theme is the default one. It's not the fanciest one. It's not the simplest one. It's just the right one (for him)._
|
||||||
|
|
||||||
|
Once you find a theme that you want to use, you will need to edit the `~/.zshrc` file. You'll see an environment variable (all caps) in there that looks like:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
ZSH_THEME="robbyrussell"
|
||||||
|
```
|
||||||
|
|
||||||
|
To use a different theme, simply change the value to match the name of your desired theme. For example:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
ZSH_THEME="agnoster" # (this is one of the fancy ones)
|
||||||
|
# you might need to install a special Powerline font on your console's host for this to work
|
||||||
|
# see https://github.com/robbyrussell/oh-my-zsh/wiki/Themes#agnoster
|
||||||
|
```
|
||||||
|
|
||||||
|
Open up a new terminal window and your prompt should look something like this:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
In case you did not find a suitable theme for your needs, please have a look at the wiki for [more of them](https://github.com/robbyrussell/oh-my-zsh/wiki/External-themes).
|
||||||
|
|
||||||
|
If you're feeling feisty, you can let the computer select one randomly for you each time you open a new terminal window.
|
||||||
|
|
||||||
|
|
||||||
|
```shell
|
||||||
|
ZSH_THEME="random" # (...please let it be pie... please be some pie..)
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Advanced Topics
|
||||||
|
|
||||||
|
If you're the type that likes to get their hands dirty, these sections might resonate.
|
||||||
|
|
||||||
|
### Advanced Installation
|
||||||
|
|
||||||
|
Some users may want to change the default path, or manually install Oh My Zsh.
|
||||||
|
|
||||||
|
#### Custom Directory
|
||||||
|
|
||||||
|
The default location is `~/.oh-my-zsh` (hidden in your home directory)
|
||||||
|
|
||||||
|
If you'd like to change the install directory with the `ZSH` environment variable, either by running `export ZSH=/your/path` before installing, or by setting it before the end of the install pipeline like this:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
export ZSH="$HOME/.dotfiles/oh-my-zsh"; sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Manual Installation
|
||||||
|
|
||||||
|
##### 1. Clone the repository:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
|
||||||
|
```
|
||||||
|
|
||||||
|
##### 2. *Optionally*, backup your existing `~/.zshrc` file:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
cp ~/.zshrc ~/.zshrc.orig
|
||||||
|
```
|
||||||
|
|
||||||
|
##### 3. Create a new zsh configuration file
|
||||||
|
|
||||||
|
You can create a new zsh config file by copying the template that we have included for you.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
|
||||||
|
```
|
||||||
|
|
||||||
|
##### 4. Change your default shell
|
||||||
|
|
||||||
|
```shell
|
||||||
|
chsh -s /bin/zsh
|
||||||
|
```
|
||||||
|
|
||||||
|
##### 5. Initialize your new zsh configuration
|
||||||
|
|
||||||
|
Once you open up a new terminal window, it should load zsh with Oh My Zsh's configuration.
|
||||||
|
|
||||||
|
### Installation Problems
|
||||||
|
|
||||||
|
If you have any hiccups installing, here are a few common fixes.
|
||||||
|
|
||||||
|
* You _might_ need to modify your `PATH` in `~/.zshrc` if you're not able to find some commands after switching to `oh-my-zsh`.
|
||||||
|
* If you installed manually or changed the install location, check the `ZSH` environment variable in `~/.zshrc`.
|
||||||
|
|
||||||
|
### Custom Plugins and Themes
|
||||||
|
|
||||||
|
If you want to override any of the default behaviors, just add a new file (ending in `.zsh`) in the `custom/` directory.
|
||||||
|
|
||||||
|
If you have many functions that go well together, you can put them as a `XYZ.plugin.zsh` file in the `custom/plugins/` directory and then enable this plugin.
|
||||||
|
|
||||||
|
If you would like to override the functionality of a plugin distributed with Oh My Zsh, create a plugin of the same name in the `custom/plugins/` directory and it will be loaded instead of the one in `plugins/`.
|
||||||
|
|
||||||
|
## Getting Updates
|
||||||
|
|
||||||
|
By default, you will be prompted to check for upgrades every few weeks. If you would like `oh-my-zsh` to automatically upgrade itself without prompting you, set the following in your `~/.zshrc`:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
DISABLE_UPDATE_PROMPT=true
|
||||||
|
```
|
||||||
|
|
||||||
|
To disable automatic upgrades, set the following in your `~/.zshrc`:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
DISABLE_AUTO_UPDATE=true
|
||||||
|
```
|
||||||
|
|
||||||
|
### Manual Updates
|
||||||
|
|
||||||
|
If you'd like to upgrade at any point in time (maybe someone just released a new plugin and you don't want to wait a week?) you just need to run:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
upgrade_oh_my_zsh
|
||||||
|
```
|
||||||
|
|
||||||
|
Magic!
|
||||||
|
|
||||||
|
## Uninstalling Oh My Zsh
|
||||||
|
|
||||||
|
Oh My Zsh isn't for everyone. We'll miss you, but we want to make this an easy breakup.
|
||||||
|
|
||||||
|
If you want to uninstall `oh-my-zsh`, just run `uninstall_oh_my_zsh` from the command-line. It will remove itself and revert your previous `bash` or `zsh` configuration.
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
I'm far from being a [Zsh](http://www.zsh.org/) expert and suspect there are many ways to improve – if you have ideas on how to make the configuration easier to maintain (and faster), don't hesitate to fork and send pull requests!
|
||||||
|
|
||||||
|
We also need people to test out pull-requests. So take a look through [the open issues](https://github.com/robbyrussell/oh-my-zsh/issues) and help where you can.
|
||||||
|
|
||||||
|
### Do NOT send us themes
|
||||||
|
|
||||||
|
We have (more than) enough themes for the time being. Please add your theme to the [external themes](https://github.com/robbyrussell/oh-my-zsh/wiki/External-themes) wiki page.
|
||||||
|
|
||||||
|
## Contributors
|
||||||
|
|
||||||
|
Oh My Zsh has a vibrant community of happy users and delightful contributors. Without all the time and help from our contributors, it wouldn't be so awesome.
|
||||||
|
|
||||||
|
Thank you so much!
|
||||||
|
|
||||||
|
## Follow Us
|
||||||
|
|
||||||
|
We're on the social media.
|
||||||
|
|
||||||
|
* [@ohmyzsh](https://twitter.com/ohmyzsh) on Twitter. You should follow it.
|
||||||
|
* [Oh My Zsh](https://www.facebook.com/Oh-My-Zsh-296616263819290/) on Facebook.
|
||||||
|
|
||||||
|
## Merchandise
|
||||||
|
|
||||||
|
We have [stickers](http://shop.planetargon.com/products/ohmyzsh-stickers-set-of-3-stickers) and [shirts](http://shop.planetargon.com/products/ohmyzsh-t-shirts) for you to show off your love of Oh My Zsh. Again, this will help you become the talk of the town!
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
Oh My Zsh is released under the [MIT license](LICENSE.txt).
|
||||||
|
|
||||||
|
## About Planet Argon
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Oh My Zsh was started by the team at [Planet Argon](https://www.planetargon.com/?utm_source=github), a [Ruby on Rails development agency](https://www.planetargon.com/skills/ruby-on-rails-development?utm_source=github).
|
||||||
2
.oh-my-zsh/custom/themes/T-i3.zsh-theme
Executable file
2
.oh-my-zsh/custom/themes/T-i3.zsh-theme
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
PROMPT='%F{blue}%n%f@%m %F{green}%~%f %# '
|
||||||
|
RPROMPT='%t'
|
||||||
2
.oh-my-zsh/custom/themes/T-netbook.zsh-theme
Executable file
2
.oh-my-zsh/custom/themes/T-netbook.zsh-theme
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
PROMPT='%F{green}%n%f@%m %F{green}%~%f %# '
|
||||||
|
RPROMPT='%t'
|
||||||
2
.oh-my-zsh/custom/themes/TServer.zsh-theme
Executable file
2
.oh-my-zsh/custom/themes/TServer.zsh-theme
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
PROMPT='%F{red}%n%f@%m %F{green}%~%f %# '
|
||||||
|
RPROMPT='%t'
|
||||||
10
.oh-my-zsh/lib/bzr.zsh
Executable file
10
.oh-my-zsh/lib/bzr.zsh
Executable file
@@ -0,0 +1,10 @@
|
|||||||
|
## Bazaar integration
|
||||||
|
## Just works with the GIT integration just add $(bzr_prompt_info) to the PROMPT
|
||||||
|
function bzr_prompt_info() {
|
||||||
|
BZR_CB=`bzr nick 2> /dev/null | grep -v "ERROR" | cut -d ":" -f2 | awk -F / '{print "bzr::"$1}'`
|
||||||
|
if [ -n "$BZR_CB" ]; then
|
||||||
|
BZR_DIRTY=""
|
||||||
|
[[ -n `bzr status` ]] && BZR_DIRTY=" %{$fg[red]%} * %{$fg[green]%}"
|
||||||
|
echo "$ZSH_THEME_SCM_PROMPT_PREFIX$BZR_CB$BZR_DIRTY$ZSH_THEME_GIT_PROMPT_SUFFIX"
|
||||||
|
fi
|
||||||
|
}
|
||||||
86
.oh-my-zsh/lib/clipboard.zsh
Executable file
86
.oh-my-zsh/lib/clipboard.zsh
Executable file
@@ -0,0 +1,86 @@
|
|||||||
|
# System clipboard integration
|
||||||
|
#
|
||||||
|
# This file has support for doing system clipboard copy and paste operations
|
||||||
|
# from the command line in a generic cross-platform fashion.
|
||||||
|
#
|
||||||
|
# On OS X and Windows, the main system clipboard or "pasteboard" is used. On other
|
||||||
|
# Unix-like OSes, this considers the X Windows CLIPBOARD selection to be the
|
||||||
|
# "system clipboard", and the X Windows `xclip` command must be installed.
|
||||||
|
|
||||||
|
# clipcopy - Copy data to clipboard
|
||||||
|
#
|
||||||
|
# Usage:
|
||||||
|
#
|
||||||
|
# <command> | clipcopy - copies stdin to clipboard
|
||||||
|
#
|
||||||
|
# clipcopy <file> - copies a file's contents to clipboard
|
||||||
|
#
|
||||||
|
function clipcopy() {
|
||||||
|
emulate -L zsh
|
||||||
|
local file=$1
|
||||||
|
if [[ $OSTYPE == darwin* ]]; then
|
||||||
|
if [[ -z $file ]]; then
|
||||||
|
pbcopy
|
||||||
|
else
|
||||||
|
cat $file | pbcopy
|
||||||
|
fi
|
||||||
|
elif [[ $OSTYPE == cygwin* ]]; then
|
||||||
|
if [[ -z $file ]]; then
|
||||||
|
cat > /dev/clipboard
|
||||||
|
else
|
||||||
|
cat $file > /dev/clipboard
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if (( $+commands[xclip] )); then
|
||||||
|
if [[ -z $file ]]; then
|
||||||
|
xclip -in -selection clipboard
|
||||||
|
else
|
||||||
|
xclip -in -selection clipboard $file
|
||||||
|
fi
|
||||||
|
elif (( $+commands[xsel] )); then
|
||||||
|
if [[ -z $file ]]; then
|
||||||
|
xsel --clipboard --input
|
||||||
|
else
|
||||||
|
cat "$file" | xsel --clipboard --input
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
print "clipcopy: Platform $OSTYPE not supported or xclip/xsel not installed" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# clippaste - "Paste" data from clipboard to stdout
|
||||||
|
#
|
||||||
|
# Usage:
|
||||||
|
#
|
||||||
|
# clippaste - writes clipboard's contents to stdout
|
||||||
|
#
|
||||||
|
# clippaste | <command> - pastes contents and pipes it to another process
|
||||||
|
#
|
||||||
|
# clippaste > <file> - paste contents to a file
|
||||||
|
#
|
||||||
|
# Examples:
|
||||||
|
#
|
||||||
|
# # Pipe to another process
|
||||||
|
# clippaste | grep foo
|
||||||
|
#
|
||||||
|
# # Paste to a file
|
||||||
|
# clippaste > file.txt
|
||||||
|
function clippaste() {
|
||||||
|
emulate -L zsh
|
||||||
|
if [[ $OSTYPE == darwin* ]]; then
|
||||||
|
pbpaste
|
||||||
|
elif [[ $OSTYPE == cygwin* ]]; then
|
||||||
|
cat /dev/clipboard
|
||||||
|
else
|
||||||
|
if (( $+commands[xclip] )); then
|
||||||
|
xclip -out -selection clipboard
|
||||||
|
elif (( $+commands[xsel] )); then
|
||||||
|
xsel --clipboard --output
|
||||||
|
else
|
||||||
|
print "clipcopy: Platform $OSTYPE not supported or xclip/xsel not installed" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
60
.oh-my-zsh/lib/compfix.zsh
Executable file
60
.oh-my-zsh/lib/compfix.zsh
Executable file
@@ -0,0 +1,60 @@
|
|||||||
|
# Handle completions insecurities (i.e., completion-dependent directories with
|
||||||
|
# insecure ownership or permissions) by:
|
||||||
|
#
|
||||||
|
# * Human-readably notifying the user of these insecurities.
|
||||||
|
# * Moving away all existing completion caches to a temporary directory. Since
|
||||||
|
# any of these caches may have been generated from insecure directories, they
|
||||||
|
# are all suspect now. Failing to do so typically causes subsequent compinit()
|
||||||
|
# calls to fail with "command not found: compdef" errors. (That's bad.)
|
||||||
|
function handle_completion_insecurities() {
|
||||||
|
# List of the absolute paths of all unique insecure directories, split on
|
||||||
|
# newline from compaudit()'s output resembling:
|
||||||
|
#
|
||||||
|
# There are insecure directories:
|
||||||
|
# /usr/share/zsh/site-functions
|
||||||
|
# /usr/share/zsh/5.0.6/functions
|
||||||
|
# /usr/share/zsh
|
||||||
|
# /usr/share/zsh/5.0.6
|
||||||
|
#
|
||||||
|
# Since the ignorable first line is printed to stderr and thus not captured,
|
||||||
|
# stderr is squelched to prevent this output from leaking to the user.
|
||||||
|
local -aU insecure_dirs
|
||||||
|
insecure_dirs=( ${(f@):-"$(compaudit 2>/dev/null)"} )
|
||||||
|
|
||||||
|
# If no such directories exist, get us out of here.
|
||||||
|
if (( ! ${#insecure_dirs} )); then
|
||||||
|
print "[oh-my-zsh] No insecure completion-dependent directories detected."
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# List ownership and permissions of all insecure directories.
|
||||||
|
print "[oh-my-zsh] Insecure completion-dependent directories detected:"
|
||||||
|
ls -ld "${(@)insecure_dirs}"
|
||||||
|
print "[oh-my-zsh] For safety, completions will be disabled until you manually fix all"
|
||||||
|
print "[oh-my-zsh] insecure directory permissions and ownership and restart oh-my-zsh."
|
||||||
|
print "[oh-my-zsh] See the above list for directories with group or other writability.\n"
|
||||||
|
|
||||||
|
# Locally enable the "NULL_GLOB" option, thus removing unmatched filename
|
||||||
|
# globs from argument lists *AND* printing no warning when doing so. Failing
|
||||||
|
# to do so prints an unreadable warning if no completion caches exist below.
|
||||||
|
setopt local_options null_glob
|
||||||
|
|
||||||
|
# List of the absolute paths of all unique existing completion caches.
|
||||||
|
local -aU zcompdump_files
|
||||||
|
zcompdump_files=( "${ZSH_COMPDUMP}"(.) "${ZDOTDIR:-${HOME}}"/.zcompdump* )
|
||||||
|
|
||||||
|
# Move such caches to a temporary directory.
|
||||||
|
if (( ${#zcompdump_files} )); then
|
||||||
|
# Absolute path of the directory to which such files will be moved.
|
||||||
|
local ZSH_ZCOMPDUMP_BAD_DIR="${ZSH_CACHE_DIR}/zcompdump-bad"
|
||||||
|
|
||||||
|
# List such files first.
|
||||||
|
print "[oh-my-zsh] Insecure completion caches also detected:"
|
||||||
|
ls -l "${(@)zcompdump_files}"
|
||||||
|
|
||||||
|
# For safety, move rather than permanently remove such files.
|
||||||
|
print "[oh-my-zsh] Moving to \"${ZSH_ZCOMPDUMP_BAD_DIR}/\"...\n"
|
||||||
|
mkdir -p "${ZSH_ZCOMPDUMP_BAD_DIR}"
|
||||||
|
mv "${(@)zcompdump_files}" "${ZSH_ZCOMPDUMP_BAD_DIR}/"
|
||||||
|
fi
|
||||||
|
}
|
||||||
70
.oh-my-zsh/lib/completion.zsh
Executable file
70
.oh-my-zsh/lib/completion.zsh
Executable file
@@ -0,0 +1,70 @@
|
|||||||
|
# fixme - the load process here seems a bit bizarre
|
||||||
|
zmodload -i zsh/complist
|
||||||
|
|
||||||
|
WORDCHARS=''
|
||||||
|
|
||||||
|
unsetopt menu_complete # do not autoselect the first completion entry
|
||||||
|
unsetopt flowcontrol
|
||||||
|
setopt auto_menu # show completion menu on succesive tab press
|
||||||
|
setopt complete_in_word
|
||||||
|
setopt always_to_end
|
||||||
|
|
||||||
|
# should this be in keybindings?
|
||||||
|
bindkey -M menuselect '^o' accept-and-infer-next-history
|
||||||
|
zstyle ':completion:*:*:*:*:*' menu select
|
||||||
|
|
||||||
|
# case insensitive (all), partial-word and substring completion
|
||||||
|
if [[ "$CASE_SENSITIVE" = true ]]; then
|
||||||
|
zstyle ':completion:*' matcher-list 'r:|=*' 'l:|=* r:|=*'
|
||||||
|
else
|
||||||
|
if [[ "$HYPHEN_INSENSITIVE" = true ]]; then
|
||||||
|
zstyle ':completion:*' matcher-list 'm:{a-zA-Z-_}={A-Za-z_-}' 'r:|=*' 'l:|=* r:|=*'
|
||||||
|
else
|
||||||
|
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|=*' 'l:|=* r:|=*'
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
unset CASE_SENSITIVE HYPHEN_INSENSITIVE
|
||||||
|
|
||||||
|
zstyle ':completion:*' list-colors ''
|
||||||
|
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01'
|
||||||
|
|
||||||
|
if [[ "$OSTYPE" = solaris* ]]; then
|
||||||
|
zstyle ':completion:*:*:*:*:processes' command "ps -u $USER -o pid,user,comm"
|
||||||
|
else
|
||||||
|
zstyle ':completion:*:*:*:*:processes' command "ps -u $USER -o pid,user,comm -w -w"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# disable named-directories autocompletion
|
||||||
|
zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-directories
|
||||||
|
|
||||||
|
# Use caching so that commands like apt and dpkg complete are useable
|
||||||
|
zstyle ':completion::complete:*' use-cache 1
|
||||||
|
zstyle ':completion::complete:*' cache-path $ZSH_CACHE_DIR
|
||||||
|
|
||||||
|
# Don't complete uninteresting users
|
||||||
|
zstyle ':completion:*:*:*:users' ignored-patterns \
|
||||||
|
adm amanda apache at avahi avahi-autoipd beaglidx bin cacti canna \
|
||||||
|
clamav daemon dbus distcache dnsmasq dovecot fax ftp games gdm \
|
||||||
|
gkrellmd gopher hacluster haldaemon halt hsqldb ident junkbust kdm \
|
||||||
|
ldap lp mail mailman mailnull man messagebus mldonkey mysql nagios \
|
||||||
|
named netdump news nfsnobody nobody nscd ntp nut nx obsrun openvpn \
|
||||||
|
operator pcap polkitd postfix postgres privoxy pulse pvm quagga radvd \
|
||||||
|
rpc rpcuser rpm rtkit scard shutdown squid sshd statd svn sync tftp \
|
||||||
|
usbmux uucp vcsa wwwrun xfs '_*'
|
||||||
|
|
||||||
|
# ... unless we really want to.
|
||||||
|
zstyle '*' single-ignored show
|
||||||
|
|
||||||
|
if [[ $COMPLETION_WAITING_DOTS = true ]]; then
|
||||||
|
expand-or-complete-with-dots() {
|
||||||
|
# toggle line-wrapping off and back on again
|
||||||
|
[[ -n "$terminfo[rmam]" && -n "$terminfo[smam]" ]] && echoti rmam
|
||||||
|
print -Pn "%{%F{red}......%f%}"
|
||||||
|
[[ -n "$terminfo[rmam]" && -n "$terminfo[smam]" ]] && echoti smam
|
||||||
|
|
||||||
|
zle expand-or-complete
|
||||||
|
zle redisplay
|
||||||
|
}
|
||||||
|
zle -N expand-or-complete-with-dots
|
||||||
|
bindkey "^I" expand-or-complete-with-dots
|
||||||
|
fi
|
||||||
13
.oh-my-zsh/lib/correction.zsh
Executable file
13
.oh-my-zsh/lib/correction.zsh
Executable file
@@ -0,0 +1,13 @@
|
|||||||
|
if [[ "$ENABLE_CORRECTION" == "true" ]]; then
|
||||||
|
alias ebuild='nocorrect ebuild'
|
||||||
|
alias gist='nocorrect gist'
|
||||||
|
alias heroku='nocorrect heroku'
|
||||||
|
alias hpodder='nocorrect hpodder'
|
||||||
|
alias man='nocorrect man'
|
||||||
|
alias mkdir='nocorrect mkdir'
|
||||||
|
alias mv='nocorrect mv'
|
||||||
|
alias mysql='nocorrect mysql'
|
||||||
|
alias sudo='nocorrect sudo'
|
||||||
|
|
||||||
|
setopt correct_all
|
||||||
|
fi
|
||||||
353
.oh-my-zsh/lib/diagnostics.zsh
Executable file
353
.oh-my-zsh/lib/diagnostics.zsh
Executable file
@@ -0,0 +1,353 @@
|
|||||||
|
# diagnostics.zsh
|
||||||
|
#
|
||||||
|
# Diagnostic and debugging support for oh-my-zsh
|
||||||
|
|
||||||
|
# omz_diagnostic_dump()
|
||||||
|
#
|
||||||
|
# Author: Andrew Janke <andrew@apjanke.net>
|
||||||
|
#
|
||||||
|
# Usage:
|
||||||
|
#
|
||||||
|
# omz_diagnostic_dump [-v] [-V] [file]
|
||||||
|
#
|
||||||
|
# NOTE: This is a work in progress. Its interface and behavior are going to change,
|
||||||
|
# and probably in non-back-compatible ways.
|
||||||
|
#
|
||||||
|
# Outputs a bunch of information about the state and configuration of
|
||||||
|
# oh-my-zsh, zsh, and the user's system. This is intended to provide a
|
||||||
|
# bunch of context for diagnosing your own or a third party's problems, and to
|
||||||
|
# be suitable for posting to public bug reports.
|
||||||
|
#
|
||||||
|
# The output is human-readable and its format may change over time. It is not
|
||||||
|
# suitable for parsing. All the output is in one single file so it can be posted
|
||||||
|
# as a gist or bug comment on GitHub. GitHub doesn't support attaching tarballs
|
||||||
|
# or other files to bugs; otherwise, this would probably have an option to produce
|
||||||
|
# tarballs that contain copies of the config and customization files instead of
|
||||||
|
# catting them all in to one file.
|
||||||
|
#
|
||||||
|
# This is intended to be widely portable, and run anywhere that oh-my-zsh does.
|
||||||
|
# Feel free to report any portability issues as bugs.
|
||||||
|
#
|
||||||
|
# This is written in a defensive style so it still works (and can detect) cases when
|
||||||
|
# basic functionality like echo and which have been redefined. In particular, almost
|
||||||
|
# everything is invoked with "builtin" or "command", to work in the face of user
|
||||||
|
# redefinitions.
|
||||||
|
#
|
||||||
|
# OPTIONS
|
||||||
|
#
|
||||||
|
# [file] Specifies the output file. If not given, a file in the current directory
|
||||||
|
# is selected automatically.
|
||||||
|
#
|
||||||
|
# -v Increase the verbosity of the dump output. May be specified multiple times.
|
||||||
|
# Verbosity levels:
|
||||||
|
# 0 - Basic info, shell state, omz configuration, git state
|
||||||
|
# 1 - (default) Adds key binding info and configuration file contents
|
||||||
|
# 2 - Adds zcompdump file contents
|
||||||
|
#
|
||||||
|
# -V Reduce the verbosity of the dump output. May be specified multiple times.
|
||||||
|
#
|
||||||
|
# TODO:
|
||||||
|
# * Multi-file capture
|
||||||
|
# * Add automatic gist uploading
|
||||||
|
# * Consider whether to move default output file location to TMPDIR. More robust
|
||||||
|
# but less user friendly.
|
||||||
|
#
|
||||||
|
|
||||||
|
autoload -Uz is-at-least
|
||||||
|
|
||||||
|
function omz_diagnostic_dump() {
|
||||||
|
emulate -L zsh
|
||||||
|
|
||||||
|
builtin echo "Generating diagnostic dump; please be patient..."
|
||||||
|
|
||||||
|
local thisfcn=omz_diagnostic_dump
|
||||||
|
local -A opts
|
||||||
|
local opt_verbose opt_noverbose opt_outfile
|
||||||
|
local timestamp=$(date +%Y%m%d-%H%M%S)
|
||||||
|
local outfile=omz_diagdump_$timestamp.txt
|
||||||
|
builtin zparseopts -A opts -D -- "v+=opt_verbose" "V+=opt_noverbose"
|
||||||
|
local verbose n_verbose=${#opt_verbose} n_noverbose=${#opt_noverbose}
|
||||||
|
(( verbose = 1 + n_verbose - n_noverbose ))
|
||||||
|
|
||||||
|
if [[ ${#*} > 0 ]]; then
|
||||||
|
opt_outfile=$1
|
||||||
|
fi
|
||||||
|
if [[ ${#*} > 1 ]]; then
|
||||||
|
builtin echo "$thisfcn: error: too many arguments" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
if [[ -n "$opt_outfile" ]]; then
|
||||||
|
outfile="$opt_outfile"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Always write directly to a file so terminal escape sequences are
|
||||||
|
# captured cleanly
|
||||||
|
_omz_diag_dump_one_big_text &> "$outfile"
|
||||||
|
if [[ $? != 0 ]]; then
|
||||||
|
builtin echo "$thisfcn: error while creating diagnostic dump; see $outfile for details"
|
||||||
|
fi
|
||||||
|
|
||||||
|
builtin echo
|
||||||
|
builtin echo Diagnostic dump file created at: "$outfile"
|
||||||
|
builtin echo
|
||||||
|
builtin echo To share this with OMZ developers, post it as a gist on GitHub
|
||||||
|
builtin echo at "https://gist.github.com" and share the link to the gist.
|
||||||
|
builtin echo
|
||||||
|
builtin echo "WARNING: This dump file contains all your zsh and omz configuration files,"
|
||||||
|
builtin echo "so don't share it publicly if there's sensitive information in them."
|
||||||
|
builtin echo
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function _omz_diag_dump_one_big_text() {
|
||||||
|
local program programs progfile md5
|
||||||
|
|
||||||
|
builtin echo oh-my-zsh diagnostic dump
|
||||||
|
builtin echo
|
||||||
|
builtin echo $outfile
|
||||||
|
builtin echo
|
||||||
|
|
||||||
|
# Basic system and zsh information
|
||||||
|
command date
|
||||||
|
command uname -a
|
||||||
|
builtin echo OSTYPE=$OSTYPE
|
||||||
|
builtin echo ZSH_VERSION=$ZSH_VERSION
|
||||||
|
builtin echo User: $USER
|
||||||
|
builtin echo umask: $(umask)
|
||||||
|
builtin echo
|
||||||
|
_omz_diag_dump_os_specific_version
|
||||||
|
builtin echo
|
||||||
|
|
||||||
|
# Installed programs
|
||||||
|
programs=(sh zsh ksh bash sed cat grep ls find git posh)
|
||||||
|
local progfile="" extra_str="" sha_str=""
|
||||||
|
for program in $programs; do
|
||||||
|
extra_str="" sha_str=""
|
||||||
|
progfile=$(builtin which $program)
|
||||||
|
if [[ $? == 0 ]]; then
|
||||||
|
if [[ -e $progfile ]]; then
|
||||||
|
if builtin whence shasum &>/dev/null; then
|
||||||
|
sha_str=($(command shasum $progfile))
|
||||||
|
sha_str=$sha_str[1]
|
||||||
|
extra_str+=" SHA $sha_str"
|
||||||
|
fi
|
||||||
|
if [[ -h "$progfile" ]]; then
|
||||||
|
extra_str+=" ( -> ${progfile:A} )"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
builtin printf '%-9s %-20s %s\n' "$program is" "$progfile" "$extra_str"
|
||||||
|
else
|
||||||
|
builtin echo "$program: not found"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
builtin echo
|
||||||
|
builtin echo Command Versions:
|
||||||
|
builtin echo "zsh: $(zsh --version)"
|
||||||
|
builtin echo "this zsh session: $ZSH_VERSION"
|
||||||
|
builtin echo "bash: $(bash --version | command grep bash)"
|
||||||
|
builtin echo "git: $(git --version)"
|
||||||
|
builtin echo "grep: $(grep --version)"
|
||||||
|
builtin echo
|
||||||
|
|
||||||
|
# Core command definitions
|
||||||
|
_omz_diag_dump_check_core_commands || return 1
|
||||||
|
builtin echo
|
||||||
|
|
||||||
|
# ZSH Process state
|
||||||
|
builtin echo Process state:
|
||||||
|
builtin echo pwd: $PWD
|
||||||
|
if builtin whence pstree &>/dev/null; then
|
||||||
|
builtin echo Process tree for this shell:
|
||||||
|
pstree -p $$
|
||||||
|
else
|
||||||
|
ps -fT
|
||||||
|
fi
|
||||||
|
builtin set | command grep -a '^\(ZSH\|plugins\|TERM\|LC_\|LANG\|precmd\|chpwd\|preexec\|FPATH\|TTY\|DISPLAY\|PATH\)\|OMZ'
|
||||||
|
builtin echo
|
||||||
|
#TODO: Should this include `env` instead of or in addition to `export`?
|
||||||
|
builtin echo Exported:
|
||||||
|
builtin echo $(builtin export | command sed 's/=.*//')
|
||||||
|
builtin echo
|
||||||
|
builtin echo Locale:
|
||||||
|
command locale
|
||||||
|
builtin echo
|
||||||
|
|
||||||
|
# Zsh installation and configuration
|
||||||
|
builtin echo Zsh configuration:
|
||||||
|
builtin echo setopt: $(builtin setopt)
|
||||||
|
builtin echo
|
||||||
|
builtin echo zstyle:
|
||||||
|
builtin zstyle
|
||||||
|
builtin echo
|
||||||
|
builtin echo 'compaudit output:'
|
||||||
|
compaudit
|
||||||
|
builtin echo
|
||||||
|
builtin echo '$fpath directories:'
|
||||||
|
command ls -lad $fpath
|
||||||
|
builtin echo
|
||||||
|
|
||||||
|
# Oh-my-zsh installation
|
||||||
|
builtin echo oh-my-zsh installation:
|
||||||
|
command ls -ld ~/.z*
|
||||||
|
command ls -ld ~/.oh*
|
||||||
|
builtin echo
|
||||||
|
builtin echo oh-my-zsh git state:
|
||||||
|
(cd $ZSH && builtin echo "HEAD: $(git rev-parse HEAD)" && git remote -v && git status | command grep "[^[:space:]]")
|
||||||
|
if [[ $verbose -ge 1 ]]; then
|
||||||
|
(cd $ZSH && git reflog --date=default | command grep pull)
|
||||||
|
fi
|
||||||
|
builtin echo
|
||||||
|
if [[ -e $ZSH_CUSTOM ]]; then
|
||||||
|
local custom_dir=$ZSH_CUSTOM
|
||||||
|
if [[ -h $custom_dir ]]; then
|
||||||
|
custom_dir=$(cd $custom_dir && pwd -P)
|
||||||
|
fi
|
||||||
|
builtin echo "oh-my-zsh custom dir:"
|
||||||
|
builtin echo " $ZSH_CUSTOM ($custom_dir)"
|
||||||
|
(cd ${custom_dir:h} && command find ${custom_dir:t} -name .git -prune -o -print)
|
||||||
|
builtin echo
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Key binding and terminal info
|
||||||
|
if [[ $verbose -ge 1 ]]; then
|
||||||
|
builtin echo "bindkey:"
|
||||||
|
builtin bindkey
|
||||||
|
builtin echo
|
||||||
|
builtin echo "infocmp:"
|
||||||
|
command infocmp -L
|
||||||
|
builtin echo
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Configuration file info
|
||||||
|
local zdotdir=${ZDOTDIR:-$HOME}
|
||||||
|
builtin echo "Zsh configuration files:"
|
||||||
|
local cfgfile cfgfiles
|
||||||
|
# Some files for bash that zsh does not use are intentionally included
|
||||||
|
# to help with diagnosing behavior differences between bash and zsh
|
||||||
|
cfgfiles=( /etc/zshenv /etc/zprofile /etc/zshrc /etc/zlogin /etc/zlogout
|
||||||
|
$zdotdir/.zshenv $zdotdir/.zprofile $zdotdir/.zshrc $zdotdir/.zlogin $zdotdir/.zlogout
|
||||||
|
~/.zsh.pre-oh-my-zsh
|
||||||
|
/etc/bashrc /etc/profile ~/.bashrc ~/.profile ~/.bash_profile ~/.bash_logout )
|
||||||
|
command ls -lad $cfgfiles 2>&1
|
||||||
|
builtin echo
|
||||||
|
if [[ $verbose -ge 1 ]]; then
|
||||||
|
for cfgfile in $cfgfiles; do
|
||||||
|
_omz_diag_dump_echo_file_w_header $cfgfile
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
builtin echo
|
||||||
|
builtin echo "Zsh compdump files:"
|
||||||
|
local dumpfile dumpfiles
|
||||||
|
command ls -lad $zdotdir/.zcompdump*
|
||||||
|
dumpfiles=( $zdotdir/.zcompdump*(N) )
|
||||||
|
if [[ $verbose -ge 2 ]]; then
|
||||||
|
for dumpfile in $dumpfiles; do
|
||||||
|
_omz_diag_dump_echo_file_w_header $dumpfile
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function _omz_diag_dump_check_core_commands() {
|
||||||
|
builtin echo "Core command check:"
|
||||||
|
local redefined name builtins externals reserved_words
|
||||||
|
redefined=()
|
||||||
|
# All the zsh non-module builtin commands
|
||||||
|
# These are taken from the zsh reference manual for 5.0.2
|
||||||
|
# Commands from modules should not be included.
|
||||||
|
# (For back-compatibility, if any of these are newish, they should be removed,
|
||||||
|
# or at least made conditional on the version of the current running zsh.)
|
||||||
|
# "history" is also excluded because OMZ is known to redefine that
|
||||||
|
reserved_words=( do done esac then elif else fi for case if while function
|
||||||
|
repeat time until select coproc nocorrect foreach end '!' '[[' '{' '}'
|
||||||
|
)
|
||||||
|
builtins=( alias autoload bg bindkey break builtin bye cd chdir command
|
||||||
|
comparguments compcall compctl compdescribe compfiles compgroups compquote comptags
|
||||||
|
comptry compvalues continue dirs disable disown echo echotc echoti emulate
|
||||||
|
enable eval exec exit false fc fg functions getln getopts hash
|
||||||
|
jobs kill let limit log logout noglob popd print printf
|
||||||
|
pushd pushln pwd r read rehash return sched set setopt shift
|
||||||
|
source suspend test times trap true ttyctl type ulimit umask unalias
|
||||||
|
unfunction unhash unlimit unset unsetopt vared wait whence where which zcompile
|
||||||
|
zle zmodload zparseopts zregexparse zstyle )
|
||||||
|
if is-at-least 5.1; then
|
||||||
|
reserved_word+=( declare export integer float local readonly typeset )
|
||||||
|
else
|
||||||
|
builtins+=( declare export integer float local readonly typeset )
|
||||||
|
fi
|
||||||
|
builtins_fatal=( builtin command local )
|
||||||
|
externals=( zsh )
|
||||||
|
for name in $reserved_words; do
|
||||||
|
if [[ $(builtin whence -w $name) != "$name: reserved" ]]; then
|
||||||
|
builtin echo "reserved word '$name' has been redefined"
|
||||||
|
builtin which $name
|
||||||
|
redefined+=$name
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
for name in $builtins; do
|
||||||
|
if [[ $(builtin whence -w $name) != "$name: builtin" ]]; then
|
||||||
|
builtin echo "builtin '$name' has been redefined"
|
||||||
|
builtin which $name
|
||||||
|
redefined+=$name
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
for name in $externals; do
|
||||||
|
if [[ $(builtin whence -w $name) != "$name: command" ]]; then
|
||||||
|
builtin echo "command '$name' has been redefined"
|
||||||
|
builtin which $name
|
||||||
|
redefined+=$name
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ -n "$redefined" ]]; then
|
||||||
|
builtin echo "SOME CORE COMMANDS HAVE BEEN REDEFINED: $redefined"
|
||||||
|
else
|
||||||
|
builtin echo "All core commands are defined normally"
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function _omz_diag_dump_echo_file_w_header() {
|
||||||
|
local file=$1
|
||||||
|
if [[ ( -f $file || -h $file ) ]]; then
|
||||||
|
builtin echo "========== $file =========="
|
||||||
|
if [[ -h $file ]]; then
|
||||||
|
builtin echo "========== ( => ${file:A} ) =========="
|
||||||
|
fi
|
||||||
|
command cat $file
|
||||||
|
builtin echo "========== end $file =========="
|
||||||
|
builtin echo
|
||||||
|
elif [[ -d $file ]]; then
|
||||||
|
builtin echo "File '$file' is a directory"
|
||||||
|
elif [[ ! -e $file ]]; then
|
||||||
|
builtin echo "File '$file' does not exist"
|
||||||
|
else
|
||||||
|
command ls -lad "$file"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function _omz_diag_dump_os_specific_version() {
|
||||||
|
local osname osver version_file version_files
|
||||||
|
case "$OSTYPE" in
|
||||||
|
darwin*)
|
||||||
|
osname=$(command sw_vers -productName)
|
||||||
|
osver=$(command sw_vers -productVersion)
|
||||||
|
builtin echo "OS Version: $osname $osver build $(sw_vers -buildVersion)"
|
||||||
|
;;
|
||||||
|
cygwin)
|
||||||
|
command systeminfo | command head -4 | command tail -2
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if builtin which lsb_release >/dev/null; then
|
||||||
|
builtin echo "OS Release: $(command lsb_release -s -d)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
version_files=( /etc/*-release(N) /etc/*-version(N) /etc/*_version(N) )
|
||||||
|
for version_file in $version_files; do
|
||||||
|
builtin echo "$version_file:"
|
||||||
|
command cat "$version_file"
|
||||||
|
builtin echo
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
34
.oh-my-zsh/lib/directories.zsh
Executable file
34
.oh-my-zsh/lib/directories.zsh
Executable file
@@ -0,0 +1,34 @@
|
|||||||
|
# Changing/making/removing directory
|
||||||
|
setopt auto_pushd
|
||||||
|
setopt pushd_ignore_dups
|
||||||
|
setopt pushdminus
|
||||||
|
|
||||||
|
alias -g ...='../..'
|
||||||
|
alias -g ....='../../..'
|
||||||
|
alias -g .....='../../../..'
|
||||||
|
alias -g ......='../../../../..'
|
||||||
|
|
||||||
|
alias -- -='cd -'
|
||||||
|
alias 1='cd -'
|
||||||
|
alias 2='cd -2'
|
||||||
|
alias 3='cd -3'
|
||||||
|
alias 4='cd -4'
|
||||||
|
alias 5='cd -5'
|
||||||
|
alias 6='cd -6'
|
||||||
|
alias 7='cd -7'
|
||||||
|
alias 8='cd -8'
|
||||||
|
alias 9='cd -9'
|
||||||
|
|
||||||
|
alias md='mkdir -p'
|
||||||
|
alias rd=rmdir
|
||||||
|
alias d='dirs -v | head -10'
|
||||||
|
|
||||||
|
# List directory contents
|
||||||
|
alias lsa='ls -lah'
|
||||||
|
alias l='ls -lah'
|
||||||
|
alias ll='ls -lh'
|
||||||
|
alias la='ls -lAh'
|
||||||
|
|
||||||
|
# Push and pop directories on directory stack
|
||||||
|
alias pu='pushd'
|
||||||
|
alias po='popd'
|
||||||
231
.oh-my-zsh/lib/functions.zsh
Executable file
231
.oh-my-zsh/lib/functions.zsh
Executable file
@@ -0,0 +1,231 @@
|
|||||||
|
function zsh_stats() {
|
||||||
|
fc -l 1 | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n20
|
||||||
|
}
|
||||||
|
|
||||||
|
function uninstall_oh_my_zsh() {
|
||||||
|
env ZSH=$ZSH sh $ZSH/tools/uninstall.sh
|
||||||
|
}
|
||||||
|
|
||||||
|
function upgrade_oh_my_zsh() {
|
||||||
|
env ZSH=$ZSH sh $ZSH/tools/upgrade.sh
|
||||||
|
}
|
||||||
|
|
||||||
|
function take() {
|
||||||
|
mkdir -p $1
|
||||||
|
cd $1
|
||||||
|
}
|
||||||
|
|
||||||
|
function open_command() {
|
||||||
|
emulate -L zsh
|
||||||
|
setopt shwordsplit
|
||||||
|
|
||||||
|
local open_cmd
|
||||||
|
|
||||||
|
# define the open command
|
||||||
|
case "$OSTYPE" in
|
||||||
|
darwin*) open_cmd='open' ;;
|
||||||
|
cygwin*) open_cmd='cygstart' ;;
|
||||||
|
linux*) open_cmd='xdg-open' ;;
|
||||||
|
msys*) open_cmd='start ""' ;;
|
||||||
|
*) echo "Platform $OSTYPE not supported"
|
||||||
|
return 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# don't use nohup on OSX
|
||||||
|
if [[ "$OSTYPE" == darwin* ]]; then
|
||||||
|
$open_cmd "$@" &>/dev/null
|
||||||
|
else
|
||||||
|
nohup $open_cmd "$@" &>/dev/null
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Get the value of an alias.
|
||||||
|
#
|
||||||
|
# Arguments:
|
||||||
|
# 1. alias - The alias to get its value from
|
||||||
|
# STDOUT:
|
||||||
|
# The value of alias $1 (if it has one).
|
||||||
|
# Return value:
|
||||||
|
# 0 if the alias was found,
|
||||||
|
# 1 if it does not exist
|
||||||
|
#
|
||||||
|
function alias_value() {
|
||||||
|
alias "$1" | sed "s/^$1='\(.*\)'$/\1/"
|
||||||
|
test $(alias "$1")
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Try to get the value of an alias,
|
||||||
|
# otherwise return the input.
|
||||||
|
#
|
||||||
|
# Arguments:
|
||||||
|
# 1. alias - The alias to get its value from
|
||||||
|
# STDOUT:
|
||||||
|
# The value of alias $1, or $1 if there is no alias $1.
|
||||||
|
# Return value:
|
||||||
|
# Always 0
|
||||||
|
#
|
||||||
|
function try_alias_value() {
|
||||||
|
alias_value "$1" || echo "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Set variable "$1" to default value "$2" if "$1" is not yet defined.
|
||||||
|
#
|
||||||
|
# Arguments:
|
||||||
|
# 1. name - The variable to set
|
||||||
|
# 2. val - The default value
|
||||||
|
# Return value:
|
||||||
|
# 0 if the variable exists, 3 if it was set
|
||||||
|
#
|
||||||
|
function default() {
|
||||||
|
test `typeset +m "$1"` && return 0
|
||||||
|
typeset -g "$1"="$2" && return 3
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Set enviroment variable "$1" to default value "$2" if "$1" is not yet defined.
|
||||||
|
#
|
||||||
|
# Arguments:
|
||||||
|
# 1. name - The env variable to set
|
||||||
|
# 2. val - The default value
|
||||||
|
# Return value:
|
||||||
|
# 0 if the env variable exists, 3 if it was set
|
||||||
|
#
|
||||||
|
function env_default() {
|
||||||
|
env | grep -q "^$1=" && return 0
|
||||||
|
export "$1=$2" && return 3
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Required for $langinfo
|
||||||
|
zmodload zsh/langinfo
|
||||||
|
|
||||||
|
# URL-encode a string
|
||||||
|
#
|
||||||
|
# Encodes a string using RFC 2396 URL-encoding (%-escaped).
|
||||||
|
# See: https://www.ietf.org/rfc/rfc2396.txt
|
||||||
|
#
|
||||||
|
# By default, reserved characters and unreserved "mark" characters are
|
||||||
|
# not escaped by this function. This allows the common usage of passing
|
||||||
|
# an entire URL in, and encoding just special characters in it, with
|
||||||
|
# the expectation that reserved and mark characters are used appropriately.
|
||||||
|
# The -r and -m options turn on escaping of the reserved and mark characters,
|
||||||
|
# respectively, which allows arbitrary strings to be fully escaped for
|
||||||
|
# embedding inside URLs, where reserved characters might be misinterpreted.
|
||||||
|
#
|
||||||
|
# Prints the encoded string on stdout.
|
||||||
|
# Returns nonzero if encoding failed.
|
||||||
|
#
|
||||||
|
# Usage:
|
||||||
|
# omz_urlencode [-r] [-m] [-P] <string>
|
||||||
|
#
|
||||||
|
# -r causes reserved characters (;/?:@&=+$,) to be escaped
|
||||||
|
#
|
||||||
|
# -m causes "mark" characters (_.!~*''()-) to be escaped
|
||||||
|
#
|
||||||
|
# -P causes spaces to be encoded as '%20' instead of '+'
|
||||||
|
function omz_urlencode() {
|
||||||
|
emulate -L zsh
|
||||||
|
zparseopts -D -E -a opts r m P
|
||||||
|
|
||||||
|
local in_str=$1
|
||||||
|
local url_str=""
|
||||||
|
local spaces_as_plus
|
||||||
|
if [[ -z $opts[(r)-P] ]]; then spaces_as_plus=1; fi
|
||||||
|
local str="$in_str"
|
||||||
|
|
||||||
|
# URLs must use UTF-8 encoding; convert str to UTF-8 if required
|
||||||
|
local encoding=$langinfo[CODESET]
|
||||||
|
local safe_encodings
|
||||||
|
safe_encodings=(UTF-8 utf8 US-ASCII)
|
||||||
|
if [[ -z ${safe_encodings[(r)$encoding]} ]]; then
|
||||||
|
str=$(echo -E "$str" | iconv -f $encoding -t UTF-8)
|
||||||
|
if [[ $? != 0 ]]; then
|
||||||
|
echo "Error converting string from $encoding to UTF-8" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Use LC_CTYPE=C to process text byte-by-byte
|
||||||
|
local i byte ord LC_ALL=C
|
||||||
|
export LC_ALL
|
||||||
|
local reserved=';/?:@&=+$,'
|
||||||
|
local mark='_.!~*''()-'
|
||||||
|
local dont_escape="[A-Za-z0-9"
|
||||||
|
if [[ -z $opts[(r)-r] ]]; then
|
||||||
|
dont_escape+=$reserved
|
||||||
|
fi
|
||||||
|
# $mark must be last because of the "-"
|
||||||
|
if [[ -z $opts[(r)-m] ]]; then
|
||||||
|
dont_escape+=$mark
|
||||||
|
fi
|
||||||
|
dont_escape+="]"
|
||||||
|
|
||||||
|
# Implemented to use a single printf call and avoid subshells in the loop,
|
||||||
|
# for performance (primarily on Windows).
|
||||||
|
local url_str=""
|
||||||
|
for (( i = 1; i <= ${#str}; ++i )); do
|
||||||
|
byte="$str[i]"
|
||||||
|
if [[ "$byte" =~ "$dont_escape" ]]; then
|
||||||
|
url_str+="$byte"
|
||||||
|
else
|
||||||
|
if [[ "$byte" == " " && -n $spaces_as_plus ]]; then
|
||||||
|
url_str+="+"
|
||||||
|
else
|
||||||
|
ord=$(( [##16] #byte ))
|
||||||
|
url_str+="%$ord"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo -E "$url_str"
|
||||||
|
}
|
||||||
|
|
||||||
|
# URL-decode a string
|
||||||
|
#
|
||||||
|
# Decodes a RFC 2396 URL-encoded (%-escaped) string.
|
||||||
|
# This decodes the '+' and '%' escapes in the input string, and leaves
|
||||||
|
# other characters unchanged. Does not enforce that the input is a
|
||||||
|
# valid URL-encoded string. This is a convenience to allow callers to
|
||||||
|
# pass in a full URL or similar strings and decode them for human
|
||||||
|
# presentation.
|
||||||
|
#
|
||||||
|
# Outputs the encoded string on stdout.
|
||||||
|
# Returns nonzero if encoding failed.
|
||||||
|
#
|
||||||
|
# Usage:
|
||||||
|
# omz_urldecode <urlstring> - prints decoded string followed by a newline
|
||||||
|
function omz_urldecode {
|
||||||
|
emulate -L zsh
|
||||||
|
local encoded_url=$1
|
||||||
|
|
||||||
|
# Work bytewise, since URLs escape UTF-8 octets
|
||||||
|
local caller_encoding=$langinfo[CODESET]
|
||||||
|
local LC_ALL=C
|
||||||
|
export LC_ALL
|
||||||
|
|
||||||
|
# Change + back to ' '
|
||||||
|
local tmp=${encoded_url:gs/+/ /}
|
||||||
|
# Protect other escapes to pass through the printf unchanged
|
||||||
|
tmp=${tmp:gs/\\/\\\\/}
|
||||||
|
# Handle %-escapes by turning them into `\xXX` printf escapes
|
||||||
|
tmp=${tmp:gs/%/\\x/}
|
||||||
|
local decoded
|
||||||
|
eval "decoded=\$'$tmp'"
|
||||||
|
|
||||||
|
# Now we have a UTF-8 encoded string in the variable. We need to re-encode
|
||||||
|
# it if caller is in a non-UTF-8 locale.
|
||||||
|
local safe_encodings
|
||||||
|
safe_encodings=(UTF-8 utf8 US-ASCII)
|
||||||
|
if [[ -z ${safe_encodings[(r)$caller_encoding]} ]]; then
|
||||||
|
decoded=$(echo -E "$decoded" | iconv -f UTF-8 -t $caller_encoding)
|
||||||
|
if [[ $? != 0 ]]; then
|
||||||
|
echo "Error converting string from UTF-8 to $caller_encoding" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -E "$decoded"
|
||||||
|
}
|
||||||
217
.oh-my-zsh/lib/git.zsh
Executable file
217
.oh-my-zsh/lib/git.zsh
Executable file
@@ -0,0 +1,217 @@
|
|||||||
|
# Outputs current branch info in prompt format
|
||||||
|
function git_prompt_info() {
|
||||||
|
local ref
|
||||||
|
if [[ "$(command git config --get oh-my-zsh.hide-status 2>/dev/null)" != "1" ]]; then
|
||||||
|
ref=$(command git symbolic-ref HEAD 2> /dev/null) || \
|
||||||
|
ref=$(command git rev-parse --short HEAD 2> /dev/null) || return 0
|
||||||
|
echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Checks if working tree is dirty
|
||||||
|
function parse_git_dirty() {
|
||||||
|
local STATUS=''
|
||||||
|
local FLAGS
|
||||||
|
FLAGS=('--porcelain')
|
||||||
|
if [[ "$(command git config --get oh-my-zsh.hide-dirty)" != "1" ]]; then
|
||||||
|
if [[ $POST_1_7_2_GIT -gt 0 ]]; then
|
||||||
|
FLAGS+='--ignore-submodules=dirty'
|
||||||
|
fi
|
||||||
|
if [[ "$DISABLE_UNTRACKED_FILES_DIRTY" == "true" ]]; then
|
||||||
|
FLAGS+='--untracked-files=no'
|
||||||
|
fi
|
||||||
|
STATUS=$(command git status ${FLAGS} 2> /dev/null | tail -n1)
|
||||||
|
fi
|
||||||
|
if [[ -n $STATUS ]]; then
|
||||||
|
echo "$ZSH_THEME_GIT_PROMPT_DIRTY"
|
||||||
|
else
|
||||||
|
echo "$ZSH_THEME_GIT_PROMPT_CLEAN"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Gets the difference between the local and remote branches
|
||||||
|
function git_remote_status() {
|
||||||
|
local remote ahead behind git_remote_status git_remote_status_detailed
|
||||||
|
remote=${$(command git rev-parse --verify ${hook_com[branch]}@{upstream} --symbolic-full-name 2>/dev/null)/refs\/remotes\/}
|
||||||
|
if [[ -n ${remote} ]]; then
|
||||||
|
ahead=$(command git rev-list ${hook_com[branch]}@{upstream}..HEAD 2>/dev/null | wc -l)
|
||||||
|
behind=$(command git rev-list HEAD..${hook_com[branch]}@{upstream} 2>/dev/null | wc -l)
|
||||||
|
|
||||||
|
if [[ $ahead -eq 0 ]] && [[ $behind -eq 0 ]]; then
|
||||||
|
git_remote_status="$ZSH_THEME_GIT_PROMPT_EQUAL_REMOTE"
|
||||||
|
elif [[ $ahead -gt 0 ]] && [[ $behind -eq 0 ]]; then
|
||||||
|
git_remote_status="$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE"
|
||||||
|
git_remote_status_detailed="$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE_COLOR$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE$((ahead))%{$reset_color%}"
|
||||||
|
elif [[ $behind -gt 0 ]] && [[ $ahead -eq 0 ]]; then
|
||||||
|
git_remote_status="$ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE"
|
||||||
|
git_remote_status_detailed="$ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE_COLOR$ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE$((behind))%{$reset_color%}"
|
||||||
|
elif [[ $ahead -gt 0 ]] && [[ $behind -gt 0 ]]; then
|
||||||
|
git_remote_status="$ZSH_THEME_GIT_PROMPT_DIVERGED_REMOTE"
|
||||||
|
git_remote_status_detailed="$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE_COLOR$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE$((ahead))%{$reset_color%}$ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE_COLOR$ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE$((behind))%{$reset_color%}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n $ZSH_THEME_GIT_PROMPT_REMOTE_STATUS_DETAILED ]]; then
|
||||||
|
git_remote_status="$ZSH_THEME_GIT_PROMPT_REMOTE_STATUS_PREFIX$remote$git_remote_status_detailed$ZSH_THEME_GIT_PROMPT_REMOTE_STATUS_SUFFIX"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo $git_remote_status
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Outputs the name of the current branch
|
||||||
|
# Usage example: git pull origin $(git_current_branch)
|
||||||
|
# Using '--quiet' with 'symbolic-ref' will not cause a fatal error (128) if
|
||||||
|
# it's not a symbolic ref, but in a Git repo.
|
||||||
|
function git_current_branch() {
|
||||||
|
local ref
|
||||||
|
ref=$(command git symbolic-ref --quiet HEAD 2> /dev/null)
|
||||||
|
local ret=$?
|
||||||
|
if [[ $ret != 0 ]]; then
|
||||||
|
[[ $ret == 128 ]] && return # no git repo.
|
||||||
|
ref=$(command git rev-parse --short HEAD 2> /dev/null) || return
|
||||||
|
fi
|
||||||
|
echo ${ref#refs/heads/}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Gets the number of commits ahead from remote
|
||||||
|
function git_commits_ahead() {
|
||||||
|
if command git rev-parse --git-dir &>/dev/null; then
|
||||||
|
local commits="$(git rev-list --count @{upstream}..HEAD)"
|
||||||
|
if [[ "$commits" != 0 ]]; then
|
||||||
|
echo "$ZSH_THEME_GIT_COMMITS_AHEAD_PREFIX$commits$ZSH_THEME_GIT_COMMITS_AHEAD_SUFFIX"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Gets the number of commits behind remote
|
||||||
|
function git_commits_behind() {
|
||||||
|
if command git rev-parse --git-dir &>/dev/null; then
|
||||||
|
local commits="$(git rev-list --count HEAD..@{upstream})"
|
||||||
|
if [[ "$commits" != 0 ]]; then
|
||||||
|
echo "$ZSH_THEME_GIT_COMMITS_BEHIND_PREFIX$commits$ZSH_THEME_GIT_COMMITS_BEHIND_SUFFIX"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Outputs if current branch is ahead of remote
|
||||||
|
function git_prompt_ahead() {
|
||||||
|
if [[ -n "$(command git rev-list origin/$(git_current_branch)..HEAD 2> /dev/null)" ]]; then
|
||||||
|
echo "$ZSH_THEME_GIT_PROMPT_AHEAD"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Outputs if current branch is behind remote
|
||||||
|
function git_prompt_behind() {
|
||||||
|
if [[ -n "$(command git rev-list HEAD..origin/$(git_current_branch) 2> /dev/null)" ]]; then
|
||||||
|
echo "$ZSH_THEME_GIT_PROMPT_BEHIND"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Outputs if current branch exists on remote or not
|
||||||
|
function git_prompt_remote() {
|
||||||
|
if [[ -n "$(command git show-ref origin/$(git_current_branch) 2> /dev/null)" ]]; then
|
||||||
|
echo "$ZSH_THEME_GIT_PROMPT_REMOTE_EXISTS"
|
||||||
|
else
|
||||||
|
echo "$ZSH_THEME_GIT_PROMPT_REMOTE_MISSING"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Formats prompt string for current git commit short SHA
|
||||||
|
function git_prompt_short_sha() {
|
||||||
|
local SHA
|
||||||
|
SHA=$(command git rev-parse --short HEAD 2> /dev/null) && echo "$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Formats prompt string for current git commit long SHA
|
||||||
|
function git_prompt_long_sha() {
|
||||||
|
local SHA
|
||||||
|
SHA=$(command git rev-parse HEAD 2> /dev/null) && echo "$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get the status of the working tree
|
||||||
|
function git_prompt_status() {
|
||||||
|
local INDEX STATUS
|
||||||
|
INDEX=$(command git status --porcelain -b 2> /dev/null)
|
||||||
|
STATUS=""
|
||||||
|
if $(echo "$INDEX" | command grep -E '^\?\? ' &> /dev/null); then
|
||||||
|
STATUS="$ZSH_THEME_GIT_PROMPT_UNTRACKED$STATUS"
|
||||||
|
fi
|
||||||
|
if $(echo "$INDEX" | grep '^A ' &> /dev/null); then
|
||||||
|
STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
|
||||||
|
elif $(echo "$INDEX" | grep '^M ' &> /dev/null); then
|
||||||
|
STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
|
||||||
|
fi
|
||||||
|
if $(echo "$INDEX" | grep '^ M ' &> /dev/null); then
|
||||||
|
STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
|
||||||
|
elif $(echo "$INDEX" | grep '^AM ' &> /dev/null); then
|
||||||
|
STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
|
||||||
|
elif $(echo "$INDEX" | grep '^ T ' &> /dev/null); then
|
||||||
|
STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
|
||||||
|
fi
|
||||||
|
if $(echo "$INDEX" | grep '^R ' &> /dev/null); then
|
||||||
|
STATUS="$ZSH_THEME_GIT_PROMPT_RENAMED$STATUS"
|
||||||
|
fi
|
||||||
|
if $(echo "$INDEX" | grep '^ D ' &> /dev/null); then
|
||||||
|
STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$STATUS"
|
||||||
|
elif $(echo "$INDEX" | grep '^D ' &> /dev/null); then
|
||||||
|
STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$STATUS"
|
||||||
|
elif $(echo "$INDEX" | grep '^AD ' &> /dev/null); then
|
||||||
|
STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$STATUS"
|
||||||
|
fi
|
||||||
|
if $(command git rev-parse --verify refs/stash >/dev/null 2>&1); then
|
||||||
|
STATUS="$ZSH_THEME_GIT_PROMPT_STASHED$STATUS"
|
||||||
|
fi
|
||||||
|
if $(echo "$INDEX" | grep '^UU ' &> /dev/null); then
|
||||||
|
STATUS="$ZSH_THEME_GIT_PROMPT_UNMERGED$STATUS"
|
||||||
|
fi
|
||||||
|
if $(echo "$INDEX" | grep '^## [^ ]\+ .*ahead' &> /dev/null); then
|
||||||
|
STATUS="$ZSH_THEME_GIT_PROMPT_AHEAD$STATUS"
|
||||||
|
fi
|
||||||
|
if $(echo "$INDEX" | grep '^## [^ ]\+ .*behind' &> /dev/null); then
|
||||||
|
STATUS="$ZSH_THEME_GIT_PROMPT_BEHIND$STATUS"
|
||||||
|
fi
|
||||||
|
if $(echo "$INDEX" | grep '^## [^ ]\+ .*diverged' &> /dev/null); then
|
||||||
|
STATUS="$ZSH_THEME_GIT_PROMPT_DIVERGED$STATUS"
|
||||||
|
fi
|
||||||
|
echo $STATUS
|
||||||
|
}
|
||||||
|
|
||||||
|
# Compares the provided version of git to the version installed and on path
|
||||||
|
# Outputs -1, 0, or 1 if the installed version is less than, equal to, or
|
||||||
|
# greater than the input version, respectively.
|
||||||
|
function git_compare_version() {
|
||||||
|
local INPUT_GIT_VERSION INSTALLED_GIT_VERSION
|
||||||
|
INPUT_GIT_VERSION=(${(s/./)1})
|
||||||
|
INSTALLED_GIT_VERSION=($(command git --version 2>/dev/null))
|
||||||
|
INSTALLED_GIT_VERSION=(${(s/./)INSTALLED_GIT_VERSION[3]})
|
||||||
|
|
||||||
|
for i in {1..3}; do
|
||||||
|
if [[ $INSTALLED_GIT_VERSION[$i] -gt $INPUT_GIT_VERSION[$i] ]]; then
|
||||||
|
echo 1
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
if [[ $INSTALLED_GIT_VERSION[$i] -lt $INPUT_GIT_VERSION[$i] ]]; then
|
||||||
|
echo -1
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# Outputs the name of the current user
|
||||||
|
# Usage example: $(git_current_user_name)
|
||||||
|
function git_current_user_name() {
|
||||||
|
command git config user.name 2>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
# Outputs the email of the current user
|
||||||
|
# Usage example: $(git_current_user_email)
|
||||||
|
function git_current_user_email() {
|
||||||
|
command git config user.email 2>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
# This is unlikely to change so make it all statically assigned
|
||||||
|
POST_1_7_2_GIT=$(git_compare_version "1.7.2")
|
||||||
|
# Clean up the namespace slightly by removing the checker function
|
||||||
|
unfunction git_compare_version
|
||||||
28
.oh-my-zsh/lib/grep.zsh
Executable file
28
.oh-my-zsh/lib/grep.zsh
Executable file
@@ -0,0 +1,28 @@
|
|||||||
|
# is x grep argument available?
|
||||||
|
grep-flag-available() {
|
||||||
|
echo | grep $1 "" >/dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
GREP_OPTIONS=""
|
||||||
|
|
||||||
|
# color grep results
|
||||||
|
if grep-flag-available --color=auto; then
|
||||||
|
GREP_OPTIONS+=" --color=auto"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ignore VCS folders (if the necessary grep flags are available)
|
||||||
|
VCS_FOLDERS="{.bzr,CVS,.git,.hg,.svn}"
|
||||||
|
|
||||||
|
if grep-flag-available --exclude-dir=.cvs; then
|
||||||
|
GREP_OPTIONS+=" --exclude-dir=$VCS_FOLDERS"
|
||||||
|
elif grep-flag-available --exclude=.cvs; then
|
||||||
|
GREP_OPTIONS+=" --exclude=$VCS_FOLDERS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# export grep settings
|
||||||
|
alias grep="grep $GREP_OPTIONS"
|
||||||
|
|
||||||
|
# clean up
|
||||||
|
unset GREP_OPTIONS
|
||||||
|
unset VCS_FOLDERS
|
||||||
|
unfunction grep-flag-available
|
||||||
24
.oh-my-zsh/lib/history.zsh
Executable file
24
.oh-my-zsh/lib/history.zsh
Executable file
@@ -0,0 +1,24 @@
|
|||||||
|
## Command history configuration
|
||||||
|
if [ -z "$HISTFILE" ]; then
|
||||||
|
HISTFILE=$HOME/.zsh_history
|
||||||
|
fi
|
||||||
|
|
||||||
|
HISTSIZE=10000
|
||||||
|
SAVEHIST=10000
|
||||||
|
|
||||||
|
# Show history
|
||||||
|
case $HIST_STAMPS in
|
||||||
|
"mm/dd/yyyy") alias history='fc -fl 1' ;;
|
||||||
|
"dd.mm.yyyy") alias history='fc -El 1' ;;
|
||||||
|
"yyyy-mm-dd") alias history='fc -il 1' ;;
|
||||||
|
*) alias history='fc -l 1' ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
setopt append_history
|
||||||
|
setopt extended_history
|
||||||
|
setopt hist_expire_dups_first
|
||||||
|
setopt hist_ignore_dups # ignore duplication command history list
|
||||||
|
setopt hist_ignore_space
|
||||||
|
setopt hist_verify
|
||||||
|
setopt inc_append_history
|
||||||
|
setopt share_history # share command history data
|
||||||
93
.oh-my-zsh/lib/key-bindings.zsh
Executable file
93
.oh-my-zsh/lib/key-bindings.zsh
Executable file
@@ -0,0 +1,93 @@
|
|||||||
|
# http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html
|
||||||
|
# http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Zle-Builtins
|
||||||
|
# http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Standard-Widgets
|
||||||
|
|
||||||
|
# Make sure that the terminal is in application mode when zle is active, since
|
||||||
|
# only then values from $terminfo are valid
|
||||||
|
if (( ${+terminfo[smkx]} )) && (( ${+terminfo[rmkx]} )); then
|
||||||
|
function zle-line-init() {
|
||||||
|
echoti smkx
|
||||||
|
}
|
||||||
|
function zle-line-finish() {
|
||||||
|
echoti rmkx
|
||||||
|
}
|
||||||
|
zle -N zle-line-init
|
||||||
|
zle -N zle-line-finish
|
||||||
|
fi
|
||||||
|
|
||||||
|
bindkey -e # Use emacs key bindings
|
||||||
|
|
||||||
|
bindkey '\ew' kill-region # [Esc-w] - Kill from the cursor to the mark
|
||||||
|
bindkey -s '\el' 'ls\n' # [Esc-l] - run command: ls
|
||||||
|
bindkey '^r' history-incremental-search-backward # [Ctrl-r] - Search backward incrementally for a specified string. The string may begin with ^ to anchor the search to the beginning of the line.
|
||||||
|
if [[ "${terminfo[kpp]}" != "" ]]; then
|
||||||
|
bindkey "${terminfo[kpp]}" up-line-or-history # [PageUp] - Up a line of history
|
||||||
|
fi
|
||||||
|
if [[ "${terminfo[knp]}" != "" ]]; then
|
||||||
|
bindkey "${terminfo[knp]}" down-line-or-history # [PageDown] - Down a line of history
|
||||||
|
fi
|
||||||
|
|
||||||
|
# start typing + [Up-Arrow] - fuzzy find history forward
|
||||||
|
if [[ "${terminfo[kcuu1]}" != "" ]]; then
|
||||||
|
autoload -U up-line-or-beginning-search
|
||||||
|
zle -N up-line-or-beginning-search
|
||||||
|
bindkey "${terminfo[kcuu1]}" up-line-or-beginning-search
|
||||||
|
fi
|
||||||
|
# start typing + [Down-Arrow] - fuzzy find history backward
|
||||||
|
if [[ "${terminfo[kcud1]}" != "" ]]; then
|
||||||
|
autoload -U down-line-or-beginning-search
|
||||||
|
zle -N down-line-or-beginning-search
|
||||||
|
bindkey "${terminfo[kcud1]}" down-line-or-beginning-search
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${terminfo[khome]}" != "" ]]; then
|
||||||
|
bindkey "${terminfo[khome]}" beginning-of-line # [Home] - Go to beginning of line
|
||||||
|
fi
|
||||||
|
if [[ "${terminfo[kend]}" != "" ]]; then
|
||||||
|
bindkey "${terminfo[kend]}" end-of-line # [End] - Go to end of line
|
||||||
|
fi
|
||||||
|
|
||||||
|
bindkey ' ' magic-space # [Space] - do history expansion
|
||||||
|
|
||||||
|
bindkey '^[[1;5C' forward-word # [Ctrl-RightArrow] - move forward one word
|
||||||
|
bindkey '^[[1;5D' backward-word # [Ctrl-LeftArrow] - move backward one word
|
||||||
|
|
||||||
|
if [[ "${terminfo[kcbt]}" != "" ]]; then
|
||||||
|
bindkey "${terminfo[kcbt]}" reverse-menu-complete # [Shift-Tab] - move through the completion menu backwards
|
||||||
|
fi
|
||||||
|
|
||||||
|
bindkey '^?' backward-delete-char # [Backspace] - delete backward
|
||||||
|
if [[ "${terminfo[kdch1]}" != "" ]]; then
|
||||||
|
bindkey "${terminfo[kdch1]}" delete-char # [Delete] - delete forward
|
||||||
|
else
|
||||||
|
bindkey "^[[3~" delete-char
|
||||||
|
bindkey "^[3;5~" delete-char
|
||||||
|
bindkey "\e[3~" delete-char
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Edit the current command line in $EDITOR
|
||||||
|
autoload -U edit-command-line
|
||||||
|
zle -N edit-command-line
|
||||||
|
bindkey '\C-x\C-e' edit-command-line
|
||||||
|
|
||||||
|
# file rename magick
|
||||||
|
bindkey "^[m" copy-prev-shell-word
|
||||||
|
|
||||||
|
# consider emacs keybindings:
|
||||||
|
|
||||||
|
#bindkey -e ## emacs key bindings
|
||||||
|
#
|
||||||
|
#bindkey '^[[A' up-line-or-search
|
||||||
|
#bindkey '^[[B' down-line-or-search
|
||||||
|
#bindkey '^[^[[C' emacs-forward-word
|
||||||
|
#bindkey '^[^[[D' emacs-backward-word
|
||||||
|
#
|
||||||
|
#bindkey -s '^X^Z' '%-^M'
|
||||||
|
#bindkey '^[e' expand-cmd-path
|
||||||
|
#bindkey '^[^I' reverse-menu-complete
|
||||||
|
#bindkey '^X^N' accept-and-infer-next-history
|
||||||
|
#bindkey '^W' kill-region
|
||||||
|
#bindkey '^I' complete-word
|
||||||
|
## Fix weird sequence that rxvt produces
|
||||||
|
#bindkey -s '^[[Z' '\t'
|
||||||
|
#
|
||||||
42
.oh-my-zsh/lib/misc.zsh
Executable file
42
.oh-my-zsh/lib/misc.zsh
Executable file
@@ -0,0 +1,42 @@
|
|||||||
|
## Load smart urls if available
|
||||||
|
# bracketed-paste-magic is known buggy in zsh 5.1.1 (only), so skip it there; see #4434
|
||||||
|
autoload -Uz is-at-least
|
||||||
|
if [[ $ZSH_VERSION != 5.1.1 ]]; then
|
||||||
|
for d in $fpath; do
|
||||||
|
if [[ -e "$d/url-quote-magic" ]]; then
|
||||||
|
if is-at-least 5.1; then
|
||||||
|
autoload -Uz bracketed-paste-magic
|
||||||
|
zle -N bracketed-paste bracketed-paste-magic
|
||||||
|
fi
|
||||||
|
autoload -Uz url-quote-magic
|
||||||
|
zle -N self-insert url-quote-magic
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
## jobs
|
||||||
|
setopt long_list_jobs
|
||||||
|
|
||||||
|
## pager
|
||||||
|
env_default PAGER 'less'
|
||||||
|
env_default LESS '-R'
|
||||||
|
|
||||||
|
## super user alias
|
||||||
|
alias _='sudo'
|
||||||
|
alias please='sudo'
|
||||||
|
|
||||||
|
## more intelligent acking for ubuntu users
|
||||||
|
if which ack-grep &> /dev/null; then
|
||||||
|
alias afind='ack-grep -il'
|
||||||
|
else
|
||||||
|
alias afind='ack -il'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# only define LC_CTYPE if undefined
|
||||||
|
if [[ -z "$LC_CTYPE" && -z "$LC_ALL" ]]; then
|
||||||
|
export LC_CTYPE=${LANG%%:*} # pick the first entry from LANG
|
||||||
|
fi
|
||||||
|
|
||||||
|
# recognize comments
|
||||||
|
setopt interactivecomments
|
||||||
9
.oh-my-zsh/lib/nvm.zsh
Executable file
9
.oh-my-zsh/lib/nvm.zsh
Executable file
@@ -0,0 +1,9 @@
|
|||||||
|
# get the node.js version
|
||||||
|
function nvm_prompt_info() {
|
||||||
|
[[ -f "$NVM_DIR/nvm.sh" ]] || return
|
||||||
|
local nvm_prompt
|
||||||
|
nvm_prompt=$(node -v 2>/dev/null)
|
||||||
|
[[ "${nvm_prompt}x" == "x" ]] && return
|
||||||
|
nvm_prompt=${nvm_prompt:1}
|
||||||
|
echo "${ZSH_THEME_NVM_PROMPT_PREFIX}${nvm_prompt}${ZSH_THEME_NVM_PROMPT_SUFFIX}"
|
||||||
|
}
|
||||||
33
.oh-my-zsh/lib/prompt_info_functions.zsh
Executable file
33
.oh-my-zsh/lib/prompt_info_functions.zsh
Executable file
@@ -0,0 +1,33 @@
|
|||||||
|
# *_prompt_info functions for usage in your prompt
|
||||||
|
#
|
||||||
|
# Plugin creators, please add your *_prompt_info function to the list
|
||||||
|
# of dummy implementations to help theme creators not receiving errors
|
||||||
|
# without the need of implementing conditional clauses.
|
||||||
|
#
|
||||||
|
# See also lib/bzr.zsh, lib/git.zsh and lib/nvm.zsh for
|
||||||
|
# git_prompt_info, bzr_prompt_info and nvm_prompt_info
|
||||||
|
|
||||||
|
# Dummy implementations that return false to prevent command_not_found
|
||||||
|
# errors with themes, that implement these functions
|
||||||
|
# Real implementations will be used when the respective plugins are loaded
|
||||||
|
function chruby_prompt_info hg_prompt_info pyenv_prompt_info \
|
||||||
|
rbenv_prompt_info svn_prompt_info vi_mode_prompt_info \
|
||||||
|
virtualenv_prompt_info {
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# oh-my-zsh supports an rvm prompt by default
|
||||||
|
# get the name of the rvm ruby version
|
||||||
|
function rvm_prompt_info() {
|
||||||
|
[ -f $HOME/.rvm/bin/rvm-prompt ] || return 1
|
||||||
|
local rvm_prompt
|
||||||
|
rvm_prompt=$($HOME/.rvm/bin/rvm-prompt ${=ZSH_THEME_RVM_PROMPT_OPTIONS} 2>/dev/null)
|
||||||
|
[[ "${rvm_prompt}x" == "x" ]] && return 1
|
||||||
|
echo "${ZSH_THEME_RVM_PROMPT_PREFIX:=(}${rvm_prompt}${ZSH_THEME_RVM_PROMPT_SUFFIX:=)}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# use this to enable users to see their ruby version, no matter which
|
||||||
|
# version management system they use
|
||||||
|
function ruby_prompt_info() {
|
||||||
|
echo $(rvm_prompt_info || rbenv_prompt_info || chruby_prompt_info)
|
||||||
|
}
|
||||||
37
.oh-my-zsh/lib/spectrum.zsh
Executable file
37
.oh-my-zsh/lib/spectrum.zsh
Executable file
@@ -0,0 +1,37 @@
|
|||||||
|
#! /bin/zsh
|
||||||
|
# A script to make using 256 colors in zsh less painful.
|
||||||
|
# P.C. Shyamshankar <sykora@lucentbeing.com>
|
||||||
|
# Copied from http://github.com/sykora/etc/blob/master/zsh/functions/spectrum/
|
||||||
|
|
||||||
|
typeset -AHg FX FG BG
|
||||||
|
|
||||||
|
FX=(
|
||||||
|
reset "%{[00m%}"
|
||||||
|
bold "%{[01m%}" no-bold "%{[22m%}"
|
||||||
|
italic "%{[03m%}" no-italic "%{[23m%}"
|
||||||
|
underline "%{[04m%}" no-underline "%{[24m%}"
|
||||||
|
blink "%{[05m%}" no-blink "%{[25m%}"
|
||||||
|
reverse "%{[07m%}" no-reverse "%{[27m%}"
|
||||||
|
)
|
||||||
|
|
||||||
|
for color in {000..255}; do
|
||||||
|
FG[$color]="%{[38;5;${color}m%}"
|
||||||
|
BG[$color]="%{[48;5;${color}m%}"
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
ZSH_SPECTRUM_TEXT=${ZSH_SPECTRUM_TEXT:-Arma virumque cano Troiae qui primus ab oris}
|
||||||
|
|
||||||
|
# Show all 256 colors with color number
|
||||||
|
function spectrum_ls() {
|
||||||
|
for code in {000..255}; do
|
||||||
|
print -P -- "$code: %{$FG[$code]%}$ZSH_SPECTRUM_TEXT%{$reset_color%}"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Show all 256 colors where the background is set to specific color
|
||||||
|
function spectrum_bls() {
|
||||||
|
for code in {000..255}; do
|
||||||
|
print -P -- "$code: %{$BG[$code]%}$ZSH_SPECTRUM_TEXT%{$reset_color%}"
|
||||||
|
done
|
||||||
|
}
|
||||||
105
.oh-my-zsh/lib/termsupport.zsh
Executable file
105
.oh-my-zsh/lib/termsupport.zsh
Executable file
@@ -0,0 +1,105 @@
|
|||||||
|
# Set terminal window and tab/icon title
|
||||||
|
#
|
||||||
|
# usage: title short_tab_title [long_window_title]
|
||||||
|
#
|
||||||
|
# See: http://www.faqs.org/docs/Linux-mini/Xterm-Title.html#ss3.1
|
||||||
|
# Fully supports screen, iterm, and probably most modern xterm and rxvt
|
||||||
|
# (In screen, only short_tab_title is used)
|
||||||
|
# Limited support for Apple Terminal (Terminal can't set window and tab separately)
|
||||||
|
function title {
|
||||||
|
emulate -L zsh
|
||||||
|
setopt prompt_subst
|
||||||
|
|
||||||
|
[[ "$EMACS" == *term* ]] && return
|
||||||
|
|
||||||
|
# if $2 is unset use $1 as default
|
||||||
|
# if it is set and empty, leave it as is
|
||||||
|
: ${2=$1}
|
||||||
|
|
||||||
|
case "$TERM" in
|
||||||
|
cygwin|xterm*|putty*|rxvt*|ansi)
|
||||||
|
print -Pn "\e]2;$2:q\a" # set window name
|
||||||
|
print -Pn "\e]1;$1:q\a" # set tab name
|
||||||
|
;;
|
||||||
|
screen*)
|
||||||
|
print -Pn "\ek$1:q\e\\" # set screen hardstatus
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
if [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then
|
||||||
|
print -Pn "\e]2;$2:q\a" # set window name
|
||||||
|
print -Pn "\e]1;$1:q\a" # set tab name
|
||||||
|
else
|
||||||
|
# Try to use terminfo to set the title
|
||||||
|
# If the feature is available set title
|
||||||
|
if [[ -n "$terminfo[fsl]" ]] && [[ -n "$terminfo[tsl]" ]]; then
|
||||||
|
echoti tsl
|
||||||
|
print -Pn "$1"
|
||||||
|
echoti fsl
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
ZSH_THEME_TERM_TAB_TITLE_IDLE="%15<..<%~%<<" #15 char left truncated PWD
|
||||||
|
ZSH_THEME_TERM_TITLE_IDLE="%n@%m: %~"
|
||||||
|
# Avoid duplication of directory in terminals with independent dir display
|
||||||
|
if [[ "$TERM_PROGRAM" == Apple_Terminal ]]; then
|
||||||
|
ZSH_THEME_TERM_TITLE_IDLE="%n@%m"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Runs before showing the prompt
|
||||||
|
function omz_termsupport_precmd {
|
||||||
|
emulate -L zsh
|
||||||
|
|
||||||
|
if [[ "$DISABLE_AUTO_TITLE" == true ]]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
title $ZSH_THEME_TERM_TAB_TITLE_IDLE $ZSH_THEME_TERM_TITLE_IDLE
|
||||||
|
}
|
||||||
|
|
||||||
|
# Runs before executing the command
|
||||||
|
function omz_termsupport_preexec {
|
||||||
|
emulate -L zsh
|
||||||
|
setopt extended_glob
|
||||||
|
|
||||||
|
if [[ "$DISABLE_AUTO_TITLE" == true ]]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# cmd name only, or if this is sudo or ssh, the next cmd
|
||||||
|
local CMD=${1[(wr)^(*=*|sudo|ssh|mosh|rake|-*)]:gs/%/%%}
|
||||||
|
local LINE="${2:gs/%/%%}"
|
||||||
|
|
||||||
|
title '$CMD' '%100>...>$LINE%<<'
|
||||||
|
}
|
||||||
|
|
||||||
|
precmd_functions+=(omz_termsupport_precmd)
|
||||||
|
preexec_functions+=(omz_termsupport_preexec)
|
||||||
|
|
||||||
|
|
||||||
|
# Keep Apple Terminal.app's current working directory updated
|
||||||
|
# Based on this answer: http://superuser.com/a/315029
|
||||||
|
# With extra fixes to handle multibyte chars and non-UTF-8 locales
|
||||||
|
|
||||||
|
if [[ "$TERM_PROGRAM" == "Apple_Terminal" ]] && [[ -z "$INSIDE_EMACS" ]]; then
|
||||||
|
# Emits the control sequence to notify Terminal.app of the cwd
|
||||||
|
# Identifies the directory using a file: URI scheme, including
|
||||||
|
# the host name to disambiguate local vs. remote paths.
|
||||||
|
function update_terminalapp_cwd() {
|
||||||
|
emulate -L zsh
|
||||||
|
|
||||||
|
# Percent-encode the pathname.
|
||||||
|
local URL_PATH="$(omz_urlencode -P $PWD)"
|
||||||
|
[[ $? != 0 ]] && return 1
|
||||||
|
|
||||||
|
# Undocumented Terminal.app-specific control sequence
|
||||||
|
printf '\e]7;%s\a' "file://$HOST$URL_PATH"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Use a precmd hook instead of a chpwd hook to avoid contaminating output
|
||||||
|
precmd_functions+=(update_terminalapp_cwd)
|
||||||
|
# Run once to get initial cwd set
|
||||||
|
update_terminalapp_cwd
|
||||||
|
fi
|
||||||
55
.oh-my-zsh/lib/theme-and-appearance.zsh
Executable file
55
.oh-my-zsh/lib/theme-and-appearance.zsh
Executable file
@@ -0,0 +1,55 @@
|
|||||||
|
# ls colors
|
||||||
|
autoload -U colors && colors
|
||||||
|
|
||||||
|
# Enable ls colors
|
||||||
|
export LSCOLORS="Gxfxcxdxbxegedabagacad"
|
||||||
|
|
||||||
|
# TODO organise this chaotic logic
|
||||||
|
|
||||||
|
if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
|
||||||
|
# Find the option for using colors in ls, depending on the version
|
||||||
|
if [[ "$OSTYPE" == netbsd* ]]; then
|
||||||
|
# On NetBSD, test if "gls" (GNU ls) is installed (this one supports colors);
|
||||||
|
# otherwise, leave ls as is, because NetBSD's ls doesn't support -G
|
||||||
|
gls --color -d . &>/dev/null && alias ls='gls --color=tty'
|
||||||
|
elif [[ "$OSTYPE" == openbsd* ]]; then
|
||||||
|
# On OpenBSD, "gls" (ls from GNU coreutils) and "colorls" (ls from base,
|
||||||
|
# with color and multibyte support) are available from ports. "colorls"
|
||||||
|
# will be installed on purpose and can't be pulled in by installing
|
||||||
|
# coreutils, so prefer it to "gls".
|
||||||
|
gls --color -d . &>/dev/null && alias ls='gls --color=tty'
|
||||||
|
colorls -G -d . &>/dev/null && alias ls='colorls -G'
|
||||||
|
elif [[ "$OSTYPE" == darwin* ]]; then
|
||||||
|
# this is a good alias, it works by default just using $LSCOLORS
|
||||||
|
ls -G . &>/dev/null && alias ls='ls -G'
|
||||||
|
|
||||||
|
# only use coreutils ls if there is a dircolors customization present ($LS_COLORS or .dircolors file)
|
||||||
|
# otherwise, gls will use the default color scheme which is ugly af
|
||||||
|
[[ -n "$LS_COLORS" || -f "$HOME/.dircolors" ]] && gls --color -d . &>/dev/null && alias ls='gls --color=tty'
|
||||||
|
else
|
||||||
|
# For GNU ls, we use the default ls color theme. They can later be overwritten by themes.
|
||||||
|
if [[ -z "$LS_COLORS" ]]; then
|
||||||
|
(( $+commands[dircolors] )) && eval "$(dircolors -b)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
ls --color -d . &>/dev/null && alias ls='ls --color=tty' || { ls -G . &>/dev/null && alias ls='ls -G' }
|
||||||
|
|
||||||
|
# Take advantage of $LS_COLORS for completion as well.
|
||||||
|
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
setopt auto_cd
|
||||||
|
setopt multios
|
||||||
|
setopt prompt_subst
|
||||||
|
|
||||||
|
[[ -n "$WINDOW" ]] && SCREEN_NO="%B$WINDOW%b " || SCREEN_NO=""
|
||||||
|
|
||||||
|
# Apply theming defaults
|
||||||
|
PS1="%n@%m:%~%# "
|
||||||
|
|
||||||
|
# git theming default: Variables for theming the git info prompt
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX="git:(" # Prefix at the very beginning of the prompt, before the branch name
|
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX=")" # At the very end of the prompt
|
||||||
|
ZSH_THEME_GIT_PROMPT_DIRTY="*" # Text to display if the branch is dirty
|
||||||
|
ZSH_THEME_GIT_PROMPT_CLEAN="" # Text to display if the branch is clean
|
||||||
113
.oh-my-zsh/oh-my-zsh.sh
Executable file
113
.oh-my-zsh/oh-my-zsh.sh
Executable file
@@ -0,0 +1,113 @@
|
|||||||
|
# Check for updates on initial load...
|
||||||
|
if [ "$DISABLE_AUTO_UPDATE" != "true" ]; then
|
||||||
|
env ZSH=$ZSH DISABLE_UPDATE_PROMPT=$DISABLE_UPDATE_PROMPT zsh -f $ZSH/tools/check_for_upgrade.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Initializes Oh My Zsh
|
||||||
|
|
||||||
|
# add a function path
|
||||||
|
fpath=($ZSH/functions $ZSH/completions $fpath)
|
||||||
|
|
||||||
|
# Load all stock functions (from $fpath files) called below.
|
||||||
|
autoload -U compaudit compinit
|
||||||
|
|
||||||
|
: ${ZSH_DISABLE_COMPFIX:=true}
|
||||||
|
|
||||||
|
# Set ZSH_CUSTOM to the path where your custom config files
|
||||||
|
# and plugins exists, or else we will use the default custom/
|
||||||
|
if [[ -z "$ZSH_CUSTOM" ]]; then
|
||||||
|
ZSH_CUSTOM="$ZSH/custom"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set ZSH_CACHE_DIR to the path where cache files should be created
|
||||||
|
# or else we will use the default cache/
|
||||||
|
if [[ -z "$ZSH_CACHE_DIR" ]]; then
|
||||||
|
ZSH_CACHE_DIR="$ZSH/cache"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Load all of the config files in ~/oh-my-zsh that end in .zsh
|
||||||
|
# TIP: Add files you don't want in git to .gitignore
|
||||||
|
for config_file ($ZSH/lib/*.zsh); do
|
||||||
|
custom_config_file="${ZSH_CUSTOM}/lib/${config_file:t}"
|
||||||
|
[ -f "${custom_config_file}" ] && config_file=${custom_config_file}
|
||||||
|
source $config_file
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
is_plugin() {
|
||||||
|
local base_dir=$1
|
||||||
|
local name=$2
|
||||||
|
test -f $base_dir/plugins/$name/$name.plugin.zsh \
|
||||||
|
|| test -f $base_dir/plugins/$name/_$name
|
||||||
|
}
|
||||||
|
# Add all defined plugins to fpath. This must be done
|
||||||
|
# before running compinit.
|
||||||
|
for plugin ($plugins); do
|
||||||
|
if is_plugin $ZSH_CUSTOM $plugin; then
|
||||||
|
fpath=($ZSH_CUSTOM/plugins/$plugin $fpath)
|
||||||
|
elif is_plugin $ZSH $plugin; then
|
||||||
|
fpath=($ZSH/plugins/$plugin $fpath)
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Figure out the SHORT hostname
|
||||||
|
if [[ "$OSTYPE" = darwin* ]]; then
|
||||||
|
# macOS's $HOST changes with dhcp, etc. Use ComputerName if possible.
|
||||||
|
SHORT_HOST=$(scutil --get ComputerName 2>/dev/null) || SHORT_HOST=${HOST/.*/}
|
||||||
|
else
|
||||||
|
SHORT_HOST=${HOST/.*/}
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Save the location of the current completion dump file.
|
||||||
|
if [ -z "$ZSH_COMPDUMP" ]; then
|
||||||
|
ZSH_COMPDUMP="${ZDOTDIR:-${HOME}}/.zcompdump-${SHORT_HOST}-${ZSH_VERSION}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $ZSH_DISABLE_COMPFIX != true ]]; then
|
||||||
|
# If completion insecurities exist, warn the user without enabling completions.
|
||||||
|
if ! compaudit &>/dev/null; then
|
||||||
|
# This function resides in the "lib/compfix.zsh" script sourced above.
|
||||||
|
handle_completion_insecurities
|
||||||
|
# Else, enable and cache completions to the desired file.
|
||||||
|
else
|
||||||
|
compinit -d "${ZSH_COMPDUMP}"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
compinit -i -d "${ZSH_COMPDUMP}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Load all of the plugins that were defined in ~/.zshrc
|
||||||
|
for plugin ($plugins); do
|
||||||
|
if [ -f $ZSH_CUSTOM/plugins/$plugin/$plugin.plugin.zsh ]; then
|
||||||
|
source $ZSH_CUSTOM/plugins/$plugin/$plugin.plugin.zsh
|
||||||
|
elif [ -f $ZSH/plugins/$plugin/$plugin.plugin.zsh ]; then
|
||||||
|
source $ZSH/plugins/$plugin/$plugin.plugin.zsh
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Load all of your custom configurations from custom/
|
||||||
|
for config_file ($ZSH_CUSTOM/*.zsh(N)); do
|
||||||
|
source $config_file
|
||||||
|
done
|
||||||
|
unset config_file
|
||||||
|
|
||||||
|
# Load the theme
|
||||||
|
if [ "$ZSH_THEME" = "random" ]; then
|
||||||
|
themes=($ZSH/themes/*zsh-theme)
|
||||||
|
N=${#themes[@]}
|
||||||
|
((N=(RANDOM%N)+1))
|
||||||
|
RANDOM_THEME=${themes[$N]}
|
||||||
|
source "$RANDOM_THEME"
|
||||||
|
echo "[oh-my-zsh] Random theme '$RANDOM_THEME' loaded..."
|
||||||
|
else
|
||||||
|
if [ ! "$ZSH_THEME" = "" ]; then
|
||||||
|
if [ -f "$ZSH_CUSTOM/$ZSH_THEME.zsh-theme" ]; then
|
||||||
|
source "$ZSH_CUSTOM/$ZSH_THEME.zsh-theme"
|
||||||
|
elif [ -f "$ZSH_CUSTOM/themes/$ZSH_THEME.zsh-theme" ]; then
|
||||||
|
source "$ZSH_CUSTOM/themes/$ZSH_THEME.zsh-theme"
|
||||||
|
else
|
||||||
|
source "$ZSH/themes/$ZSH_THEME.zsh-theme"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
8
.oh-my-zsh/plugins/adb/README.md
Executable file
8
.oh-my-zsh/plugins/adb/README.md
Executable file
@@ -0,0 +1,8 @@
|
|||||||
|
# adb autocomplete plugin
|
||||||
|
|
||||||
|
* Adds autocomplete options for all adb commands.
|
||||||
|
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
In order to make this work, you will need to have the Android adb tools set up in your path.
|
||||||
48
.oh-my-zsh/plugins/adb/_adb
Executable file
48
.oh-my-zsh/plugins/adb/_adb
Executable file
@@ -0,0 +1,48 @@
|
|||||||
|
#compdef adb
|
||||||
|
#autoload
|
||||||
|
|
||||||
|
# in order to make this work, you will need to have the android adb tools
|
||||||
|
|
||||||
|
# adb zsh completion, based on homebrew completion
|
||||||
|
|
||||||
|
local -a _1st_arguments
|
||||||
|
_1st_arguments=(
|
||||||
|
'bugreport:return all information from the device that should be included in a bug report.'
|
||||||
|
'connect:connect to a device via TCP/IP Port 5555 is default.'
|
||||||
|
'devices:list all connected devices'
|
||||||
|
'disconnect:disconnect from a TCP/IP device. Port 5555 is default.'
|
||||||
|
'emu:run emulator console command'
|
||||||
|
'forward:forward socket connections'
|
||||||
|
'help:show the help message'
|
||||||
|
'install:push this package file to the device and install it'
|
||||||
|
'jdwp:list PIDs of processes hosting a JDWP transport'
|
||||||
|
'kill-server:kill the server if it is running'
|
||||||
|
'logcat:view device log'
|
||||||
|
'pull:copy file/dir from device'
|
||||||
|
'push:copy file/dir to device'
|
||||||
|
'reboot:reboots the device, optionally into the bootloader or recovery program'
|
||||||
|
'reboot-bootloader:reboots the device into the bootloader'
|
||||||
|
'remount:remounts the partitions on the device read-write'
|
||||||
|
'root:restarts the adbd daemon with root permissions'
|
||||||
|
'sideload:push a ZIP to device and install it'
|
||||||
|
'shell:run remote shell interactively'
|
||||||
|
'sync:copy host->device only if changed (-l means list but dont copy)'
|
||||||
|
'start-server:ensure that there is a server running'
|
||||||
|
'tcpip:restart host adb in tcpip mode'
|
||||||
|
'uninstall:remove this app package from the device'
|
||||||
|
'version:show version num'
|
||||||
|
'wait-for-device:block until device is online'
|
||||||
|
)
|
||||||
|
|
||||||
|
local expl
|
||||||
|
local -a pkgs installed_pkgs
|
||||||
|
|
||||||
|
_arguments \
|
||||||
|
'*:: :->subcmds' && return 0
|
||||||
|
|
||||||
|
if (( CURRENT == 1 )); then
|
||||||
|
_describe -t commands "adb subcommand" _1st_arguments
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
_files
|
||||||
16
.oh-my-zsh/plugins/ant/ant.plugin.zsh
Executable file
16
.oh-my-zsh/plugins/ant/ant.plugin.zsh
Executable file
@@ -0,0 +1,16 @@
|
|||||||
|
_ant_does_target_list_need_generating () {
|
||||||
|
[ ! -f .ant_targets ] && return 0;
|
||||||
|
[ build.xml -nt .ant_targets ] && return 0;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
_ant () {
|
||||||
|
if [ -f build.xml ]; then
|
||||||
|
if _ant_does_target_list_need_generating; then
|
||||||
|
ant -p | awk -F " " 'NR > 5 { print lastTarget }{lastTarget = $1}' > .ant_targets
|
||||||
|
fi
|
||||||
|
compadd -- `cat .ant_targets`
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
compdef _ant ant
|
||||||
19
.oh-my-zsh/plugins/apache2-macports/README.md
Executable file
19
.oh-my-zsh/plugins/apache2-macports/README.md
Executable file
@@ -0,0 +1,19 @@
|
|||||||
|
## APACHE2 MACPORTS PLUGIN
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### FEATURES
|
||||||
|
|
||||||
|
| Alias | Function | Description |
|
||||||
|
|:--------------:|:-------------------------------------------------------------------------------|----------------------:|
|
||||||
|
| apache2restart | sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper restart | Restart apache daemon |
|
||||||
|
| apache2start | sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper start | Start apache daemon |
|
||||||
|
| apache2stop | sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper stop | Stop apache daemon |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### CONTRIBUTORS
|
||||||
|
- Alexander Rinass (alex@rinass.net)
|
||||||
|
|
||||||
|
---
|
||||||
6
.oh-my-zsh/plugins/apache2-macports/apache2-macports.plugin.zsh
Executable file
6
.oh-my-zsh/plugins/apache2-macports/apache2-macports.plugin.zsh
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
# commands to control local apache2 server installation
|
||||||
|
# paths are for osx installation via macports
|
||||||
|
|
||||||
|
alias apache2start='sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper start'
|
||||||
|
alias apache2stop='sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper stop'
|
||||||
|
alias apache2restart='sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper restart'
|
||||||
5
.oh-my-zsh/plugins/arcanist/README.md
Executable file
5
.oh-my-zsh/plugins/arcanist/README.md
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
## arcanist
|
||||||
|
|
||||||
|
**Maintainer:** [@emzar](https://github.com/emzar)
|
||||||
|
|
||||||
|
This plugin adds many useful aliases.
|
||||||
21
.oh-my-zsh/plugins/arcanist/arcanist.plugin.zsh
Executable file
21
.oh-my-zsh/plugins/arcanist/arcanist.plugin.zsh
Executable file
@@ -0,0 +1,21 @@
|
|||||||
|
#
|
||||||
|
# Aliases
|
||||||
|
# (sorted alphabetically)
|
||||||
|
#
|
||||||
|
|
||||||
|
alias ara='arc amend'
|
||||||
|
alias arb='arc branch'
|
||||||
|
alias arco='arc cover'
|
||||||
|
alias arci='arc commit'
|
||||||
|
|
||||||
|
alias ard='arc diff'
|
||||||
|
alias ardnu='arc diff --nounit'
|
||||||
|
alias ardnupc='arc diff --nounit --plan-changes'
|
||||||
|
alias ardpc='arc diff --plan-changes'
|
||||||
|
|
||||||
|
alias are='arc export'
|
||||||
|
alias arh='arc help'
|
||||||
|
alias arl='arc land'
|
||||||
|
alias arli='arc lint'
|
||||||
|
alias arls='arc list'
|
||||||
|
alias arpa='arc patch'
|
||||||
95
.oh-my-zsh/plugins/archlinux/README.md
Executable file
95
.oh-my-zsh/plugins/archlinux/README.md
Executable file
@@ -0,0 +1,95 @@
|
|||||||
|
# Archlinux plugin
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
#### YAOURT
|
||||||
|
|
||||||
|
| Alias | Command | Description |
|
||||||
|
|---------|------------------------------------|---------------------------------------------------------------------|
|
||||||
|
| yaconf | yaourt -C | Fix all configuration files with vimdiff |
|
||||||
|
| yain | yaourt -S | Install packages from the repositories |
|
||||||
|
| yains | yaourt -U | Install a package from a local file |
|
||||||
|
| yainsd | yaourt -S --asdeps | Install packages as dependencies of another package |
|
||||||
|
| yaloc | yaourt -Qi | Display information about a package in the local database |
|
||||||
|
| yalocs | yaourt -Qs | Search for packages in the local database |
|
||||||
|
| yalst | yaourt -Qe | List installed packages including from AUR (tagged as "local") |
|
||||||
|
| yamir | yaourt -Syy | Force refresh of all package lists after updating mirrorlist |
|
||||||
|
| yaorph | yaourt -Qtd | Remove orphans using yaourt |
|
||||||
|
| yare | yaourt -R | Remove packages, keeping its settings and dependencies |
|
||||||
|
| yarem | yaourt -Rns | Remove packages, including its settings and unneeded dependencies |
|
||||||
|
| yarep | yaourt -Si | Display information about a package in the repositories |
|
||||||
|
| yareps | yaourt -Ss | Search for packages in the repositories |
|
||||||
|
| yaupd | yaourt -Sy && sudo abs && sudo aur | Update and refresh local package, ABS and AUR databases |
|
||||||
|
| yaupd | yaourt -Sy && sudo abs | Update and refresh the local package and ABS databases |
|
||||||
|
| yaupd | yaourt -Sy && sudo aur | Update and refresh the local package and AUR databases |
|
||||||
|
| yaupd | yaourt -Sy | Update and refresh the local package database |
|
||||||
|
| yaupg | yaourt -Syua | Sync with repositories before upgrading all packages (from AUR too) |
|
||||||
|
| yasu | yaourt -Syua --no-confirm | Same as `yaupg`, but without confirmation |
|
||||||
|
| upgrade | yaourt -Syu | Sync with repositories before upgrading packages |
|
||||||
|
|
||||||
|
### PACAUR
|
||||||
|
|
||||||
|
| Alias | Command | Description |
|
||||||
|
|---------|------------------------------------|---------------------------------------------------------------------|
|
||||||
|
| pain | pacaur -S | Install packages from the repositories |
|
||||||
|
| pains | pacaur -U | Install a package from a local file |
|
||||||
|
| painsd | pacaur -S --asdeps | Install packages as dependencies of another package |
|
||||||
|
| paloc | pacaur -Qi | Display information about a package in the local database |
|
||||||
|
| palocs | pacaur -Qs | Search for packages in the local database |
|
||||||
|
| palst | pacaur -Qe | List installed packages including from AUR (tagged as "local") |
|
||||||
|
| pamir | pacaur -Syy | Force refresh of all package lists after updating mirrorlist |
|
||||||
|
| paorph | pacaur -Qtd | Remove orphans using pacaur |
|
||||||
|
| pare | pacaur -R | Remove packages, keeping its settings and dependencies |
|
||||||
|
| parem | pacaur -Rns | Remove packages, including its settings and unneeded dependencies |
|
||||||
|
| parep | pacaur -Si | Display information about a package in the repositories |
|
||||||
|
| pareps | pacaur -Ss | Search for packages in the repositories |
|
||||||
|
| paupd | pacaur -Sy && sudo abs && sudo aur | Update and refresh local package, ABS and AUR databases |
|
||||||
|
| paupd | pacaur -Sy && sudo abs | Update and refresh the local package and ABS databases |
|
||||||
|
| paupd | pacaur -Sy && sudo aur | Update and refresh the local package and AUR databases |
|
||||||
|
| paupd | pacaur -Sy | Update and refresh the local package database |
|
||||||
|
| paupg | pacaur -Syua | Sync with repositories before upgrading all packages (from AUR too) |
|
||||||
|
| pasu | pacaur -Syua --no-confirm | Same as `paupg`, but without confirmation |
|
||||||
|
| upgrade | pacaur -Syu | Sync with repositories before upgrading packages |
|
||||||
|
|
||||||
|
#### PACMAN
|
||||||
|
|
||||||
|
| Alias | Command | Description |
|
||||||
|
|--------------|-----------------------------------------|--------------------------------------------------------------|
|
||||||
|
| pacin | sudo pacman -S | Install packages from the repositories |
|
||||||
|
| pacins | sudo pacman -U | Install a package from a local file |
|
||||||
|
| pacinsd | sudo pacman -S --asdeps | Install packages as dependencies of another package |
|
||||||
|
| pacloc | pacman -Qi | Display information about a package in the local database |
|
||||||
|
| paclocs | pacman -Qs | Search for packages in the local database |
|
||||||
|
| paclsorphans | sudo pacman -Qdt | List all orphaned packages |
|
||||||
|
| pacmir | sudo pacman -Syy | Force refresh of all package lists after updating mirrorlist |
|
||||||
|
| pacre | sudo pacman -R | Remove packages, keeping its settings and dependencies |
|
||||||
|
| pacrem | sudo pacman -Rns | Remove packages, including its settings and dependencies |
|
||||||
|
| pacrep | pacman -Si | Display information about a package in the repositories |
|
||||||
|
| pacreps | pacman -Ss | Search for packages in the repositories |
|
||||||
|
| pacrmorphans | sudo pacman -Rs $(pacman -Qtdq) | Delete all orphaned packages |
|
||||||
|
| pacupd | sudo pacman -Sy && sudo abs && sudo aur | Update and refresh the local package, ABS and AUR databases |
|
||||||
|
| pacupd | sudo pacman -Sy && sudo abs | Update and refresh the local package and ABS databases |
|
||||||
|
| pacupd | sudo pacman -Sy && sudo aur | Update and refresh the local package and AUR databases |
|
||||||
|
| pacupd | sudo pacman -Sy | Update and refresh the local package database |
|
||||||
|
| pacupg | sudo pacman -Syu | Sync with repositories before upgrading packages |
|
||||||
|
| upgrade | sudo pacman -Syu | Sync with repositories before upgrading packages |
|
||||||
|
|
||||||
|
| Function | Description |
|
||||||
|
|----------------|------------------------------------------------------|
|
||||||
|
| pacdisowned | List all disowned files in your system |
|
||||||
|
| paclist | List all installed packages with a short description |
|
||||||
|
| pacmanallkeys | Get all keys for developers and trusted users |
|
||||||
|
| pacmansignkeys | Locally trust all keys passed as parameters |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Contributors
|
||||||
|
|
||||||
|
- Benjamin Boudreau - dreurmail@gmail.com
|
||||||
|
- Celso Miranda - contacto@celsomiranda.net
|
||||||
|
- KhasMek - Boushh@gmail.com
|
||||||
|
- Martin Putniorz - mputniorz@gmail.com
|
||||||
|
- MatthR3D - matthr3d@gmail.com
|
||||||
|
- ornicar - thibault.duplessis@gmail.com
|
||||||
|
- Juraj Fiala - doctorjellyface@riseup.net
|
||||||
|
- Majora320 (Moses Miller) - Majora320@gmail.com
|
||||||
136
.oh-my-zsh/plugins/archlinux/archlinux.plugin.zsh
Executable file
136
.oh-my-zsh/plugins/archlinux/archlinux.plugin.zsh
Executable file
@@ -0,0 +1,136 @@
|
|||||||
|
if (( $+commands[yaourt] )); then
|
||||||
|
alias yaconf='yaourt -C'
|
||||||
|
alias yaupg='yaourt -Syua'
|
||||||
|
alias yasu='yaourt -Syua --noconfirm'
|
||||||
|
alias yain='yaourt -S'
|
||||||
|
alias yains='yaourt -U'
|
||||||
|
alias yare='yaourt -R'
|
||||||
|
alias yarem='yaourt -Rns'
|
||||||
|
alias yarep='yaourt -Si'
|
||||||
|
alias yareps='yaourt -Ss'
|
||||||
|
alias yaloc='yaourt -Qi'
|
||||||
|
alias yalocs='yaourt -Qs'
|
||||||
|
alias yalst='yaourt -Qe'
|
||||||
|
alias yaorph='yaourt -Qtd'
|
||||||
|
alias yainsd='yaourt -S --asdeps'
|
||||||
|
alias yamir='yaourt -Syy'
|
||||||
|
|
||||||
|
|
||||||
|
if (( $+commands[abs] && $+commands[aur] )); then
|
||||||
|
alias yaupd='yaourt -Sy && sudo abs && sudo aur'
|
||||||
|
elif (( $+commands[abs] )); then
|
||||||
|
alias yaupd='yaourt -Sy && sudo abs'
|
||||||
|
elif (( $+commands[aur] )); then
|
||||||
|
alias yaupd='yaourt -Sy && sudo aur'
|
||||||
|
else
|
||||||
|
alias yaupd='yaourt -Sy'
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if (( $+commands[pacaur] )); then
|
||||||
|
alias paupg='pacaur -Syua'
|
||||||
|
alias pasu='pacaur -Syua --noconfirm'
|
||||||
|
alias pain='pacaur -S'
|
||||||
|
alias pains='pacaur -U'
|
||||||
|
alias pare='pacaur -R'
|
||||||
|
alias parem='pacaur -Rns'
|
||||||
|
alias parep='pacaur -Si'
|
||||||
|
alias pareps='pacaur -Ss'
|
||||||
|
alias paloc='pacaur -Qi'
|
||||||
|
alias palocs='pacaur -Qs'
|
||||||
|
alias palst='pacaur -Qe'
|
||||||
|
alias paorph='pacaur -Qtd'
|
||||||
|
alias painsd='pacaur -S --asdeps'
|
||||||
|
alias pamir='pacaur -Syy'
|
||||||
|
|
||||||
|
if (( $+commands[abs] && $+commands[aur] )); then
|
||||||
|
alias paupd='pacaur -Sy && sudo abs && sudo aur'
|
||||||
|
elif (( $+commands[abs] )); then
|
||||||
|
alias paupd='pacaur -Sy && sudo abs'
|
||||||
|
elif (( $+commands[aur] )); then
|
||||||
|
alias paupd='pacaur -Sy && sudo aur'
|
||||||
|
else
|
||||||
|
alias paupd='pacaur -Sy'
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if (( $+commands[pacaur] )); then
|
||||||
|
upgrade() {
|
||||||
|
pacaur -Syu
|
||||||
|
}
|
||||||
|
elif (( $+commands[yaourt] )); then
|
||||||
|
upgrade() {
|
||||||
|
yaourt -Syu
|
||||||
|
}
|
||||||
|
else
|
||||||
|
upgrade() {
|
||||||
|
sudo pacman -Syu
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Pacman - https://wiki.archlinux.org/index.php/Pacman_Tips
|
||||||
|
alias pacupg='sudo pacman -Syu'
|
||||||
|
alias pacin='sudo pacman -S'
|
||||||
|
alias pacins='sudo pacman -U'
|
||||||
|
alias pacre='sudo pacman -R'
|
||||||
|
alias pacrem='sudo pacman -Rns'
|
||||||
|
alias pacrep='pacman -Si'
|
||||||
|
alias pacreps='pacman -Ss'
|
||||||
|
alias pacloc='pacman -Qi'
|
||||||
|
alias paclocs='pacman -Qs'
|
||||||
|
alias pacinsd='sudo pacman -S --asdeps'
|
||||||
|
alias pacmir='sudo pacman -Syy'
|
||||||
|
alias paclsorphans='sudo pacman -Qdt'
|
||||||
|
alias pacrmorphans='sudo pacman -Rs $(pacman -Qtdq)'
|
||||||
|
|
||||||
|
|
||||||
|
if (( $+commands[abs] && $+commands[aur] )); then
|
||||||
|
alias pacupd='sudo pacman -Sy && sudo abs && sudo aur'
|
||||||
|
elif (( $+commands[abs] )); then
|
||||||
|
alias pacupd='sudo pacman -Sy && sudo abs'
|
||||||
|
elif (( $+commands[aur] )); then
|
||||||
|
alias pacupd='sudo pacman -Sy && sudo aur'
|
||||||
|
else
|
||||||
|
alias pacupd='sudo pacman -Sy'
|
||||||
|
fi
|
||||||
|
|
||||||
|
paclist() {
|
||||||
|
# Source: https://bbs.archlinux.org/viewtopic.php?id=93683
|
||||||
|
LC_ALL=C pacman -Qei $(pacman -Qu | cut -d " " -f 1) | \
|
||||||
|
awk 'BEGIN {FS=":"} /^Name/{printf("\033[1;36m%s\033[1;37m", $2)} /^Description/{print $2}'
|
||||||
|
}
|
||||||
|
|
||||||
|
pacdisowned() {
|
||||||
|
emulate -L zsh
|
||||||
|
|
||||||
|
tmp=${TMPDIR-/tmp}/pacman-disowned-$UID-$$
|
||||||
|
db=$tmp/db
|
||||||
|
fs=$tmp/fs
|
||||||
|
|
||||||
|
mkdir "$tmp"
|
||||||
|
trap 'rm -rf "$tmp"' EXIT
|
||||||
|
|
||||||
|
pacman -Qlq | sort -u > "$db"
|
||||||
|
|
||||||
|
find /bin /etc /lib /sbin /usr ! -name lost+found \
|
||||||
|
\( -type d -printf '%p/\n' -o -print \) | sort > "$fs"
|
||||||
|
|
||||||
|
comm -23 "$fs" "$db"
|
||||||
|
}
|
||||||
|
|
||||||
|
pacmanallkeys() {
|
||||||
|
emulate -L zsh
|
||||||
|
curl -s https://www.archlinux.org/people/{developers,trustedusers}/ | \
|
||||||
|
awk -F\" '(/pgp.mit.edu/) { sub(/.*search=0x/,""); print $1}' | \
|
||||||
|
xargs sudo pacman-key --recv-keys
|
||||||
|
}
|
||||||
|
|
||||||
|
pacmansignkeys() {
|
||||||
|
emulate -L zsh
|
||||||
|
for key in $*; do
|
||||||
|
sudo pacman-key --recv-keys $key
|
||||||
|
sudo pacman-key --lsign-key $key
|
||||||
|
printf 'trust\n3\n' | sudo gpg --homedir /etc/pacman.d/gnupg \
|
||||||
|
--no-permission-warning --command-fd 0 --edit-key $key
|
||||||
|
done
|
||||||
|
}
|
||||||
27
.oh-my-zsh/plugins/asdf/README.md
Executable file
27
.oh-my-zsh/plugins/asdf/README.md
Executable file
@@ -0,0 +1,27 @@
|
|||||||
|
## asdf
|
||||||
|
|
||||||
|
**Maintainer:** [@RobLoach](https://github.com/RobLoach)
|
||||||
|
|
||||||
|
Adds integration with [asdf](https://github.com/asdf-vm/asdf), the extendable version manager, with support for Ruby, Node.js, Elixir, Erlang and more.
|
||||||
|
|
||||||
|
### Installation
|
||||||
|
|
||||||
|
1. Enable the plugin by adding it to your `plugins` definition in `~/.zshrc`.
|
||||||
|
|
||||||
|
```
|
||||||
|
plugins=(asdf)
|
||||||
|
```
|
||||||
|
|
||||||
|
2. [Install asdf](https://github.com/asdf-vm/asdf#setup) by running the following:
|
||||||
|
```
|
||||||
|
git clone https://github.com/asdf-vm/asdf.git ~/.asdf
|
||||||
|
```
|
||||||
|
|
||||||
|
### Usage
|
||||||
|
|
||||||
|
See the [asdf usage documentation](https://github.com/asdf-vm/asdf#usage) for information on how to use asdf:
|
||||||
|
|
||||||
|
```
|
||||||
|
asdf plugin-add nodejs git@github.com:asdf-vm/asdf-nodejs.git
|
||||||
|
asdf install nodejs 5.9.1
|
||||||
|
```
|
||||||
7
.oh-my-zsh/plugins/asdf/asdf.plugin.zsh
Executable file
7
.oh-my-zsh/plugins/asdf/asdf.plugin.zsh
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
# Find where asdf should be installed.
|
||||||
|
ASDF_DIR="${ASDF_DIR:-$HOME/.asdf}"
|
||||||
|
|
||||||
|
# Load asdf, if found.
|
||||||
|
if [ -f $ASDF_DIR/asdf.sh ]; then
|
||||||
|
. $ASDF_DIR/asdf.sh
|
||||||
|
fi
|
||||||
43
.oh-my-zsh/plugins/autoenv/autoenv.plugin.zsh
Executable file
43
.oh-my-zsh/plugins/autoenv/autoenv.plugin.zsh
Executable file
@@ -0,0 +1,43 @@
|
|||||||
|
# Activates autoenv or reports its failure
|
||||||
|
() {
|
||||||
|
if ! type autoenv_init >/dev/null; then
|
||||||
|
for d (~/.autoenv /usr/local/opt/autoenv /usr/local/bin); do
|
||||||
|
if [[ -e $d/activate.sh ]]; then
|
||||||
|
autoenv_dir=$d
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [[ -z $autoenv_dir ]]; then
|
||||||
|
cat <<END >&2
|
||||||
|
-------- AUTOENV ---------
|
||||||
|
Could not locate autoenv installation.
|
||||||
|
Please check if autoenv is correctly installed.
|
||||||
|
In the meantime the autoenv plugin is DISABLED.
|
||||||
|
--------------------------
|
||||||
|
END
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
source $autoenv_dir/activate.sh
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
[[ $? != 0 ]] && return $?
|
||||||
|
|
||||||
|
# The use_env call below is a reusable command to activate/create a new Python
|
||||||
|
# virtualenv, requiring only a single declarative line of code in your .env files.
|
||||||
|
# It only performs an action if the requested virtualenv is not the current one.
|
||||||
|
|
||||||
|
use_env() {
|
||||||
|
typeset venv
|
||||||
|
venv="$1"
|
||||||
|
if [[ "${VIRTUAL_ENV:t}" != "$venv" ]]; then
|
||||||
|
if workon | grep -q "$venv"; then
|
||||||
|
workon "$venv"
|
||||||
|
else
|
||||||
|
echo -n "Create virtualenv $venv now? (Yn) "
|
||||||
|
read answer
|
||||||
|
if [[ "$answer" == "Y" ]]; then
|
||||||
|
mkvirtualenv "$venv"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
21
.oh-my-zsh/plugins/autojump/autojump.plugin.zsh
Executable file
21
.oh-my-zsh/plugins/autojump/autojump.plugin.zsh
Executable file
@@ -0,0 +1,21 @@
|
|||||||
|
if [ $commands[autojump] ]; then # check if autojump is installed
|
||||||
|
if [ -f $HOME/.autojump/etc/profile.d/autojump.zsh ]; then # manual user-local installation
|
||||||
|
. $HOME/.autojump/etc/profile.d/autojump.zsh
|
||||||
|
elif [ -f $HOME/.autojump/share/autojump/autojump.zsh ]; then # another manual user-local installation
|
||||||
|
. $HOME/.autojump/share/autojump/autojump.zsh
|
||||||
|
elif [ -f $HOME/.nix-profile/etc/profile.d/autojump.zsh ]; then # nix installation
|
||||||
|
. $HOME/.nix-profile/etc/profile.d/autojump.zsh
|
||||||
|
elif [ -f /usr/share/autojump/autojump.zsh ]; then # debian and ubuntu package
|
||||||
|
. /usr/share/autojump/autojump.zsh
|
||||||
|
elif [ -f /etc/profile.d/autojump.zsh ]; then # manual installation
|
||||||
|
. /etc/profile.d/autojump.zsh
|
||||||
|
elif [ -f /etc/profile.d/autojump.sh ]; then # gentoo installation
|
||||||
|
. /etc/profile.d/autojump.sh
|
||||||
|
elif [ -f /usr/local/share/autojump/autojump.zsh ]; then # freebsd installation
|
||||||
|
. /usr/local/share/autojump/autojump.zsh
|
||||||
|
elif [ -f /opt/local/etc/profile.d/autojump.zsh ]; then # mac os x with ports
|
||||||
|
. /opt/local/etc/profile.d/autojump.zsh
|
||||||
|
elif [ $commands[brew] -a -f `brew --prefix`/etc/autojump.sh ]; then # mac os x with brew
|
||||||
|
. `brew --prefix`/etc/autojump.sh
|
||||||
|
fi
|
||||||
|
fi
|
||||||
32
.oh-my-zsh/plugins/autopep8/_autopep8
Executable file
32
.oh-my-zsh/plugins/autopep8/_autopep8
Executable file
@@ -0,0 +1,32 @@
|
|||||||
|
#compdef autopep8
|
||||||
|
#
|
||||||
|
# this is zsh completion function file.
|
||||||
|
# generated by genzshcomp(ver: 0.5.1)
|
||||||
|
#
|
||||||
|
|
||||||
|
typeset -A opt_args
|
||||||
|
local context state line
|
||||||
|
|
||||||
|
_arguments -s -S \
|
||||||
|
"--help[show this help message and exit]:" \
|
||||||
|
"-h[show this help message and exit]:" \
|
||||||
|
"--version[show program's version number and exit]:" \
|
||||||
|
"--verbose[print verbose messages; multiple -v result in more verbose messages]" \
|
||||||
|
"-v[print verbose messages; multiple -v result in more verbose messages]" \
|
||||||
|
"--diff[print the diff for the fixed source]" \
|
||||||
|
"-d[print the diff for the fixed source]" \
|
||||||
|
"--in-place[make changes to files in place]" \
|
||||||
|
"-i[make changes to files in place]" \
|
||||||
|
"--recursive[run recursively; must be used with --in-place or --diff]" \
|
||||||
|
"-r[run recursively; must be used with --in-place or --diff]" \
|
||||||
|
"--jobs[number of parallel jobs; match CPU count if value is less than 1]::n number of parallel jobs; match CPU count if value is:_files" \
|
||||||
|
"-j[number of parallel jobs; match CPU count if value is less than 1]::n number of parallel jobs; match CPU count if value is:_files" \
|
||||||
|
"--pep8-passes[maximum number of additional pep8 passes (default: 100)]::n:_files" \
|
||||||
|
"-p[maximum number of additional pep8 passes (default: 100)]::n:_files" \
|
||||||
|
"-a[-a result in more aggressive changes]::result:_files" \
|
||||||
|
"--exclude[exclude files/directories that match these comma- separated globs]::globs:_files" \
|
||||||
|
"--list-fixes[list codes for fixes; used by --ignore and --select]" \
|
||||||
|
"--ignore[do not fix these errors/warnings (default E226,E24)]::errors:_files" \
|
||||||
|
"--select[fix only these errors/warnings (e.g. E4,W)]::errors:_files" \
|
||||||
|
"--max-line-length[set maximum allowed line length (default: 79)]::n:_files" \
|
||||||
|
"*::args:_files"
|
||||||
0
.oh-my-zsh/plugins/autopep8/autopep8.plugin.zsh
Executable file
0
.oh-my-zsh/plugins/autopep8/autopep8.plugin.zsh
Executable file
37
.oh-my-zsh/plugins/aws/aws.plugin.zsh
Executable file
37
.oh-my-zsh/plugins/aws/aws.plugin.zsh
Executable file
@@ -0,0 +1,37 @@
|
|||||||
|
_homebrew-installed() {
|
||||||
|
type brew &> /dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
_awscli-homebrew-installed() {
|
||||||
|
brew list awscli &> /dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
export AWS_HOME=~/.aws
|
||||||
|
|
||||||
|
function agp {
|
||||||
|
echo $AWS_DEFAULT_PROFILE
|
||||||
|
}
|
||||||
|
|
||||||
|
function asp {
|
||||||
|
local rprompt=${RPROMPT/<aws:$(agp)>/}
|
||||||
|
|
||||||
|
export AWS_DEFAULT_PROFILE=$1
|
||||||
|
export AWS_PROFILE=$1
|
||||||
|
|
||||||
|
export RPROMPT="<aws:$AWS_DEFAULT_PROFILE>$rprompt"
|
||||||
|
}
|
||||||
|
|
||||||
|
function aws_profiles {
|
||||||
|
reply=($(grep profile $AWS_HOME/config|sed -e 's/.*profile \([a-zA-Z0-9_-]*\).*/\1/'))
|
||||||
|
}
|
||||||
|
|
||||||
|
compctl -K aws_profiles asp
|
||||||
|
|
||||||
|
if _homebrew-installed && _awscli-homebrew-installed ; then
|
||||||
|
_aws_zsh_completer_path=$(brew --prefix awscli)/libexec/bin/aws_zsh_completer.sh
|
||||||
|
else
|
||||||
|
_aws_zsh_completer_path=$(which aws_zsh_completer.sh)
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -x $_aws_zsh_completer_path ] && source $_aws_zsh_completer_path
|
||||||
|
unset _aws_zsh_completer_path
|
||||||
160
.oh-my-zsh/plugins/battery/battery.plugin.zsh
Executable file
160
.oh-my-zsh/plugins/battery/battery.plugin.zsh
Executable file
@@ -0,0 +1,160 @@
|
|||||||
|
###########################################
|
||||||
|
# Battery plugin for oh-my-zsh #
|
||||||
|
# Original Author: Peter hoeg (peterhoeg) #
|
||||||
|
# Email: peter@speartail.com #
|
||||||
|
###########################################
|
||||||
|
# Author: Sean Jones (neuralsandwich) #
|
||||||
|
# Email: neuralsandwich@gmail.com #
|
||||||
|
# Modified to add support for Apple Mac #
|
||||||
|
###########################################
|
||||||
|
|
||||||
|
if [[ "$OSTYPE" = darwin* ]] ; then
|
||||||
|
|
||||||
|
function battery_pct() {
|
||||||
|
local smart_battery_status="$(ioreg -rc "AppleSmartBattery")"
|
||||||
|
typeset -F maxcapacity=$(echo $smart_battery_status | grep '^.*"MaxCapacity"\ =\ ' | sed -e 's/^.*"MaxCapacity"\ =\ //')
|
||||||
|
typeset -F currentcapacity=$(echo $smart_battery_status | grep '^.*"CurrentCapacity"\ =\ ' | sed -e 's/^.*CurrentCapacity"\ =\ //')
|
||||||
|
integer i=$(((currentcapacity/maxcapacity) * 100))
|
||||||
|
echo $i
|
||||||
|
}
|
||||||
|
|
||||||
|
function plugged_in() {
|
||||||
|
[ $(ioreg -rc AppleSmartBattery | grep -c '^.*"ExternalConnected"\ =\ Yes') -eq 1 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
function battery_pct_remaining() {
|
||||||
|
if plugged_in ; then
|
||||||
|
echo "External Power"
|
||||||
|
else
|
||||||
|
battery_pct
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function battery_time_remaining() {
|
||||||
|
local smart_battery_status="$(ioreg -rc "AppleSmartBattery")"
|
||||||
|
if [[ $(echo $smart_battery_status | grep -c '^.*"ExternalConnected"\ =\ No') -eq 1 ]] ; then
|
||||||
|
timeremaining=$(echo $smart_battery_status | grep '^.*"AvgTimeToEmpty"\ =\ ' | sed -e 's/^.*"AvgTimeToEmpty"\ =\ //')
|
||||||
|
if [ $timeremaining -gt 720 ] ; then
|
||||||
|
echo "::"
|
||||||
|
else
|
||||||
|
echo "~$((timeremaining / 60)):$((timeremaining % 60))"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "∞"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function battery_pct_prompt () {
|
||||||
|
if [[ $(ioreg -rc AppleSmartBattery | grep -c '^.*"ExternalConnected"\ =\ No') -eq 1 ]] ; then
|
||||||
|
b=$(battery_pct_remaining)
|
||||||
|
if [ $b -gt 50 ] ; then
|
||||||
|
color='green'
|
||||||
|
elif [ $b -gt 20 ] ; then
|
||||||
|
color='yellow'
|
||||||
|
else
|
||||||
|
color='red'
|
||||||
|
fi
|
||||||
|
echo "%{$fg[$color]%}[$(battery_pct_remaining)%%]%{$reset_color%}"
|
||||||
|
else
|
||||||
|
echo "∞"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function battery_is_charging() {
|
||||||
|
[[ $(ioreg -rc "AppleSmartBattery"| grep '^.*"IsCharging"\ =\ ' | sed -e 's/^.*"IsCharging"\ =\ //') == "Yes" ]]
|
||||||
|
}
|
||||||
|
|
||||||
|
elif [[ "$OSTYPE" = linux* ]] ; then
|
||||||
|
|
||||||
|
function battery_is_charging() {
|
||||||
|
! [[ $(acpi 2>/dev/null | grep -c '^Battery.*Discharging') -gt 0 ]]
|
||||||
|
}
|
||||||
|
|
||||||
|
function battery_pct() {
|
||||||
|
if (( $+commands[acpi] )) ; then
|
||||||
|
echo "$(acpi 2>/dev/null | cut -f2 -d ',' | tr -cd '[:digit:]')"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function battery_pct_remaining() {
|
||||||
|
if [ ! $(battery_is_charging) ] ; then
|
||||||
|
battery_pct
|
||||||
|
else
|
||||||
|
echo "External Power"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function battery_time_remaining() {
|
||||||
|
if [[ $(acpi 2>/dev/null | grep -c '^Battery.*Discharging') -gt 0 ]] ; then
|
||||||
|
echo $(acpi 2>/dev/null | cut -f3 -d ',')
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function battery_pct_prompt() {
|
||||||
|
b=$(battery_pct_remaining)
|
||||||
|
if [[ $(acpi 2>/dev/null | grep -c '^Battery.*Discharging') -gt 0 ]] ; then
|
||||||
|
if [ $b -gt 50 ] ; then
|
||||||
|
color='green'
|
||||||
|
elif [ $b -gt 20 ] ; then
|
||||||
|
color='yellow'
|
||||||
|
else
|
||||||
|
color='red'
|
||||||
|
fi
|
||||||
|
echo "%{$fg[$color]%}[$(battery_pct_remaining)%%]%{$reset_color%}"
|
||||||
|
else
|
||||||
|
echo "∞"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
# Empty functions so we don't cause errors in prompts
|
||||||
|
function battery_pct_remaining() {
|
||||||
|
}
|
||||||
|
|
||||||
|
function battery_time_remaining() {
|
||||||
|
}
|
||||||
|
|
||||||
|
function battery_pct_prompt() {
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
|
function battery_level_gauge() {
|
||||||
|
local gauge_slots=${BATTERY_GAUGE_SLOTS:-10};
|
||||||
|
local green_threshold=${BATTERY_GREEN_THRESHOLD:-6};
|
||||||
|
local yellow_threshold=${BATTERY_YELLOW_THRESHOLD:-4};
|
||||||
|
local color_green=${BATTERY_COLOR_GREEN:-%F{green}};
|
||||||
|
local color_yellow=${BATTERY_COLOR_YELLOW:-%F{yellow}};
|
||||||
|
local color_red=${BATTERY_COLOR_RED:-%F{red}};
|
||||||
|
local color_reset=${BATTERY_COLOR_RESET:-%{%f%k%b%}};
|
||||||
|
local battery_prefix=${BATTERY_GAUGE_PREFIX:-'['};
|
||||||
|
local battery_suffix=${BATTERY_GAUGE_SUFFIX:-']'};
|
||||||
|
local filled_symbol=${BATTERY_GAUGE_FILLED_SYMBOL:-'▶'};
|
||||||
|
local empty_symbol=${BATTERY_GAUGE_EMPTY_SYMBOL:-'▷'};
|
||||||
|
local charging_color=${BATTERY_CHARGING_COLOR:-$color_yellow};
|
||||||
|
local charging_symbol=${BATTERY_CHARGING_SYMBOL:-'⚡'};
|
||||||
|
|
||||||
|
local battery_remaining_percentage=$(battery_pct);
|
||||||
|
|
||||||
|
if [[ $battery_remaining_percentage =~ [0-9]+ ]]; then
|
||||||
|
local filled=$(((( $battery_remaining_percentage + $gauge_slots - 1) / $gauge_slots)));
|
||||||
|
local empty=$(($gauge_slots - $filled));
|
||||||
|
|
||||||
|
if [[ $filled -gt $green_threshold ]]; then local gauge_color=$color_green;
|
||||||
|
elif [[ $filled -gt $yellow_threshold ]]; then local gauge_color=$color_yellow;
|
||||||
|
else local gauge_color=$color_red;
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
local filled=$gauge_slots;
|
||||||
|
local empty=0;
|
||||||
|
filled_symbol=${BATTERY_UNKNOWN_SYMBOL:-'.'};
|
||||||
|
fi
|
||||||
|
|
||||||
|
local charging=' ' && battery_is_charging && charging=$charging_symbol;
|
||||||
|
|
||||||
|
printf ${charging_color//\%/\%\%}$charging${color_reset//\%/\%\%}${battery_prefix//\%/\%\%}${gauge_color//\%/\%\%}
|
||||||
|
printf ${filled_symbol//\%/\%\%}'%.0s' {1..$filled}
|
||||||
|
[[ $filled -lt $gauge_slots ]] && printf ${empty_symbol//\%/\%\%}'%.0s' {1..$empty}
|
||||||
|
printf ${color_reset//\%/\%\%}${battery_suffix//\%/\%\%}${color_reset//\%/\%\%}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
20
.oh-my-zsh/plugins/bbedit/README.md
Executable file
20
.oh-my-zsh/plugins/bbedit/README.md
Executable file
@@ -0,0 +1,20 @@
|
|||||||
|
## bbedit
|
||||||
|
|
||||||
|
Plugin for BBEdit, an HTML and text editor for Mac OS X
|
||||||
|
|
||||||
|
### Requirements
|
||||||
|
|
||||||
|
* [BBEdit](http://www.barebones.com/products/bbedit/)
|
||||||
|
* [BBEdit Command-Line Tools](http://www.barebones.com/support/bbedit/cmd-line-tools.html)
|
||||||
|
|
||||||
|
### Usage
|
||||||
|
|
||||||
|
* If the `bb` command is called without an argument, launch BBEdit
|
||||||
|
|
||||||
|
* If `bb` is passed a directory, cd to it and open it in BBEdit
|
||||||
|
|
||||||
|
* If `bb` is passed a file, open it in BBEdit
|
||||||
|
|
||||||
|
* If `bbpb` create a new BBEdit document with the contents of the clipboard
|
||||||
|
|
||||||
|
* If `bbd` alias for BBEdit diff tool
|
||||||
21
.oh-my-zsh/plugins/bbedit/bbedit.plugin.zsh
Executable file
21
.oh-my-zsh/plugins/bbedit/bbedit.plugin.zsh
Executable file
@@ -0,0 +1,21 @@
|
|||||||
|
alias bbpb='pbpaste | bbedit --clean --view-top'
|
||||||
|
|
||||||
|
alias bbd=bbdiff
|
||||||
|
|
||||||
|
#
|
||||||
|
# If the bb command is called without an argument, launch BBEdit
|
||||||
|
# If bb is passed a directory, cd to it and open it in BBEdit
|
||||||
|
# If bb is passed a file, open it in BBEdit
|
||||||
|
#
|
||||||
|
function bb() {
|
||||||
|
if [[ -z "$1" ]]
|
||||||
|
then
|
||||||
|
bbedit --launch
|
||||||
|
else
|
||||||
|
bbedit "$1"
|
||||||
|
if [[ -d "$1" ]]
|
||||||
|
then
|
||||||
|
cd "$1"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
54
.oh-my-zsh/plugins/bgnotify/README.md
Executable file
54
.oh-my-zsh/plugins/bgnotify/README.md
Executable file
@@ -0,0 +1,54 @@
|
|||||||
|
# bgnotify zsh plugin
|
||||||
|
|
||||||
|
cross-platform background notifications for long running commands! Supports OSX and Ubuntu linux.
|
||||||
|
|
||||||
|
Standalone homepage: [t413/zsh-background-notify](https://github.com/t413/zsh-background-notify)
|
||||||
|
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
## How to use!
|
||||||
|
|
||||||
|
Just add bgnotify to your plugins list in your `.zshrc`
|
||||||
|
|
||||||
|
- On OS X you'll need [terminal-notifer](https://github.com/alloy/terminal-notifier)
|
||||||
|
* `brew install terminal-notifier` (or `gem install terminal-notifier`)
|
||||||
|
- On ubuntu you're already all set!
|
||||||
|
- On windows you can use [notifu](http://www.paralint.com/projects/notifu/) or the Cygwin Ports libnotify package
|
||||||
|
|
||||||
|
|
||||||
|
## Screenshots
|
||||||
|
|
||||||
|
**Linux**
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
**OS X**
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
**Windows**
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
One can configure a few things:
|
||||||
|
|
||||||
|
- `bgnotify_threshold` sets the notification threshold time (default 6 seconds)
|
||||||
|
- `function bgnotify_formatted` lets you change the notification
|
||||||
|
|
||||||
|
Use these by adding a function definition before the your call to source. Example:
|
||||||
|
|
||||||
|
~~~ sh
|
||||||
|
bgnotify_threshold=4 ## set your own notification threshold
|
||||||
|
|
||||||
|
function bgnotify_formatted {
|
||||||
|
## $1=exit_status, $2=command, $3=elapsed_time
|
||||||
|
[ $1 -eq 0 ] && title="Holy Smokes Batman!" || title="Holy Graf Zeppelin!"
|
||||||
|
bgnotify "$title -- after $3 s" "$2";
|
||||||
|
}
|
||||||
|
|
||||||
|
plugins=(git bgnotify) ## add to plugins list
|
||||||
|
source $ZSH/oh-my-zsh.sh ## existing source call
|
||||||
|
~~~
|
||||||
77
.oh-my-zsh/plugins/bgnotify/bgnotify.plugin.zsh
Executable file
77
.oh-my-zsh/plugins/bgnotify/bgnotify.plugin.zsh
Executable file
@@ -0,0 +1,77 @@
|
|||||||
|
#!/usr/bin/env zsh
|
||||||
|
|
||||||
|
## setup ##
|
||||||
|
|
||||||
|
[[ -o interactive ]] || return #interactive only!
|
||||||
|
zmodload zsh/datetime || { print "can't load zsh/datetime"; return } # faster than date()
|
||||||
|
autoload -Uz add-zsh-hook || { print "can't add zsh hook!"; return }
|
||||||
|
|
||||||
|
(( ${+bgnotify_threshold} )) || bgnotify_threshold=5 #default 10 seconds
|
||||||
|
|
||||||
|
|
||||||
|
## definitions ##
|
||||||
|
|
||||||
|
if ! (type bgnotify_formatted | grep -q 'function'); then ## allow custom function override
|
||||||
|
function bgnotify_formatted { ## args: (exit_status, command, elapsed_seconds)
|
||||||
|
elapsed="$(( $3 % 60 ))s"
|
||||||
|
(( $3 >= 60 )) && elapsed="$((( $3 % 3600) / 60 ))m $elapsed"
|
||||||
|
(( $3 >= 3600 )) && elapsed="$(( $3 / 3600 ))h $elapsed"
|
||||||
|
[ $1 -eq 0 ] && bgnotify "#win (took $elapsed)" "$2" || bgnotify "#fail (took $elapsed)" "$2"
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
|
currentWindowId () {
|
||||||
|
if hash osascript 2>/dev/null; then #osx
|
||||||
|
osascript -e 'tell application (path to frontmost application as text) to id of front window' 2&> /dev/null || echo "0"
|
||||||
|
elif (hash notify-send 2>/dev/null || hash kdialog 2>/dev/null); then #ubuntu!
|
||||||
|
xprop -root 2> /dev/null | awk '/NET_ACTIVE_WINDOW/{print $5;exit} END{exit !$5}' || echo "0"
|
||||||
|
else
|
||||||
|
echo $EPOCHSECONDS #fallback for windows
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
bgnotify () { ## args: (title, subtitle)
|
||||||
|
if hash terminal-notifier 2>/dev/null; then #osx
|
||||||
|
[[ "$TERM_PROGRAM" == 'iTerm.app' ]] && term_id='com.googlecode.iterm2';
|
||||||
|
[[ "$TERM_PROGRAM" == 'Apple_Terminal' ]] && term_id='com.apple.terminal';
|
||||||
|
## now call terminal-notifier, (hopefully with $term_id!)
|
||||||
|
[ -z "$term_id" ] && terminal-notifier -message "$2" -title "$1" >/dev/null ||
|
||||||
|
terminal-notifier -message "$2" -title "$1" -activate "$term_id" -sender "$term_id" >/dev/null
|
||||||
|
elif hash growlnotify 2>/dev/null; then #osx growl
|
||||||
|
growlnotify -m "$1" "$2"
|
||||||
|
elif hash notify-send 2>/dev/null; then #ubuntu gnome!
|
||||||
|
notify-send "$1" "$2"
|
||||||
|
elif hash kdialog 2>/dev/null; then #ubuntu kde!
|
||||||
|
kdialog -title "$1" --passivepopup "$2" 5
|
||||||
|
elif hash notifu 2>/dev/null; then #cygwyn support!
|
||||||
|
notifu /m "$2" /p "$1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
## Zsh hooks ##
|
||||||
|
|
||||||
|
bgnotify_begin() {
|
||||||
|
bgnotify_timestamp=$EPOCHSECONDS
|
||||||
|
bgnotify_lastcmd="$1"
|
||||||
|
bgnotify_windowid=$(currentWindowId)
|
||||||
|
}
|
||||||
|
|
||||||
|
bgnotify_end() {
|
||||||
|
didexit=$?
|
||||||
|
elapsed=$(( EPOCHSECONDS - bgnotify_timestamp ))
|
||||||
|
past_threshold=$(( elapsed >= bgnotify_threshold ))
|
||||||
|
if (( bgnotify_timestamp > 0 )) && (( past_threshold )); then
|
||||||
|
if [ $(currentWindowId) != "$bgnotify_windowid" ]; then
|
||||||
|
print -n "\a"
|
||||||
|
bgnotify_formatted "$didexit" "$bgnotify_lastcmd" "$elapsed"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
bgnotify_timestamp=0 #reset it to 0!
|
||||||
|
}
|
||||||
|
|
||||||
|
## only enable if a local (non-ssh) connection
|
||||||
|
if [ -z "$SSH_CLIENT" ] && [ -z "$SSH_TTY" ]; then
|
||||||
|
add-zsh-hook preexec bgnotify_begin
|
||||||
|
add-zsh-hook precmd bgnotify_end
|
||||||
|
fi
|
||||||
6
.oh-my-zsh/plugins/boot2docker/README.md
Executable file
6
.oh-my-zsh/plugins/boot2docker/README.md
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
## Boot2docker autocomplete plugin
|
||||||
|
|
||||||
|
- Adds autocomplete options for all boot2docker commands.
|
||||||
|
|
||||||
|
|
||||||
|
Maintainer : Manfred Touron ([@moul](https://github.com/moul))
|
||||||
73
.oh-my-zsh/plugins/boot2docker/_boot2docker
Executable file
73
.oh-my-zsh/plugins/boot2docker/_boot2docker
Executable file
@@ -0,0 +1,73 @@
|
|||||||
|
#compdef boot2docker
|
||||||
|
|
||||||
|
# Boot2docker autocompletion for oh-my-zsh
|
||||||
|
# Requires: Boot2docker installed
|
||||||
|
# Author: Manfred Touron (@moul)
|
||||||
|
|
||||||
|
local -a _1st_arguments
|
||||||
|
_1st_arguments=(
|
||||||
|
"init":"Create a new Boot2Docker VM."
|
||||||
|
"up":"Start VM from any states."
|
||||||
|
"start":"Start VM from any states."
|
||||||
|
"boot":"Start VM from any states."
|
||||||
|
"ssh":"[ssh-command] Login to VM via SSH."
|
||||||
|
"save":"Suspend VM and save state to disk."
|
||||||
|
"suspend":"Suspend VM and save state to disk."
|
||||||
|
"down":"Gracefully shutdown the VM."
|
||||||
|
"stop":"Gracefully shutdown the VM."
|
||||||
|
"halt":"Gracefully shutdown the VM."
|
||||||
|
"restart":"Gracefully reboot the VM."
|
||||||
|
"poweroff":"Forcefully power off the VM (may corrupt disk image)."
|
||||||
|
"reset":"Forcefully power cycle the VM (may corrupt disk image)."
|
||||||
|
"delete":"Delete Boot2Docker VM and its disk image."
|
||||||
|
"destroy":"Delete Boot2Docker VM and its disk image."
|
||||||
|
"config":"Show selected profile file settings."
|
||||||
|
"cfg":"Show selected profile file settings."
|
||||||
|
"info":"Display detailed information of VM."
|
||||||
|
"ip":"Display the IP address of the VM's Host-only network."
|
||||||
|
"socket":"Display the DOCKER_HOST socket to connect to."
|
||||||
|
"shellinit":"Display the shell command to set up the Docker client."
|
||||||
|
"status":"Display current state of VM."
|
||||||
|
"download":"Download Boot2Docker ISO image."
|
||||||
|
"upgrade":"Upgrade the Boot2Docker ISO image (restart if running)."
|
||||||
|
"version":"Display version information."
|
||||||
|
)
|
||||||
|
|
||||||
|
_arguments \
|
||||||
|
'(--basevmdk)--basevmdk[Path to VMDK to use as base for persistent partition]' \
|
||||||
|
'(--cpus)'{-c,--cpus}'[number of CPUs for boot2docker.]' \
|
||||||
|
'(--clobber)--clobber[overwrite Docker client binary on boot2docker upgrade]' \
|
||||||
|
'(--dhcp)--dhcp[enable VirtualBox host-only network DHCP.]' \
|
||||||
|
'(--dhcpip)--dhcpip[VirtualBox host-only network DHCP server address.]' \
|
||||||
|
'(-s --disksize)'{-s,--disksize}'[boot2docker disk image size (in MB).]' \
|
||||||
|
'(--dockerport)--dockerport[host Docker port (forward to port 2376 in VM). (deprecated - use with care)]' \
|
||||||
|
'(--driver)--driver[hypervisor driver.]' \
|
||||||
|
'(--force-upgrade-download)--force-upgrade-download[always download on boot2docker upgrade, never skip.]' \
|
||||||
|
'(--hostip)--hostip[VirtualBox host-only network IP address.]' \
|
||||||
|
'(--iso)--iso[path to boot2docker ISO image.]' \
|
||||||
|
'(--iso-url)--iso-url[/api.github.com/repos/boot2docker/boot2docker/releases": source URL to provision the boot2docker ISO image.]' \
|
||||||
|
'(--lowerip)--lowerip[VirtualBox host-only network DHCP lower bound.]' \
|
||||||
|
'(--memory)'{-m,--memory}'[virtual machine memory size (in MB).]' \
|
||||||
|
'(--netmask)--netmask[VirtualBox host-only network mask.]' \
|
||||||
|
'(--no-dummy)--no-dummy[Example parameter for the dummy driver.]' \
|
||||||
|
'(--retries)--retries[number of port knocking retries during 'start']' \
|
||||||
|
'(--serial)--serial[try serial console to get IP address (experimental)]' \
|
||||||
|
'(--serialfile)--serialfile[path to the serial socket/pipe.]' \
|
||||||
|
'(--ssh)--ssh[path to SSH client utility.]' \
|
||||||
|
'(--ssh-keygen)--ssh-keygen[path to ssh-keygen utility.]' \
|
||||||
|
'(--sshkey)--sshkey[path to SSH key to use.]' \
|
||||||
|
'(--sshport)--sshport[host SSH port (forward to port 22 in VM).]' \
|
||||||
|
'(--upperip)--upperip[VirtualBox host-only network DHCP upper bound.]' \
|
||||||
|
'(--vbm)--vbm[path to VirtualBox management utility.]' \
|
||||||
|
'(--vbox-share)--vbox-share[(defaults to "/Users=Users" if no shares are specified; use "disable" to explicitly prevent any shares from being created) List of directories to share during "up|start|boot" via VirtualBox Guest Additions, with optional labels]' \
|
||||||
|
'(--verbose)'{-v,--verbose}'[display verbose command invocations.]' \
|
||||||
|
'(--vm)--vm[virtual machine name.]' \
|
||||||
|
'(--waittime)--waittime[Time in milliseconds to wait between port knocking retries during 'start']' \
|
||||||
|
'*:: :->subcmds' && return 0
|
||||||
|
|
||||||
|
#_arguments '*:: :->command'
|
||||||
|
|
||||||
|
if (( CURRENT == 1 )); then
|
||||||
|
_describe -t commands "boot2docker command" _1st_arguments
|
||||||
|
return
|
||||||
|
fi
|
||||||
58
.oh-my-zsh/plugins/bower/_bower
Executable file
58
.oh-my-zsh/plugins/bower/_bower
Executable file
@@ -0,0 +1,58 @@
|
|||||||
|
|
||||||
|
|
||||||
|
# Credits to npm's awesome completion utility.
|
||||||
|
#
|
||||||
|
# Bower completion script, based on npm completion script.
|
||||||
|
|
||||||
|
###-begin-bower-completion-###
|
||||||
|
#
|
||||||
|
# Installation: bower completion >> ~/.bashrc (or ~/.zshrc)
|
||||||
|
# Or, maybe: bower completion > /usr/local/etc/bash_completion.d/bower
|
||||||
|
#
|
||||||
|
|
||||||
|
COMP_WORDBREAKS=${COMP_WORDBREAKS/=/}
|
||||||
|
COMP_WORDBREAKS=${COMP_WORDBREAKS/@/}
|
||||||
|
export COMP_WORDBREAKS
|
||||||
|
|
||||||
|
if type complete &>/dev/null; then
|
||||||
|
_bower_completion () {
|
||||||
|
local si="$IFS"
|
||||||
|
IFS=$'\n' COMPREPLY=($(COMP_CWORD="$COMP_CWORD" \
|
||||||
|
COMP_LINE="$COMP_LINE" \
|
||||||
|
COMP_POINT="$COMP_POINT" \
|
||||||
|
bower completion -- "${COMP_WORDS[@]}" \
|
||||||
|
2>/dev/null)) || return $?
|
||||||
|
IFS="$si"
|
||||||
|
}
|
||||||
|
complete -F _bower_completion bower
|
||||||
|
elif type compdef &>/dev/null; then
|
||||||
|
_bower_completion() {
|
||||||
|
si=$IFS
|
||||||
|
compadd -- $(COMP_CWORD=$((CURRENT-1)) \
|
||||||
|
COMP_LINE=$BUFFER \
|
||||||
|
COMP_POINT=0 \
|
||||||
|
bower completion -- "${words[@]}" \
|
||||||
|
2>/dev/null)
|
||||||
|
IFS=$si
|
||||||
|
}
|
||||||
|
compdef _bower_completion bower
|
||||||
|
elif type compctl &>/dev/null; then
|
||||||
|
_bower_completion () {
|
||||||
|
local cword line point words si
|
||||||
|
read -Ac words
|
||||||
|
read -cn cword
|
||||||
|
let cword-=1
|
||||||
|
read -l line
|
||||||
|
read -ln point
|
||||||
|
si="$IFS"
|
||||||
|
IFS=$'\n' reply=($(COMP_CWORD="$cword" \
|
||||||
|
COMP_LINE="$line" \
|
||||||
|
COMP_POINT="$point" \
|
||||||
|
bower completion -- "${words[@]}" \
|
||||||
|
2>/dev/null)) || return $?
|
||||||
|
IFS="$si"
|
||||||
|
}
|
||||||
|
compctl -K _bower_completion bower
|
||||||
|
fi
|
||||||
|
###-end-bower-completion-###
|
||||||
|
|
||||||
82
.oh-my-zsh/plugins/bower/bower.plugin.zsh
Executable file
82
.oh-my-zsh/plugins/bower/bower.plugin.zsh
Executable file
@@ -0,0 +1,82 @@
|
|||||||
|
alias bi="bower install"
|
||||||
|
alias bl="bower list"
|
||||||
|
alias bs="bower search"
|
||||||
|
|
||||||
|
_bower_installed_packages () {
|
||||||
|
bower_package_list=$(bower ls --no-color 2>/dev/null| awk 'NR>3{print p}{p=$0}'| cut -d ' ' -f 2|sed 's/#.*//')
|
||||||
|
}
|
||||||
|
_bower ()
|
||||||
|
{
|
||||||
|
local -a _1st_arguments _no_color _dopts _save_dev _force_lastest _production
|
||||||
|
local expl
|
||||||
|
typeset -A opt_args
|
||||||
|
|
||||||
|
_no_color=('--no-color[Do not print colors (available in all commands)]')
|
||||||
|
|
||||||
|
_dopts=(
|
||||||
|
'(--save)--save[Save installed packages into the project"s bower.json dependencies]'
|
||||||
|
'(--force)--force[Force fetching remote resources even if a local copy exists on disk]'
|
||||||
|
)
|
||||||
|
|
||||||
|
_save_dev=('(--save-dev)--save-dev[Save installed packages into the project"s bower.json devDependencies]')
|
||||||
|
|
||||||
|
_force_lastest=('(--force-latest)--force-latest[Force latest version on conflict]')
|
||||||
|
|
||||||
|
_production=('(--production)--production[Do not install project devDependencies]')
|
||||||
|
|
||||||
|
_1st_arguments=(
|
||||||
|
'cache-clean:Clean the Bower cache, or the specified package caches' \
|
||||||
|
'help:Display help information about Bower' \
|
||||||
|
'info:Version info and description of a particular package' \
|
||||||
|
'init:Interactively create a bower.json file' \
|
||||||
|
'install:Install a package locally' \
|
||||||
|
'link:Symlink a package folder' \
|
||||||
|
'lookup:Look up a package URL by name' \
|
||||||
|
'register:Register a package' \
|
||||||
|
'search:Search for a package by name' \
|
||||||
|
'uninstall:Remove a package' \
|
||||||
|
'update:Update a package' \
|
||||||
|
{ls,list}:'[List all installed packages]'
|
||||||
|
)
|
||||||
|
_arguments \
|
||||||
|
$_no_color \
|
||||||
|
'*:: :->subcmds' && return 0
|
||||||
|
|
||||||
|
if (( CURRENT == 1 )); then
|
||||||
|
_describe -t commands "bower subcommand" _1st_arguments
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$words[1]" in
|
||||||
|
install)
|
||||||
|
_arguments \
|
||||||
|
$_dopts \
|
||||||
|
$_save_dev \
|
||||||
|
$_force_lastest \
|
||||||
|
$_no_color \
|
||||||
|
$_production
|
||||||
|
;;
|
||||||
|
update)
|
||||||
|
_arguments \
|
||||||
|
$_dopts \
|
||||||
|
$_no_color \
|
||||||
|
$_force_lastest
|
||||||
|
_bower_installed_packages
|
||||||
|
compadd "$@" $(echo $bower_package_list)
|
||||||
|
;;
|
||||||
|
uninstall)
|
||||||
|
_arguments \
|
||||||
|
$_no_color \
|
||||||
|
$_dopts
|
||||||
|
_bower_installed_packages
|
||||||
|
compadd "$@" $(echo $bower_package_list)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
_arguments \
|
||||||
|
$_no_color \
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
compdef _bower bower
|
||||||
33
.oh-my-zsh/plugins/branch/README.md
Executable file
33
.oh-my-zsh/plugins/branch/README.md
Executable file
@@ -0,0 +1,33 @@
|
|||||||
|
# Branch
|
||||||
|
|
||||||
|
Displays the current Git or Mercurial branch fast.
|
||||||
|
|
||||||
|
## Speed test
|
||||||
|
|
||||||
|
### Mercurial
|
||||||
|
|
||||||
|
```shell
|
||||||
|
$ time hg branch
|
||||||
|
0.11s user 0.14s system 70% cpu 0.355 total
|
||||||
|
```
|
||||||
|
|
||||||
|
### Branch plugin
|
||||||
|
|
||||||
|
```shell
|
||||||
|
$ time zsh /tmp/branch_prompt_info_test.zsh
|
||||||
|
0.00s user 0.01s system 78% cpu 0.014 total
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
Edit your theme file (eg.: `~/.oh-my-zsh/theme/robbyrussell.zsh-theme`)
|
||||||
|
adding `$(branch_prompt_info)` in your prompt like this:
|
||||||
|
|
||||||
|
```diff
|
||||||
|
- PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'
|
||||||
|
+ PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)$(branch_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'
|
||||||
|
```
|
||||||
|
|
||||||
|
## Maintainer
|
||||||
|
|
||||||
|
Victor Torres (<vpaivatorres@gmail.com>)
|
||||||
31
.oh-my-zsh/plugins/branch/branch.plugin.zsh
Executable file
31
.oh-my-zsh/plugins/branch/branch.plugin.zsh
Executable file
@@ -0,0 +1,31 @@
|
|||||||
|
# Branch: displays the current Git or Mercurial branch fast.
|
||||||
|
# Victor Torres <vpaivatorres@gmail.com>
|
||||||
|
# Oct 2, 2015
|
||||||
|
|
||||||
|
function branch_prompt_info() {
|
||||||
|
# Defines path as current directory
|
||||||
|
local current_dir=$PWD
|
||||||
|
# While current path is not root path
|
||||||
|
while [[ $current_dir != '/' ]]
|
||||||
|
do
|
||||||
|
# Git repository
|
||||||
|
if [[ -d "${current_dir}/.git" ]]
|
||||||
|
then
|
||||||
|
echo '±' ${"$(<"$current_dir/.git/HEAD")"##*/}
|
||||||
|
return;
|
||||||
|
fi
|
||||||
|
# Mercurial repository
|
||||||
|
if [[ -d "${current_dir}/.hg" ]]
|
||||||
|
then
|
||||||
|
if [[ -f "$current_dir/.hg/branch" ]]
|
||||||
|
then
|
||||||
|
echo '☿' $(<"$current_dir/.hg/branch")
|
||||||
|
else
|
||||||
|
echo '☿ default'
|
||||||
|
fi
|
||||||
|
return;
|
||||||
|
fi
|
||||||
|
# Defines path as parent directory and keeps looking for :)
|
||||||
|
current_dir="${current_dir:h}"
|
||||||
|
done
|
||||||
|
}
|
||||||
20
.oh-my-zsh/plugins/brew/brew.plugin.zsh
Executable file
20
.oh-my-zsh/plugins/brew/brew.plugin.zsh
Executable file
@@ -0,0 +1,20 @@
|
|||||||
|
alias brews='brew list -1'
|
||||||
|
alias bubo='brew update && brew outdated'
|
||||||
|
alias bubc='brew upgrade && brew cleanup'
|
||||||
|
alias bubu='bubo && bubc'
|
||||||
|
|
||||||
|
if command mkdir "$ZSH_CACHE_DIR/.brew-completion-message" 2>/dev/null; then
|
||||||
|
print -P '%F{yellow}'Oh My Zsh brew plugin:
|
||||||
|
cat <<-'EOF'
|
||||||
|
|
||||||
|
With the advent of their 1.0 release, Homebrew has decided to bundle
|
||||||
|
the zsh completion as part of the brew installation, so we no longer
|
||||||
|
ship it with the brew plugin; now it only has brew aliases.
|
||||||
|
|
||||||
|
If you find that brew completion no longer works, make sure you have
|
||||||
|
your Homebrew installation fully up to date.
|
||||||
|
|
||||||
|
You will only see this message once.
|
||||||
|
EOF
|
||||||
|
print -P '%f'
|
||||||
|
fi
|
||||||
50
.oh-my-zsh/plugins/bundler/README.md
Executable file
50
.oh-my-zsh/plugins/bundler/README.md
Executable file
@@ -0,0 +1,50 @@
|
|||||||
|
# Bundler
|
||||||
|
|
||||||
|
- adds completion for basic bundler commands
|
||||||
|
- adds short aliases for common bundler commands
|
||||||
|
- `be` aliased to `bundle exec`
|
||||||
|
- `bl` aliased to `bundle list`
|
||||||
|
- `bp` aliased to `bundle package`
|
||||||
|
- `bo` aliased to `bundle open`
|
||||||
|
- `bout` aliased to `bundle outdated`
|
||||||
|
- `bu` aliased to `bundle update`
|
||||||
|
- `bi` aliased to `bundle install --jobs=<cpu core count>` (only for bundler `>= 1.4.0`)
|
||||||
|
- adds a wrapper for common gems:
|
||||||
|
- looks for a binstub under `./bin/` and executes it (if present)
|
||||||
|
- calls `bundle exec <gem executable>` otherwise
|
||||||
|
|
||||||
|
For a full list of *common gems* being wrapped by default please look at the `bundler.plugin.zsh` file.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Please use the exact name of the executable and not the gem name.
|
||||||
|
|
||||||
|
### Add additional gems to be wrapped
|
||||||
|
|
||||||
|
Add this before the plugin-list in your `.zshrc`:
|
||||||
|
```sh
|
||||||
|
BUNDLED_COMMANDS=(rubocop)
|
||||||
|
plugins=(... bundler ...)
|
||||||
|
```
|
||||||
|
This will add the wrapper for the `rubocop` gem (i.e. the executable).
|
||||||
|
|
||||||
|
|
||||||
|
### Exclude gems from being wrapped
|
||||||
|
|
||||||
|
Add this before the plugin-list in your `.zshrc`:
|
||||||
|
```sh
|
||||||
|
UNBUNDLED_COMMANDS=(foreman spin)
|
||||||
|
plugins=(... bundler ...)
|
||||||
|
```
|
||||||
|
This will exclude the `foreman` and `spin` gems (i.e. their executable) from being wrapped.
|
||||||
|
|
||||||
|
## Excluded gems
|
||||||
|
|
||||||
|
These gems should not be called with `bundle exec`. Please see [issue #2923](https://github.com/robbyrussell/oh-my-zsh/pull/2923) on GitHub for clarification.
|
||||||
|
|
||||||
|
`berks`
|
||||||
|
`foreman`
|
||||||
|
`mailcatcher`
|
||||||
|
`rails`
|
||||||
|
`ruby`
|
||||||
|
`spin`
|
||||||
104
.oh-my-zsh/plugins/bundler/_bundler
Executable file
104
.oh-my-zsh/plugins/bundler/_bundler
Executable file
@@ -0,0 +1,104 @@
|
|||||||
|
#compdef bundle
|
||||||
|
|
||||||
|
local curcontext="$curcontext" state line _gems _opts ret=1
|
||||||
|
|
||||||
|
_arguments -C -A "-v" -A "--version" \
|
||||||
|
'(- 1 *)'{-v,--version}'[display version information]' \
|
||||||
|
'1: :->cmds' \
|
||||||
|
'*:: :->args' && ret=0
|
||||||
|
|
||||||
|
case $state in
|
||||||
|
cmds)
|
||||||
|
_values "bundle command" \
|
||||||
|
"install[Install the gems specified by the Gemfile or Gemfile.lock]" \
|
||||||
|
"update[Update dependencies to their latest versions]" \
|
||||||
|
"package[Package the .gem files required by your application]" \
|
||||||
|
"exec[Execute a script in the context of the current bundle]" \
|
||||||
|
"config[Specify and read configuration options for bundler]" \
|
||||||
|
"check[Determine whether the requirements for your application are installed]" \
|
||||||
|
"list[Show all of the gems in the current bundle]" \
|
||||||
|
"show[Show the source location of a particular gem in the bundle]" \
|
||||||
|
"outdated[Show all of the outdated gems in the current bundle]" \
|
||||||
|
"console[Start an IRB session in the context of the current bundle]" \
|
||||||
|
"open[Open an installed gem in the editor]" \
|
||||||
|
"viz[Generate a visual representation of your dependencies]" \
|
||||||
|
"init[Generate a simple Gemfile, placed in the current directory]" \
|
||||||
|
"gem[Create a simple gem, suitable for development with bundler]" \
|
||||||
|
"platform[Displays platform compatibility information]" \
|
||||||
|
"clean[Cleans up unused gems in your bundler directory]" \
|
||||||
|
"help[Describe available tasks or one specific task]"
|
||||||
|
ret=0
|
||||||
|
;;
|
||||||
|
args)
|
||||||
|
case $line[1] in
|
||||||
|
help)
|
||||||
|
_values 'commands' \
|
||||||
|
'install' \
|
||||||
|
'update' \
|
||||||
|
'package' \
|
||||||
|
'exec' \
|
||||||
|
'config' \
|
||||||
|
'check' \
|
||||||
|
'list' \
|
||||||
|
'show' \
|
||||||
|
'outdated' \
|
||||||
|
'console' \
|
||||||
|
'open' \
|
||||||
|
'viz' \
|
||||||
|
'init' \
|
||||||
|
'gem' \
|
||||||
|
'platform' \
|
||||||
|
'help' && ret=0
|
||||||
|
;;
|
||||||
|
install)
|
||||||
|
_arguments \
|
||||||
|
'(--no-color)--no-color[disable colorization in output]' \
|
||||||
|
'(--local)--local[do not attempt to connect to rubygems.org]' \
|
||||||
|
'(--quiet)--quiet[only output warnings and errors]' \
|
||||||
|
'(--gemfile)--gemfile=-[use the specified gemfile instead of Gemfile]:gemfile' \
|
||||||
|
'(--system)--system[install to the system location]' \
|
||||||
|
'(--deployment)--deployment[install using defaults tuned for deployment environments]' \
|
||||||
|
'(--frozen)--frozen[do not allow the Gemfile.lock to be updated after this install]' \
|
||||||
|
'(--path)--path=-[specify a different path than the system default]:path:_files' \
|
||||||
|
'(--binstubs)--binstubs=-[generate bin stubs for bundled gems to ./bin]:directory:_files' \
|
||||||
|
'(--without)--without=-[exclude gems that are part of the specified named group]:groups'
|
||||||
|
ret=0
|
||||||
|
;;
|
||||||
|
exec)
|
||||||
|
_normal && ret=0
|
||||||
|
;;
|
||||||
|
clean)
|
||||||
|
_arguments \
|
||||||
|
'(--force)--force[forces clean even if --path is not set]' \
|
||||||
|
'(--dry-run)--dry-run[only print out changes, do not actually clean gems]' \
|
||||||
|
'(--no-color)--no-color[Disable colorization in output]' \
|
||||||
|
'(--verbose)--verbose[Enable verbose output mode]'
|
||||||
|
ret=0
|
||||||
|
;;
|
||||||
|
outdated)
|
||||||
|
_arguments \
|
||||||
|
'(--pre)--pre[Check for newer pre-release gems]' \
|
||||||
|
'(--source)--source[Check against a specific source]' \
|
||||||
|
'(--local)--local[Do not attempt to fetch gems remotely and use the gem cache instead]' \
|
||||||
|
'(--no-color)--no-color[Disable colorization in output]' \
|
||||||
|
'(--verbose)--verbose[Enable verbose output mode]'
|
||||||
|
ret=0
|
||||||
|
;;
|
||||||
|
(open|show)
|
||||||
|
_gems=( $(bundle show 2> /dev/null | sed -e '/^ \*/!d; s/^ \* \([^ ]*\) .*/\1/') )
|
||||||
|
if [[ $_gems != "" ]]; then
|
||||||
|
_values 'gems' $_gems && ret=0
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
_opts=( $(bundle help $line[1] | sed -e '/^ \[-/!d; s/^ \[\(-[^=]*\)=.*/\1/') )
|
||||||
|
_opts+=( $(bundle help $line[1] | sed -e '/^ -/!d; s/^ \(-.\), \[\(-[^=]*\)=.*/\1 \2/') )
|
||||||
|
if [[ $_opts != "" ]]; then
|
||||||
|
_values 'options' $_opts && ret=0
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
return ret
|
||||||
112
.oh-my-zsh/plugins/bundler/bundler.plugin.zsh
Executable file
112
.oh-my-zsh/plugins/bundler/bundler.plugin.zsh
Executable file
@@ -0,0 +1,112 @@
|
|||||||
|
alias be="bundle exec"
|
||||||
|
alias bl="bundle list"
|
||||||
|
alias bp="bundle package"
|
||||||
|
alias bo="bundle open"
|
||||||
|
alias bout="bundle outdated"
|
||||||
|
alias bu="bundle update"
|
||||||
|
alias bi="bundle_install"
|
||||||
|
alias bcn="bundle clean"
|
||||||
|
|
||||||
|
bundled_commands=(
|
||||||
|
annotate
|
||||||
|
cap
|
||||||
|
capify
|
||||||
|
cucumber
|
||||||
|
foodcritic
|
||||||
|
guard
|
||||||
|
irb
|
||||||
|
jekyll
|
||||||
|
kitchen
|
||||||
|
knife
|
||||||
|
middleman
|
||||||
|
nanoc
|
||||||
|
pry
|
||||||
|
puma
|
||||||
|
rackup
|
||||||
|
rainbows
|
||||||
|
rake
|
||||||
|
rspec
|
||||||
|
shotgun
|
||||||
|
sidekiq
|
||||||
|
spec
|
||||||
|
spork
|
||||||
|
spring
|
||||||
|
strainer
|
||||||
|
tailor
|
||||||
|
taps
|
||||||
|
thin
|
||||||
|
thor
|
||||||
|
unicorn
|
||||||
|
unicorn_rails
|
||||||
|
)
|
||||||
|
|
||||||
|
# Remove $UNBUNDLED_COMMANDS from the bundled_commands list
|
||||||
|
for cmd in $UNBUNDLED_COMMANDS; do
|
||||||
|
bundled_commands=(${bundled_commands#$cmd});
|
||||||
|
done
|
||||||
|
|
||||||
|
# Add $BUNDLED_COMMANDS to the bundled_commands list
|
||||||
|
for cmd in $BUNDLED_COMMANDS; do
|
||||||
|
bundled_commands+=($cmd);
|
||||||
|
done
|
||||||
|
|
||||||
|
## Functions
|
||||||
|
|
||||||
|
bundle_install() {
|
||||||
|
if _bundler-installed && _within-bundled-project; then
|
||||||
|
local bundler_version=`bundle version | cut -d' ' -f3`
|
||||||
|
if [[ $bundler_version > '1.4.0' || $bundler_version = '1.4.0' ]]; then
|
||||||
|
if [[ "$OSTYPE" = darwin* ]]
|
||||||
|
then
|
||||||
|
local cores_num="$(sysctl -n hw.ncpu)"
|
||||||
|
else
|
||||||
|
local cores_num="$(nproc)"
|
||||||
|
fi
|
||||||
|
bundle install --jobs=$cores_num $@
|
||||||
|
else
|
||||||
|
bundle install $@
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Can't 'bundle install' outside a bundled project"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
_bundler-installed() {
|
||||||
|
which bundle > /dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
_within-bundled-project() {
|
||||||
|
local check_dir="$PWD"
|
||||||
|
while [ "$check_dir" != "/" ]; do
|
||||||
|
[ -f "$check_dir/Gemfile" ] && return
|
||||||
|
check_dir="$(dirname $check_dir)"
|
||||||
|
done
|
||||||
|
false
|
||||||
|
}
|
||||||
|
|
||||||
|
_binstubbed() {
|
||||||
|
[ -f "./bin/${1}" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
_run-with-bundler() {
|
||||||
|
if _bundler-installed && _within-bundled-project; then
|
||||||
|
if _binstubbed $1; then
|
||||||
|
./bin/$@
|
||||||
|
else
|
||||||
|
bundle exec $@
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
$@
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
## Main program
|
||||||
|
for cmd in $bundled_commands; do
|
||||||
|
eval "function unbundled_$cmd () { $cmd \$@ }"
|
||||||
|
eval "function bundled_$cmd () { _run-with-bundler $cmd \$@}"
|
||||||
|
alias $cmd=bundled_$cmd
|
||||||
|
|
||||||
|
if which _$cmd > /dev/null 2>&1; then
|
||||||
|
compdef _$cmd bundled_$cmd=$cmd
|
||||||
|
fi
|
||||||
|
done
|
||||||
13
.oh-my-zsh/plugins/bwana/bwana.plugin.zsh
Executable file
13
.oh-my-zsh/plugins/bwana/bwana.plugin.zsh
Executable file
@@ -0,0 +1,13 @@
|
|||||||
|
#
|
||||||
|
# Requires http://www.bruji.com/bwana/
|
||||||
|
#
|
||||||
|
if [[ -e /Applications/Bwana.app ]] ||
|
||||||
|
( system_profiler -detailLevel mini SPApplicationsDataType | grep -q Bwana )
|
||||||
|
then
|
||||||
|
function man() {
|
||||||
|
open "man:$1"
|
||||||
|
}
|
||||||
|
else
|
||||||
|
echo "Bwana lets you read man files in Safari through a man: URI scheme"
|
||||||
|
echo "To use it within Zsh, install it from http://www.bruji.com/bwana/"
|
||||||
|
fi
|
||||||
93
.oh-my-zsh/plugins/cabal/cabal.plugin.zsh
Executable file
93
.oh-my-zsh/plugins/cabal/cabal.plugin.zsh
Executable file
@@ -0,0 +1,93 @@
|
|||||||
|
function cabal_sandbox_info() {
|
||||||
|
cabal_files=(*.cabal(N))
|
||||||
|
if [ $#cabal_files -gt 0 ]; then
|
||||||
|
if [ -f cabal.sandbox.config ]; then
|
||||||
|
echo "%{$fg[green]%}sandboxed%{$reset_color%}"
|
||||||
|
else
|
||||||
|
echo "%{$fg[red]%}not sandboxed%{$reset_color%}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function _cabal_commands() {
|
||||||
|
local ret=1 state
|
||||||
|
_arguments ':subcommand:->subcommand' && ret=0
|
||||||
|
|
||||||
|
case $state in
|
||||||
|
subcommand)
|
||||||
|
subcommands=(
|
||||||
|
"bench:Run the benchmark, if any (configure with UserHooks)"
|
||||||
|
"build:Compile all targets or specific target."
|
||||||
|
"check:Check the package for common mistakes"
|
||||||
|
"clean:Clean up after a build"
|
||||||
|
"copy:Copy the files into the install locations"
|
||||||
|
"configure:Prepare to build the package"
|
||||||
|
"exec:Run a command with the cabal environment"
|
||||||
|
"fetch:Downloads packages for later installation"
|
||||||
|
"freeze:Freeze dependencies."
|
||||||
|
"get:Gets a package's source code"
|
||||||
|
"haddock:Generate Haddock HTML documentation"
|
||||||
|
"help:Help about commands"
|
||||||
|
"hscolour:Generate HsColour colourised code, in HTML format"
|
||||||
|
"info:Display detailed information about a particular package"
|
||||||
|
"init:Interactively create a .cabal file"
|
||||||
|
"install:Installs a list of packages"
|
||||||
|
"list:List packages matching a search string"
|
||||||
|
"register:Register this package with the compiler"
|
||||||
|
"repl:Open an interpreter session for the given target"
|
||||||
|
"report:Upload build reports to a remote server"
|
||||||
|
"run:Runs the compiled executable"
|
||||||
|
"sandbox:Create/modify/delete a sandbox"
|
||||||
|
"sdist:Generate a source distribution file (.tar.gz)"
|
||||||
|
"test:Run the test suite, if any (configure with UserHooks)"
|
||||||
|
"unpack:Unpacks packages for user inspection"
|
||||||
|
"update:Updates list of known packages"
|
||||||
|
"upload:Uploads source packages to Hackage"
|
||||||
|
)
|
||||||
|
_describe -t subcommands 'cabal subcommands' subcommands && ret=0
|
||||||
|
esac
|
||||||
|
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
compdef _cabal_commands cabal
|
||||||
|
|
||||||
|
function _cab_commands() {
|
||||||
|
local ret=1 state
|
||||||
|
_arguments ':subcommand:->subcommand' && ret=0
|
||||||
|
|
||||||
|
case $state in
|
||||||
|
subcommand)
|
||||||
|
subcommands=(
|
||||||
|
"sync:Fetch the latest package index"
|
||||||
|
"install:Install packages"
|
||||||
|
"uninstall:Uninstall packages"
|
||||||
|
"installed:List installed packages"
|
||||||
|
"configure:Configure a cabal package"
|
||||||
|
"build:Build a cabal package"
|
||||||
|
"clean:Clean up a build directory"
|
||||||
|
"outdated:Display outdated packages"
|
||||||
|
"info:Display information of a package"
|
||||||
|
"sdist:Make tar.gz for source distribution"
|
||||||
|
"upload:Uploading tar.gz to HackageDB"
|
||||||
|
"get:Untar a package in the current directory"
|
||||||
|
"deps:Show dependencies of this package"
|
||||||
|
"revdeps:Show reverse dependencies of this package"
|
||||||
|
"check:Check consistency of packages"
|
||||||
|
"genpaths:Generate Paths_<pkg>.hs"
|
||||||
|
"search:Search available packages by package name"
|
||||||
|
"add:Add a source directory"
|
||||||
|
"test:Run tests"
|
||||||
|
"bench:Run benchmarks"
|
||||||
|
"doc:Generate manuals"
|
||||||
|
"ghci:Run GHCi (with a sandbox)"
|
||||||
|
"init:Initialize a sandbox"
|
||||||
|
"help:Display the help message of the command"
|
||||||
|
)
|
||||||
|
_describe -t subcommands 'cab subcommands' subcommands && ret=0
|
||||||
|
esac
|
||||||
|
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
command -v cab >/dev/null 2>&1 && { compdef _cab_commands cab }
|
||||||
33
.oh-my-zsh/plugins/cake/cake.plugin.zsh
Executable file
33
.oh-my-zsh/plugins/cake/cake.plugin.zsh
Executable file
@@ -0,0 +1,33 @@
|
|||||||
|
# Set this to 1 if you want to cache the tasks
|
||||||
|
_cake_cache_task_list=1
|
||||||
|
|
||||||
|
# Cache filename
|
||||||
|
_cake_task_cache_file='.cake_task_cache'
|
||||||
|
|
||||||
|
_cake_get_target_list () {
|
||||||
|
cake | grep '^cake ' | sed -e "s/cake \([^ ]*\) .*/\1/" | grep -v '^$'
|
||||||
|
}
|
||||||
|
|
||||||
|
_cake_does_target_list_need_generating () {
|
||||||
|
|
||||||
|
if [ ${_cake_cache_task_list} -eq 0 ]; then
|
||||||
|
return 1;
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ ! -f ${_cake_task_cache_file} ] && return 0;
|
||||||
|
[ Cakefile -nt ${_cake_task_cache_file} ] && return 0;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
_cake () {
|
||||||
|
if [ -f Cakefile ]; then
|
||||||
|
if _cake_does_target_list_need_generating; then
|
||||||
|
_cake_get_target_list > ${_cake_task_cache_file}
|
||||||
|
compadd `cat ${_cake_task_cache_file}`
|
||||||
|
else
|
||||||
|
compadd `_cake_get_target_list`
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
compdef _cake cake
|
||||||
38
.oh-my-zsh/plugins/cakephp3/cakephp3.plugin.zsh
Executable file
38
.oh-my-zsh/plugins/cakephp3/cakephp3.plugin.zsh
Executable file
@@ -0,0 +1,38 @@
|
|||||||
|
# CakePHP 3 basic command completion
|
||||||
|
_cakephp3_get_command_list () {
|
||||||
|
bin/cake Completion commands
|
||||||
|
}
|
||||||
|
|
||||||
|
_cakephp3_get_sub_command_list () {
|
||||||
|
bin/cake Completion subcommands ${words[2]}
|
||||||
|
}
|
||||||
|
|
||||||
|
_cakephp3_get_3rd_argument () {
|
||||||
|
bin/cake ${words[2]} ${words[3]} | \grep '\-\ '| \awk '{print $2}'
|
||||||
|
}
|
||||||
|
|
||||||
|
_cakephp3 () {
|
||||||
|
local -a has3rdargument
|
||||||
|
has3rdargument=("all" "controller" "fixture" "model" "template")
|
||||||
|
if [ -f bin/cake ]; then
|
||||||
|
if (( CURRENT == 2 )); then
|
||||||
|
compadd $(_cakephp3_get_command_list)
|
||||||
|
fi
|
||||||
|
if (( CURRENT == 3 )); then
|
||||||
|
compadd $(_cakephp3_get_sub_command_list)
|
||||||
|
fi
|
||||||
|
if (( CURRENT == 4 )); then
|
||||||
|
if [[ ${has3rdargument[(i)${words[3]}]} -le ${#has3rdargument} ]]; then
|
||||||
|
compadd $(_cakephp3_get_3rd_argument)
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
compdef _cakephp3 bin/cake
|
||||||
|
compdef _cakephp3 cake
|
||||||
|
|
||||||
|
#Alias
|
||||||
|
alias c3='bin/cake'
|
||||||
|
alias c3cache='bin/cake orm_cache clear'
|
||||||
|
alias c3migrate='bin/cake migrations migrate'
|
||||||
49
.oh-my-zsh/plugins/capistrano/_capistrano
Executable file
49
.oh-my-zsh/plugins/capistrano/_capistrano
Executable file
@@ -0,0 +1,49 @@
|
|||||||
|
#compdef capit
|
||||||
|
#autoload
|
||||||
|
|
||||||
|
# Added `capit` because `cap` is a reserved word. `cap` completion doesn't work.
|
||||||
|
# http://zsh.sourceforge.net/Doc/Release/Zsh-Modules.html#The-zsh_002fcap-Module
|
||||||
|
|
||||||
|
local curcontext="$curcontext" state line ret=1
|
||||||
|
local -a _configs
|
||||||
|
|
||||||
|
_arguments -C \
|
||||||
|
'1: :->cmds' \
|
||||||
|
'2:: :->args' && ret=0
|
||||||
|
|
||||||
|
_cap_tasks() {
|
||||||
|
if [[ -f config/deploy.rb || -f Capfile ]]; then
|
||||||
|
if [[ ! -f .cap_tasks~ ]]; then
|
||||||
|
capit --tasks | sed 's/\(\[\)\(.*\)\(\]\)/\2:/' | awk '{command=$2; $1=$2=$3=""; gsub(/^[ \t\r\n]+/, "", $0); gsub(":", "\\:", command); print command"["$0"]"}' > .cap_tasks~
|
||||||
|
fi
|
||||||
|
|
||||||
|
OLD_IFS=$IFS
|
||||||
|
IFS=$'\n'
|
||||||
|
_values 'cap commands' $(< .cap_tasks~)
|
||||||
|
IFS=$OLD_IFS
|
||||||
|
# zmodload zsh/mapfile
|
||||||
|
# _values ${(f)mapfile[.cap_tasks~]}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
_cap_stages() {
|
||||||
|
compadd $(find config/deploy -name \*.rb | cut -d/ -f3 | sed s:.rb::g)
|
||||||
|
}
|
||||||
|
|
||||||
|
case $state in
|
||||||
|
cmds)
|
||||||
|
# check if it uses multistage
|
||||||
|
if [[ -d config/deploy ]]; then
|
||||||
|
_cap_stages
|
||||||
|
else
|
||||||
|
_cap_tasks
|
||||||
|
fi
|
||||||
|
ret=0
|
||||||
|
;;
|
||||||
|
args)
|
||||||
|
_cap_tasks
|
||||||
|
ret=0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
return ret
|
||||||
11
.oh-my-zsh/plugins/capistrano/capistrano.plugin.zsh
Executable file
11
.oh-my-zsh/plugins/capistrano/capistrano.plugin.zsh
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
# Added `shipit` because `cap` is a reserved word. `cap` completion doesn't work.
|
||||||
|
# http://zsh.sourceforge.net/Doc/Release/Zsh-Modules.html#The-zsh_002fcap-Module
|
||||||
|
|
||||||
|
func capit() {
|
||||||
|
if [ -f Gemfile ]
|
||||||
|
then
|
||||||
|
bundle exec cap $*
|
||||||
|
else
|
||||||
|
cap $*
|
||||||
|
fi
|
||||||
|
}
|
||||||
11
.oh-my-zsh/plugins/cargo/README.md
Executable file
11
.oh-my-zsh/plugins/cargo/README.md
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
# cargo
|
||||||
|
|
||||||
|
This plugin adds completion for the Rust build tool [`cargo`](https://github.com/rust-lang/cargo).
|
||||||
|
|
||||||
|
To use it, add `cargo` to the plugins array in your zshrc file:
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
plugins=(... cargo)
|
||||||
|
```
|
||||||
|
|
||||||
|
Updated on October 4th, 2016.
|
||||||
497
.oh-my-zsh/plugins/cargo/_cargo
Executable file
497
.oh-my-zsh/plugins/cargo/_cargo
Executable file
@@ -0,0 +1,497 @@
|
|||||||
|
#compdef cargo
|
||||||
|
|
||||||
|
typeset -A opt_args
|
||||||
|
autoload -U regexp-replace
|
||||||
|
|
||||||
|
_cargo() {
|
||||||
|
|
||||||
|
_arguments \
|
||||||
|
'(- 1 *)'{-h,--help}'[show help message]' \
|
||||||
|
'(- 1 *)'--list'[list installed commands]' \
|
||||||
|
'(- 1 *)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
'(- 1 *)'--color'[colorization option]' \
|
||||||
|
'(- 1 *)'{-V,--version}'[show version information]' \
|
||||||
|
'1: :_cargo_cmds' \
|
||||||
|
'*:: :->args'
|
||||||
|
|
||||||
|
case $state in
|
||||||
|
args)
|
||||||
|
case $words[1] in
|
||||||
|
bench)
|
||||||
|
_arguments \
|
||||||
|
'--features=[space separated feature list]' \
|
||||||
|
'--all-features[enable all available features]' \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'(-j, --jobs)'{-j,--jobs}'[number of parallel jobs, defaults to # of CPUs]' \
|
||||||
|
"${command_scope_spec[@]}" \
|
||||||
|
'--manifest-path=[path to manifest]: :_files -/' \
|
||||||
|
'--no-default-features[do not build the default features]' \
|
||||||
|
'--no-run[compile but do not run]' \
|
||||||
|
'(-p,--package)'{-p=,--package=}'[package to run benchmarks for]:packages:_get_package_names' \
|
||||||
|
'--target=[target triple]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
build)
|
||||||
|
_arguments \
|
||||||
|
'--features=[space separated feature list]' \
|
||||||
|
'--all-features[enable all available features]' \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'(-j, --jobs)'{-j,--jobs}'[number of parallel jobs, defaults to # of CPUs]' \
|
||||||
|
"${command_scope_spec[@]}" \
|
||||||
|
'--manifest-path=[path to manifest]: :_files -/' \
|
||||||
|
'--no-default-features[do not build the default features]' \
|
||||||
|
'(-p,--package)'{-p=,--package=}'[package to build]:packages:_get_package_names' \
|
||||||
|
'--release=[build in release mode]' \
|
||||||
|
'--target=[target triple]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
clean)
|
||||||
|
_arguments \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'--manifest-path=[path to manifest]: :_files -/' \
|
||||||
|
'(-p,--package)'{-p=,--package=}'[package to clean]:packages:_get_package_names' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'--release[whether or not to clean release artifacts]' \
|
||||||
|
'--target=[target triple(default:all)]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
doc)
|
||||||
|
_arguments \
|
||||||
|
'--features=[space separated feature list]' \
|
||||||
|
'--all-features[enable all available features]' \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'(-j, --jobs)'{-j,--jobs}'[number of parallel jobs, defaults to # of CPUs]' \
|
||||||
|
'--manifest-path=[path to manifest]: :_files -/' \
|
||||||
|
'--no-deps[do not build docs for dependencies]' \
|
||||||
|
'--no-default-features[do not build the default features]' \
|
||||||
|
'--open[open docs in browser after the build]' \
|
||||||
|
'(-p, --package)'{-p,--package}'=[package to document]' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'--release[build artifacts in release mode, with optimizations]' \
|
||||||
|
'--target=[build for the target triple]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
fetch)
|
||||||
|
_arguments \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'--manifest-path=[path to manifest]: :_files -/' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
generate-lockfile)
|
||||||
|
_arguments \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'--manifest-path=[path to manifest]: :_files -/' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
git-checkout)
|
||||||
|
_arguments \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'q(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'--reference=[REF]' \
|
||||||
|
'--url=[URL]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
help)
|
||||||
|
_arguments \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'*: :_cargo_cmds' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
init)
|
||||||
|
_arguments \
|
||||||
|
'--bin[use binary template]' \
|
||||||
|
'--vcs:initialize a new repo with a given VCS:(git hg none)' \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'--name=[set the resulting package name]' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
install)
|
||||||
|
_arguments \
|
||||||
|
'--bin=[only install the specified binary]' \
|
||||||
|
'--branch=[branch to use when installing from git]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
'--debug[build in debug mode instead of release mode]' \
|
||||||
|
'--example[install the specified example instead of binaries]' \
|
||||||
|
'--features=[space separated feature list]' \
|
||||||
|
'--all-features[enable all available features]' \
|
||||||
|
'--git=[URL from which to install the crate]' \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'(-j, --jobs)'{-j,--jobs}'[number of parallel jobs, defaults to # of CPUs]' \
|
||||||
|
'--no-default-features[do not build the default features]' \
|
||||||
|
'--path=[local filesystem path to crate to install]' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'--rev=[specific commit to use when installing from git]' \
|
||||||
|
'--root=[directory to install packages into]' \
|
||||||
|
'--tag=[tag to use when installing from git]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
'--vers=[version to install from crates.io]' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
locate-project)
|
||||||
|
_arguments \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'--manifest-path=[path to manifest]: :_files -/' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
login)
|
||||||
|
_arguments \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'--host=[Host to set the token for]' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
metadata)
|
||||||
|
_arguments \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
"--no-deps[output information only about the root package and don't fetch dependencies]" \
|
||||||
|
'--no-default-features[do not include the default feature]' \
|
||||||
|
'--manifest-path=[path to manifest]: :_files -/' \
|
||||||
|
'--features=[space separated feature list]' \
|
||||||
|
'--all-features[enable all available features]' \
|
||||||
|
'--format-version=[format version(default: 1)]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
new)
|
||||||
|
_arguments \
|
||||||
|
'--bin[use binary template]' \
|
||||||
|
'--vcs:initialize a new repo with a given VCS:(git hg none)' \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'--name=[set the resulting package name]' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
owner)
|
||||||
|
_arguments \
|
||||||
|
'(-a, --add)'{-a,--add}'[add owner LOGIN]' \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'--index[registry index]' \
|
||||||
|
'(-l, --list)'{-l,--list}'[list owners of a crate]' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'(-r, --remove)'{-r,--remove}'[remove owner LOGIN]' \
|
||||||
|
'--token[API token to use when authenticating]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
package)
|
||||||
|
_arguments \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'(-l, --list)'{-l,--list}'[print files included in a package without making one]' \
|
||||||
|
'--manifest-path=[path to manifest]: :_files -/' \
|
||||||
|
'--no-metadata[ignore warnings about a lack of human-usable metadata]' \
|
||||||
|
'--no-verify[do not build to verify contents]' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
pkgid)
|
||||||
|
_arguments \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'--manifest-path=[path to manifest]: :_files -/' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
publish)
|
||||||
|
_arguments \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'--host=[Host to set the token for]' \
|
||||||
|
'--manifest-path=[path to manifest]: :_files -/' \
|
||||||
|
'--no-verify[Do not verify tarball until before publish]' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'--token[token to use when uploading]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
read-manifest)
|
||||||
|
_arguments \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'--manifest-path=[path to manifest]: :_files -/' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
run)
|
||||||
|
_arguments \
|
||||||
|
'--example=[name of the bin target]' \
|
||||||
|
'--features=[space separated feature list]' \
|
||||||
|
'--all-features[enable all available features]' \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'(-j, --jobs)'{-j,--jobs}'[number of parallel jobs, defaults to # of CPUs]' \
|
||||||
|
'--manifest-path=[path to manifest]: :_files -/' \
|
||||||
|
'--bin=[name of the bin target]' \
|
||||||
|
'--no-default-features[do not build the default features]' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'--release=[build in release mode]' \
|
||||||
|
'--target=[target triple]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
'*: :_normal' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
rustc)
|
||||||
|
_arguments \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
'--features=[features to compile for the package]' \
|
||||||
|
'--all-features[enable all available features]' \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'(-j, --jobs)'{-j,--jobs}'=[number of parallel jobs, defaults to # of CPUs]' \
|
||||||
|
'--manifest-path=[path to the manifest to fetch dependencies for]' \
|
||||||
|
'--no-default-features[do not compile default features for the package]' \
|
||||||
|
'(-p, --package)'{-p,--package}'=[profile to compile for]' \
|
||||||
|
'--profile=[profile to build the selected target for]' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'--release[build artifacts in release mode, with optimizations]' \
|
||||||
|
'--target=[target triple which compiles will be for]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
"${command_scope_spec[@]}" \
|
||||||
|
;;
|
||||||
|
|
||||||
|
rustdoc)
|
||||||
|
_arguments \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
'--features=[space-separated list of features to also build]' \
|
||||||
|
'--all-features[enable all available features]' \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'(-j, --jobs)'{-j,--jobs}'=[number of parallel jobs, defaults to # of CPUs]' \
|
||||||
|
'--manifest-path=[path to the manifest to document]' \
|
||||||
|
'--no-default-features[do not build the `default` feature]' \
|
||||||
|
'--open[open the docs in a browser after the operation]' \
|
||||||
|
'(-p, --package)'{-p,--package}'=[package to document]' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'--release[build artifacts in release mode, with optimizations]' \
|
||||||
|
'--target=[build for the target triple]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
"${command_scope_spec[@]}" \
|
||||||
|
;;
|
||||||
|
|
||||||
|
search)
|
||||||
|
_arguments \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'--host=[host of a registry to search in]' \
|
||||||
|
'--limit=[limit the number of results]' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
test)
|
||||||
|
_arguments \
|
||||||
|
'--features=[space separated feature list]' \
|
||||||
|
'--all-features[enable all available features]' \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'(-j, --jobs)'{-j,--jobs}'[number of parallel jobs, defaults to # of CPUs]' \
|
||||||
|
'--manifest-path=[path to manifest]: :_files -/' \
|
||||||
|
'--test=[test name]: :_test_names' \
|
||||||
|
'--no-default-features[do not build the default features]' \
|
||||||
|
'--no-fail-fast[run all tests regardless of failure]' \
|
||||||
|
'--no-run[compile but do not run]' \
|
||||||
|
'(-p,--package)'{-p=,--package=}'[package to run tests for]:packages:_get_package_names' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'--release[build artifacts in release mode, with optimizations]' \
|
||||||
|
'--target=[target triple]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
'1: :_test_names' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
uninstall)
|
||||||
|
_arguments \
|
||||||
|
'--bin=[only uninstall the binary NAME]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[less output printed to stdout]' \
|
||||||
|
'--root=[directory to uninstall packages from]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
update)
|
||||||
|
_arguments \
|
||||||
|
'--aggressive=[force dependency update]' \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'--manifest-path=[path to manifest]: :_files -/' \
|
||||||
|
'(-p,--package)'{-p=,--package=}'[package to update]:packages:__get_package_names' \
|
||||||
|
'--precise=[update single dependency to PRECISE]: :' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
verify-project)
|
||||||
|
_arguments \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'--manifest-path=[path to manifest]: :_files -/' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
version)
|
||||||
|
_arguments \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
;;
|
||||||
|
|
||||||
|
yank)
|
||||||
|
_arguments \
|
||||||
|
'(-h, --help)'{-h,--help}'[show help message]' \
|
||||||
|
'--index[registry index]' \
|
||||||
|
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
|
||||||
|
'--token[API token to use when authenticating]' \
|
||||||
|
'--undo[undo a yank, putting a version back into the index]' \
|
||||||
|
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
|
||||||
|
'--color=:colorization option:(auto always never)' \
|
||||||
|
'--vers[yank version]' \
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
_cargo_cmds(){
|
||||||
|
local -a commands;commands=(
|
||||||
|
'bench:execute all benchmarks of a local package'
|
||||||
|
'build:compile the current project'
|
||||||
|
'clean:remove generated artifacts'
|
||||||
|
'doc:build package documentation'
|
||||||
|
'fetch:fetch package dependencies'
|
||||||
|
'generate-lockfile:create lockfile'
|
||||||
|
'git-checkout:git checkout'
|
||||||
|
'help:get help for commands'
|
||||||
|
'init:create new project in current directory'
|
||||||
|
'install:install a Rust binary'
|
||||||
|
'locate-project:print "Cargo.toml" location'
|
||||||
|
'login:login to remote server'
|
||||||
|
'metadata:the metadata for a project in json'
|
||||||
|
'new:create a new project'
|
||||||
|
'owner:manage the owners of a crate on the registry'
|
||||||
|
'package:assemble local package into a distributable tarball'
|
||||||
|
'pkgid:print a fully qualified package specification'
|
||||||
|
'publish:upload package to the registry'
|
||||||
|
'read-manifest:print manifest in JSON format'
|
||||||
|
'run:run the main binary of the local package'
|
||||||
|
'rustc:compile a package and all of its dependencies'
|
||||||
|
'rustdoc:build documentation for a package'
|
||||||
|
'search:search packages on crates.io'
|
||||||
|
'test:execute all unit and tests of a local package'
|
||||||
|
'uninstall:remove a Rust binary'
|
||||||
|
'update:update dependencies'
|
||||||
|
'verify-project:check Cargo.toml'
|
||||||
|
'version:show version information'
|
||||||
|
'yank:remove pushed file from index'
|
||||||
|
)
|
||||||
|
_describe 'command' commands
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#FIXME: Disabled until fixed
|
||||||
|
#gets package names from the manifest file
|
||||||
|
_get_package_names()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#TODO:see if it makes sense to have 'locate-project' to have non-json output.
|
||||||
|
#strips package name from json stuff
|
||||||
|
_locate_manifest(){
|
||||||
|
local manifest=`cargo locate-project 2>/dev/null`
|
||||||
|
regexp-replace manifest '\{"root":"|"\}' ''
|
||||||
|
echo $manifest
|
||||||
|
}
|
||||||
|
|
||||||
|
# Extracts the values of "name" from the array given in $1 and shows them as
|
||||||
|
# command line options for completion
|
||||||
|
_get_names_from_array()
|
||||||
|
{
|
||||||
|
local -a filelist;
|
||||||
|
local manifest=$(_locate_manifest)
|
||||||
|
if [[ -z $manifest ]]; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
local last_line
|
||||||
|
local -a names;
|
||||||
|
local in_block=false
|
||||||
|
local block_name=$1
|
||||||
|
names=()
|
||||||
|
while read line
|
||||||
|
do
|
||||||
|
if [[ $last_line == "[[$block_name]]" ]]; then
|
||||||
|
in_block=true
|
||||||
|
else
|
||||||
|
if [[ $last_line =~ '.*\[\[.*' ]]; then
|
||||||
|
in_block=false
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $in_block == true ]]; then
|
||||||
|
if [[ $line =~ '.*name.*=' ]]; then
|
||||||
|
regexp-replace line '^.*name *= *|"' ""
|
||||||
|
names+=$line
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
last_line=$line
|
||||||
|
done < $manifest
|
||||||
|
_describe $block_name names
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#Gets the test names from the manifest file
|
||||||
|
_test_names()
|
||||||
|
{
|
||||||
|
_get_names_from_array "test"
|
||||||
|
}
|
||||||
|
|
||||||
|
#Gets the bench names from the manifest file
|
||||||
|
_benchmark_names()
|
||||||
|
{
|
||||||
|
_get_names_from_array "bench"
|
||||||
|
}
|
||||||
|
|
||||||
|
# These flags are mutally exclusive specifiers for the scope of a command; as
|
||||||
|
# they are used in multiple places without change, they are expanded into the
|
||||||
|
# appropriate command's `_arguments` where appropriate.
|
||||||
|
set command_scope_spec
|
||||||
|
command_scope_spec=(
|
||||||
|
'(--bin --example --test --lib)--bench=[benchmark name]: :_benchmark_names'
|
||||||
|
'(--bench --bin --test --lib)--example=[example name]'
|
||||||
|
'(--bench --example --test --lib)--bin=[binary name]'
|
||||||
|
'(--bench --bin --example --test)--lib=[library name]'
|
||||||
|
'(--bench --bin --example --lib)--test=[test name]'
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
_cargo
|
||||||
11
.oh-my-zsh/plugins/cask/README.md
Executable file
11
.oh-my-zsh/plugins/cask/README.md
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
# cask plugin
|
||||||
|
|
||||||
|
Loads `cask` completion from non-standard locations, such as if installed
|
||||||
|
via Homebrew or others. To enable it, add `cask` to your plugins array:
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
plugins=(... cask)
|
||||||
|
```
|
||||||
|
|
||||||
|
Make sure you have the `cask` directory in your `$PATH` before loading
|
||||||
|
Oh My Zsh, otherwise you'll get the "command not found" error.
|
||||||
26
.oh-my-zsh/plugins/cask/cask.plugin.zsh
Executable file
26
.oh-my-zsh/plugins/cask/cask.plugin.zsh
Executable file
@@ -0,0 +1,26 @@
|
|||||||
|
() {
|
||||||
|
emulate -L zsh
|
||||||
|
|
||||||
|
if ! (( $+commands[cask] )); then
|
||||||
|
print "zsh cask plugin: cask command not found" >&2
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
cask_base=${commands[cask]:h:h}
|
||||||
|
|
||||||
|
# Plain cask installation location (for Cask 0.7.2 and earlier)
|
||||||
|
comp_files=($cask_base/etc/cask_completion.zsh)
|
||||||
|
|
||||||
|
# Mac Homebrew installs the completion in a different location
|
||||||
|
if (( $+commands[brew] )); then
|
||||||
|
comp_files+=($(brew --prefix)/share/zsh/site-functions/cask_completion.zsh)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Load first found file
|
||||||
|
for f in $comp_files; do
|
||||||
|
if [[ -f "$f" ]]; then
|
||||||
|
source "$f"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user