diff --git a/dot.oh-my-zsh/README.textile b/dot.oh-my-zsh/README.textile new file mode 100644 index 0000000..0a4545b --- /dev/null +++ b/dot.oh-my-zsh/README.textile @@ -0,0 +1,89 @@ +A handful of functions, auto-complete helpers, and stuff that makes you shout... + + +bq. "OH MY ZSHELL!" + +h2. Setup + +@oh-my-zsh@ should work with any recent release of "zsh":http://www.zsh.org/, the minimum recommended version is 4.3.9. + +h3. The automatic installer... (do you trust me?) + +You can install this via the command line with either `curl` or `wget`. + +h4. via `curl` + +@curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh@ + +h4. via `wget` + +@wget --no-check-certificate https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh@ + +h3. The manual way + + +1. Clone the repository + + @git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh@ + +2. *OPTIONAL* Backup your existing ~/.zshrc file + + @cp ~/.zshrc ~/.zshrc.orig@ + +3. Create a new zsh config by copying the zsh template we've provided. + + @cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc@ + + +4. Set zsh as your default shell: + + @chsh -s /bin/zsh@ + +5. Start / restart zsh (open a new terminal is easy enough...) + +h3. Problems? + +You _might_ need to modify your PATH in ~/.zshrc if you're not able to find some commands after switching to _Oh My Zsh_. + +h2. Usage + +* enable the plugins you want in your @~/.zshrc@ (take a look at @plugins/@ to see what's possible) +** example: @plugins=(git osx ruby)@ +* Theme support: Change the @ZSH_THEME@ environment variable in @~/.zshrc@. +** Take a look at the "current themes":https://wiki.github.com/robbyrussell/oh-my-zsh/themes that come bundled with _Oh My Zsh_. +* much much more... take a look at @lib/@ what _Oh My Zsh_ offers... + +h2. Useful + +the "refcard":http://www.bash2zsh.com/zsh_refcard/refcard.pdf is pretty tasty for tips. + +h3. Customization + +If you want to override any of the default behavior, just add a new file (ending in @.zsh@) into the @custom/@ directory. +If you have many functions which go well together you can put them as a *.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/@. + + +h3. Uninstalling + +If you want to uninstall it, just run @uninstall_oh_my_zsh@ from the command line and it'll remove itself and revert you to bash (or your previous zsh config). + +h2. Help out! + +I'm far from being a zsh-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! + +h3. (Don't) Send us your theme! (for now) + +-I'm hoping to collect a bunch of themes for our command prompts. You can see existing ones in the @themes/@ directory.- + +We have enough themes for the time being. Please fork the project and add on in there, you can let people know how to grab it from there. + + + +h2. Contributors + +This project wouldn't exist without all of our awesome users and contributors. + +* "View our growing list of contributors":https://github.com/robbyrussell/oh-my-zsh/contributors + +Thank you so much! diff --git a/dot.oh-my-zsh/cache/modules-3.6.10-1-ARCH b/dot.oh-my-zsh/cache/modules-3.6.10-1-ARCH new file mode 100644 index 0000000..2cdc3c6 --- /dev/null +++ b/dot.oh-my-zsh/cache/modules-3.6.10-1-ARCH @@ -0,0 +1 @@ +modules=( '3c574_cs' '3c589_cs' '3c59x' '3w-9xxx' '3w-sas' '3w-xxxx' '6lowpan' '6pack' '8021q' '8139cp' '8139too' '8255' '8390' '9p' '9pnet' '9pnet_virtio' 'a100u2w' 'a3d' 'a8293' 'aacraid' 'abituguru' 'abituguru3' 'ablk_helper' 'ac' 'ac97_bus' 'acard-ahci' 'acecad' 'acenic' 'acerhdf' 'acer-wmi' 'acpi-cpufreq' 'acpi_ipmi' 'acpi_memhotplug' 'acpi_pad' 'acpiphp' 'acpiphp_ibm' 'acpi_power_meter' 'acquirewdt' 'act200l-sir' 'act_csum' 'act_gact' 'act_ipt' 'actisys-sir' 'act_mirred' 'act_nat' 'act_pedit' 'act_police' 'act_simple' 'act_skbedit' 'ad525x_dpot' 'ad525x_dpot-i2c' 'ad714x' 'ad714x-i2c' 'ad7414' 'ad7418' 'ad7879' 'ad7879-i2c' 'addi_apci_035' 'addi_apci_1032' 'addi_apci_1500' 'addi_apci_1516' 'addi_apci_1564' 'addi_apci_16xx' 'addi_apci_2016' 'addi_apci_2032' 'addi_apci_2200' 'addi_apci_3001' 'addi_apci_3120' 'addi_apci_3501' 'addi_apci_3xxx' 'adi' 'adl_pci6208' 'adl_pci7230' 'adl_pci7296' 'adl_pci7432' 'adl_pci8164' 'adl_pci9111' 'adl_pci9118' 'adm1021' 'adm1025' 'adm1026' 'adm1029' 'adm1031' 'adm1275' 'adm8211' 'adm9240' 'adp1653' 'adp5588-keys' 'adp5589-keys' 'ads1015' 'ads7828' 'adt7411' 'adt7462' 'adt7470' 'adt7475' 'adutux' 'adv7170' 'adv7175' 'adv7180' 'adv7183' 'adv7343' 'adv7393' 'advansys' 'advantechwdt' 'adv_pci1710' 'adv_pci1723' 'adv_pci_dio' 'adxl34x' 'adxl34x-i2c' 'aes_generic' 'aesni-intel' 'aes-x86_64' 'af_802154' 'af9013' 'af9033' 'af_alg' 'affs' 'af_key' 'af-rxrpc' 'ah4' 'ah6' 'aha152x_cs' 'ahci' 'ahci_platform' 'aic79xx' 'aic7xxx' 'aic94xx' 'aiptek' 'aircable' 'airo' 'airo_cs' 'ak881x' 'alauda' 'algif_hash' 'algif_skcipher' 'ali-ircc' 'alim1535_wdt' 'alim7101_wdt' 'altera-ci' 'altera_jtaguart' 'altera_ps2' 'altera-stapl' 'altera_uart' 'ambassador' 'amc6821' 'amd' 'amd5536udc' 'amd64_edac_mod' 'amd8111e' 'amd_iommu_v2' 'amd-rng' 'amilo-rfkill' 'amplc_dio200' 'amplc_pc236' 'amplc_pc263' 'amplc_pci224' 'amplc_pci230' 'analog' 'ansi_cprng' 'anubis' 'aoe' 'apanel' 'apds9802als' 'apds990x' 'apple_bl' 'appledisplay' 'apple-gmux' 'applesmc' 'appletalk' 'appletouch' 'applicom' 'aptina-pll' 'ar7part' 'arc4' 'arcmsr' 'arizona-i2c' 'ark3116' 'arptable_filter' 'arp_tables' 'arpt_mangle' 'as3645a' 'as5011' 'asb100' 'asc7621' 'asix' 'ast' 'asus_atk0110' 'asus-laptop' 'asus-nb-wmi' 'asus_oled' 'asus-wmi' 'async_memcpy' 'async_pq' 'async_raid6_recov' 'async_tx' 'async_xor' 'at24' 'at76c50x-usb' 'ata_generic' 'ata_piix' 'atbm8830' 'ath' 'ath3k' 'ath5k' 'ath6kl_core' 'ath6kl_sdio' 'ath6kl_usb' 'ath9k' 'ath9k_common' 'ath9k_htc' 'ath9k_hw' 'ati_remote' 'ati_remote2' 'atl1' 'atl1c' 'atl1e' 'atl2' 'atlas_btns' 'atm' 'atmel' 'atmel_cs' 'atmel_mxt_ts' 'atmel_pci' 'atmtcp' 'atp' 'atp870u' 'atxp1' 'au0828' 'au8522_common' 'au8522_decoder' 'au8522_dig' 'auo-pixcir-ts' 'authenc' 'authencesn' 'auth_rpcgss' 'avma1_cs' 'avm_cs' 'avmfritz' 'ax25' 'axnet_cs' 'b1' 'b1dma' 'b1pci' 'b1pcmcia' 'b2c2-flexcop' 'b2c2-flexcop-pci' 'b2c2-flexcop-usb' 'b43' 'b43legacy' 'b44' 'bas_gigaset' 'batman-adv' 'battery' 'baycom_par' 'baycom_ser_fdx' 'baycom_ser_hdx' 'bch' 'bcm203x' 'bcm3510' 'bcm5974' 'bcm87xx' 'bcma' 'bcm_wimax' 'be2iscsi' 'be2net' 'befs' 'belkin_sa' 'bfa' 'bfusb' 'bgrt' 'bh1770glc' 'bh1780gli' 'block2mtd' 'blowfish_common' 'blowfish_generic' 'blowfish-x86_64' 'bluecard_cs' 'bluetooth' 'bma150' 'bmp085-i2c' 'bna' 'bnep' 'bnx2' 'bnx2fc' 'bnx2i' 'bnx2x' 'bonding' 'bpa10x' 'bpqether' 'br2684' 'brcmfmac' 'brcmsmac' 'brcmutil' 'brd' 'bridge' 'broadcom' 'bsd_comp' 'bt3c_cs' 'bt819' 'bt856' 'bt866' 'bt878' 'btcx-risc' 'btmrvl' 'btmrvl_sdio' 'btrfs' 'btsdio' 'bttv' 'btuart_cs' 'btusb' 'btwilink' 'bu21013_ts' 'budget' 'budget-av' 'budget-ci' 'budget-core' 'budget-patch' 'BusLogic' 'button' 'c2port-duramar2150' 'c4' 'c67x00' 'cachefiles' 'caif' 'caif_hsi' 'caif_serial' 'caif_socket' 'caif_usb' 'camellia_generic' 'camellia-x86_64' 'capi' 'capidrv' 'carl9170' 'cassini' 'cast5' 'cast6' 'catc' 'cb710' 'cb710-mmc' 'cbc' 'cb_das16_cs' 'cb_pcidas' 'cb_pcidas64' 'cb_pcidda' 'cb_pcidio' 'cb_pcimdas' 'cb_pcimdda' 'cciss' 'ccm' 'cdc-acm' 'cdc_eem' 'cdc_ether' 'cdc_ncm' 'cdc-phonet' 'cdc_subset' 'cdc-wdm' 'cdrom' 'ceph' 'cfag12864b' 'cfag12864bfb' 'cfg80211' 'cfi_cmdset_0001' 'cfi_cmdset_0002' 'cfi_cmdset_0020' 'cfi_probe' 'cfi_util' 'cfspi_slave' 'ch' 'ch341' 'ch7006' 'chipreg' 'chnl_net' 'ci13xxx_msm' 'ci13xxx_pci' 'cicada' 'cifs' 'ci_hdrc' 'cirrus' 'classmate-laptop' 'clearpad_tm1217' 'clip' 'cls_basic' 'cls_flow' 'cls_fw' 'cls_route' 'cls_rsvp' 'cls_rsvp6' 'cls_tcindex' 'cls_u32' 'cm109' 'cm4000_cs' 'cm4040_cs' 'cma3000_d0x' 'cma3000_d0x_i2c' 'cnic' 'cobra' 'coda' 'comedi' 'comedi_bond' 'comedi_fc' 'comedi_parport' 'comedi_test' 'compal-laptop' 'configfs' 'container' 'contec_pci_dio' 'cordic' 'core' 'coretemp' 'cp210x' 'cpcihp_generic' 'cpcihp_zt5550' 'cpia2' 'cpqarray' 'cpu5wdt' 'cpufreq_conservative' 'cpufreq_powersave' 'cpufreq_stats' 'cpufreq_userspace' 'cpuid' 'cramfs' 'crc16' 'crc32c' 'crc32c-intel' 'crc7' 'crc8' 'crc-ccitt' 'crc-itu-t' 'crc-t10dif' 'cryptd' 'cryptoloop' 'crypto_null' 'crypto_user' 'crystalhd' 'cs5345' 'cs53l32a' 'cs5535-clockevt' 'cs5535-mfd' 'cs5535-mfgpt' 'csr_helper' 'csr_wifi' 'ct82c710' 'ctr' 'cts' 'cuse' 'custom_method' 'cx18' 'cx18-alsa' 'cx22700' 'cx22702' 'cx231xx' 'cx231xx-alsa' 'cx231xx-dvb' 'cx2341x' 'cx23885' 'cx24110' 'cx24113' 'cx24116' 'cx24123' 'cx25821' 'cx25821-alsa' 'cx25840' 'cx82310_eth' 'cx8800' 'cx8802' 'cx88-alsa' 'cx88-blackbird' 'cx88-dvb' 'cx88-vp3054-i2c' 'cx88xx' 'cxacru' 'cxd2099' 'cxd2820r' 'cxgb' 'cxgb3' 'cxgb3i' 'cxgb4' 'cxgb4i' 'cxgb4vf' 'cy8ctmg110_ts' 'cyberjack' 'cyclades' 'cypress_cy7c63' 'cypress_m8' 'cytherm' 'cyttsp_core' 'cyttsp_i2c' 'DAC960' 'daqboard2000' 'das08' 'das08_cs' 'davicom' 'db9' 'dc395x' 'dca' 'dccp' 'dccp_diag' 'dccp_ipv4' 'dccp_ipv6' 'dccp_probe' 'dcdbas' 'ddbridge' 'de2104x' 'de4x5' 'de600' 'de620' 'deflate' 'dell-laptop' 'dell-led' 'dell_rbu' 'dell-wmi' 'dell-wmi-aio' 'des_generic' 'dib0070' 'dib0090' 'dib3000mb' 'dib3000mc' 'dib7000m' 'dib7000p' 'dib8000' 'dibx000_common' 'digi_acceleport' 'diskonchip' 'divacapi' 'divadidd' 'diva_idi' 'diva_mnt' 'divas' 'dl2k' 'dlm' 'dm1105' 'dm9601' 'dm-bufio' 'dm-crypt' 'dm-delay' 'dme1737' 'dmfe' 'dm-flakey' 'dmi-sysfs' 'dm-log' 'dm-log-userspace' 'dm-mirror' 'dm-mod' 'dm-multipath' 'dm-persistent-data' 'dm-queue-length' 'dm-raid' 'dm-region-hash' 'dm-round-robin' 'dm-service-time' 'dm-snapshot' 'dm-thin-pool' 'dm-verity' 'dmx3191d' 'dm-zero' 'dnet' 'docg3' 'docg4' 'dp83640' 'dpt_i2o' 'drbd' 'drm' 'drm_kms_helper' 'drm_usb' 'drxd' 'drxk' 'ds1621' 'ds1682' 'ds3000' 'ds620' 'dsbr100' 'dss1_divert' 'dst' 'dst_ca' 'dt3000' 'dt3155v4l' 'dt9812' 'dtl1_cs' 'dummy' 'dummy_hcd' 'dvb-as102' 'dvb-bt8xx' 'dvb-core' 'dvb-pll' 'dvb-ttpci' 'dvb-ttusb-budget' 'dvb-usb' 'dvb-usb-a800' 'dvb-usb-af9005' 'dvb-usb-af9005-remote' 'dvb-usb-af9015' 'dvb-usb-af9035' 'dvb-usb-anysee' 'dvb-usb-au6610' 'dvb-usb-az6007' 'dvb-usb-az6027' 'dvb-usb-ce6230' 'dvb-usb-cinergyT2' 'dvb-usb-cxusb' 'dvb-usb-dib0700' 'dvb-usb-dibusb-common' 'dvb-usb-dibusb-mb' 'dvb-usb-dibusb-mc' 'dvb-usb-digitv' 'dvb-usb-dtt200u' 'dvb-usb-dtv5100' 'dvb-usb-dw2102' 'dvb-usb-ec168' 'dvb-usb-friio' 'dvb-usb-gl861' 'dvb-usb-gp8psk' 'dvb-usb-it913x' 'dvb-usb-lmedm04' 'dvb-usb-m920x' 'dvb-usb-mxl111sf' 'dvb-usb-nova-t-usb2' 'dvb-usb-opera' 'dvb-usb-pctv452e' 'dvb-usb-rtl28xxu' 'dvb-usb-technisat-usb2' 'dvb-usb-ttusb2' 'dvb-usb-umt-010' 'dvb-usb-vp702x' 'dvb-usb-vp7045' 'dyna_pci10xx' 'dynapro' 'e100' 'e1000' 'e1000e' 'e752x_edac' 'earth-pt1' 'easycap' 'eata' 'ebt_802_3' 'ebtable_broute' 'ebtable_filter' 'ebtable_nat' 'ebtables' 'ebt_among' 'ebt_arp' 'ebt_arpreply' 'ebt_dnat' 'ebt_ip' 'ebt_ip6' 'ebt_limit' 'ebt_log' 'ebt_mark' 'ebt_mark_m' 'ebt_nflog' 'ebt_pkttype' 'ebt_redirect' 'ebt_snat' 'ebt_stp' 'ebt_ulog' 'ebt_vlan' 'ec100' 'ecb' 'echo' 'ecryptfs' 'ec_sys' 'edac_core' 'edac_mce_amd' 'edd' 'edt-ft5x06' 'eeepc-laptop' 'eeepc-wmi' 'eeprom' 'eeprom_93cx6' 'eeti_ts' 'efivars' 'egalax_ts' 'ehci-hcd' 'einj' 'elo' 'elsa_cs' 'em28xx' 'em28xx-alsa' 'em28xx-dvb' 'em28xx-rc' 'emc1403' 'emc2103' 'emc6w201' 'emi26' 'emi62' 'empeg' 'emu10k1-gp' 'enclosure' 'encrypted-keys' 'ene_ir' 'eni' 'enic' 'epic100' 'eql' 'erst-dbg' 'esi-sir' 'esp4' 'esp6' 'et1011c' 'et131x' 'ethoc' 'eurotechwdt' 'evdev' 'exofs' 'ext4' 'extcon-arizona' 'extcon_class' 'extcon_gpio' 'f71805f' 'f71808e_wdt' 'f71882fg' 'f75375s' 'f81232' 'fakehard' 'fakelb' 'fakephp' 'fam15h_power' 'fan' 'fat' 'faulty' 'fb_sys_fops' 'fc0011' 'fc0012' 'fc0013' 'fcoe' 'fcrypt' 'fdomain' 'fdomain_cs' 'fealnx' 'ff-memless' 'fintek-cir' 'firedtv' 'firestream' 'firewire-core' 'firewire-net' 'firewire-ohci' 'firewire-sbp2' 'floppy' 'fm801-gp' 'fm_drv' 'fmvj18x_cs' 'fnic' 'forcedeth' 'fore_200e' 'fsa9480' 'fscache' 'fschmd' 'ft1000' 'ft1000_pcmcia' 'ftdi-elan' 'ftdi_sio' 'ftl' 'fujitsu-laptop' 'fujitsu-tablet' 'fujitsu_ts' 'funsoft' 'fuse' 'g760a' 'gadgetfs' 'gamecon' 'gameport' 'garmin_gps' 'g_audio' 'gcm' 'g_dbgp' 'gdmwm' 'gdth' 'gen_probe' 'geodewdt' 'g_ether' 'gf128mul' 'gf2k' 'g_ffs' 'g_file_storage' 'gfs2' 'ghash-clmulni-intel' 'ghash-generic' 'g_hid' 'gigaset' 'girbil-sir' 'gl518sm' 'gl520sm' 'gl620a' 'glue_helper' 'gma500_gfx' 'g_midi' 'g_ncm' 'go7007' 'go7007-usb' 'goku_udc' 'gp2ap002a00f' 'gpio-amd8111' 'gpio-arizona' 'gpio-cs5535' 'gpio-ich' 'gpio-ir-recv' 'gpio-sch' 'g_printer' 'gre' 'grip' 'grip_mp' 'gsc_hpdi' 'g_serial' 'gspca_benq' 'gspca_conex' 'gspca_cpia1' 'gspca_etoms' 'gspca_finepix' 'gspca_gl860' 'gspca_jeilinj' 'gspca_jl2005bcd' 'gspca_kinect' 'gspca_konica' 'gspca_m5602' 'gspca_main' 'gspca_mars' 'gspca_mr97310a' 'gspca_nw80x' 'gspca_ov519' 'gspca_ov534' 'gspca_ov534_9' 'gspca_pac207' 'gspca_pac7302' 'gspca_pac7311' 'gspca_se401' 'gspca_sn9c2028' 'gspca_sn9c20x' 'gspca_sonixb' 'gspca_sonixj' 'gspca_spca1528' 'gspca_spca500' 'gspca_spca501' 'gspca_spca505' 'gspca_spca506' 'gspca_spca508' 'gspca_spca561' 'gspca_sq905' 'gspca_sq905c' 'gspca_sq930x' 'gspca_stk014' 'gspca_stv0680' 'gspca_stv06xx' 'gspca_sunplus' 'gspca_t613' 'gspca_topro' 'gspca_tv8532' 'gspca_vc032x' 'gspca_vicam' 'gspca_xirlink_cit' 'gspca_zc3xx' 'gtco' 'guillemot' 'gunze' 'g_webcam' 'hamachi' 'hampshire' 'hangcheck-timer' 'hanwang' 'hci' 'hci_uart' 'hci_vhci' 'hdaps' 'hdlcdrv' 'hdpvr' 'he' 'hexium_gemini' 'hexium_orion' 'hfc4s8s_l1' 'hfcmulti' 'hfcpci' 'hfcsusb' 'hfc_usb' 'hfs' 'hfsplus' 'hid' 'hid-a4tech' 'hid-apple' 'hid-aureal' 'hid-axff' 'hid-belkin' 'hid-cherry' 'hid-chicony' 'hid-cypress' 'hid-dr' 'hid-elecom' 'hid-emsff' 'hid-ezkey' 'hid-gaff' 'hid-generic' 'hid-gyration' 'hid-holtekff' 'hid-holtek-kbd' 'hid-hyperv' 'hid-kensington' 'hid-keytouch' 'hid-kye' 'hid-lcpower' 'hid-lenovo-tpkbd' 'hid-logitech' 'hid-logitech-dj' 'hid-magicmouse' 'hid-microsoft' 'hid-monterey' 'hid-multitouch' 'hid-ntrig' 'hid-ortek' 'hidp' 'hid-petalynx' 'hid-picolcd' 'hid-pl' 'hid-primax' 'hid-prodikeys' 'hid-roccat' 'hid-roccat-arvo' 'hid-roccat-common' 'hid-roccat-isku' 'hid-roccat-kone' 'hid-roccat-koneplus' 'hid-roccat-kovaplus' 'hid-roccat-pyra' 'hid-roccat-savu' 'hid-saitek' 'hid-samsung' 'hid-sjoy' 'hid-sony' 'hid-speedlink' 'hid-sunplus' 'hid-tivo' 'hid-tmff' 'hid-topseed' 'hid-twinhan' 'hid-uclogic' 'hid-wacom' 'hid-waltop' 'hid-wiimote' 'hid-zpff' 'hid-zydacron' 'hih6130' 'hisax' 'hisax_fcpcipnp' 'hisax_isac' 'hisax_st5481' 'hmac' 'hmc6352' 'hopper' 'horizon' 'hostap' 'hostap_cs' 'hostap_pci' 'hostap_plx' 'hp100' 'hp4x' 'hp_accel' 'hpilo' 'hpsa' 'hptiop' 'hpwdt' 'hp-wmi' 'hso' 'htc-pasic3' 'hv_netvsc' 'hv_storvsc' 'hv_utils' 'hv_vmbus' 'hwa-hc' 'hwa-rc' 'hwmon-vid' 'hwpoison-inject' 'hysdn' 'i1480-dfu-usb' 'i1480-est' 'i2400m' 'i2400m-usb' 'i2c-algo-bit' 'i2c-algo-pca' 'i2c-ali1535' 'i2c-ali1563' 'i2c-ali15x3' 'i2c-amd756' 'i2c-amd756-s4882' 'i2c-amd8111' 'i2c-core' 'i2c-designware-core' 'i2c-designware-pci' 'i2c-dev' 'i2c-diolan-u2c' 'i2c-eg20t' 'i2c-i801' 'i2c-intel-mid' 'i2c-isch' 'i2c-nforce2' 'i2c-nforce2-s4985' 'i2c-ocores' 'i2c-parport' 'i2c-parport-light' 'i2c-pca-platform' 'i2c-piix4' 'i2c-scmi' 'i2c-simtec' 'i2c-sis5595' 'i2c-sis630' 'i2c-sis96x' 'i2c-smbus' 'i2c-taos-evm' 'i2c-tiny-usb' 'i2c-via' 'i2c-viapro' 'i2c-xiic' 'i2o_block' 'i2o_bus' 'i2o_config' 'i2o_core' 'i2o_proc' 'i2o_scsi' 'i3000_edac' 'i3200_edac' 'i5000_edac' 'i5100_edac' 'i5400_edac' 'i5k_amb' 'i6300esb' 'i7300_edac' 'i7300_idle' 'i7core_edac' 'i82092' 'i82975x_edac' 'i8k' 'i915' 'ia32_aout' 'ib700wdt' 'ibmaem' 'ibmasr' 'ibmpex' 'ibm_rtl' 'icplus' 'icp_multi' 'ics932s401' 'ideapad-laptop' 'idmouse' 'idt77252' 'ie6xx_wdt' 'ieee802154' 'ifb' 'iforce' 'igb' 'igbvf' 'iguanair' 'ii_pci20kc' 'ili210x' 'imm' 'imon' 'ina2xx' 'inexio' 'inftl' 'initio' 'input-polldev' 'int51x1' 'intel-agp' 'intel-gtt' 'intel_ips' 'intel_menlow' 'intel_mid_dma' 'intel_oaktrail' 'intel-rng' 'interact' 'ioatdma' 'ioc4' 'io_edgeport' 'io_ti' 'iowarrior' 'ip6table_filter' 'ip6table_mangle' 'ip6table_raw' 'ip6_tables' 'ip6table_security' 'ip6t_ah' 'ip6t_eui64' 'ip6t_frag' 'ip6t_hbh' 'ip6t_ipv6header' 'ip6t_mh' 'ip6t_REJECT' 'ip6t_rpfilter' 'ip6t_rt' 'ip6_tunnel' 'ipack' 'ipaq' 'ipcomp' 'ipcomp6' 'ipddp' 'ipg' 'ip_gre' 'iphase' 'ipheth' 'ipip' 'ipmi_devintf' 'ipmi_msghandler' 'ipmi_poweroff' 'ipmi_si' 'ipmi_watchdog' 'ipoctal' 'ipr' 'ips' 'ip_set' 'ip_set_bitmap_ip' 'ip_set_bitmap_ipmac' 'ip_set_bitmap_port' 'ip_set_hash_ip' 'ip_set_hash_ipport' 'ip_set_hash_ipportip' 'ip_set_hash_ipportnet' 'ip_set_hash_net' 'ip_set_hash_netiface' 'ip_set_hash_netport' 'ip_set_list_set' 'iptable_filter' 'iptable_mangle' 'iptable_nat' 'iptable_raw' 'ip_tables' 'iptable_security' 'ipt_ah' 'ipt_CLUSTERIP' 'ipt_ECN' 'ipt_MASQUERADE' 'ipt_NETMAP' 'ipt_REDIRECT' 'ipt_REJECT' 'ipt_rpfilter' 'ipt_ULOG' 'ip_vs' 'ip_vs_dh' 'ip_vs_ftp' 'ip_vs_lblc' 'ip_vs_lblcr' 'ip_vs_lc' 'ip_vs_nq' 'ip_vs_pe_sip' 'ip_vs_rr' 'ip_vs_sed' 'ip_vs_sh' 'ip_vs_wlc' 'ip_vs_wrr' 'ip_vti' 'ipw' 'ipw2100' 'ipw2200' 'ipwireless' 'ipx' 'ircomm' 'ircomm-tty' 'irda' 'irda-usb' 'ir-jvc-decoder' 'ir-kbd-i2c' 'irlan' 'ir-lirc-codec' 'ir-mce_kbd-decoder' 'ir-nec-decoder' 'irnet' 'ir-rc5-decoder' 'ir-rc5-sz-decoder' 'ir-rc6-decoder' 'ir-sanyo-decoder' 'ir-sony-decoder' 'irtty-sir' 'ir-usb' 'isci' 'iscsi_boot_sysfs' 'iscsi_ibft' 'iscsi_target_mod' 'iscsi_tcp' 'isdn' 'isdn_bsdcomp' 'isdnhdlc' 'isight_firmware' 'isl29003' 'isl29020' 'isl6405' 'isl6421' 'isl6423' 'isofs' 'isp116x-hcd' 'isp1301' 'isp1362-hcd' 'isp1760' 'it87' 'it8712f_wdt' 'it87_wdt' 'it913x-fe' 'iTCO_vendor_support' 'iTCO_wdt' 'itd1000' 'ite-cir' 'iuu_phoenix' 'ivtv' 'ivtvfb' 'iwl3945' 'iwl4965' 'iwldvm' 'iwlegacy' 'iwlwifi' 'ix2505v' 'ixgb' 'ixgbe' 'ixgbevf' 'jbd2' 'jc42' 'jedec_probe' 'jffs2' 'jfs' 'jmb38x_ms' 'jme' 'joydev' 'joydump' 'jr3_pci' 'jsm' 'k10temp' 'k8temp' 'kafs' 'kalmia' 'kaweth' 'kbtab' 'kcomedilib' 'ke_counter' 'kernelcapi' 'keucr' 'keyspan' 'keyspan_pda' 'keyspan_remote' 'khazad' 'kingsun-sir' 'kl5kusb105' 'kobil_sct' 'ks0108' 'ks0127' 'ks8842' 'ks8851_mll' 'ks959-sir' 'ksdazzle-sir' 'ksz884x' 'kvm' 'kvm-amd' 'kvm-intel' 'kxtj9' 'l1oip' 'l2tp_core' 'l2tp_eth' 'l2tp_ip' 'l2tp_ip6' 'l2tp_netlink' 'l2tp_ppp' 'l64781' 'lanai' 'lcd' 'ldusb' 'lec' 'leds-bd2802' 'leds-blinkm' 'leds-clevo-mail' 'leds-lm3530' 'leds-lm3533' 'leds-lm3556' 'leds-lp3944' 'leds-lp5521' 'leds-lp5523' 'leds-lt3593' 'leds-mc13783' 'leds-ot200' 'leds-pca9532' 'leds-pca955x' 'leds-pca9633' 'leds-ss4200' 'leds-tca6507' 'ledtrig-backlight' 'ledtrig-default-on' 'ledtrig-gpio' 'ledtrig-heartbeat' 'ledtrig-oneshot' 'ledtrig-timer' 'ledtrig-transient' 'legousbtower' 'lg2160' 'lgdt3305' 'lgdt330x' 'lgs8gxx' 'lg-vl600' 'lib80211' 'lib80211_crypt_ccmp' 'lib80211_crypt_tkip' 'lib80211_crypt_wep' 'libahci' 'libata' 'libceph' 'libcrc32c' 'libcxgbi' 'libertas' 'libertas_cs' 'libertas_sdio' 'libertas_tf' 'libertas_tf_usb' 'libfc' 'libfcoe' 'libipw' 'libiscsi' 'libiscsi_tcp' 'libore' 'libosd' 'libphy' 'libsas' 'libsrp' 'lightning' 'line6usb' 'lineage-pem' 'linear' 'lirc_bt829' 'lirc_dev' 'lirc_igorplugusb' 'lirc_imon' 'lirc_parallel' 'lirc_sasem' 'lirc_serial' 'lirc_sir' 'lirc_ttusbir' 'lirc_zilog' 'lis3lv02d' 'lis3lv02d_i2c' 'litelink-sir' 'lkdtm' 'llc' 'llc2' 'lm25066' 'lm3533_bl' 'lm3533-core' 'lm3533-ctrlbank' 'lm63' 'lm73' 'lm75' 'lm77' 'lm78' 'lm80' 'lm83' 'lm8333' 'lm85' 'lm87' 'lm90' 'lm92' 'lm93' 'lm95241' 'lm95245' 'lnbp21' 'lnbp22' 'lockd' 'logfs' 'loop' 'lp' 'lpc_ich' 'lpc_sch' 'lpddr_cmds' 'lpfc' 'lru_cache' 'lrw' 'ltc2978' 'ltc4151' 'ltc4215' 'ltc4245' 'ltc4261' 'lxt' 'm52790' 'm5mols' 'm66592-udc' 'm88rs2000' 'ma600-sir' 'mac80211' 'mac802154' 'mac-celtic' 'mac-centeuro' 'mac-croatian' 'mac-cyrillic' 'mac-gaelic' 'mac-greek' 'machzwd' 'mac-iceland' 'mac-inuit' 'mac-roman' 'mac-romanian' 'mac-turkish' 'macvlan' 'macvtap' 'magellan' 'mantis' 'mantis_core' 'map_absent' 'map_funcs' 'map_ram' 'map_rom' 'marvell' 'matrix-keymap' 'matrix_keypad' 'max11801_ts' 'max16064' 'max16065' 'max1619' 'max1668' 'max2165' 'max34440' 'max6639' 'max6642' 'max6650' 'max6875' 'max8688' 'mb86a16' 'mb86a20s' 'mbcache' 'mc13783-adc' 'mc13783-pwrbutton' 'mc13783_ts' 'mc13xxx-core' 'mc13xxx-i2c' 'mc44s803' 'mce_amd_inj' 'mceusb' 'mcp2120-sir' 'mcp3021' 'mcs5000_ts' 'mcs7780' 'mcs7830' 'mcs_touchkey' 'mct_u232' 'md4' 'md5' 'mdc800' 'mdio' 'md-mod' 'me4000' 'me_daq' 'media' 'megaraid' 'megaraid_mbox' 'megaraid_mm' 'megaraid_sas' 'mei' 'mem2mem_testdev' 'memstick' 'metro-usb' 'meye' 'mfd' 'mga' 'mgag200' 'michael_mic' 'micrel' 'microcode' 'microtek' 'mii' 'minix' 'mip6' 'mISDN_core' 'mISDN_dsp' 'mISDNinfineon' 'mISDNipac' 'mISDNisar' 'mite' 'mk712' 'mkiss' 'mlx4_core' 'mlx4_en' 'mma8450' 'mmc_block' 'mmc_core' 'mms114' 'mos7720' 'mos7840' 'moto_modem' 'mperf' 'mpoa' 'mpr121_touchkey' 'mpt2sas' 'mptbase' 'mptctl' 'mptfc' 'mptsas' 'mptscsih' 'mptspi' 'mpu3050' 'msdos' 'msi-laptop' 'msi-wmi' 'msp3400' 'mspro_block' 'msr' 'mt2060' 'mt2063' 'mt20xx' 'mt2131' 'mt2266' 'mt312' 'mt352' 'mt9m032' 'mt9p031' 'mt9t001' 'mt9v011' 'mt9v032' 'mtd' 'mtd_blkdevs' 'mtdblock' 'mtdblock_ro' 'mtdchar' 'mtd_nandecctest' 'mtd_oobtest' 'mtdoops' 'mtd_pagetest' 'mtdram' 'mtd_readtest' 'mtd_speedtest' 'mtd_stresstest' 'mtd_subpagetest' 'mtdswap' 'mtd_torturetest' 'mtip32xx' 'mtouch' 'multipath' 'musb_hdrc' 'mvsas' 'mv_udc' 'mvumi' 'mwave' 'mwifiex' 'mwifiex_pcie' 'mwifiex_sdio' 'mwifiex_usb' 'mwl8k' 'mxb' 'mxl111sf-demod' 'mxl111sf-tuner' 'mxl5005s' 'mxl5007t' 'mxm-wmi' 'myri10ge' 'nand' 'nand_ecc' 'nand_ids' 'nandsim' 'national' 'natsemi' 'navman' 'nbd' 'nci' 'ncpfs' 'ne2k-pci' 'net1080' 'net2272' 'net2280' 'netconsole' 'netjet' 'netprio_cgroup' 'netrom' 'netsc520' 'netxen_nic' 'nfc' 'nf_conntrack' 'nf_conntrack_amanda' 'nf_conntrack_broadcast' 'nf_conntrack_ftp' 'nf_conntrack_h323' 'nf_conntrack_ipv4' 'nf_conntrack_ipv6' 'nf_conntrack_irc' 'nf_conntrack_netbios_ns' 'nf_conntrack_netlink' 'nf_conntrack_pptp' 'nf_conntrack_proto_dccp' 'nf_conntrack_proto_gre' 'nf_conntrack_proto_sctp' 'nf_conntrack_proto_udplite' 'nf_conntrack_sane' 'nf_conntrack_sip' 'nf_conntrack_snmp' 'nf_conntrack_tftp' 'nfcwilink' 'nf_defrag_ipv4' 'nf_defrag_ipv6' 'nf_nat' 'nf_nat_amanda' 'nf_nat_ftp' 'nf_nat_h323' 'nf_nat_irc' 'nf_nat_pptp' 'nf_nat_proto_dccp' 'nf_nat_proto_gre' 'nf_nat_proto_sctp' 'nf_nat_proto_udplite' 'nf_nat_sip' 'nf_nat_snmp_basic' 'nf_nat_tftp' 'nfnetlink' 'nfnetlink_acct' 'nfnetlink_cthelper' 'nfnetlink_cttimeout' 'nfnetlink_log' 'nfnetlink_queue' 'nfs' 'nfs_acl' 'nfsd' 'nfsv2' 'nfsv3' 'nfsv4' 'nftl' 'nf_tproxy_core' 'ngene' 'n_gsm' 'n_hdlc' 'ni_6527' 'ni_65xx' 'ni_660x' 'ni_670x' 'nicstar' 'ni_daq_700' 'ni_daq_dio24' 'ni_labpc' 'ni_labpc_cs' 'nilfs2' 'ni_mio_cs' 'ni_pcidio' 'ni_pcimio' 'ni_tio' 'ni_tiocmd' 'niu' 'nls_ascii' 'nls_cp1250' 'nls_cp1251' 'nls_cp1255' 'nls_cp437' 'nls_cp737' 'nls_cp775' 'nls_cp850' 'nls_cp852' 'nls_cp855' 'nls_cp857' 'nls_cp860' 'nls_cp861' 'nls_cp862' 'nls_cp863' 'nls_cp864' 'nls_cp865' 'nls_cp866' 'nls_cp869' 'nls_cp874' 'nls_cp932' 'nls_cp936' 'nls_cp949' 'nls_cp950' 'nls_euc-jp' 'nls_iso8859-13' 'nls_iso8859-14' 'nls_iso8859-15' 'nls_iso8859-2' 'nls_iso8859-3' 'nls_iso8859-4' 'nls_iso8859-5' 'nls_iso8859-6' 'nls_iso8859-7' 'nls_iso8859-9' 'nls_koi8-r' 'nls_koi8-ru' 'nls_koi8-u' 'nls_utf8' 'nmclan_cs' 'noon010pc30' 'nop-usb-xceiv' 'nosy' 'nouveau' 'nozomi' 'n_r3964' 'ns558' 'ns83820' 'nsc-ircc' 'ntc_thermistor' 'ntfs' 'n_tracerouter' 'n_tracesink' 'nuvoton-cir' 'nvme' 'nvram' 'nv_tco' 'nxt200x' 'nxt6000' 'ocfs2' 'ocfs2_dlm' 'ocfs2_dlmfs' 'ocfs2_nodemanager' 'ocfs2_stackglue' 'ocfs2_stack_o2cb' 'ocfs2_stack_user' 'ohci-hcd' 'old_belkin-sir' 'omfs' 'omninet' 'openvswitch' 'oprofile' 'opticon' 'option' 'or51132' 'or51211' 'orinoco' 'orinoco_cs' 'orinoco_nortel' 'orinoco_pci' 'orinoco_plx' 'orinoco_tmd' 'orinoco_usb' 'osd' 'osdblk' 'osst' 'oti6858' 'output' 'ov7670' 'oxu210hp-hcd' 'ozwpan' 'p4-clockmod' 'p54common' 'p54pci' 'p54usb' 'p8022' 'p8023' 'padlock-aes' 'padlock-sha' 'panasonic-laptop' 'parkbd' 'parport' 'parport_ax88796' 'parport_cs' 'parport_pc' 'parport_serial' 'pata_acpi' 'pata_ali' 'pata_amd' 'pata_arasan_cf' 'pata_artop' 'pata_atiixp' 'pata_atp867x' 'pata_cmd640' 'pata_cmd64x' 'pata_cs5520' 'pata_cs5530' 'pata_cs5536' 'pata_cypress' 'pata_efar' 'pata_hpt366' 'pata_hpt37x' 'pata_hpt3x2n' 'pata_hpt3x3' 'pata_it8213' 'pata_it821x' 'pata_jmicron' 'pata_legacy' 'pata_marvell' 'pata_mpiix' 'pata_netcell' 'pata_ninja32' 'pata_ns87410' 'pata_ns87415' 'pata_oldpiix' 'pata_opti' 'pata_optidma' 'pata_pcmcia' 'pata_pdc2027x' 'pata_pdc202xx_old' 'pata_piccolo' 'pata_radisys' 'pata_rdc' 'pata_rz1000' 'pata_sc1200' 'pata_sch' 'pata_serverworks' 'pata_sil680' 'pata_sis' 'pata_sl82c105' 'pata_triflex' 'pata_via' 'pc87360' 'pc87413_wdt' 'pc87427' 'pcbc' 'pcc-cpufreq' 'pcf50633' 'pcf50633-adc' 'pcf50633-backlight' 'pcf50633-gpio' 'pcf50633-input' 'pcf8574_keypad' 'pcf8591' 'pch_dma' 'pch_gbe' 'pch_phub' 'pch_uart' 'pch_udc' 'pci' 'pciehp' 'pci_hotplug' 'pcips2' 'pci_slot' 'pci-stub' 'pcmcia' 'pcmcia_core' 'pcmcia_rsrc' 'pcm_common' 'pcnet32' 'pcnet_cs' 'pcrypt' 'pcspkr' 'pcwd_pci' 'pcwd_usb' 'pd6729' 'pda_power' 'pdc_adma' 'pegasus' 'penmount' 'phantom' 'phison' 'phonet' 'phram' 'pixcir_i2c_ts' 'pktcdvd' 'pktgen' 'pl2303' 'platform_lcd' 'plat-ram' 'plip' 'plusb' 'pluto2' 'pm8001' 'pmbus' 'pmbus_core' 'pmc551' 'pmcraid' 'pn533' 'pn544' 'pn_pep' 'poseidon' 'poulsbo' 'powermate' 'powernow-k8' 'ppa' 'ppdev' 'ppp_async' 'ppp_deflate' 'ppp_generic' 'ppp_mppe' 'pppoatm' 'pppoe' 'pppox' 'ppp_synctty' 'pps_core' 'pps-gpio' 'pps-ktimer' 'pps-ldisc' 'pps_parport' 'pptp' 'prism2_usb' 'prism54' 'processor' 'progear_bl' 'ps2mult' 'psmouse' 'psnap' 'pti' 'ptp' 'ptp_pch' 'pvrusb2' 'pwc' 'qcaux' 'qcserial' 'qinfo_probe' 'qla1280' 'qla2xxx' 'qla3xxx' 'qla4xxx' 'qlcnic' 'qlge' 'qlogic_cs' 'qlogicfas408' 'qmi_wwan' 'qsemi' 'qt1010' 'qt1070' 'qt2160' 'quatech2' 'quatech_daqp_cs' 'quickstart' 'quota_tree' 'quota_v1' 'quota_v2' 'r128' 'r592' 'r6040' 'r8169' 'r8187se' 'r8192e_pci' 'r8192u_usb' 'r852' 'r8712u' 'r8a66597-hcd' 'r8a66597-udc' 'radeon' 'radio-i2c-si470x' 'radio-keene' 'radio-maxiradio' 'radio-mr800' 'radio-shark' 'radio-si4713' 'radio-tea5764' 'radio-usb-si470x' 'radio-wl1273' 'raid0' 'raid1' 'raid10' 'raid456' 'raid6_pq' 'raid6test' 'raid_class' 'ramoops' 'ray_cs' 'rbd' 'rc-adstech-dvb-t-pci' 'rc-alink-dtu-m' 'rc-anysee' 'rc-apac-viewcomp' 'rc-asus-pc39' 'rc-asus-ps3-100' 'rc-ati-tv-wonder-hd-600' 'rc-ati-x10' 'rc-avermedia' 'rc-avermedia-a16d' 'rc-avermedia-cardbus' 'rc-avermedia-dvbt' 'rc-avermedia-m135a' 'rc-avermedia-m733a-rm-k6' 'rc-avermedia-rm-ks' 'rc-avertv-303' 'rc-azurewave-ad-tu700' 'rc-behold' 'rc-behold-columbus' 'rc-budget-ci-old' 'rc-cinergy' 'rc-cinergy-1400' 'rc-core' 'rc-dib0700-nec' 'rc-dib0700-rc5' 'rc-digitalnow-tinytwin' 'rc-digittrade' 'rc-dm1105-nec' 'rc-dntv-live-dvb-t' 'rc-dntv-live-dvbt-pro' 'rc-em-terratec' 'rc-encore-enltv' 'rc-encore-enltv2' 'rc-encore-enltv-fm53' 'rc-evga-indtube' 'rc-eztv' 'rc-flydvb' 'rc-flyvideo' 'rc-fusionhdtv-mce' 'rc-gadmei-rm008z' 'rc-genius-tvgo-a11mce' 'rc-gotview7135' 'rc-hauppauge' 'rc-imon-mce' 'rc-imon-pad' 'rc-iodata-bctv7e' 'rc-it913x-v1' 'rc-it913x-v2' 'rc-kaiomy' 'rc-kworld-315u' 'rc-kworld-pc150u' 'rc-kworld-plus-tv-analog' 'rc-leadtek-y04g0051' 'rc-lirc' 'rc-lme2510' 'rc-loopback' 'rc-manli' 'rc-medion-x10' 'rc-medion-x10-digitainer' 'rc-medion-x10-or2x' 'rc-msi-digivox-ii' 'rc-msi-digivox-iii' 'rc-msi-tvanywhere' 'rc-msi-tvanywhere-plus' 'rc-nebula' 'rc-nec-terratec-cinergy-xs' 'rc-norwood' 'rc-npgtech' 'rc-pctv-sedna' 'rc-pinnacle-color' 'rc-pinnacle-grey' 'rc-pinnacle-pctv-hd' 'rc-pixelview' 'rc-pixelview-002t' 'rc-pixelview-mk12' 'rc-pixelview-new' 'rc-powercolor-real-angel' 'rc-proteus-2309' 'rc-purpletv' 'rc-pv951' 'rc-rc6-mce' 'rc-real-audio-220-32-keys' 'rc-snapstream-firefly' 'rc-streamzap' 'rc-tbs-nec' 'rc-technisat-usb2' 'rc-terratec-cinergy-xs' 'rc-terratec-slim' 'rc-terratec-slim-2' 'rc-tevii-nec' 'rc-tivo' 'rc-total-media-in-hand' 'rc-trekstor' 'rc-tt-1500' 'rc-twinhan1027' 'rc-videomate-m1f' 'rc-videomate-s350' 'rc-videomate-tv-pvr' 'rc-winfast' 'rc-winfast-usbii-deluxe' 'rdc321x-southbridge' 'realtek' 'redboot' 'redrat3' 'reed_solomon' 'regmap-i2c' 'reiserfs' 'renesas_usbhs' 'rfcomm' 'rfd_ftl' 'rfkill' 'ring_buffer_benchmark' 'rio500' 'rionet' 'rmd128' 'rmd160' 'rmd256' 'rmd320' 'rndis_host' 'rndis_wlan' 'rocket' 'rose' 'rotary_encoder' 'rpcsec_gss_krb5' 'rt2400pci' 'rt2500pci' 'rt2500usb' 'rt2800lib' 'rt2800pci' 'rt2800usb' 'rt2x00lib' 'rt2x00pci' 'rt2x00usb' 'rt61pci' 'rt73usb' 'rtc-bq32k' 'rtc-bq4802' 'rtc-ds1286' 'rtc-ds1307' 'rtc-ds1374' 'rtc-ds1511' 'rtc-ds1553' 'rtc-ds1672' 'rtc-ds1742' 'rtc-ds3232' 'rtc-em3027' 'rtc-fm3130' 'rtc-isl12022' 'rtc-isl1208' 'rtc-m41t80' 'rtc-m48t35' 'rtc-m48t59' 'rtc-m48t86' 'rtc-max6900' 'rtc-mc13xxx' 'rtc-msm6242' 'rtc-pcf50633' 'rtc-pcf8563' 'rtc-pcf8583' 'rtc-rp5c01' 'rtc-rs5c372' 'rtc-rv3029c2' 'rtc-rx8025' 'rtc-rx8581' 'rtc-s35390a' 'rtc-stk17ta8' 'rtc-test' 'rtc-v3020' 'rtc-x1205' 'rtd520' 'rtl2830' 'rtl2832' 'rtl8150' 'rtl8180' 'rtl8187' 'rtl8192c-common' 'rtl8192ce' 'rtl8192cu' 'rtl8192de' 'rtl8192se' 'rtllib' 'rtllib_crypt_ccmp' 'rtllib_crypt_tkip' 'rtllib_crypt_wep' 'rtlwifi' 'rts5139' 'rts_pstor' 'rxkad' 's2255drv' 's2io' 's526' 's5h1409' 's5h1411' 's5h1420' 's5k6aa' 's626' 's921' 'saa6588' 'saa6752hs' 'saa7110' 'saa7115' 'saa7127' 'saa7134' 'saa7134-alsa' 'saa7134-dvb' 'saa7134-empress' 'saa7146' 'saa7146_vv' 'saa7164' 'saa717x' 'saa7185' 'saa7191' 'saa7706h' 'safe_serial' 'salsa20_generic' 'salsa20-x86_64' 'samsung-laptop' 'samsung-q10' 'sata_inic162x' 'sata_mv' 'sata_nv' 'sata_promise' 'sata_qstor' 'sata_sil' 'sata_sil24' 'sata_sis' 'sata_svw' 'sata_sx4' 'sata_uli' 'sata_via' 'sata_vsc' 'savage' 'sb1000' 'sbc60xxwdt' 'sbc8360' 'sbc_epx_c3' 'sbc_fitpc2_wdt' 'sb_edac' 'sbp_target' 'sbs' 'sbshc' 'sc1200wdt' 'sc520cdp' 'sc520_wdt' 'sc92031' 'scb2_flash' 'sch311x_wdt' 'sch5627' 'sch5636' 'sch56xx-common' 'sch_atm' 'sch_cbq' 'sch_choke' 'sch_codel' 'sch_drr' 'sch_dsmark' 'sch_fq_codel' 'sch_gred' 'sch_hfsc' 'sch_htb' 'sch_ingress' 'sch_mqprio' 'sch_multiq' 'sch_netem' 'sch_plug' 'sch_prio' 'sch_qfq' 'sch_red' 'sch_sfb' 'sch_sfq' 'sch_tbf' 'sch_teql' 'scsi_dh' 'scsi_dh_alua' 'scsi_dh_emc' 'scsi_dh_hp_sw' 'scsi_dh_rdac' 'scsi_mod' 'scsi_tgt' 'scsi_transport_fc' 'scsi_transport_iscsi' 'scsi_transport_sas' 'scsi_transport_spi' 'scsi_transport_srp' 'sctp' 'sctp_probe' 'sdhci' 'sdhci-pci' 'sdhci-pltfm' 'sdio_uart' 'sd_mod' 'sdricoh_cs' 'sedlbauer_cs' 'seed' 'seeq8005' 'sep_driver' 'seqiv' 'ser_gigaset' 'serial2002' 'serial_cs' 'serio_raw' 'serpent-avx-x86_64' 'serpent_generic' 'serpent-sse2-x86_64' 'serport' 'serqt_usb2' 'ses' 'sfc' 'sg' 'sha1_generic' 'sha1-ssse3' 'sha256_generic' 'sha512_generic' 'shark2' 'shpchp' 'sht15' 'sht21' 'si21xx' 'si4713-i2c' 'sidewinder' 'siemens_mpi' 'sierra' 'sierra_net' 'sil164' 'sir-dev' 'sis' 'sis190' 'sis5595' 'sis900' 'sis-agp' 'sisusbvga' 'sit' 'skel' 'skge' 'sky2' 'sl811_cs' 'sl811-hcd' 'slhc' 'slicoss' 'slip' 'sm501' 'sm7xxfb' 'smc91c92_cs' 'sm_common' 'smm665' 'smsc' 'smsc37b787_wdt' 'smsc47b397' 'smsc47m1' 'smsc47m192' 'smsc75xx' 'smsc9420' 'smsc95xx' 'smsc-ircc2' 'smsdvb' 'smsmdtv' 'smssdio' 'smsusb' 'sn9c102' 'snd' 'snd-ac97-codec' 'snd-ad1889' 'snd-ak4113' 'snd-ak4114' 'snd-ak4117' 'snd-ak4xxx-adda' 'snd-ali5451' 'snd-aloop' 'snd-als300' 'snd-als4000' 'snd-asihpi' 'snd-atiixp' 'snd-atiixp-modem' 'snd-au8810' 'snd-au8820' 'snd-au8830' 'snd-aw2' 'snd-azt3328' 'snd-bt87x' 'snd-ca0106' 'snd-cmipci' 'snd-cs4281' 'snd-cs46xx' 'snd-cs5530' 'snd-cs5535audio' 'snd-cs8427' 'snd-ctxfi' 'snd-darla20' 'snd-darla24' 'snd-dummy' 'snd-echo3g' 'snd-emu10k1' 'snd-emu10k1-synth' 'snd-emu10k1x' 'snd-emux-synth' 'snd-ens1370' 'snd-ens1371' 'snd-es1938' 'snd-es1968' 'snd-firewire-lib' 'snd-firewire-speakers' 'snd-fm801' 'snd-gina20' 'snd-gina24' 'snd-hda-codec' 'snd-hda-codec-analog' 'snd-hda-codec-ca0110' 'snd-hda-codec-ca0132' 'snd-hda-codec-cirrus' 'snd-hda-codec-cmedia' 'snd-hda-codec-conexant' 'snd-hda-codec-hdmi' 'snd-hda-codec-idt' 'snd-hda-codec-realtek' 'snd-hda-codec-si3054' 'snd-hda-codec-via' 'snd-hda-intel' 'snd-hdsp' 'snd-hdspm' 'snd-hrtimer' 'snd-hwdep' 'snd-i2c' 'snd-ice1712' 'snd-ice1724' 'snd-ice17xx-ak4xxx' 'snd-indigo' 'snd-indigodj' 'snd-indigodjx' 'snd-indigoio' 'snd-indigoiox' 'snd-intel8x0' 'snd-intel8x0m' 'snd-isight' 'snd-korg1212' 'snd-layla20' 'snd-layla24' 'snd-lola' 'snd-lx6464es' 'snd-maestro3' 'snd-mia' 'snd-mixart' 'snd-mixer-oss' 'snd-mona' 'snd-mpu401' 'snd-mpu401-uart' 'snd-mtpav' 'snd-mts64' 'snd-nm256' 'snd-opl3-lib' 'snd-opl3-synth' 'snd-oxygen' 'snd-oxygen-lib' 'snd-page-alloc' 'snd-pcm' 'snd-pcm-oss' 'snd-pcxhr' 'snd-pdaudiocf' 'snd-portman2x4' 'snd-pt2258' 'snd-rawmidi' 'snd-riptide' 'snd-rme32' 'snd-rme96' 'snd-rme9652' 'snd-sb16-dsp' 'snd-sb-common' 'snd-seq' 'snd-seq-device' 'snd-seq-dummy' 'snd-seq-midi' 'snd-seq-midi-emul' 'snd-seq-midi-event' 'snd-seq-oss' 'snd-seq-virmidi' 'snd-serial-u16550' 'snd-sonicvibes' 'snd-tea575x-tuner' 'snd-timer' 'snd-trident' 'snd-ua101' 'snd-usb-6fire' 'snd-usb-audio' 'snd-usb-caiaq' 'snd-usbmidi-lib' 'snd-usb-us122l' 'snd-usb-usx2y' 'snd-util-mem' 'snd-via82xx' 'snd-via82xx-modem' 'snd-virmidi' 'snd-virtuoso' 'snd-vx222' 'snd-vx-lib' 'snd-vxpocket' 'snd-ymfpci' 'softdog' 'solo6x10' 'solos-pci' 'sony-laptop' 'soundcore' 'sp5100_tco' 'sp8870' 'sp887x' 'spaceball' 'spaceorb' 'sparse-keymap' 'spcp8x5' 'speakup' 'speakup_acntpc' 'speakup_acntsa' 'speakup_apollo' 'speakup_audptr' 'speakup_bns' 'speakup_decext' 'speakup_decpc' 'speakup_dectlk' 'speakup_dtlk' 'speakup_dummy' 'speakup_keypc' 'speakup_ltlk' 'speakup_soft' 'speakup_spkout' 'speakup_txprt' 'spectrum_cs' 'speedfax' 'speedstep-lib' 'speedtch' 'squashfs' 'sr030pc30' 'sr_mod' 'ssb' 'ssfdc' 'sstfb' 'ssu100' 'ssv_dnp' 'st' 'st1232' 'starfire' 'stb0899' 'stb6000' 'stb6100' 'st_drv' 'ste10Xp' 'stex' 'stinger' 'stir4200' 'stkwebcam' 'stmmac' 'stp' 'streamzap' 'stv0288' 'stv0297' 'stv0299' 'stv0367' 'stv0900' 'stv090x' 'stv6110' 'stv6110x' 'sundance' 'sungem' 'sungem_phy' 'sunhme' 'suni' 'sunrpc' 'sx8' 'sym53c500_cs' 'sym53c8xx' 'symbolserial' 'synaptics_i2c' 'synaptics_i2c_rmi4' 'synaptics_usb' 'synclink' 'synclink_cs' 'synclinkmp' 'syscopyarea' 'sysfillrect' 'sysimgblt' 't1pci' 'target_core_file' 'target_core_iblock' 'target_core_mod' 'target_core_pscsi' 'tca6416-keypad' 'tca8418_keypad' 'tcm825x' 'tcm_fc' 'tcm_loop' 'tcm_qla2xxx' 'tcm_usb_gadget' 'tcm_vhost' 'tcp_bic' 'tcp_highspeed' 'tcp_htcp' 'tcp_hybla' 'tcp_illinois' 'tcp_lp' 'tcp_probe' 'tcp_scalable' 'tcp_vegas' 'tcp_veno' 'tcp_westwood' 'tcp_yeah' 'tcrypt' 'tda10021' 'tda10023' 'tda10048' 'tda1004x' 'tda10071' 'tda10086' 'tda18212' 'tda18218' 'tda18271' 'tda18271c2dd' 'tda665x' 'tda7432' 'tda8083' 'tda8261' 'tda826x' 'tda827x' 'tda8290' 'tda9840' 'tda9887' 'tdfx' 'tea' 'tea5761' 'tea5767' 'tea6415c' 'tea6420' 'team' 'team_mode_activebackup' 'team_mode_broadcast' 'team_mode_loadbalance' 'team_mode_roundrobin' 'tef6862' 'tehuti' 'tekram-sir' 'teles_cs' 'test-kstrtox' 'test_power' 'tg3' 'tgr192' 'thermal' 'thinkpad_acpi' 'thmc50' 'ths7303' 'tifm_7xx1' 'tifm_core' 'tifm_ms' 'tifm_sd' 'timb_dma' 'timeriomem-rng' 'ti_usb_3410_5052' 'tlan' 'tlclk' 'tlv320aic23b' 'tm6000' 'tm6000-alsa' 'tm6000-dvb' 'tmdc' 'tmp102' 'tmp401' 'tmp421' 'tmscsim' 'toim3232-sir' 'topstar-laptop' 'toshiba_acpi' 'toshiba_bluetooth' 'touchit213' 'touchright' 'touchwin' 'tpci200' 'tpm' 'tpm_atmel' 'tpm_bios' 'tpm_infineon' 'tpm_nsc' 'tpm_tis' 'tps65010' 'tps6507x' 'tps6507x-ts' 'tps65217' 'trancevibrator' 'trusted' 'ts5500_flash' 'ts_bm' 'tsc2007' 'tsc40' 'ts_fsm' 'ts_kmp' 'tsl2550' 'ttm' 'ttpci-eeprom' 'ttusb_dec' 'ttusbdecfe' 'tua6100' 'tua9001' 'tulip' 'tun' 'tuner' 'tuner-simple' 'tuner-types' 'tuner-xc2028' 'tunnel4' 'tunnel6' 'turbografx' 'tusb6010' 'tvaudio' 'tveeprom' 'tvp514x' 'tvp5150' 'tvp7002' 'twidjoy' 'twofish-avx-x86_64' 'twofish_common' 'twofish_generic' 'twofish-x86_64' 'twofish-x86_64-3way' 'typhoon' 'u132-hcd' 'uas' 'ubi' 'ubifs' 'ucb1400_core' 'ucb1400_ts' 'ucd9000' 'ucd9200' 'udc-core' 'udf' 'udl' 'udlfb' 'udp_diag' 'ueagle-atm' 'ufs' 'ufshcd' 'uhci-hcd' 'uhid' 'uinput' 'uio' 'uio_aec' 'uio_cif' 'uio_netx' 'uio_pci_generic' 'uio_pdrv' 'uio_pdrv_genirq' 'uio_sercos3' 'uli526x' 'umc' 'ums-alauda' 'ums-cypress' 'ums-datafab' 'ums-eneub6250' 'ums-freecom' 'ums-isd200' 'ums-jumpshot' 'ums-karma' 'ums-onetouch' 'ums-realtek' 'ums-sddr09' 'ums-sddr55' 'ums-usbat' 'unioxx5' 'unix_diag' 'upd64031a' 'upd64083' 'uPD98402' 'usb8xxx' 'usbatm' 'usb-common' 'usbcore' 'usbdux' 'usbduxfast' 'usbduxsigma' 'usb_gigaset' 'usbhid' 'usbip-core' 'usbip-host' 'usblcd' 'usbled' 'usblp' 'usbmon' 'usbnet' 'usbserial' 'usbsevseg' 'usb-storage' 'usbtest' 'usbtmc' 'usbtouchscreen' 'usbvision' 'usb_wwan' 'ushc' 'uss720' 'uvcvideo' 'uvesafb' 'uwb' 'v4l2-common' 'v4l2-int-device' 'v4l2-mem2mem' 'ves1820' 'ves1x93' 'veth' 'vfat' 'vfb' 'vga16fb' 'vgastate' 'vhci-hcd' 'vhost_net' 'via' 'via686a' 'via-agp' 'via-cputemp' 'viafb' 'via-ircc' 'via-rhine' 'via-rng' 'via-sdmmc' 'via-velocity' 'via_wdt' 'video' 'videobuf2-core' 'videobuf2-dma-contig' 'videobuf2-memops' 'videobuf2-vmalloc' 'videobuf-core' 'videobuf-dma-sg' 'videobuf-dvb' 'videobuf-vmalloc' 'videocodec' 'videodev' 'virtio' 'virtio_balloon' 'virtio_blk' 'virtio_console' 'virtio_mmio' 'virtio_net' 'virtio_pci' 'virtio_ring' 'virtio-rng' 'virtio_scsi' 'visor' 'vitesse' 'vivi' 'vivopay-serial' 'vlsi_ir' 'vmac' 'vmk80xx' 'vmw_balloon' 'vmwgfx' 'vmw_pvscsi' 'vmxnet3' 'vp27smpx' 'vpx3220' 'vs6624' 'vsxxxaa' 'vt1211' 'vt6655_stage' 'vt6656_stage' 'vt8231' 'vub300' 'vx855' 'vxge' 'w35und' 'w5100' 'w5300' 'w6692' 'w83627ehf' 'w83627hf' 'w83627hf_wdt' 'w83697hf_wdt' 'w83697ug_wdt' 'w83781d' 'w83791d' 'w83792d' 'w83793' 'w83795' 'w83877f_wdt' 'w83977af_ir' 'w83977f_wdt' 'w83l785ts' 'w83l786ng' 'wacom' 'wacom_i2c' 'wacom_w8001' 'wafer5823wdt' 'walkera0701' 'warrior' 'wbsd' 'wdt_pci' 'whci' 'whci-hcd' 'whc-rc' 'whiteheat' 'wimax' 'winbond-840' 'winbond-cir' 'wis-ov7640' 'wis-saa7113' 'wis-saa7115' 'wis-sony-tuner' 'wis-tw2804' 'wis-tw9903' 'wis-uda1342' 'wl1251' 'wl1251_sdio' 'wl1273-core' 'wl12xx' 'wl18xx' 'wl3501_cs' 'wlags49_h25_cs' 'wlags49_h2_cs' 'wlcore' 'wlcore_sdio' 'wm8739' 'wm8775' 'wm97xx-ts' 'wmi' 'wp512' 'wusb-cbaf' 'wusbcore' 'wusb-wa' 'x38_edac' 'xc4000' 'xc5000' 'xcbc' 'xen-acpi-processor' 'xen-blkback' 'xen-blkfront' 'xen-evtchn' 'xen-fbfront' 'xenfs' 'xen-gntalloc' 'xen-gntdev' 'xen-kbdfront' 'xen-netback' 'xen-netfront' 'xen-pciback' 'xen-pcifront' 'xen-privcmd' 'xen_wdt' 'xfrm4_mode_beet' 'xfrm4_mode_transport' 'xfrm4_mode_tunnel' 'xfrm4_tunnel' 'xfrm6_mode_beet' 'xfrm6_mode_ro' 'xfrm6_mode_transport' 'xfrm6_mode_tunnel' 'xfrm6_tunnel' 'xfrm_algo' 'xfrm_ipcomp' 'xfrm_user' 'xfs' 'xgifb' 'xgmac' 'xhci-hcd' 'xilinx_uartps' 'xirc2ps_cs' 'xircom_cb' 'xo15-ebook' 'xor' 'xpad' 'x_tables' 'xt_addrtype' 'xt_AUDIT' 'xt_CHECKSUM' 'xt_CLASSIFY' 'xt_cluster' 'xt_comment' 'xt_connbytes' 'xt_connlimit' 'xt_connmark' 'xt_CONNSECMARK' 'xt_conntrack' 'xt_cpu' 'xt_CT' 'xt_dccp' 'xt_devgroup' 'xt_dscp' 'xt_DSCP' 'xt_ecn' 'xt_esp' 'xt_hashlimit' 'xt_helper' 'xt_hl' 'xt_HL' 'xt_HMARK' 'xt_IDLETIMER' 'xt_iprange' 'xt_ipvs' 'xt_LED' 'xt_length' 'xt_limit' 'xt_LOG' 'xt_mac' 'xt_mark' 'xt_multiport' 'xt_nfacct' 'xt_NFLOG' 'xt_NFQUEUE' 'xt_NOTRACK' 'xt_osf' 'xt_owner' 'xt_physdev' 'xt_pkttype' 'xt_policy' 'xt_quota' 'xt_rateest' 'xt_RATEEST' 'xt_realm' 'xt_recent' 'xts' 'xt_sctp' 'xt_SECMARK' 'xt_set' 'xt_socket' 'xt_state' 'xt_statistic' 'xt_string' 'xt_tcpmss' 'xt_TCPMSS' 'xt_TCPOPTSTRIP' 'xt_tcpudp' 'xt_TEE' 'xt_time' 'xt_TPROXY' 'xt_TRACE' 'xt_u32' 'xusbatm' 'yam' 'yealink' 'yellowfin' 'yenta_socket' 'yurex' 'zatm' 'zaurus' 'zd1201' 'zd1211rw' 'zhenhua' 'zio' 'zl10036' 'zl10039' 'zl10353' 'zl6100' 'zlib' 'zlib_deflate' 'znet' 'zr36016' 'zr36050' 'zr36060' 'zr36067' 'zr364xx' 'zram' ) diff --git a/dot.oh-my-zsh/custom/example.zsh b/dot.oh-my-zsh/custom/example.zsh new file mode 100644 index 0000000..28ffcae --- /dev/null +++ b/dot.oh-my-zsh/custom/example.zsh @@ -0,0 +1,5 @@ +# Add yourself some shortcuts to projects you often work on +# Example: +# +# brainstormr=/Users/robbyrussell/Projects/development/planetargon/brainstormr +# \ No newline at end of file diff --git a/dot.oh-my-zsh/custom/example/example.plugin.zsh b/dot.oh-my-zsh/custom/example/example.plugin.zsh new file mode 100644 index 0000000..406f274 --- /dev/null +++ b/dot.oh-my-zsh/custom/example/example.plugin.zsh @@ -0,0 +1,2 @@ +# Add your own custom plugins in the custom/plugins directory. Plugins placed +# here will override ones with the same name in the main plugins directory. diff --git a/dot.oh-my-zsh/custom/lib/correction.zsh b/dot.oh-my-zsh/custom/lib/correction.zsh new file mode 100644 index 0000000..60039b3 --- /dev/null +++ b/dot.oh-my-zsh/custom/lib/correction.zsh @@ -0,0 +1,10 @@ +setopt correct + +alias man='nocorrect man' +alias mv='nocorrect mv' +alias mysql='nocorrect mysql' +alias mkdir='nocorrect mkdir' +alias gist='nocorrect gist' +alias heroku='nocorrect heroku' +alias ebuild='nocorrect ebuild' +alias hpodder='nocorrect hpodder' diff --git a/dot.oh-my-zsh/custom/lib/history.zsh b/dot.oh-my-zsh/custom/lib/history.zsh new file mode 100644 index 0000000..724529d --- /dev/null +++ b/dot.oh-my-zsh/custom/lib/history.zsh @@ -0,0 +1,15 @@ +## Command history configuration +HISTFILE=$HOME/.zsh_history +HISTSIZE=10000 +SAVEHIST=10000 + +setopt append_history +setopt extended_history +setopt hist_expire_dups_first +setopt hist_ignore_all_dups # ignore duplication command history list +setopt hist_ignore_space +setopt hist_reduce_blanks +setopt hist_save_no_dups +setopt hist_verify +setopt inc_append_history +setopt share_history # share command history data diff --git a/dot.oh-my-zsh/custom/lib/key-bindings.zsh b/dot.oh-my-zsh/custom/lib/key-bindings.zsh new file mode 100644 index 0000000..c84e073 --- /dev/null +++ b/dot.oh-my-zsh/custom/lib/key-bindings.zsh @@ -0,0 +1,147 @@ +man-command () +{ + if [ -n "$BUFFER" ] + then + local FirstArg=`echo $BUFFER | awk '{print $1}'` + man $FirstArg + fi +} + +sudo-command () +{ + if [ -n "$BUFFER" ] + then + local FirstArg=`echo $BUFFER | awk '{print $1}'` + if [ "$FirstArg" != "sudo" ] + then + BUFFER="sudo $BUFFER" + zle end-of-line + fi + fi +} + +move-pointer-to-next-arg () +{ + if [ -n "$BUFFER" ] + then + CURSOR=`echo | awk ' + { curpos=5; arg=$BUFFER; orig=arg; + arg=substr(arg, curpos); + if (substr(arg, 1, 1) == "-") arg=substr(arg, 2); + curpos+=index(arg, "-"); + print curpos; }'` + fi +} + +move-pointer-after-command () +{ + if [ -n "$BUFFER" ] + then + local LenOfFirstArg=`echo $BUFFER | awk '{ print length($1) }'` + CURSOR=$LenOfFirstArg + fi +} + +bmi () +{ + echo $(($1/$2/$2)) +} + +zle -N man-command # shows the man-page of the written command +zle -N sudo-command # writes "sudo " in front of the buffer +zle -N move-pointer-after-command # moves the pointer between command and first parameter +zle -N move-pointer-to-next-arg + + +bindkey -e +bindkey '\ew' kill-region +bindkey -s '\el' "ls\n" +bindkey '^r' history-incremental-search-backward + +bindkey '^[[1~' beginning-of-line # [Begin] +bindkey '^[[2~' overwrite-mode # [Insert] +bindkey '^[[3~' delete-char # [Delete] +bindkey '^[[4~' end-of-line # [End] +bindkey "^[[5~" up-line-or-history # [Page-Up] +bindkey "^[[6~" down-line-or-history # [Page-Down] + +# make search up and down work, so partially type and hit up/down to find relevant stuff +bindkey '^[[A' up-line-or-search +bindkey '^[[B' down-line-or-search + +bindkey "^[[H" beginning-of-line +bindkey "^[OH" beginning-of-line +bindkey "^[[F" end-of-line +bindkey "^[OF" end-of-line +bindkey ' ' magic-space # also do history expansion on space + +#bindkey "^[[1;5C" forward-word +#bindkey "^[[1;5D" backward-word +#TODO: make keybindings ctrl+right and ctrl+left work +bindkey "^[[OC" move-pointer-to-next-arg +bindkey "^[[OD" move-pointer-after-command + +bindkey '^[[Z' reverse-menu-complete + +# Make the delete key (or Fn + Delete on the Mac) work instead of outputting a ~ +bindkey '^?' backward-delete-char +bindkey "^[[3~" delete-char +bindkey "^[3;5~" delete-char +bindkey "\e[3~" delete-char + +bindkey '^N' man-command +bindkey '^S' sudo-command +bindkey '^U' kill-whole-line +bindkey '^Q' push-input +bindkey '^P' yank +bindkey '^f' forward-word +bindkey '^b' backward-word + +# some command shortcuts +alias ls='ls --color=always' +alias lh='ls -lh' +alias ls_sizesorted='ls -lSrah' +alias lad='ls -d .*(/)' # only show dot-directories +alias lsa='ls -a .*(.)' # only show dot-files +alias lss='ls -l *(s,S,t)' # only files with setgid/setuid/sticky flag +alias lsl='ls -l *(@[1,10])' # only symlinks +alias lsx='ls -l *(*[1,10])' # only executables +alias lsw='ls -ld *(R,W,X.^ND/)' # world-{readable,writable,executable} files +alias lsbig="ls -flh *(.OL[1,10])" # display the biggest files +alias lsd='ls -d ^.*(/)' # only show directories +alias lse='ls -d *(/^F)' # only show empty directories +alias lsnew="ls -drl *(Dom[1,10])" # display the newest files and directories +alias lsold="ls -rtlh *(Dom[1,10])" # display the oldest files and directories +alias lssmall="ls -Srl *(.oL[1,10])" # display the smallest files +alias screensaver='clear; for ((;;)); do echo -ne "\033[$((1+RANDOM%LINES));$((1+RANDOM%COLUMNS))H\033[$((RANDOM%2));3$((RANDOM%8))m$((RANDOM%10))"; sleep 0.1 ; done' # credits to lkj@commandlinefu.com + +# global aliases – like aliases working _behind_ the command +alias -g _C='|wc -l' +alias -g _G='|grep' +alias -g _H='|head' +alias -g _L='|less' +alias -g _N='&>/dev/null' +alias -g _R='| tr A-z N-za-m' +alias -g _T='|tail' +# +# Unbind c-s and c-q +stty -ixon + +# 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' +# diff --git a/dot.oh-my-zsh/custom/lib/misc.zsh b/dot.oh-my-zsh/custom/lib/misc.zsh new file mode 100644 index 0000000..c6c3de5 --- /dev/null +++ b/dot.oh-my-zsh/custom/lib/misc.zsh @@ -0,0 +1,19 @@ +## smart urls +autoload -U url-quote-magic +zle -N self-insert url-quote-magic + +## file rename magick +bindkey "^[m" copy-prev-shell-word + +## jobs +setopt long_list_jobs + +## redirect protection +unsetopt clobber + +## pager +export PAGER="less" +export LESS="-R" +export EDITOR="vim" + +export LC_CTYPE=$LANG diff --git a/dot.oh-my-zsh/lib/aliases.zsh b/dot.oh-my-zsh/lib/aliases.zsh new file mode 100644 index 0000000..a7f699c --- /dev/null +++ b/dot.oh-my-zsh/lib/aliases.zsh @@ -0,0 +1,26 @@ +# Push and pop directories on directory stack +alias pu='pushd' +alias po='popd' + +# Basic directory operations +alias ...='cd ../..' +alias -- -='cd -' + +# Super user +alias _='sudo' +alias please='sudo' + +#alias g='grep -in' + +# Show history +alias history='fc -l 1' + +# List direcory contents +alias lsa='ls -lah' +alias l='ls -lA1' +alias ll='ls -l' +alias la='ls -lA' +alias sl=ls # often screw this up + +alias afind='ack-grep -il' + diff --git a/dot.oh-my-zsh/lib/completion.zsh b/dot.oh-my-zsh/lib/completion.zsh new file mode 100644 index 0000000..ba839a0 --- /dev/null +++ b/dot.oh-my-zsh/lib/completion.zsh @@ -0,0 +1,72 @@ +# fixme - the load process here seems a bit bizarre + +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 + +WORDCHARS='' + +zmodload -i zsh/complist + +## case-insensitive (all),partial-word and then substring completion +if [ "x$CASE_SENSITIVE" = "xtrue" ]; then + zstyle ':completion:*' matcher-list 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' + unset CASE_SENSITIVE +else + zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' +fi + +zstyle ':completion:*' list-colors '' + +# should this be in keybindings? +bindkey -M menuselect '^o' accept-and-infer-next-history + +zstyle ':completion:*:*:*:*:*' menu select +zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01' +zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm -w -w" + +# disable named-directories autocompletion +zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-directories +cdpath=(.) + +# use /etc/hosts and known_hosts for hostname completion +[ -r /etc/ssh/ssh_known_hosts ] && _global_ssh_hosts=(${${${${(f)"$( /dev/null) || \ + ref=$(git rev-parse --short HEAD 2> /dev/null) || return + echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX" +} + + +# Checks if working tree is dirty +parse_git_dirty() { + local SUBMODULE_SYNTAX='' + if [[ $POST_1_7_2_GIT -gt 0 ]]; then + SUBMODULE_SYNTAX="--ignore-submodules=dirty" + fi + if [[ -n $(git status -s ${SUBMODULE_SYNTAX} 2> /dev/null) ]]; then + echo "$ZSH_THEME_GIT_PROMPT_DIRTY" + else + echo "$ZSH_THEME_GIT_PROMPT_CLEAN" + fi +} + +# get the difference between the local and remote branches +git_remote_status() { + remote=${$(git rev-parse --verify ${hook_com[branch]}@{upstream} --symbolic-full-name 2>/dev/null)/refs\/remotes\/} + if [[ -n ${remote} ]] ; then + ahead=$(git rev-list ${hook_com[branch]}@{upstream}..HEAD 2>/dev/null | wc -l) + behind=$(git rev-list HEAD..${hook_com[branch]}@{upstream} 2>/dev/null | wc -l) + + if [ $ahead -eq 0 ] && [ $behind -gt 0 ] + then + echo "$ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE" + elif [ $ahead -gt 0 ] && [ $behind -eq 0 ] + then + echo "$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE" + elif [ $ahead -gt 0 ] && [ $behind -gt 0 ] + then + echo "$ZSH_THEME_GIT_PROMPT_DIVERGED_REMOTE" + fi + fi +} + +# Checks if there are commits ahead from remote +function git_prompt_ahead() { + if $(echo "$(git log origin/$(current_branch)..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then + echo "$ZSH_THEME_GIT_PROMPT_AHEAD" + fi +} + +# Formats prompt string for current git commit short SHA +function git_prompt_short_sha() { + SHA=$(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() { + SHA=$(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 +git_prompt_status() { + INDEX=$(git status --porcelain -b 2> /dev/null) + STATUS="" + if $(echo "$INDEX" | grep '^?? ' &> /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 $(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 +} + +#compare the provided version of git to the version installed and on path +#prints 1 if input version <= installed version +#prints -1 otherwise +function git_compare_version() { + local INPUT_GIT_VERSION=$1; + local INSTALLED_GIT_VERSION + INPUT_GIT_VERSION=(${(s/./)INPUT_GIT_VERSION}); + INSTALLED_GIT_VERSION=($(git --version)); + INSTALLED_GIT_VERSION=(${(s/./)INSTALLED_GIT_VERSION[3]}); + + for i in {1..3}; do + if [[ $INSTALLED_GIT_VERSION[$i] -lt $INPUT_GIT_VERSION[$i] ]]; then + echo -1 + return 0 + fi + done + echo 1 +} + +#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 +unset -f git_compare_version + + diff --git a/dot.oh-my-zsh/lib/grep.zsh b/dot.oh-my-zsh/lib/grep.zsh new file mode 100644 index 0000000..93c4270 --- /dev/null +++ b/dot.oh-my-zsh/lib/grep.zsh @@ -0,0 +1,6 @@ +# +# Color grep results +# Examples: http://rubyurl.com/ZXv +# +export GREP_OPTIONS='--color=auto' +export GREP_COLOR='1;32' \ No newline at end of file diff --git a/dot.oh-my-zsh/lib/history.zsh b/dot.oh-my-zsh/lib/history.zsh new file mode 120000 index 0000000..86772ad --- /dev/null +++ b/dot.oh-my-zsh/lib/history.zsh @@ -0,0 +1 @@ +/home/nk/.oh-my-zsh/custom/lib/history.zsh \ No newline at end of file diff --git a/dot.oh-my-zsh/lib/history.zsh.old b/dot.oh-my-zsh/lib/history.zsh.old new file mode 100644 index 0000000..876936b --- /dev/null +++ b/dot.oh-my-zsh/lib/history.zsh.old @@ -0,0 +1,13 @@ +## Command history configuration +HISTFILE=$HOME/.zsh_history +HISTSIZE=10000 +SAVEHIST=10000 + +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 diff --git a/dot.oh-my-zsh/lib/key-bindings.zsh b/dot.oh-my-zsh/lib/key-bindings.zsh new file mode 120000 index 0000000..3efb642 --- /dev/null +++ b/dot.oh-my-zsh/lib/key-bindings.zsh @@ -0,0 +1 @@ +/home/nk/.oh-my-zsh/custom/lib/key-bindings.zsh \ No newline at end of file diff --git a/dot.oh-my-zsh/lib/key-bindings.zsh.old b/dot.oh-my-zsh/lib/key-bindings.zsh.old new file mode 100644 index 0000000..5f499f3 --- /dev/null +++ b/dot.oh-my-zsh/lib/key-bindings.zsh.old @@ -0,0 +1,50 @@ +# TODO: Explain what some of this does.. + +bindkey -e +bindkey '\ew' kill-region +bindkey -s '\el' "ls\n" +bindkey '^r' history-incremental-search-backward +bindkey "^[[5~" up-line-or-history +bindkey "^[[6~" down-line-or-history + +# make search up and down work, so partially type and hit up/down to find relevant stuff +bindkey '^[[A' up-line-or-search +bindkey '^[[B' down-line-or-search + +bindkey "^[[H" beginning-of-line +bindkey "^[[1~" beginning-of-line +bindkey "^[OH" beginning-of-line +bindkey "^[[F" end-of-line +bindkey "^[[4~" end-of-line +bindkey "^[OF" end-of-line +bindkey ' ' magic-space # also do history expansion on space + +bindkey "^[[1;5C" forward-word +bindkey "^[[1;5D" backward-word + +bindkey '^[[Z' reverse-menu-complete + +# Make the delete key (or Fn + Delete on the Mac) work instead of outputting a ~ +bindkey '^?' backward-delete-char +bindkey "^[[3~" delete-char +bindkey "^[3;5~" delete-char +bindkey "\e[3~" delete-char + +# 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' +# diff --git a/dot.oh-my-zsh/lib/misc.zsh b/dot.oh-my-zsh/lib/misc.zsh new file mode 120000 index 0000000..526dbd2 --- /dev/null +++ b/dot.oh-my-zsh/lib/misc.zsh @@ -0,0 +1 @@ +/home/nk/.oh-my-zsh/custom/lib/misc.zsh \ No newline at end of file diff --git a/dot.oh-my-zsh/lib/misc.zsh.old b/dot.oh-my-zsh/lib/misc.zsh.old new file mode 100644 index 0000000..a8678b8 --- /dev/null +++ b/dot.oh-my-zsh/lib/misc.zsh.old @@ -0,0 +1,15 @@ +## smart urls +autoload -U url-quote-magic +zle -N self-insert url-quote-magic + +## file rename magick +bindkey "^[m" copy-prev-shell-word + +## jobs +setopt long_list_jobs + +## pager +export PAGER="less" +export LESS="-R" + +export LC_CTYPE=$LANG diff --git a/dot.oh-my-zsh/lib/rvm.zsh b/dot.oh-my-zsh/lib/rvm.zsh new file mode 100644 index 0000000..e8744e6 --- /dev/null +++ b/dot.oh-my-zsh/lib/rvm.zsh @@ -0,0 +1,8 @@ +# get the name of the ruby version +function rvm_prompt_info() { + [ -f $HOME/.rvm/bin/rvm-prompt ] || return + local rvm_prompt + rvm_prompt=$($HOME/.rvm/bin/rvm-prompt ${ZSH_THEME_RVM_PROMPT_OPTIONS} 2>/dev/null) + [[ "${rvm_prompt}x" == "x" ]] && return + echo "${ZSH_THEME_RVM_PROMPT_PREFIX:=(}${rvm_prompt}${ZSH_THEME_RVM_PROMPT_SUFFIX:=)}" +} diff --git a/dot.oh-my-zsh/lib/spectrum.zsh b/dot.oh-my-zsh/lib/spectrum.zsh new file mode 100644 index 0000000..2fdf537 --- /dev/null +++ b/dot.oh-my-zsh/lib/spectrum.zsh @@ -0,0 +1,28 @@ +#! /bin/zsh +# A script to make using 256 colors in zsh less painful. +# P.C. Shyamshankar +# Copied from http://github.com/sykora/etc/blob/master/zsh/functions/spectrum/ + +typeset -Ag FX FG BG + +FX=( + reset "%{%}" + bold "%{%}" no-bold "%{%}" + italic "%{%}" no-italic "%{%}" + underline "%{%}" no-underline "%{%}" + blink "%{%}" no-blink "%{%}" + reverse "%{%}" no-reverse "%{%}" +) + +for color in {000..255}; do + FG[$color]="%{[38;5;${color}m%}" + BG[$color]="%{[48;5;${color}m%}" +done + +# Show all 256 colors with color number +function spectrum_ls() { + for code in {000..255}; do + print -P -- "$code: %F{$code}Test%f" + done +} + diff --git a/dot.oh-my-zsh/lib/termsupport.zsh b/dot.oh-my-zsh/lib/termsupport.zsh new file mode 100644 index 0000000..7470110 --- /dev/null +++ b/dot.oh-my-zsh/lib/termsupport.zsh @@ -0,0 +1,37 @@ +#usage: title short_tab_title looooooooooooooooooooooggggggg_windows_title +#http://www.faqs.org/docs/Linux-mini/Xterm-Title.html#ss3.1 +#Fully support screen, iterm, and probably most modern xterm and rxvt +#Limited support for Apple Terminal (Terminal can't set window or tab separately) +function title { + if [[ "$DISABLE_AUTO_TITLE" == "true" ]] || [[ "$EMACS" == *term* ]]; then + return + fi + if [[ "$TERM" == screen* ]]; then + print -Pn "\ek$1:q\e\\" #set screen hardstatus, usually truncated at 20 chars + elif [[ "$TERM_PROGRAM" == "Apple_Terminal" ]]; then + print -Pn "\e]1;$1:q\a" #set icon (=tab) name (will override window name on broken terminal) + elif [[ "$TERM" == xterm* ]] || [[ $TERM == rxvt* ]] || [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then + print -Pn "\e]2;$2:q\a" #set window name + print -Pn "\e]1;$1:q\a" #set icon (=tab) name (will override window name on broken terminal) + fi +} + +ZSH_THEME_TERM_TAB_TITLE_IDLE="%15<..<%~%<<" #15 char left truncated PWD +ZSH_THEME_TERM_TITLE_IDLE="%n@%m: %~" + +#Appears when you have the prompt +function omz_termsupport_precmd { + title $ZSH_THEME_TERM_TAB_TITLE_IDLE $ZSH_THEME_TERM_TITLE_IDLE +} + +#Appears at the beginning of (and during) of command execution +function omz_termsupport_preexec { + emulate -L zsh + setopt extended_glob + local CMD=${1[(wr)^(*=*|sudo|ssh|rake|-*)]} #cmd name only, or if this is sudo or ssh, the next cmd + title "$CMD" "%100>...>${2:gs/%/%%}%<<" +} + +autoload -U add-zsh-hook +add-zsh-hook precmd omz_termsupport_precmd +add-zsh-hook preexec omz_termsupport_preexec diff --git a/dot.oh-my-zsh/lib/theme-and-appearance.zsh b/dot.oh-my-zsh/lib/theme-and-appearance.zsh new file mode 100644 index 0000000..aec6772 --- /dev/null +++ b/dot.oh-my-zsh/lib/theme-and-appearance.zsh @@ -0,0 +1,36 @@ +# ls colors +autoload colors; colors; +export LSCOLORS="Gxfxcxdxbxegedabagacad" +#export LS_COLORS + +# Enable ls colors +if [ "$DISABLE_LS_COLORS" != "true" ] +then + # Find the option for using colors in ls, depending on the version: Linux or BSD + ls --color -d . &>/dev/null 2>&1 && alias ls='ls --color=tty' || alias ls='ls -G' +fi + +#setopt no_beep +setopt auto_cd +setopt multios +setopt cdablevarS + +if [[ x$WINDOW != x ]] +then + SCREEN_NO="%B$WINDOW%b " +else + SCREEN_NO="" +fi + +# 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 + +# Setup the prompt with pretty colors +setopt prompt_subst + diff --git a/dot.oh-my-zsh/log/.easter-egg b/dot.oh-my-zsh/log/.easter-egg new file mode 100644 index 0000000..2533149 --- /dev/null +++ b/dot.oh-my-zsh/log/.easter-egg @@ -0,0 +1,4 @@ +This file is only here so that Git will keep a log directory as .gitignore is ignoring all the log files within it. + +feel free to add love notes for people here. + diff --git a/dot.oh-my-zsh/oh-my-zsh.sh b/dot.oh-my-zsh/oh-my-zsh.sh new file mode 100644 index 0000000..689a79f --- /dev/null +++ b/dot.oh-my-zsh/oh-my-zsh.sh @@ -0,0 +1,80 @@ +# Check for updates on initial load... +if [ "$DISABLE_AUTO_UPDATE" != "true" ] +then + /usr/bin/env ZSH=$ZSH zsh $ZSH/tools/check_for_upgrade.sh +fi + +# Initializes Oh My Zsh + +# add a function path +fpath=($ZSH/functions $ZSH/completions $fpath) + +# 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 + source $config_file +done + +# 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 + + +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 + +# Load and run compinit +autoload -U compinit +compinit -i + + +# 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" + else + source "$ZSH/themes/$ZSH_THEME.zsh-theme" + fi + fi +fi diff --git a/dot.oh-my-zsh/plugins/ant/ant.plugin.zsh b/dot.oh-my-zsh/plugins/ant/ant.plugin.zsh new file mode 100644 index 0000000..691d4d2 --- /dev/null +++ b/dot.oh-my-zsh/plugins/ant/ant.plugin.zsh @@ -0,0 +1,26 @@ +stat -f%m . > /dev/null 2>&1 +if [ "$?" = 0 ]; then + stat_cmd=(stat -f%m) +else + stat_cmd=(stat -L --format=%Y) +fi + +_ant_does_target_list_need_generating () { + if [ ! -f .ant_targets ]; then return 0; + else + accurate=$($stat_cmd .ant_targets) + changed=$($stat_cmd build.xml) + return $(expr $accurate '>=' $changed) + fi +} + +_ant () { + if [ -f build.xml ]; then + if _ant_does_target_list_need_generating; then + sed -n '/ .ant_targets + fi + compadd `cat .ant_targets` + fi +} + +compdef _ant ant diff --git a/dot.oh-my-zsh/plugins/apache2-macports/apache2-macports.plugin.zsh b/dot.oh-my-zsh/plugins/apache2-macports/apache2-macports.plugin.zsh new file mode 100644 index 0000000..1caa4cf --- /dev/null +++ b/dot.oh-my-zsh/plugins/apache2-macports/apache2-macports.plugin.zsh @@ -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' diff --git a/dot.oh-my-zsh/plugins/archlinux/archlinux.plugin.zsh b/dot.oh-my-zsh/plugins/archlinux/archlinux.plugin.zsh new file mode 100644 index 0000000..ae92a0b --- /dev/null +++ b/dot.oh-my-zsh/plugins/archlinux/archlinux.plugin.zsh @@ -0,0 +1,93 @@ +# Archlinux zsh aliases and functions +# Usage is also described at https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins + +# Look for yaourt, and add some useful functions if we have it. +if [[ -x `which yaourt` ]]; then + upgrade () { + yaourt -Syu + } + alias yaconf='yaourt -C' # Fix all configuration files with vimdiff + # Pacman - https://wiki.archlinux.org/index.php/Pacman_Tips + alias yaupg='yaourt -Syu' # Synchronize with repositories before upgrading packages that are out of date on the local system. + alias yasu='yaourt --sucre' # Same as yaupg, but without confirmation + alias yain='yaourt -S' # Install specific package(s) from the repositories + alias yains='yaourt -U' # Install specific package not from the repositories but from a file + alias yare='yaourt -R' # Remove the specified package(s), retaining its configuration(s) and required dependencies + alias yarem='yaourt -Rns' # Remove the specified package(s), its configuration(s) and unneeded dependencies + alias yarep='yaourt -Si' # Display information about a given package in the repositories + alias yareps='yaourt -Ss' # Search for package(s) in the repositories + alias yaloc='yaourt -Qi' # Display information about a given package in the local database + alias yalocs='yaourt -Qs' # Search for package(s) in the local database + # Additional yaourt alias examples + if [[ -x `which abs` ]]; then + alias yaupd='yaourt -Sy && sudo abs' # Update and refresh the local package and ABS databases against repositories + else + alias yaupd='yaourt -Sy' # Update and refresh the local package and ABS databases against repositories + fi + alias yainsd='yaourt -S --asdeps' # Install given package(s) as dependencies of another package + alias yamir='yaourt -Syy' # Force refresh of all package lists after updating /etc/pacman.d/mirrorlist +else + upgrade() { + sudo pacman -Syu + } +fi + +# Pacman - https://wiki.archlinux.org/index.php/Pacman_Tips +alias pacupg='sudo pacman -Syu' # Synchronize with repositories before upgrading packages that are out of date on the local system. +alias pacin='sudo pacman -S' # Install specific package(s) from the repositories +alias pacins='sudo pacman -U' # Install specific package not from the repositories but from a file +alias pacre='sudo pacman -R' # Remove the specified package(s), retaining its configuration(s) and required dependencies +alias pacrem='sudo pacman -Rns' # Remove the specified package(s), its configuration(s) and unneeded dependencies +alias pacrep='pacman -Si' # Display information about a given package in the repositories +alias pacreps='pacman -Ss' # Search for package(s) in the repositories +alias pacloc='pacman -Qi' # Display information about a given package in the local database +alias paclocs='pacman -Qs' # Search for package(s) in the local database +# Additional pacman alias examples +if [[ -x `which abs` ]]; then + alias pacupd='sudo pacman -Sy && sudo abs' # Update and refresh the local package and ABS databases against repositories +else + alias pacupd='sudo pacman -Sy' # Update and refresh the local package and ABS databases against repositories +fi +alias pacinsd='sudo pacman -S --asdeps' # Install given package(s) as dependencies of another package +alias pacmir='sudo pacman -Syy' # Force refresh of all package lists after updating /etc/pacman.d/mirrorlist + +# https://bbs.archlinux.org/viewtopic.php?id=93683 +paclist() { + sudo pacman -Qei $(pacman -Qu|cut -d" " -f 1)|awk ' BEGIN {FS=":"}/^Name/{printf("\033[1;36m%s\033[1;37m", $2)}/^Description/{print $2}' +} + +alias paclsorphans='sudo pacman -Qdt' +alias pacrmorphans='sudo pacman -Rs $(pacman -Qtdq)' + +pacdisowned() { + 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() { + # Get all keys for developers and trusted users + curl https://www.archlinux.org/{developers,trustedusers}/ | + awk -F\" '(/pgp.mit.edu/) {sub(/.*search=0x/,"");print $1}' | + xargs sudo pacman-key --recv-keys +} + +pacmansignkeys() { + 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 +} diff --git a/dot.oh-my-zsh/plugins/autojump/autojump.plugin.zsh b/dot.oh-my-zsh/plugins/autojump/autojump.plugin.zsh new file mode 100644 index 0000000..3894ccd --- /dev/null +++ b/dot.oh-my-zsh/plugins/autojump/autojump.plugin.zsh @@ -0,0 +1,13 @@ +if [ $commands[autojump] ]; then # check if autojump is installed + if [ -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 $HOME/.autojump/etc/profile.d/autojump.zsh ]; then # manual user-local installation + . $HOME/.autojump/etc/profile.d/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.zsh ]; then # mac os x with brew + . `brew --prefix`/etc/autojump.zsh + fi +fi diff --git a/dot.oh-my-zsh/plugins/battery/battery.plugin.zsh b/dot.oh-my-zsh/plugins/battery/battery.plugin.zsh new file mode 100644 index 0000000..95f8906 --- /dev/null +++ b/dot.oh-my-zsh/plugins/battery/battery.plugin.zsh @@ -0,0 +1,71 @@ +########################################### +# 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 [[ $(uname) == "Darwin" ]] ; then + + function battery_pct_remaining() { + if [[ $(ioreg -rc AppleSmartBattery | grep -c '^.*"ExternalConnected"\ =\ No') -eq 1 ]] ; then + typeset -F maxcapacity=$(ioreg -rc "AppleSmartBattery"| grep '^.*"MaxCapacity"\ =\ ' | sed -e 's/^.*"MaxCapacity"\ =\ //') + typeset -F currentcapacity=$(ioreg -rc "AppleSmartBattery"| grep '^.*"CurrentCapacity"\ =\ ' | sed -e 's/^.*CurrentCapacity"\ =\ //') + integer i=$(((currentcapacity/maxcapacity) * 100)) + echo $i + else + echo "External Power" + fi + } + + function battery_time_remaining() { + if [[ $(ioreg -rc AppleSmartBattery | grep -c '^.*"ExternalConnected"\ =\ No') -eq 1 ]] ; then + timeremaining=$(ioreg -rc "AppleSmartBattery"| grep '^.*"AvgTimeToEmpty"\ =\ ' | sed -e 's/^.*"AvgTimeToEmpty"\ =\ //') + echo "~$((timeremaining / 60)):$((timeremaining % 60))" + 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 + } + +elif [[ $(uname) == "Linux" ]] ; then + + if [[ $(acpi 2&>/dev/null | grep -c '^Battery.*Discharging') -gt 0 ]] ; then + function battery_pct_remaining() { echo "$(acpi | cut -f2 -d ',' | tr -cd '[:digit:]')" } + function battery_time_remaining() { echo $(acpi | cut -f3 -d ',') } + function battery_pct_prompt() { + 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 + error_msg='no battery' + function battery_pct_remaining() { echo $error_msg } + function battery_time_remaining() { echo $error_msg } + function battery_pct_prompt() { echo '' } + fi +fi diff --git a/dot.oh-my-zsh/plugins/brew/_brew b/dot.oh-my-zsh/plugins/brew/_brew new file mode 100644 index 0000000..1dcf0a4 --- /dev/null +++ b/dot.oh-my-zsh/plugins/brew/_brew @@ -0,0 +1,80 @@ +#compdef brew +#autoload + +# imported from the latest homebrew contributions + +_brew_all_formulae() { + formulae=(`brew search`) +} + +_brew_installed_formulae() { + installed_formulae=(`brew list`) +} + +local -a _1st_arguments +_1st_arguments=( + 'cat:display formula file for a formula' + 'cleanup:uninstall unused and old versions of packages' + 'create:create a new formula' + 'deps:list dependencies and dependants of a formula' + 'doctor:audits your installation for common issues' + 'edit:edit a formula' + 'home:visit the homepage of a formula or the brew project' + 'info:information about a formula' + 'install:install a formula' + 'link:link a formula' + 'list:list files in a formula or not-installed formulae' + 'log:git commit log for a formula' + 'missing:check all installed formuale for missing dependencies.' + 'outdated:list formulas for which a newer version is available' + 'prune:remove dead links' + 'remove:remove a formula' + 'search:search for a formula (/regex/ or string)' + 'server:start a local web app that lets you browse formulae (requires Sinatra)' + 'unlink:unlink a formula' + 'update:freshen up links' + 'upgrade:upgrade outdated formulae' + 'uses:show formulas which depend on a formula' +) + +local expl +local -a formulae installed_formulae + +_arguments \ + '(-v)-v[verbose]' \ + '(--cellar)--cellar[brew cellar]' \ + '(--config)--config[brew configuration]' \ + '(--env)--env[brew environment]' \ + '(--repository)--repository[brew repository]' \ + '(--version)--version[version information]' \ + '(--prefix)--prefix[where brew lives on this system]' \ + '(--cache)--cache[brew cache]' \ + '*:: :->subcmds' && return 0 + +if (( CURRENT == 1 )); then + _describe -t commands "brew subcommand" _1st_arguments + return +fi + +case "$words[1]" in + search|-S) + _arguments \ + '(--macports)--macports[search the macports repository]' \ + '(--fink)--fink[search the fink repository]' ;; + list|ls) + _arguments \ + '(--unbrewed)--unbrewed[files in brew --prefix not controlled by brew]' \ + '(--versions)--versions[list all installed versions of a formula]' \ + '1: :->forms' && return 0 + + if [[ "$state" == forms ]]; then + _brew_installed_formulae + _wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae + fi ;; + install|home|homepage|log|info|abv|uses|cat|deps|edit|options) + _brew_all_formulae + _wanted formulae expl 'all formulae' compadd -a formulae ;; + remove|rm|uninstall|unlink|cleanup|link|ln) + _brew_installed_formulae + _wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae ;; +esac diff --git a/dot.oh-my-zsh/plugins/brew/brew.plugin.zsh b/dot.oh-my-zsh/plugins/brew/brew.plugin.zsh new file mode 100644 index 0000000..c2e9588 --- /dev/null +++ b/dot.oh-my-zsh/plugins/brew/brew.plugin.zsh @@ -0,0 +1 @@ +alias brews='brew list -1' diff --git a/dot.oh-my-zsh/plugins/bundler/_bundler b/dot.oh-my-zsh/plugins/bundler/_bundler new file mode 100644 index 0000000..5d22cac --- /dev/null +++ b/dot.oh-my-zsh/plugins/bundler/_bundler @@ -0,0 +1,82 @@ +#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]" \ + "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]" \ + "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' \ + 'console' \ + 'open' \ + 'viz' \ + 'init' \ + 'gem' \ + '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 + ;; + (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 diff --git a/dot.oh-my-zsh/plugins/bundler/bundler.plugin.zsh b/dot.oh-my-zsh/plugins/bundler/bundler.plugin.zsh new file mode 100644 index 0000000..f984369 --- /dev/null +++ b/dot.oh-my-zsh/plugins/bundler/bundler.plugin.zsh @@ -0,0 +1,42 @@ +alias be="bundle exec" +alias bi="bundle install" +alias bl="bundle list" +alias bp="bundle package" +alias bu="bundle update" + +# The following is based on https://github.com/gma/bundler-exec + +bundled_commands=(annotate cap capify cucumber foreman guard middleman nanoc rackup rainbows rake rspec ruby shotgun spec spork thin thor unicorn unicorn_rails puma zeus) + +## Functions + +_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 +} + +_run-with-bundler() { + if _bundler-installed && _within-bundled-project; then + bundle exec $@ + else + $@ + fi +} + +## Main program +for cmd in $bundled_commands; do + 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 diff --git a/dot.oh-my-zsh/plugins/bwana/bwana.plugin.zsh b/dot.oh-my-zsh/plugins/bwana/bwana.plugin.zsh new file mode 100644 index 0000000..455da86 --- /dev/null +++ b/dot.oh-my-zsh/plugins/bwana/bwana.plugin.zsh @@ -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 diff --git a/dot.oh-my-zsh/plugins/cake/cake.plugin.zsh b/dot.oh-my-zsh/plugins/cake/cake.plugin.zsh new file mode 100644 index 0000000..1d0d196 --- /dev/null +++ b/dot.oh-my-zsh/plugins/cake/cake.plugin.zsh @@ -0,0 +1,36 @@ +# 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 + + if [ ! -f ${_cake_task_cache_file} ]; then return 0; + else + accurate=$(stat -f%m $_cake_task_cache_file) + changed=$(stat -f%m Cakefile) + return $(expr $accurate '>=' $changed) + fi +} + +_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 \ No newline at end of file diff --git a/dot.oh-my-zsh/plugins/capistrano/_capistrano b/dot.oh-my-zsh/plugins/capistrano/_capistrano new file mode 100644 index 0000000..cf6b50c --- /dev/null +++ b/dot.oh-my-zsh/plugins/capistrano/_capistrano @@ -0,0 +1,10 @@ +#compdef cap +#autoload + +if [ -f config/deploy.rb ]; then + if [[ ! -f .cap_tasks~ || config/deploy.rb -nt .cap_tasks~ ]]; then + echo "\nGenerating .cap_tasks~..." > /dev/stderr + cap --tasks | grep '#' | cut -d " " -f 2 > .cap_tasks~ + fi + compadd `cat .cap_tasks~` +fi diff --git a/dot.oh-my-zsh/plugins/cloudapp/cloudapp.plugin.zsh b/dot.oh-my-zsh/plugins/cloudapp/cloudapp.plugin.zsh new file mode 100644 index 0000000..99252f6 --- /dev/null +++ b/dot.oh-my-zsh/plugins/cloudapp/cloudapp.plugin.zsh @@ -0,0 +1,2 @@ +#!/bin/zsh +alias cloudapp=$ZSH/plugins/cloudapp/cloudapp.rb diff --git a/dot.oh-my-zsh/plugins/cloudapp/cloudapp.rb b/dot.oh-my-zsh/plugins/cloudapp/cloudapp.rb new file mode 100755 index 0000000..a11cfdb --- /dev/null +++ b/dot.oh-my-zsh/plugins/cloudapp/cloudapp.rb @@ -0,0 +1,60 @@ +#!/usr/bin/env ruby +# +# cloudapp +# Zach Holman / @holman +# +# Uploads a file from the command line to CloudApp, drops it into your +# clipboard (on a Mac, at least). +# +# Example: +# +# cloudapp drunk-blake.png +# +# This requires Aaron Russell's cloudapp_api gem: +# +# gem install cloudapp_api +# +# Requires you set your CloudApp credentials in ~/.cloudapp as a simple file of: +# +# email +# password + +require 'rubygems' +begin + require 'cloudapp_api' +rescue LoadError + puts "You need to install cloudapp_api: gem install cloudapp_api" + exit!(1) +end + +config_file = "#{ENV['HOME']}/.cloudapp" +unless File.exist?(config_file) + puts "You need to type your email and password (one per line) into "+ + "`~/.cloudapp`" + exit!(1) +end + +email,password = File.read(config_file).split("\n") + +class HTTParty::Response + # Apparently HTTPOK.ok? IS NOT OKAY WTFFFFFFFFFFUUUUUUUUUUUUUU + # LETS MONKEY PATCH IT I FEEL OKAY ABOUT IT + def ok? ; true end +end + +if ARGV[0].nil? + puts "You need to specify a file to upload." + exit!(1) +end + +CloudApp.authenticate(email,password) +url = CloudApp::Item.create(:upload, {:file => ARGV[0]}).url + +# Say it for good measure. +puts "Uploaded to #{url}." + +# Get the embed link. +url = "#{url}/#{ARGV[0].split('/').last}" + +# Copy it to your (Mac's) clipboard. +`echo '#{url}' | tr -d "\n" | pbcopy` diff --git a/dot.oh-my-zsh/plugins/coffee/_coffee b/dot.oh-my-zsh/plugins/coffee/_coffee new file mode 100644 index 0000000..5c8eb9a --- /dev/null +++ b/dot.oh-my-zsh/plugins/coffee/_coffee @@ -0,0 +1,71 @@ +#compdef coffee +# ------------------------------------------------------------------------------ +# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the zsh-users nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# ------------------------------------------------------------------------------ +# Description +# ----------- +# +# Completion script for Coffee.js v0.6.11 (http://coffeejs.org) +# +# ------------------------------------------------------------------------------ +# Authors +# ------- +# +# * Mario Fernandez (https://github.com/sirech) +# +# ------------------------------------------------------------------------------ + +local curcontext="$curcontext" state line ret=1 +typeset -A opt_args + +_arguments -C \ + '(- *)'{-h,--help}'[display this help message]' \ + '(- *)'{-v,--version}'[display the version number]' \ + '(-b --bare)'{-b,--bare}'[compile without a top-level function wrapper]' \ + '(-e --eval)'{-e,--eval}'[pass a string from the command line as input]:Inline Script' \ + '(-i --interactive)'{-i,--interactive}'[run an interactive CoffeeScript REPL]' \ + '(-j --join)'{-j,--join}'[concatenate the source CoffeeScript before compiling]:Destination JS file:_files -g "*.js"' \ + '(-l --lint)'{-l,--lint}'[pipe the compiled JavaScript through JavaScript Lint]' \ + '(--nodejs)--nodejs[pass options directly to the "node" binary]' \ + '(-c --compile)'{-c,--compile}'[compile to JavaScript and save as .js files]' \ + '(-o --output)'{-o,--output}'[set the output directory for compiled JavaScript]:Output Directory:_files -/' \ + '(-n -t -p)'{-n,--nodes}'[print out the parse tree that the parser produces]' \ + '(-n -t -p)'{-p,--print}'[print out the compiled JavaScript]' \ + '(-n -t -p)'{-t,--tokens}'[print out the tokens that the lexer/rewriter produce]' \ + '(-r --require)'{-r,--require}'[require a library before executing your script]:library' \ + '(-s --stdio)'{-s,--stdio}'[listen for and compile scripts over stdio]' \ + '(-w --watch)'{-w,--watch}'[watch scripts for changes and rerun commands]' \ + '*:script or directory:_files' && ret=0 + +return ret + +# Local Variables: +# mode: Shell-Script +# sh-indentation: 2 +# indent-tabs-mode: nil +# sh-basic-offset: 2 +# End: +# vim: ft=zsh sw=2 ts=2 et diff --git a/dot.oh-my-zsh/plugins/colemak/colemak-less b/dot.oh-my-zsh/plugins/colemak/colemak-less new file mode 100644 index 0000000..e4ca4fa --- /dev/null +++ b/dot.oh-my-zsh/plugins/colemak/colemak-less @@ -0,0 +1,6 @@ +n forw-line +e back-line +k repeat-search +\ek repeat-search-all +K reverse-search +\eK reverse-search-all diff --git a/dot.oh-my-zsh/plugins/colemak/colemak.plugin.zsh b/dot.oh-my-zsh/plugins/colemak/colemak.plugin.zsh new file mode 100644 index 0000000..34d42c2 --- /dev/null +++ b/dot.oh-my-zsh/plugins/colemak/colemak.plugin.zsh @@ -0,0 +1,22 @@ +# ctrl-j newline +bindkey '^n' accept-line +bindkey -a '^n' accept-line + +# another rotation to match qwerty +bindkey -a 'n' down-line-or-history +bindkey -a 'e' up-line-or-history +bindkey -a 'i' vi-forward-char + +# make qwerty +bindkey -a 'k' vi-repeat-search +bindkey -a 'K' vi-rev-repeat-search +bindkey -a 'u' vi-insert +bindkey -a 'U' vi-insert-bol +bindkey -a 'l' vi-undo-change +bindkey -a 'N' vi-join + +# spare +bindkey -a 'j' vi-forward-word-end +bindkey -a 'J' vi-forward-blank-word-end + +lesskey $ZSH_CUSTOM/plugins/colemak/colemak-less diff --git a/dot.oh-my-zsh/plugins/command-not-found/command-not-found.plugin.zsh b/dot.oh-my-zsh/plugins/command-not-found/command-not-found.plugin.zsh new file mode 100644 index 0000000..567da1b --- /dev/null +++ b/dot.oh-my-zsh/plugins/command-not-found/command-not-found.plugin.zsh @@ -0,0 +1,5 @@ +# Uses the command-not-found package zsh support +# as seen in http://www.porcheron.info/command-not-found-for-zsh/ +# this is installed in Ubuntu + +[[ -e /etc/zsh_command_not_found ]] && source /etc/zsh_command_not_found diff --git a/dot.oh-my-zsh/plugins/compleat/compleat.plugin.zsh b/dot.oh-my-zsh/plugins/compleat/compleat.plugin.zsh new file mode 100644 index 0000000..38f1b39 --- /dev/null +++ b/dot.oh-my-zsh/plugins/compleat/compleat.plugin.zsh @@ -0,0 +1,20 @@ +# ------------------------------------------------------------------------------ +# FILE: compleat.plugin.zsh +# DESCRIPTION: oh-my-zsh plugin file. +# AUTHOR: Sorin Ionescu (sorin.ionescu@gmail.com) +# VERSION: 1.0.0 +# ------------------------------------------------------------------------------ + +if (( ${+commands[compleat]} )); then + local prefix="${commands[compleat]:h:h}" + local setup="${prefix}/share/compleat-1.0/compleat_setup" + + if [[ -f "$setup" ]]; then + if ! bashcompinit >/dev/null 2>&1; then + autoload -U bashcompinit + bashcompinit -i + fi + + source "$setup" + fi +fi diff --git a/dot.oh-my-zsh/plugins/composer/composer.plugin.zsh b/dot.oh-my-zsh/plugins/composer/composer.plugin.zsh new file mode 100644 index 0000000..c9b762d --- /dev/null +++ b/dot.oh-my-zsh/plugins/composer/composer.plugin.zsh @@ -0,0 +1,29 @@ +# ------------------------------------------------------------------------------ +# FILE: composer.plugin.zsh +# DESCRIPTION: oh-my-zsh composer plugin file. +# AUTHOR: Daniel Gomes (me@danielcsgomes.com) +# VERSION: 1.0.0 +# ------------------------------------------------------------------------------ + +# Composer basic command completion +_composer_get_command_list () { + composer --no-ansi | sed "1,/Available commands/d" | awk '/^ [a-z]+/ { print $1 }' +} + +_composer () { + if [ -f composer.json ]; then + compadd `_composer_get_command_list` + fi +} + +compdef _composer composer + +# Aliases +alias c='composer' +alias csu='composer self-update' +alias cu='composer update' +alias ci='composer install' +alias ccp='composer create-project' + +# install composer in the current directory +alias cget='curl -s https://getcomposer.org/installer | php' \ No newline at end of file diff --git a/dot.oh-my-zsh/plugins/cp/cp.plugin.zsh b/dot.oh-my-zsh/plugins/cp/cp.plugin.zsh new file mode 100644 index 0000000..7355a99 --- /dev/null +++ b/dot.oh-my-zsh/plugins/cp/cp.plugin.zsh @@ -0,0 +1,14 @@ +#Show progress while file is copying + +# Rsync options are: +# -p - preserve permissions +# -o - preserve owner +# -g - preserve group +# -h - output in human-readable format +# --progress - display progress +# -b - instead of just overwriting an existing file, save the original +# --backup-dir=/tmp/rsync - move backup copies to "/tmp/rsync" +# -e /dev/null - only work on local files +# -- - everything after this is an argument, even if it looks like an option + +alias cpv="rsync -poghb --backup-dir=/tmp/rsync -e /dev/null --progress --" diff --git a/dot.oh-my-zsh/plugins/cpanm/_cpanm b/dot.oh-my-zsh/plugins/cpanm/_cpanm new file mode 100644 index 0000000..58451d3 --- /dev/null +++ b/dot.oh-my-zsh/plugins/cpanm/_cpanm @@ -0,0 +1,67 @@ +#compdef cpanm + +## +# cpanminus Z Shell completion script +## +# +# Current supported cpanm version: 1.4000 (Tue Mar 8 01:00:49 PST 2011) +# +# The latest code is always located at: +# https://github.com/rshhh/cpanminus/blob/master/etc/_cpanm +# + +local arguments curcontext="$curcontext" +typeset -A opt_args + + +arguments=( + +# Commands +# '(--install -i)'{--install,-i}'[Installs the modules]' + '(- :)--self-upgrade[Upgrades itself]' + '(- :)--info[Displays distribution info on CPAN]' + '(--installdeps)--installdeps[Only install dependencies]' + '(--look)--look[Download/unpack the distribution and then open the directory with your shell]' + '(- :)'{--help,-h}'[Displays help information]' + '(- :)'{--version,-V}'[Displays software version]' + +# Options + {--force,-f}'[Force install]' + {--notest,-n}'[Do not run unit tests]' + {--sudo,-S}'[sudo to run install commands]' + '(-v --verbose --quiet -q)'{--verbose,-v}'[Turns on chatty output]' + '(-q --quiet --verbose -v)'{--quiet,-q}'[Turns off all output]' + {--local-lib,-l}'[Specify the install base to install modules]' + {--local-lib-contained,-L}'[Specify the install base to install all non-core modules]' + '--mirror[Specify the base URL for the mirror (e.g. http://cpan.cpantesters.org/)]:URLs:_urls' + '--mirror-only[Use the mirror\''s index file instead of the CPAN Meta DB]' + '--prompt[Prompt when configure/build/test fails]' + '--reinstall[Reinstall the distribution even if you already have the latest version installed]' + '--interactive[Turn on interactive configure]' + + '--scandeps[Scan the depencencies of given modules and output the tree in a text format]' + '--format[Specify what format to display the scanned dependency tree]:scandeps format:(tree json yaml dists)' + + '--save-dists[Specify the optional directory path to copy downloaded tarballs]' +# '--uninst-shadows[Uninstalls the shadow files of the distribution that you\''re installing]' + + '--auto-cleanup[Number of days that cpanm\''s work directories expire in. Defaults to 7]' + '(--no-man-pages)--man-pages[Generates man pages for executables (man1) and libraries (man3)]' + '(--man-pages)--no-man-pages[Do not generate man pages]' + + + # Note: Normally with "--lwp", "--wget" and "--curl" options set to true (which is the default) cpanm tries LWP, + # Wget, cURL and HTTP::Tiny (in that order) and uses the first one available. + # (So that the exclusions are not enabled here for the completion) + '(--lwp)--lwp[Use LWP module to download stuff]' + '(--wget)--wget[Use GNU Wget (if available) to download stuff]' + '(--curl)--curl[Use cURL (if available) to download stuff]' + +# Other completions + '*:Local directory or archive:_files -/ -g "*.(tar.gz|tgz|tar.bz2|zip)(-.)"' + # '*::args: _normal' # this looks for default files (any files) +) +_arguments -s $arguments \ + && return 0 + +return 1 diff --git a/dot.oh-my-zsh/plugins/debian/debian.plugin.zsh b/dot.oh-my-zsh/plugins/debian/debian.plugin.zsh new file mode 100644 index 0000000..55b90e3 --- /dev/null +++ b/dot.oh-my-zsh/plugins/debian/debian.plugin.zsh @@ -0,0 +1,186 @@ +# Authors: +# https://github.com/AlexBio +# https://github.com/dbb +# +# Debian-related zsh aliases and functions for zsh + +# Use aptitude if installed, or apt-get if not. +# You can just set apt_pref='apt-get' to override it. +if [[ -e $( which aptitude 2>&1 ) ]]; then + apt_pref='aptitude' +else + apt_pref='apt-get' +fi + +# Use sudo by default if it's installed +if [[ -e $( which sudo 2>&1 ) ]]; then + use_sudo=1 +fi + +# Aliases ################################################################### +# These are for more obscure uses of apt-get and aptitude that aren't covered +# below. +alias ag='apt-get' +alias ap='aptitude' + +# Some self-explanatory aliases +alias acs="apt-cache search" +alias aps='aptitude search' +alias as="aptitude -F \"* %p -> %d \n(%v/%V)\" \ + --no-gui --disable-columns search" # search package + +# apt-file +alias afs='apt-file search --regexp' + + +# These are apt-get only +alias asrc='apt-get source' +alias app='apt-cache policy' + +# superuser operations ###################################################### +if [[ $use_sudo -eq 1 ]]; then +# commands using sudo ####### + alias aac='sudo $apt_pref autoclean' + alias abd='sudo $apt_pref build-dep' + alias ac='sudo $apt_pref clean' + alias ad='sudo $apt_pref update' + alias adg='sudo $apt_pref update && sudo $apt_pref upgrade' + alias adu='sudo $apt_pref update && sudo $apt_pref dist-upgrade' + alias afu='sudo apt-file update' + alias ag='sudo $apt_pref upgrade' + alias ai='sudo $apt_pref install' + # Install all packages given on the command line while using only the first word of each line: + # acs ... | ail + alias ail="sed -e 's/ */ /g' -e 's/ *//' | cut -s -d ' ' -f 1 | "' xargs sudo $apt_pref install' + alias ap='sudo $apt_pref purge' + alias ar='sudo $apt_pref remove' + + # apt-get only + alias ads='sudo $apt_pref dselect-upgrade' + + # Install all .deb files in the current directory. + # Warning: you will need to put the glob in single quotes if you use: + # glob_subst + alias dia='sudo dpkg -i ./*.deb' + alias di='sudo dpkg -i' + + # Remove ALL kernel images and headers EXCEPT the one in use + alias kclean='sudo aptitude remove -P ?and(~i~nlinux-(ima|hea) \ + ?not(~n`uname -r`))' + + +# commands using su ######### +else + alias aac='su -ls \'$apt_pref autoclean\' root' + abd() { + cmd="su -lc '$apt_pref build-dep $@' root" + print "$cmd" + eval "$cmd" + } + alias ac='su -ls \'$apt_pref clean\' root' + alias ad='su -lc \'$apt_pref update\' root' + alias adg='su -lc \'$apt_pref update && aptitude safe-upgrade\' root' + alias adu='su -lc \'$apt_pref update && aptitude dist-upgrade\' root' + alias afu='su -lc "apt-file update"' + alias ag='su -lc \'$apt_pref safe-upgrade\' root' + ai() { + cmd="su -lc 'aptitude -P install $@' root" + print "$cmd" + eval "$cmd" + } + ap() { + cmd="su -lc '$apt_pref -P purge $@' root" + print "$cmd" + eval "$cmd" + } + ar() { + cmd="su -lc '$apt_pref -P remove $@' root" + print "$cmd" + eval "$cmd" + } + + # Install all .deb files in the current directory + # Assumes glob_subst is off + alias dia='su -lc "dpkg -i ./*.deb" root' + alias di='su -lc "dpkg -i" root' + + # Remove ALL kernel images and headers EXCEPT the one in use + alias kclean='su -lc '\''aptitude remove -P ?and(~i~nlinux-(ima|hea) \ + ?not(~n`uname -r`))'\'' root' +fi + + +# Misc. ##################################################################### +# print all installed packages +alias allpkgs='aptitude search -F "%p" --disable-columns ~i' + +# Create a basic .deb package +alias mydeb='time dpkg-buildpackage -rfakeroot -us -uc' + + +# Functions ################################################################# +# create a simple script that can be used to 'duplicate' a system +apt-copy() { + print '#!/bin/sh'"\n" > apt-copy.sh + + cmd='$apt_pref install' + + for p in ${(f)"$(aptitude search -F "%p" --disable-columns \~i)"}; { + cmd="${cmd} ${p}" + } + + print $cmd "\n" >> apt-copy.sh + + chmod +x apt-copy.sh +} + +# Prints apt history +# Usage: +# apt-history install +# apt-history upgrade +# apt-history remove +# apt-history rollback +# apt-history list +# Based On: http://linuxcommando.blogspot.com/2008/08/how-to-show-apt-log-history.html +apt-history () { + case "$1" in + install) + zgrep --no-filename 'install ' $(ls -rt /var/log/dpkg*) + ;; + upgrade|remove) + zgrep --no-filename $1 $(ls -rt /var/log/dpkg*) + ;; + rollback) + zgrep --no-filename upgrade $(ls -rt /var/log/dpkg*) | \ + grep "$2" -A10000000 | \ + grep "$3" -B10000000 | \ + awk '{print $4"="$5}' + ;; + list) + zcat $(ls -rt /var/log/dpkg*) + ;; + *) + echo "Parameters:" + echo " install - Lists all packages that have been installed." + echo " upgrade - Lists all packages that have been upgraded." + echo " remove - Lists all packages that have been removed." + echo " rollback - Lists rollback information." + echo " list - Lists all contains of dpkg logs." + ;; + esac +} + +# Kernel-package building shortcut +kerndeb () { + # temporarily unset MAKEFLAGS ( '-j3' will fail ) + MAKEFLAGS=$( print - $MAKEFLAGS | perl -pe 's/-j\s*[\d]+//g' ) + print '$MAKEFLAGS set to '"'$MAKEFLAGS'" + appendage='-custom' # this shows up in $ (uname -r ) + revision=$(date +"%Y%m%d") # this shows up in the .deb file name + + make-kpkg clean + + time fakeroot make-kpkg --append-to-version "$appendage" --revision \ + "$revision" kernel_image kernel_headers +} + diff --git a/dot.oh-my-zsh/plugins/dircycle/dircycle.plugin.zsh b/dot.oh-my-zsh/plugins/dircycle/dircycle.plugin.zsh new file mode 100644 index 0000000..46a0ab2 --- /dev/null +++ b/dot.oh-my-zsh/plugins/dircycle/dircycle.plugin.zsh @@ -0,0 +1,10 @@ +## +# dircycle plugin: enables cycling through the directory +# stack using Ctrl+Shift+Left/Right + +eval "insert-cycledleft () { zle push-line; LBUFFER='pushd -q +1'; zle accept-line }" +zle -N insert-cycledleft +bindkey "\e[1;6D" insert-cycledleft +eval "insert-cycledright () { zle push-line; LBUFFER='pushd -q -0'; zle accept-line }" +zle -N insert-cycledright +bindkey "\e[1;6C" insert-cycledright diff --git a/dot.oh-my-zsh/plugins/dirpersist/dirpersist.plugin.zsh b/dot.oh-my-zsh/plugins/dirpersist/dirpersist.plugin.zsh new file mode 100644 index 0000000..0f6d9f4 --- /dev/null +++ b/dot.oh-my-zsh/plugins/dirpersist/dirpersist.plugin.zsh @@ -0,0 +1,39 @@ +#!/bin/zsh +# +# Make the dirstack more persistant +# +# Add dirpersist to $plugins in ~/.zshrc to load +# + +# $zdirstore is the file used to persist the stack +zdirstore=~/.zdirstore + +dirpersistinstall () { + if grep 'dirpersiststore' ~/.zlogout > /dev/null; then + else + if read -q \?"Would you like to set up your .zlogout file for use with dirspersist? (y/n) "; then + echo "# Store dirs stack\n# See $ZSH/plugins/dirspersist.plugin.zsh\ndirpersiststore" >> ~/.zlogout + else + echo "If you don't want this message to appear, remove dirspersist from \$plugins" + fi + fi +} + +dirpersiststore () { + dirs -p | perl -e 'foreach (reverse ) {chomp;s/([& ])/\\$1/g ;print "if [ -d $_ ]; then pushd -q $_; fi\n"}' > $zdirstore +} + +dirpersistrestore () { + if [ -f $zdirstore ]; then + source $zdirstore + fi +} + +DIRSTACKSIZE=10 +setopt autopushd pushdminus pushdsilent pushdtohome pushdignoredups + +dirpersistinstall +dirpersistrestore + +# Make popd changes permanent without having to wait for logout +alias popd="popd;dirpersiststore" diff --git a/dot.oh-my-zsh/plugins/django/django.plugin.zsh b/dot.oh-my-zsh/plugins/django/django.plugin.zsh new file mode 100644 index 0000000..0bbd031 --- /dev/null +++ b/dot.oh-my-zsh/plugins/django/django.plugin.zsh @@ -0,0 +1,223 @@ +#compdef manage.py + +typeset -ga nul_args +nul_args=( + '--settings=-[the Python path to a settings module.]:file:_files' + '--pythonpath=-[a directory to add to the Python path.]::directory:_directories' + '--traceback[print traceback on exception.]' + "--version[show program's version number and exit.]" + {-h,--help}'[show this help message and exit.]' +) + +_managepy-adminindex(){ + _arguments -s : \ + $nul_args \ + '*::directory:_directories' && ret=0 +} + +_managepy-createcachetable(){ + _arguments -s : \ + $nul_args && ret=0 +} + +_managepy-dbshell(){ + _arguments -s : \ + $nul_args && ret=0 +} + +_managepy-diffsettings(){ + _arguments -s : \ + $nul_args && ret=0 +} + +_managepy-dumpdata(){ + _arguments -s : \ + '--format=-[specifies the output serialization format for fixtures.]:format:(json yaml xml)' \ + '--indent=-[specifies the indent level to use when pretty-printing output.]:' \ + $nul_args \ + '*::appname:_applist' && ret=0 +} + +_managepy-flush(){ + _arguments -s : \ + '--verbosity=-[verbosity level; 0=minimal output, 1=normal output, 2=all output.]:Verbosity:((0\:minimal 1\:normal 2\:all))' \ + '--noinput[tells Django to NOT prompt the user for input of any kind.]' \ + $nul_args && ret=0 +} + +_managepy-help(){ + _arguments -s : \ + '*:command:_managepy_cmds' \ + $nul_args && ret=0 +} + +_managepy_cmds(){ + local line + local -a cmd + _call_program help-command ./manage.py help \ + |& sed -n '/^ /s/[(), ]/ /gp' \ + | while read -A line; do cmd=($line $cmd) done + _describe -t managepy-command 'manage.py command' cmd +} + +_managepy-inspectdb(){ + _arguments -s : \ + $nul_args && ret=0 +} + +_managepy-loaddata(){ + _arguments -s : \ + '--verbosity=-[verbosity level; 0=minimal output, 1=normal output, 2=all output.]:Verbosity:((0\:minimal 1\:normal 2\:all))' \ + '*::file:_files' \ + $nul_args && ret=0 +} + +_managepy-reset(){ + _arguments -s : \ + '--noinput[tells Django to NOT prompt the user for input of any kind.]' \ + '*::appname:_applist' \ + $nul_args && ret=0 +} + +_managepy-runfcgi(){ + local state + + local fcgi_opts + fcgi_opts=( + 'protocol[fcgi, scgi, ajp, ... (default fcgi)]:protocol:(fcgi scgi ajp)' + 'host[hostname to listen on..]:' + 'port[port to listen on.]:' + 'socket[UNIX socket to listen on.]::file:_files' + 'method[prefork or threaded (default prefork)]:method:(prefork threaded)' + 'maxrequests[number of requests a child handles before it is killed and a new child is forked (0 = no limit).]:' + 'maxspare[max number of spare processes / threads.]:' + 'minspare[min number of spare processes / threads.]:' + 'maxchildren[hard limit number of processes / threads.]:' + 'daemonize[whether to detach from terminal.]:boolean:(False True)' + 'pidfile[write the spawned process-id to this file.]:file:_files' + 'workdir[change to this directory when daemonizing.]:directory:_files' + 'outlog[write stdout to this file.]:file:_files' + 'errlog[write stderr to this file.]:file:_files' + ) + + _arguments -s : \ + $nul_args \ + '*: :_values "FCGI Setting" $fcgi_opts' && ret=0 +} + +_managepy-runserver(){ + _arguments -s : \ + '--noreload[tells Django to NOT use the auto-reloader.]' \ + '--adminmedia[specifies the directory from which to serve admin media.]:directory:_files' \ + $nul_args && ret=0 +} + +_managepy-shell(){ + _arguments -s : \ + '--plain[tells Django to use plain Python, not IPython.]' \ + $nul_args && ret=0 +} + +_managepy-sql(){} +_managepy-sqlall(){} +_managepy-sqlclear(){} +_managepy-sqlcustom(){} +_managepy-sqlflush(){} +_managepy-sqlindexes(){} +_managepy-sqlinitialdata(){} +_managepy-sqlreset(){} +_managepy-sqlsequencereset(){} +_managepy-startapp(){} + +_managepy-syncdb() { + _arguments -s : \ + '--verbosity=-[verbosity level; 0=minimal output, 1=normal output, 2=all output.]:Verbosity:((0\:minimal 1\:normal 2\:all))' \ + '--noinput[tells Django to NOT prompt the user for input of any kind.]' \ + $nul_args && ret=0 +} + +_managepy-test() { + _arguments -s : \ + '--verbosity=-[verbosity level; 0=minimal output, 1=normal output, 2=all output.]:Verbosity:((0\:minimal 1\:normal 2\:all))' \ + '--noinput[tells Django to NOT prompt the user for input of any kind.]' \ + '*::appname:_applist' \ + $nul_args && ret=0 +} + +_managepy-testserver() { + _arguments -s : \ + '--verbosity=-[verbosity level; 0=minimal output, 1=normal output, 2=all output.]:Verbosity:((0\:minimal 1\:normal 2\:all))' \ + '--addrport=-[port number or ipaddr:port to run the server on.]' \ + '*::fixture:_files' \ + $nul_args && ret=0 +} + +_managepy-validate() { + _arguments -s : \ + $nul_args && ret=0 +} + +_managepy-commands() { + local -a commands + + commands=( + 'adminindex:prints the admin-index template snippet for the given app name(s).' + 'createcachetable:creates the table needed to use the SQL cache backend.' + 'dbshell:runs the command-line client for the current DATABASE_ENGINE.' + "diffsettings:displays differences between the current settings.py and Django's default settings." + 'dumpdata:Output the contents of the database as a fixture of the given format.' + 'flush:Executes ``sqlflush`` on the current database.' + 'help:manage.py help.' + 'inspectdb:Introspects the database tables in the given database and outputs a Django model module.' + 'loaddata:Installs the named fixture(s) in the database.' + 'reset:Executes ``sqlreset`` for the given app(s) in the current database.' + 'runfcgi:Run this project as a fastcgi (or some other protocol supported by flup) application,' + 'runserver:Starts a lightweight Web server for development.' + 'shell:Runs a Python interactive interpreter.' + 'sql:Prints the CREATE TABLE SQL statements for the given app name(s).' + 'sqlall:Prints the CREATE TABLE, custom SQL and CREATE INDEX SQL statements for the given model module name(s).' + 'sqlclear:Prints the DROP TABLE SQL statements for the given app name(s).' + 'sqlcustom:Prints the custom table modifying SQL statements for the given app name(s).' + 'sqlflush:Returns a list of the SQL statements required to return all tables in the database to the state they were in just after they were installed.' + 'sqlindexes:Prints the CREATE INDEX SQL statements for the given model module name(s).' + "sqlinitialdata:RENAMED: see 'sqlcustom'" + 'sqlreset:Prints the DROP TABLE SQL, then the CREATE TABLE SQL, for the given app name(s).' + 'sqlsequencereset:Prints the SQL statements for resetting sequences for the given app name(s).' + "startapp:Creates a Django app directory structure for the given app name in this project's directory." + "syncdb:Create the database tables for all apps in INSTALLED_APPS whose tables haven't already been created." + 'test:Runs the test suite for the specified applications, or the entire site if no apps are specified.' + 'testserver:Runs a development server with data from the given fixture(s).' + 'validate:Validates all installed models.' + ) + + _describe -t commands 'manage.py command' commands && ret=0 +} + +_applist() { + local line + local -a apps + _call_program help-command "python -c \"import os.path as op, re, django.conf, sys;\\ + bn=op.basename(op.abspath(op.curdir));[sys\\ + .stdout.write(str(re.sub(r'^%s\.(.*?)$' % + bn, r'\1', i)) + '\n') for i in django.conf.settings.\\ + INSTALLED_APPS if re.match(r'^%s' % bn, i)]\"" \ + | while read -A line; do apps=($line $apps) done + _values 'Application' $apps && ret=0 +} + +_managepy() { + local curcontext=$curcontext ret=1 + + if ((CURRENT == 2)); then + _managepy-commands + else + shift words + (( CURRENT -- )) + curcontext="${curcontext%:*:*}:managepy-$words[1]:" + _call_function ret _managepy-$words[1] + fi +} + +compdef _managepy manage.py +compdef _managepy django +compdef _managepy django-manage diff --git a/dot.oh-my-zsh/plugins/encode64/encode64.plugin.zsh b/dot.oh-my-zsh/plugins/encode64/encode64.plugin.zsh new file mode 100644 index 0000000..cfb7c6a --- /dev/null +++ b/dot.oh-my-zsh/plugins/encode64/encode64.plugin.zsh @@ -0,0 +1,2 @@ +encode64(){ echo -n $1 | base64 } +decode64(){ echo -n $1 | base64 -D } \ No newline at end of file diff --git a/dot.oh-my-zsh/plugins/extract/_extract b/dot.oh-my-zsh/plugins/extract/_extract new file mode 100644 index 0000000..dca8909 --- /dev/null +++ b/dot.oh-my-zsh/plugins/extract/_extract @@ -0,0 +1,8 @@ +#compdef extract +#autoload + +_arguments \ + '(-r --remove)'{-r,--remove}'[Remove archive.]' \ + "*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|rar|7z|deb)(-.)'" && return 0 + + diff --git a/dot.oh-my-zsh/plugins/extract/extract.plugin.zsh b/dot.oh-my-zsh/plugins/extract/extract.plugin.zsh new file mode 100644 index 0000000..5c125e9 --- /dev/null +++ b/dot.oh-my-zsh/plugins/extract/extract.plugin.zsh @@ -0,0 +1,80 @@ +# ------------------------------------------------------------------------------ +# FILE: extract.plugin.zsh +# DESCRIPTION: oh-my-zsh plugin file. +# AUTHOR: Sorin Ionescu (sorin.ionescu@gmail.com) +# VERSION: 1.0.1 +# ------------------------------------------------------------------------------ + + +function extract() { + local remove_archive + local success + local file_name + local extract_dir + + if (( $# == 0 )); then + echo "Usage: extract [-option] [file ...]" + echo + echo Options: + echo " -r, --remove Remove archive." + echo + echo "Report bugs to ." + fi + + remove_archive=1 + if [[ "$1" == "-r" ]] || [[ "$1" == "--remove" ]]; then + remove_archive=0 + shift + fi + + while (( $# > 0 )); do + if [[ ! -f "$1" ]]; then + echo "extract: '$1' is not a valid file" 1>&2 + shift + continue + fi + + success=0 + file_name="$( basename "$1" )" + extract_dir="$( echo "$file_name" | sed "s/\.${1##*.}//g" )" + case "$1" in + (*.tar.gz|*.tgz) tar xvzf "$1" ;; + (*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;; + (*.tar.xz|*.txz) tar --xz --help &> /dev/null \ + && tar --xz -xvf "$1" \ + || xzcat "$1" | tar xvf - ;; + (*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \ + && tar --lzma -xvf "$1" \ + || lzcat "$1" | tar xvf - ;; + (*.tar) tar xvf "$1" ;; + (*.gz) gunzip "$1" ;; + (*.bz2) bunzip2 "$1" ;; + (*.xz) unxz "$1" ;; + (*.lzma) unlzma "$1" ;; + (*.Z) uncompress "$1" ;; + (*.zip) unzip "$1" -d $extract_dir ;; + (*.rar) unrar e -ad "$1" ;; + (*.7z) 7za x "$1" ;; + (*.deb) + mkdir -p "$extract_dir/control" + mkdir -p "$extract_dir/data" + cd "$extract_dir"; ar vx "../${1}" > /dev/null + cd control; tar xzvf ../control.tar.gz + cd ../data; tar xzvf ../data.tar.gz + cd ..; rm *.tar.gz debian-binary + cd .. + ;; + (*) + echo "extract: '$1' cannot be extracted" 1>&2 + success=1 + ;; + esac + + (( success = $success > 0 ? $success : $? )) + (( $success == 0 )) && (( $remove_archive == 0 )) && rm "$1" + shift + done +} + +alias x=extract + diff --git a/dot.oh-my-zsh/plugins/fasd/fasd.plugin.zsh b/dot.oh-my-zsh/plugins/fasd/fasd.plugin.zsh new file mode 100644 index 0000000..d42584f --- /dev/null +++ b/dot.oh-my-zsh/plugins/fasd/fasd.plugin.zsh @@ -0,0 +1,6 @@ +if [ $commands[fasd] ]; then # check if fasd is installed + eval "$(fasd --init auto)" + alias v='f -e vim' + alias o='a -e open' +fi + diff --git a/dot.oh-my-zsh/plugins/forklift/forklift.plugin.zsh b/dot.oh-my-zsh/plugins/forklift/forklift.plugin.zsh new file mode 100644 index 0000000..056069d --- /dev/null +++ b/dot.oh-my-zsh/plugins/forklift/forklift.plugin.zsh @@ -0,0 +1,44 @@ +# Open folder in ForkLift.app from console +# Author: Adam Strzelecki nanoant.com, modified by Bodo Tasche bitboxer.de +# +# Usage: +# fl [] +# +# Opens specified directory or current working directory in ForkLift.app +# +# Notes: +# It assumes Shift+Cmd+G launches go to folder panel and Cmd+N opens new +# app window. +# +# https://gist.github.com/3313481 +function fl { + if [ ! -z "$1" ]; then + DIR=$1 + if [ ! -d "$DIR" ]; then + DIR=$(dirname $DIR) + fi + if [ "$DIR" != "." ]; then + PWD=`cd "$DIR";pwd` + fi + fi + osascript 2>&1 1>/dev/null <cmds' \ + '*: :->args' && ret=0 + +case $state in + cmds) + cmds=( + "version:Prints Gas's version" + "use:Uses author" + "show:Shows your current user" + "list:Lists your authors" + "import:Imports current user to gasconfig" + "help:Describe available tasks or one specific task" + "delete:Deletes author" + "add:Adds author to gasconfig" + ) + _describe -t commands 'gas command' cmds && ret=0 + ;; + args) + case $line[1] in + (use|delete) + _values -S , 'authors' $(cat ~/.gas | sed -n -e 's/^\[\(.*\)\]/\1/p') && ret=0 + ;; + esac + ;; +esac + +return ret diff --git a/dot.oh-my-zsh/plugins/gem/_gem b/dot.oh-my-zsh/plugins/gem/_gem new file mode 100644 index 0000000..83cba40 --- /dev/null +++ b/dot.oh-my-zsh/plugins/gem/_gem @@ -0,0 +1,64 @@ +#compdef gem +#autoload + +# gem zsh completion, based on homebrew completion + +_gem_installed() { + installed_gems=(`gem list --local --no-versions`) +} + +local -a _1st_arguments +_1st_arguments=( + 'cert:Manage RubyGems certificates and signing settings' + 'check:Check installed gems' + 'cleanup:Clean up old versions of installed gems in the local repository' + 'contents:Display the contents of the installed gems' + 'dependency:Show the dependencies of an installed gem' + 'environment:Display information about the RubyGems environment' + 'fetch:Download a gem and place it in the current directory' + 'generate_index:Generates the index files for a gem server directory' + 'help:Provide help on the `gem` command' + 'install:Install a gem into the local repository' + 'list:Display gems whose name starts with STRING' + 'lock:Generate a lockdown list of gems' + 'mirror:Mirror a gem repository' + 'outdated:Display all gems that need updates' + 'owner:Manage gem owners on RubyGems.org.' + 'pristine:Restores installed gems to pristine condition from files located in the gem cache' + 'push:Push a gem up to RubyGems.org' + 'query:Query gem information in local or remote repositories' + 'rdoc:Generates RDoc for pre-installed gems' + 'search:Display all gems whose name contains STRING' + 'server:Documentation and gem repository HTTP server' + 'sources:Manage the sources and cache file RubyGems uses to search for gems' + 'specification:Display gem specification (in yaml)' + 'stale:List gems along with access times' + 'uninstall:Uninstall gems from the local repository' + 'unpack:Unpack an installed gem to the current directory' + 'update:Update the named gems (or all installed gems) in the local repository' + 'which:Find the location of a library file you can require' +) + +local expl +local -a gems installed_gems + +_arguments \ + '(-v --version)'{-v,--version}'[show version]' \ + '(-h --help)'{-h,--help}'[show help]' \ + '*:: :->subcmds' && return 0 + +if (( CURRENT == 1 )); then + _describe -t commands "gem subcommand" _1st_arguments + return +fi + +case "$words[1]" in + list) + if [[ "$state" == forms ]]; then + _gem_installed + _requested installed_gems expl 'installed gems' compadd -a installed_gems + fi ;; + uninstall|update) + _gem_installed + _wanted installed_gems expl 'installed gems' compadd -a installed_gems ;; +esac diff --git a/dot.oh-my-zsh/plugins/git-extras/git-extras.plugin.zsh b/dot.oh-my-zsh/plugins/git-extras/git-extras.plugin.zsh new file mode 100644 index 0000000..8419166 --- /dev/null +++ b/dot.oh-my-zsh/plugins/git-extras/git-extras.plugin.zsh @@ -0,0 +1,285 @@ +#compdef git +# ------------------------------------------------------------------------------ +# Description +# ----------- +# +# Completion script for git-extras (http://github.com/visionmedia/git-extras). +# +# ------------------------------------------------------------------------------ +# Authors +# ------- +# +# * Alexis GRIMALDI (https://github.com/agrimaldi) +# +# ------------------------------------------------------------------------------ +# Inspirations +# ----------- +# +# * git-extras (http://github.com/visionmedia/git-extras) +# * git-flow-completion (http://github.com/bobthecow/git-flow-completion) +# +# ------------------------------------------------------------------------------ + + +__git_command_successful () { + if (( ${#pipestatus:#0} > 0 )); then + _message 'not a git repository' + return 1 + fi + return 0 +} + + +__git_tag_names() { + local expl + declare -a tag_names + tag_names=(${${(f)"$(_call_program branchrefs git for-each-ref --format='"%(refname)"' refs/tags 2>/dev/null)"}#refs/tags/}) + __git_command_successful || return + _wanted tag-names expl tag-name compadd $* - $tag_names +} + + +__git_branch_names() { + local expl + declare -a branch_names + branch_names=(${${(f)"$(_call_program branchrefs git for-each-ref --format='"%(refname)"' refs/heads 2>/dev/null)"}#refs/heads/}) + __git_command_successful || return + _wanted branch-names expl branch-name compadd $* - $branch_names +} + + +__git_feature_branch_names() { + local expl + declare -a branch_names + branch_names=(${${(f)"$(_call_program branchrefs git for-each-ref --format='"%(refname)"' refs/heads/feature 2>/dev/null)"}#refs/heads/feature/}) + __git_command_successful || return + _wanted branch-names expl branch-name compadd $* - $branch_names +} + + +__git_refactor_branch_names() { + local expl + declare -a branch_names + branch_names=(${${(f)"$(_call_program branchrefs git for-each-ref --format='"%(refname)"' refs/heads/refactor 2>/dev/null)"}#refs/heads/refactor/}) + __git_command_successful || return + _wanted branch-names expl branch-name compadd $* - $branch_names +} + + +__git_bug_branch_names() { + local expl + declare -a branch_names + branch_names=(${${(f)"$(_call_program branchrefs git for-each-ref --format='"%(refname)"' refs/heads/bug 2>/dev/null)"}#refs/heads/bug/}) + __git_command_successful || return + _wanted branch-names expl branch-name compadd $* - $branch_names +} + + +__git_submodule_names() { + local expl + declare -a submodule_names + submodule_names=(${(f)"$(_call_program branchrefs git submodule status | awk '{print $2}')"}) + __git_command_successful || return + _wanted submodule-names expl submodule-name compadd $* - $submodule_names +} + + +__git_author_names() { + local expl + declare -a author_names + author_names=(${(f)"$(_call_program branchrefs git log --format='%aN' | sort -u)"}) + __git_command_successful || return + _wanted author-names expl author-name compadd $* - $author_names +} + + +_git-changelog() { + _arguments \ + '(-l --list)'{-l,--list}'[list commits]' \ +} + + +_git-effort() { + _arguments \ + '--above[ignore file with less than x commits]' \ +} + + +_git-contrib() { + _arguments \ + ':author:__git_author_names' +} + + +_git-count() { + _arguments \ + '--all[detailed commit count]' +} + + +_git-delete-branch() { + _arguments \ + ':branch-name:__git_branch_names' +} + + +_git-delete-submodule() { + _arguments \ + ':submodule-name:__git_submodule_names' +} + + +_git-delete-tag() { + _arguments \ + ':tag-name:__git_tag_names' +} + + +_git-extras() { + local curcontext=$curcontext state line ret=1 + declare -A opt_args + + _arguments -C \ + ': :->command' \ + '*:: :->option-or-argument' && ret=0 + + case $state in + (command) + declare -a commands + commands=( + 'update:update git-extras' + ) + _describe -t commands command commands && ret=0 + ;; + esac + + _arguments \ + '(-v --version)'{-v,--version}'[show current version]' \ +} + + +_git-graft() { + _arguments \ + ':src-branch-name:__git_branch_names' \ + ':dest-branch-name:__git_branch_names' +} + + +_git-squash() { + _arguments \ + ':branch-name:__git_branch_names' +} + + +_git-feature() { + local curcontext=$curcontext state line ret=1 + declare -A opt_args + + _arguments -C \ + ': :->command' \ + '*:: :->option-or-argument' && ret=0 + + case $state in + (command) + declare -a commands + commands=( + 'finish:merge feature into the current branch' + ) + _describe -t commands command commands && ret=0 + ;; + (option-or-argument) + curcontext=${curcontext%:*}-$line[1]: + case $line[1] in + (finish) + _arguments -C \ + ':branch-name:__git_feature_branch_names' + ;; + esac + esac +} + + +_git-refactor() { + local curcontext=$curcontext state line ret=1 + declare -A opt_args + + _arguments -C \ + ': :->command' \ + '*:: :->option-or-argument' && ret=0 + + case $state in + (command) + declare -a commands + commands=( + 'finish:merge refactor into the current branch' + ) + _describe -t commands command commands && ret=0 + ;; + (option-or-argument) + curcontext=${curcontext%:*}-$line[1]: + case $line[1] in + (finish) + _arguments -C \ + ':branch-name:__git_refactor_branch_names' + ;; + esac + esac +} + + +_git-bug() { + local curcontext=$curcontext state line ret=1 + declare -A opt_args + + _arguments -C \ + ': :->command' \ + '*:: :->option-or-argument' && ret=0 + + case $state in + (command) + declare -a commands + commands=( + 'finish:merge bug into the current branch' + ) + _describe -t commands command commands && ret=0 + ;; + (option-or-argument) + curcontext=${curcontext%:*}-$line[1]: + case $line[1] in + (finish) + _arguments -C \ + ':branch-name:__git_bug_branch_names' + ;; + esac + esac +} + + +zstyle ':completion:*:*:git:*' user-commands \ + changelog:'populate changelog file with commits since the previous tag' \ + contrib:'display author contributions' \ + count:'count commits' \ + delete-branch:'delete local and remote branch' \ + delete-submodule:'delete submodule' \ + delete-tag:'delete local and remote tag' \ + extras:'git-extras' \ + graft:'merge commits from source branch to destination branch' \ + squash:'merge commits from source branch into the current one as a single commit' \ + feature:'create a feature branch' \ + refactor:'create a refactor branch' \ + bug:'create a bug branch' \ + summary:'repository summary' \ + effort:'display effort statistics' \ + repl:'read-eval-print-loop' \ + commits-since:'list commits since a given date' \ + release:'release commit with the given tag' \ + alias:'define, search and show aliases' \ + ignore:'add patterns to .gitignore' \ + info:'show info about the repository' \ + create-branch:'create local and remote branch' \ + fresh-branch:'create empty local branch' \ + undo:'remove the latest commit' \ + setup:'setup a git repository' \ + touch:'one step creation of new files' \ + obliterate:'Completely remove a file from the repository, including past commits and tags' \ + local-commits:'list unpushed commits on the local branch' \ diff --git a/dot.oh-my-zsh/plugins/git-flow/git-flow.plugin.zsh b/dot.oh-my-zsh/plugins/git-flow/git-flow.plugin.zsh new file mode 100644 index 0000000..ec21019 --- /dev/null +++ b/dot.oh-my-zsh/plugins/git-flow/git-flow.plugin.zsh @@ -0,0 +1,337 @@ +#!zsh +# +# Installation +# ------------ +# +# To achieve git-flow completion nirvana: +# +# 0. Update your zsh's git-completion module to the newest verion. +# From here. http://zsh.git.sourceforge.net/git/gitweb.cgi?p=zsh/zsh;a=blob_plain;f=Completion/Unix/Command/_git;hb=HEAD +# +# 1. Install this file. Either: +# +# a. Place it in your .zshrc: +# +# b. Or, copy it somewhere (e.g. ~/.git-flow-completion.zsh) and put the following line in +# your .zshrc: +# +# source ~/.git-flow-completion.zsh +# +# c. Or, use this file as a oh-my-zsh plugin. +# + +_git-flow () +{ + local curcontext="$curcontext" state line + typeset -A opt_args + + _arguments -C \ + ':command:->command' \ + '*::options:->options' + + case $state in + (command) + + local -a subcommands + subcommands=( + 'init:Initialize a new git repo with support for the branching model.' + 'feature:Manage your feature branches.' + 'release:Manage your release branches.' + 'hotfix:Manage your hotfix branches.' + 'support:Manage your support branches.' + 'version:Shows version information.' + ) + _describe -t commands 'git flow' subcommands + ;; + + (options) + case $line[1] in + + (init) + _arguments \ + -f'[Force setting of gitflow branches, even if already configured]' + ;; + + (version) + ;; + + (hotfix) + __git-flow-hotfix + ;; + + (release) + __git-flow-release + ;; + + (feature) + __git-flow-feature + ;; + esac + ;; + esac +} + +__git-flow-release () +{ + local curcontext="$curcontext" state line + typeset -A opt_args + + _arguments -C \ + ':command:->command' \ + '*::options:->options' + + case $state in + (command) + + local -a subcommands + subcommands=( + 'start:Start a new release branch.' + 'finish:Finish a release branch.' + 'list:List all your release branches. (Alias to `git flow release`)' + ) + _describe -t commands 'git flow release' subcommands + _arguments \ + -v'[Verbose (more) output]' + ;; + + (options) + case $line[1] in + + (start) + _arguments \ + -F'[Fetch from origin before performing finish]'\ + ':version:__git_flow_version_list' + ;; + + (finish) + _arguments \ + -F'[Fetch from origin before performing finish]' \ + -s'[Sign the release tag cryptographically]'\ + -u'[Use the given GPG-key for the digital signature (implies -s)]'\ + -m'[Use the given tag message]'\ + -p'[Push to $ORIGIN after performing finish]'\ + -k'[Keep branch after performing finish]'\ + -n"[Don't tag this release]"\ + ':version:__git_flow_version_list' + ;; + + *) + _arguments \ + -v'[Verbose (more) output]' + ;; + esac + ;; + esac +} + +__git-flow-hotfix () +{ + local curcontext="$curcontext" state line + typeset -A opt_args + + _arguments -C \ + ':command:->command' \ + '*::options:->options' + + case $state in + (command) + + local -a subcommands + subcommands=( + 'start:Start a new hotfix branch.' + 'finish:Finish a hotfix branch.' + 'list:List all your hotfix branches. (Alias to `git flow hotfix`)' + ) + _describe -t commands 'git flow hotfix' subcommands + _arguments \ + -v'[Verbose (more) output]' + ;; + + (options) + case $line[1] in + + (start) + _arguments \ + -F'[Fetch from origin before performing finish]'\ + ':hotfix:__git_flow_version_list'\ + ':branch-name:__git_branch_names' + ;; + + (finish) + _arguments \ + -F'[Fetch from origin before performing finish]' \ + -s'[Sign the release tag cryptographically]'\ + -u'[Use the given GPG-key for the digital signature (implies -s)]'\ + -m'[Use the given tag message]'\ + -p'[Push to $ORIGIN after performing finish]'\ + -k'[Keep branch after performing finish]'\ + -n"[Don't tag this release]"\ + ':hotfix:__git_flow_hotfix_list' + ;; + + *) + _arguments \ + -v'[Verbose (more) output]' + ;; + esac + ;; + esac +} + +__git-flow-feature () +{ + local curcontext="$curcontext" state line + typeset -A opt_args + + _arguments -C \ + ':command:->command' \ + '*::options:->options' + + case $state in + (command) + + local -a subcommands + subcommands=( + 'start:Start a new feature branch.' + 'finish:Finish a feature branch.' + 'list:List all your feature branches. (Alias to `git flow feature`)' + 'publish: publish' + 'track: track' + 'diff: diff' + 'rebase: rebase' + 'checkout: checkout' + 'pull: pull' + ) + _describe -t commands 'git flow feature' subcommands + _arguments \ + -v'[Verbose (more) output]' + ;; + + (options) + case $line[1] in + + (start) + _arguments \ + -F'[Fetch from origin before performing finish]'\ + ':feature:__git_flow_feature_list'\ + ':branch-name:__git_branch_names' + ;; + + (finish) + _arguments \ + -F'[Fetch from origin before performing finish]' \ + -r'[Rebase instead of merge]'\ + -k'[Keep branch after performing finish]'\ + ':feature:__git_flow_feature_list' + ;; + + (publish) + _arguments \ + ':feature:__git_flow_feature_list'\ + ;; + + (track) + _arguments \ + ':feature:__git_flow_feature_list'\ + ;; + + (diff) + _arguments \ + ':branch:__git_flow_feature_list'\ + ;; + + (rebase) + _arguments \ + -i'[Do an interactive rebase]' \ + ':branch:__git_flow_feature_list' + ;; + + (checkout) + _arguments \ + ':branch:__git_flow_feature_list'\ + ;; + + (pull) + _arguments \ + ':remote:__git_remotes'\ + ':branch:__git_flow_feature_list' + ;; + + *) + _arguments \ + -v'[Verbose (more) output]' + ;; + esac + ;; + esac +} + +__git_flow_version_list () +{ + local expl + declare -a versions + + versions=(${${(f)"$(_call_program versions git flow release list 2> /dev/null | tr -d ' |*')"}}) + __git_command_successful || return + + _wanted versions expl 'version' compadd $versions +} + +__git_flow_feature_list () +{ + local expl + declare -a features + + features=(${${(f)"$(_call_program features git flow feature list 2> /dev/null | tr -d ' |*')"}}) + __git_command_successful || return + + _wanted features expl 'feature' compadd $features +} + +__git_remotes () { + local expl gitdir remotes + + gitdir=$(_call_program gitdir git rev-parse --git-dir 2>/dev/null) + __git_command_successful || return + + remotes=(${${(f)"$(_call_program remotes git config --get-regexp '"^remote\..*\.url$"')"}//#(#b)remote.(*).url */$match[1]}) + __git_command_successful || return + + # TODO: Should combine the two instead of either or. + if (( $#remotes > 0 )); then + _wanted remotes expl remote compadd $* - $remotes + else + _wanted remotes expl remote _files $* - -W "($gitdir/remotes)" -g "$gitdir/remotes/*" + fi +} + +__git_flow_hotfix_list () +{ + local expl + declare -a hotfixes + + hotfixes=(${${(f)"$(_call_program hotfixes git flow hotfix list 2> /dev/null | tr -d ' |*')"}}) + __git_command_successful || return + + _wanted hotfixes expl 'hotfix' compadd $hotfixes +} + +__git_branch_names () { + local expl + declare -a branch_names + + branch_names=(${${(f)"$(_call_program branchrefs git for-each-ref --format='"%(refname)"' refs/heads 2>/dev/null)"}#refs/heads/}) + __git_command_successful || return + + _wanted branch-names expl branch-name compadd $* - $branch_names +} + +__git_command_successful () { + if (( ${#pipestatus:#0} > 0 )); then + _message 'not a git repository' + return 1 + fi + return 0 +} + +zstyle ':completion:*:*:git:*' user-commands flow:'description for foo' diff --git a/dot.oh-my-zsh/plugins/git-hubflow/git-hubflow.plugin.zsh b/dot.oh-my-zsh/plugins/git-hubflow/git-hubflow.plugin.zsh new file mode 100644 index 0000000..a09f883 --- /dev/null +++ b/dot.oh-my-zsh/plugins/git-hubflow/git-hubflow.plugin.zsh @@ -0,0 +1,348 @@ +#!zsh +# +# Installation +# ------------ +# +# To achieve git-hubflow completion nirvana: +# +# 0. Update your zsh's git-completion module to the newest verion. +# From here. http://zsh.git.sourceforge.net/git/gitweb.cgi?p=zsh/zsh;a=blob_plain;f=Completion/Unix/Command/_git;hb=HEAD +# +# 1. Install this file. Either: +# +# a. Place it in your .zshrc: +# +# b. Or, copy it somewhere (e.g. ~/.git-hubflow-completion.zsh) and put the following line in +# your .zshrc: +# +# source ~/.git-hubflow-completion.zsh +# +# c. Or, use this file as a oh-my-zsh plugin. +# + +_git-hf () +{ + local curcontext="$curcontext" state line + typeset -A opt_args + + _arguments -C \ + ':command:->command' \ + '*::options:->options' + + case $state in + (command) + + local -a subcommands + subcommands=( + 'init:Initialize a new git repo with support for the branching model.' + 'feature:Manage your feature branches.' + 'release:Manage your release branches.' + 'hotfix:Manage your hotfix branches.' + 'support:Manage your support branches.' + 'update:Pull upstream changes down into your master and develop branches.' + 'version:Shows version information.' + ) + _describe -t commands 'git hf' subcommands + ;; + + (options) + case $line[1] in + + (init) + _arguments \ + -f'[Force setting of gitflow branches, even if already configured]' + ;; + + (version) + ;; + + (hotfix) + __git-hf-hotfix + ;; + + (release) + __git-hf-release + ;; + + (feature) + __git-hf-feature + ;; + esac + ;; + esac +} + +__git-hf-release () +{ + local curcontext="$curcontext" state line + typeset -A opt_args + + _arguments -C \ + ':command:->command' \ + '*::options:->options' + + case $state in + (command) + + local -a subcommands + subcommands=( + 'start:Start a new release branch.' + 'finish:Finish a release branch.' + 'list:List all your release branches. (Alias to `git hf release`)' + 'cancel:Cancel release' + 'push:Push release to github' + 'pull:Pull release from github' + 'track:Track release' + ) + _describe -t commands 'git hf release' subcommands + _arguments \ + -v'[Verbose (more) output]' + ;; + + (options) + case $line[1] in + + (start) + _arguments \ + -F'[Fetch from origin before performing finish]'\ + ':version:__git_hf_version_list' + ;; + + (finish) + _arguments \ + -F'[Fetch from origin before performing finish]' \ + -s'[Sign the release tag cryptographically]'\ + -u'[Use the given GPG-key for the digital signature (implies -s)]'\ + -m'[Use the given tag message]'\ + -p'[Push to $ORIGIN after performing finish]'\ + -k'[Keep branch after performing finish]'\ + -n"[Don't tag this release]"\ + ':version:__git_hf_version_list' + ;; + + *) + _arguments \ + -v'[Verbose (more) output]' + ;; + esac + ;; + esac +} + +__git-hf-hotfix () +{ + local curcontext="$curcontext" state line + typeset -A opt_args + + _arguments -C \ + ':command:->command' \ + '*::options:->options' + + case $state in + (command) + + local -a subcommands + subcommands=( + 'start:Start a new hotfix branch.' + 'finish:Finish a hotfix branch.' + 'list:List all your hotfix branches. (Alias to `git hf hotfix`)' + 'publish:Publish the hotfix branch.' + 'track:Track the hotfix branch.' + 'pull:Pull the hotfix from github.' + 'push:Push the hotfix to github.' + 'cancel:Cancel the hotfix.' + ) + _describe -t commands 'git hf hotfix' subcommands + _arguments \ + -v'[Verbose (more) output]' + ;; + + (options) + case $line[1] in + + (start) + _arguments \ + -F'[Fetch from origin before performing finish]'\ + ':hotfix:__git_hf_version_list'\ + ':branch-name:__git_branch_names' + ;; + + (finish) + _arguments \ + -F'[Fetch from origin before performing finish]' \ + -s'[Sign the release tag cryptographically]'\ + -u'[Use the given GPG-key for the digital signature (implies -s)]'\ + -m'[Use the given tag message]'\ + -p'[Push to $ORIGIN after performing finish]'\ + -k'[Keep branch after performing finish]'\ + -n"[Don't tag this release]"\ + ':hotfix:__git_hf_hotfix_list' + ;; + + *) + _arguments \ + -v'[Verbose (more) output]' + ;; + esac + ;; + esac +} + +__git-hf-feature () +{ + local curcontext="$curcontext" state line + typeset -A opt_args + + _arguments -C \ + ':command:->command' \ + '*::options:->options' + + case $state in + (command) + + local -a subcommands + subcommands=( + 'list:List all your feature branches. (Alias to `git hf feature`)' + 'start:Start a new feature branch' + 'finish:Finish a feature branch' + 'submit:submit' + 'track:track' + 'diff:Diff' + 'rebase:Rebase feature branch against develop' + 'checkout:Checkout feature' + 'pull:Pull feature branch from github' + 'push:Push feature branch to github' + 'cancel:Cancel feature' + ) + _describe -t commands 'git hf feature' subcommands + _arguments \ + -v'[Verbose (more) output]' + ;; + + (options) + case $line[1] in + + (start) + _arguments \ + -F'[Fetch from origin before performing finish]'\ + ':feature:__git_hf_feature_list'\ + ':branch-name:__git_branch_names' + ;; + + (finish) + _arguments \ + -F'[Fetch from origin before performing finish]' \ + -r'[Rebase instead of merge]'\ + ':feature:__git_hf_feature_list' + ;; + + (publish) + _arguments \ + ':feature:__git_hf_feature_list'\ + ;; + + (track) + _arguments \ + ':feature:__git_hf_feature_list'\ + ;; + + (diff) + _arguments \ + ':branch:__git_branch_names'\ + ;; + + (rebase) + _arguments \ + -i'[Do an interactive rebase]' \ + ':branch:__git_branch_names' + ;; + + (checkout) + _arguments \ + ':branch:__git_hf_feature_list'\ + ;; + + (pull) + _arguments \ + ':remote:__git_remotes'\ + ':branch:__git_branch_names' + ;; + + *) + _arguments \ + -v'[Verbose (more) output]' + ;; + esac + ;; + esac +} + +__git_hf_version_list () +{ + local expl + declare -a versions + + versions=(${${(f)"$(_call_program versions git hf release list 2> /dev/null | tr -d ' |*')"}}) + __git_command_successful || return + + _wanted versions expl 'version' compadd $versions +} + +__git_hf_feature_list () +{ + local expl + declare -a features + + features=(${${(f)"$(_call_program features git hf feature list 2> /dev/null | tr -d ' |*')"}}) + __git_command_successful || return + + _wanted features expl 'feature' compadd $features +} + +__git_remotes () { + local expl gitdir remotes + + gitdir=$(_call_program gitdir git rev-parse --git-dir 2>/dev/null) + __git_command_successful || return + + remotes=(${${(f)"$(_call_program remotes git config --get-regexp '"^remote\..*\.url$"')"}//#(#b)remote.(*).url */$match[1]}) + __git_command_successful || return + + # TODO: Should combine the two instead of either or. + if (( $#remotes > 0 )); then + _wanted remotes expl remote compadd $* - $remotes + else + _wanted remotes expl remote _files $* - -W "($gitdir/remotes)" -g "$gitdir/remotes/*" + fi +} + +__git_hf_hotfix_list () +{ + local expl + declare -a hotfixes + + hotfixes=(${${(f)"$(_call_program hotfixes git hf hotfix list 2> /dev/null | tr -d ' |*')"}}) + __git_command_successful || return + + _wanted hotfixes expl 'hotfix' compadd $hotfixes +} + +__git_branch_names () { + local expl + declare -a branch_names + + branch_names=(${${(f)"$(_call_program branchrefs git for-each-ref --format='"%(refname)"' refs/heads 2>/dev/null)"}#refs/heads/}) + __git_command_successful || return + + _wanted branch-names expl branch-name compadd $* - $branch_names +} + +__git_command_successful () { + if (( ${#pipestatus:#0} > 0 )); then + _message 'not a git repository' + return 1 + fi + return 0 +} + +zstyle ':completion:*:*:git:*' user-commands flow:'description for foo' diff --git a/dot.oh-my-zsh/plugins/git-remote-branch/git-remote-branch.plugin.zsh b/dot.oh-my-zsh/plugins/git-remote-branch/git-remote-branch.plugin.zsh new file mode 100644 index 0000000..ff98cbf --- /dev/null +++ b/dot.oh-my-zsh/plugins/git-remote-branch/git-remote-branch.plugin.zsh @@ -0,0 +1,18 @@ +_git_remote_branch() { + ref=$(git symbolic-ref HEAD 2> /dev/null) + if [[ -n $ref ]]; then + if (( CURRENT == 2 )); then + # first arg: operation + compadd create publish rename delete track + elif (( CURRENT == 3 )); then + # second arg: remote branch name + compadd `git branch -r | grep -v HEAD | sed "s/.*\///" | sed "s/ //g"` + elif (( CURRENT == 4 )); then + # third arg: remote name + compadd `git remote` + fi + else; + _files + fi +} +compdef _git_remote_branch grb diff --git a/dot.oh-my-zsh/plugins/git/git.plugin.zsh b/dot.oh-my-zsh/plugins/git/git.plugin.zsh new file mode 100644 index 0000000..154aa6d --- /dev/null +++ b/dot.oh-my-zsh/plugins/git/git.plugin.zsh @@ -0,0 +1,93 @@ +# Aliases +alias g='git' +compdef g=git +alias gst='git status' +compdef _git gst=git-status +alias gl='git pull' +compdef _git gl=git-pull +alias gup='git pull --rebase' +compdef _git gup=git-fetch +alias gp='git push' +compdef _git gp=git-push +alias gd='git diff' +gdv() { git diff -w "$@" | view - } +compdef _git gdv=git-diff +alias gc='git commit -v' +compdef _git gc=git-commit +alias gca='git commit -v -a' +compdef _git gca=git-commit +alias gco='git checkout' +compdef _git gco=git-checkout +alias gcm='git checkout master' +alias gr='git remote' +compdef _git gr=git-remote +alias grv='git remote -v' +compdef _git grv=git-remote +alias grmv='git remote rename' +compdef _git grmv=git-remote +alias grrm='git remote remove' +compdef _git grrm=git-remote +alias grset='git remote set-url' +compdef _git grset=git-remote +alias grup='git remote update' +compdef _git grset=git-remote +alias gb='git branch' +compdef _git gb=git-branch +alias gba='git branch -a' +compdef _git gba=git-branch +alias gcount='git shortlog -sn' +compdef gcount=git +alias gcl='git config --list' +alias gcp='git cherry-pick' +compdef _git gcp=git-cherry-pick +alias glg='git log --stat --max-count=5' +compdef _git glg=git-log +alias glgg='git log --graph --max-count=5' +compdef _git glgg=git-log +alias glgga='git log --graph --decorate --all' +compdef _git glgga=git-log +alias gss='git status -s' +compdef _git gss=git-status +alias ga='git add' +compdef _git ga=git-add +alias gm='git merge' +compdef _git gm=git-merge +alias grh='git reset HEAD' +alias grhh='git reset HEAD --hard' +alias gwc='git whatchanged -p --abbrev-commit --pretty=medium' +alias gf='git ls-files | grep' +alias gpoat='git push origin --all && git push origin --tags' + +# Will cd into the top of the current repository +# or submodule. +alias grt='cd $(git rev-parse --show-toplevel || echo ".")' + +# Git and svn mix +alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk' +compdef git-svn-dcommit-push=git + +alias gsr='git svn rebase' +alias gsd='git svn dcommit' +# +# Will return the current branch name +# Usage example: git pull origin $(current_branch) +# +function current_branch() { + ref=$(git symbolic-ref HEAD 2> /dev/null) || \ + ref=$(git rev-parse --short HEAD 2> /dev/null) || return + echo ${ref#refs/heads/} +} + +function current_repository() { + ref=$(git symbolic-ref HEAD 2> /dev/null) || \ + ref=$(git rev-parse --short HEAD 2> /dev/null) || return + echo $(git remote -v | cut -d':' -f 2) +} + +# these aliases take advantage of the previous function +alias ggpull='git pull origin $(current_branch)' +compdef ggpull=git +alias ggpush='git push origin $(current_branch)' +compdef ggpush=git +alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)' +compdef ggpnp=git diff --git a/dot.oh-my-zsh/plugins/gitfast/_git b/dot.oh-my-zsh/plugins/gitfast/_git new file mode 100644 index 0000000..4577502 --- /dev/null +++ b/dot.oh-my-zsh/plugins/gitfast/_git @@ -0,0 +1,78 @@ +#compdef git gitk + +# zsh completion wrapper for git +# +# You need git's bash completion script installed somewhere, by default on the +# same directory as this script. +# +# If your script is on ~/.git-completion.sh instead, you can configure it on +# your ~/.zshrc: +# +# zstyle ':completion:*:*:git:*' script ~/.git-completion.sh +# +# The recommended way to install this script is to copy to +# '~/.zsh/completion/_git', and then add the following to your ~/.zshrc file: +# +# fpath=(~/.zsh/completion $fpath) + +complete () +{ + # do nothing + return 0 +} + +zstyle -s ":completion:*:*:git:*" script script +test -z "$script" && script="$(dirname ${funcsourcetrace[1]%:*})"/git-completion.bash +ZSH_VERSION='' . "$script" + +__gitcomp () +{ + emulate -L zsh + + local cur_="${3-$cur}" + + case "$cur_" in + --*=) + ;; + *) + local c IFS=$' \t\n' + local -a array + for c in ${=1}; do + c="$c${4-}" + case $c in + --*=*|*.) ;; + *) c="$c " ;; + esac + array+=("$c") + done + compset -P '*[=:]' + compadd -Q -S '' -p "${2-}" -a -- array && _ret=0 + ;; + esac +} + +__gitcomp_nl () +{ + emulate -L zsh + + local IFS=$'\n' + compset -P '*[=:]' + compadd -Q -S "${4- }" -p "${2-}" -- ${=1} && _ret=0 +} + +_git () +{ + local _ret=1 + () { + emulate -L ksh + local cur cword prev + cur=${words[CURRENT-1]} + prev=${words[CURRENT-2]} + let cword=CURRENT-1 + __${service}_main + } + let _ret && _default -S '' && _ret=0 + return _ret +} + +_git diff --git a/dot.oh-my-zsh/plugins/gitfast/git-completion.bash b/dot.oh-my-zsh/plugins/gitfast/git-completion.bash new file mode 100644 index 0000000..be800e0 --- /dev/null +++ b/dot.oh-my-zsh/plugins/gitfast/git-completion.bash @@ -0,0 +1,2483 @@ +#!bash +# +# bash/zsh completion support for core Git. +# +# Copyright (C) 2006,2007 Shawn O. Pearce +# Conceptually based on gitcompletion (http://gitweb.hawaga.org.uk/). +# Distributed under the GNU General Public License, version 2.0. +# +# The contained completion routines provide support for completing: +# +# *) local and remote branch names +# *) local and remote tag names +# *) .git/remotes file names +# *) git 'subcommands' +# *) tree paths within 'ref:path/to/file' expressions +# *) common --long-options +# +# To use these routines: +# +# 1) Copy this file to somewhere (e.g. ~/.git-completion.sh). +# 2) Add the following line to your .bashrc/.zshrc: +# source ~/.git-completion.sh +# 3) Consider changing your PS1 to also show the current branch, +# see git-prompt.sh for details. + +if [[ -n ${ZSH_VERSION-} ]]; then + autoload -U +X bashcompinit && bashcompinit +fi + +case "$COMP_WORDBREAKS" in +*:*) : great ;; +*) COMP_WORDBREAKS="$COMP_WORDBREAKS:" +esac + +# __gitdir accepts 0 or 1 arguments (i.e., location) +# returns location of .git repo +__gitdir () +{ + # Note: this function is duplicated in git-prompt.sh + # When updating it, make sure you update the other one to match. + if [ -z "${1-}" ]; then + if [ -n "${__git_dir-}" ]; then + echo "$__git_dir" + elif [ -n "${GIT_DIR-}" ]; then + test -d "${GIT_DIR-}" || return 1 + echo "$GIT_DIR" + elif [ -d .git ]; then + echo .git + else + git rev-parse --git-dir 2>/dev/null + fi + elif [ -d "$1/.git" ]; then + echo "$1/.git" + else + echo "$1" + fi +} + +__gitcomp_1 () +{ + local c IFS=$' \t\n' + for c in $1; do + c="$c$2" + case $c in + --*=*|*.) ;; + *) c="$c " ;; + esac + printf '%s\n' "$c" + done +} + +# The following function is based on code from: +# +# bash_completion - programmable completion functions for bash 3.2+ +# +# Copyright © 2006-2008, Ian Macdonald +# © 2009-2010, Bash Completion Maintainers +# +# +# 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 2, 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, write to the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# The latest version of this software can be obtained here: +# +# http://bash-completion.alioth.debian.org/ +# +# RELEASE: 2.x + +# This function can be used to access a tokenized list of words +# on the command line: +# +# __git_reassemble_comp_words_by_ref '=:' +# if test "${words_[cword_-1]}" = -w +# then +# ... +# fi +# +# The argument should be a collection of characters from the list of +# word completion separators (COMP_WORDBREAKS) to treat as ordinary +# characters. +# +# This is roughly equivalent to going back in time and setting +# COMP_WORDBREAKS to exclude those characters. The intent is to +# make option types like --date= and : easy to +# recognize by treating each shell word as a single token. +# +# It is best not to set COMP_WORDBREAKS directly because the value is +# shared with other completion scripts. By the time the completion +# function gets called, COMP_WORDS has already been populated so local +# changes to COMP_WORDBREAKS have no effect. +# +# Output: words_, cword_, cur_. + +__git_reassemble_comp_words_by_ref() +{ + local exclude i j first + # Which word separators to exclude? + exclude="${1//[^$COMP_WORDBREAKS]}" + cword_=$COMP_CWORD + if [ -z "$exclude" ]; then + words_=("${COMP_WORDS[@]}") + return + fi + # List of word completion separators has shrunk; + # re-assemble words to complete. + for ((i=0, j=0; i < ${#COMP_WORDS[@]}; i++, j++)); do + # Append each nonempty word consisting of just + # word separator characters to the current word. + first=t + while + [ $i -gt 0 ] && + [ -n "${COMP_WORDS[$i]}" ] && + # word consists of excluded word separators + [ "${COMP_WORDS[$i]//[^$exclude]}" = "${COMP_WORDS[$i]}" ] + do + # Attach to the previous token, + # unless the previous token is the command name. + if [ $j -ge 2 ] && [ -n "$first" ]; then + ((j--)) + fi + first= + words_[$j]=${words_[j]}${COMP_WORDS[i]} + if [ $i = $COMP_CWORD ]; then + cword_=$j + fi + if (($i < ${#COMP_WORDS[@]} - 1)); then + ((i++)) + else + # Done. + return + fi + done + words_[$j]=${words_[j]}${COMP_WORDS[i]} + if [ $i = $COMP_CWORD ]; then + cword_=$j + fi + done +} + +if ! type _get_comp_words_by_ref >/dev/null 2>&1; then +if [[ -z ${ZSH_VERSION:+set} ]]; then +_get_comp_words_by_ref () +{ + local exclude cur_ words_ cword_ + if [ "$1" = "-n" ]; then + exclude=$2 + shift 2 + fi + __git_reassemble_comp_words_by_ref "$exclude" + cur_=${words_[cword_]} + while [ $# -gt 0 ]; do + case "$1" in + cur) + cur=$cur_ + ;; + prev) + prev=${words_[$cword_-1]} + ;; + words) + words=("${words_[@]}") + ;; + cword) + cword=$cword_ + ;; + esac + shift + done +} +else +_get_comp_words_by_ref () +{ + while [ $# -gt 0 ]; do + case "$1" in + cur) + cur=${COMP_WORDS[COMP_CWORD]} + ;; + prev) + prev=${COMP_WORDS[COMP_CWORD-1]} + ;; + words) + words=("${COMP_WORDS[@]}") + ;; + cword) + cword=$COMP_CWORD + ;; + -n) + # assume COMP_WORDBREAKS is already set sanely + shift + ;; + esac + shift + done +} +fi +fi + +# Generates completion reply with compgen, appending a space to possible +# completion words, if necessary. +# It accepts 1 to 4 arguments: +# 1: List of possible completion words. +# 2: A prefix to be added to each possible completion word (optional). +# 3: Generate possible completion matches for this word (optional). +# 4: A suffix to be appended to each possible completion word (optional). +__gitcomp () +{ + local cur_="${3-$cur}" + + case "$cur_" in + --*=) + COMPREPLY=() + ;; + *) + local IFS=$'\n' + COMPREPLY=($(compgen -P "${2-}" \ + -W "$(__gitcomp_1 "${1-}" "${4-}")" \ + -- "$cur_")) + ;; + esac +} + +# Generates completion reply with compgen from newline-separated possible +# completion words by appending a space to all of them. +# It accepts 1 to 4 arguments: +# 1: List of possible completion words, separated by a single newline. +# 2: A prefix to be added to each possible completion word (optional). +# 3: Generate possible completion matches for this word (optional). +# 4: A suffix to be appended to each possible completion word instead of +# the default space (optional). If specified but empty, nothing is +# appended. +__gitcomp_nl () +{ + local IFS=$'\n' + COMPREPLY=($(compgen -P "${2-}" -S "${4- }" -W "$1" -- "${3-$cur}")) +} + +__git_heads () +{ + local dir="$(__gitdir)" + if [ -d "$dir" ]; then + git --git-dir="$dir" for-each-ref --format='%(refname:short)' \ + refs/heads + return + fi +} + +__git_tags () +{ + local dir="$(__gitdir)" + if [ -d "$dir" ]; then + git --git-dir="$dir" for-each-ref --format='%(refname:short)' \ + refs/tags + return + fi +} + +# __git_refs accepts 0, 1 (to pass to __gitdir), or 2 arguments +# presence of 2nd argument means use the guess heuristic employed +# by checkout for tracking branches +__git_refs () +{ + local i hash dir="$(__gitdir "${1-}")" track="${2-}" + local format refs + if [ -d "$dir" ]; then + case "$cur" in + refs|refs/*) + format="refname" + refs="${cur%/*}" + track="" + ;; + *) + for i in HEAD FETCH_HEAD ORIG_HEAD MERGE_HEAD; do + if [ -e "$dir/$i" ]; then echo $i; fi + done + format="refname:short" + refs="refs/tags refs/heads refs/remotes" + ;; + esac + git --git-dir="$dir" for-each-ref --format="%($format)" \ + $refs + if [ -n "$track" ]; then + # employ the heuristic used by git checkout + # Try to find a remote branch that matches the completion word + # but only output if the branch name is unique + local ref entry + git --git-dir="$dir" for-each-ref --shell --format="ref=%(refname:short)" \ + "refs/remotes/" | \ + while read -r entry; do + eval "$entry" + ref="${ref#*/}" + if [[ "$ref" == "$cur"* ]]; then + echo "$ref" + fi + done | uniq -u + fi + return + fi + case "$cur" in + refs|refs/*) + git ls-remote "$dir" "$cur*" 2>/dev/null | \ + while read -r hash i; do + case "$i" in + *^{}) ;; + *) echo "$i" ;; + esac + done + ;; + *) + git ls-remote "$dir" HEAD ORIG_HEAD 'refs/tags/*' 'refs/heads/*' 'refs/remotes/*' 2>/dev/null | \ + while read -r hash i; do + case "$i" in + *^{}) ;; + refs/*) echo "${i#refs/*/}" ;; + *) echo "$i" ;; + esac + done + ;; + esac +} + +# __git_refs2 requires 1 argument (to pass to __git_refs) +__git_refs2 () +{ + local i + for i in $(__git_refs "$1"); do + echo "$i:$i" + done +} + +# __git_refs_remotes requires 1 argument (to pass to ls-remote) +__git_refs_remotes () +{ + local i hash + git ls-remote "$1" 'refs/heads/*' 2>/dev/null | \ + while read -r hash i; do + echo "$i:refs/remotes/$1/${i#refs/heads/}" + done +} + +__git_remotes () +{ + local i IFS=$'\n' d="$(__gitdir)" + test -d "$d/remotes" && ls -1 "$d/remotes" + for i in $(git --git-dir="$d" config --get-regexp 'remote\..*\.url' 2>/dev/null); do + i="${i#remote.}" + echo "${i/.url*/}" + done +} + +__git_list_merge_strategies () +{ + git merge -s help 2>&1 | + sed -n -e '/[Aa]vailable strategies are: /,/^$/{ + s/\.$// + s/.*:// + s/^[ ]*// + s/[ ]*$// + p + }' +} + +__git_merge_strategies= +# 'git merge -s help' (and thus detection of the merge strategy +# list) fails, unfortunately, if run outside of any git working +# tree. __git_merge_strategies is set to the empty string in +# that case, and the detection will be repeated the next time it +# is needed. +__git_compute_merge_strategies () +{ + test -n "$__git_merge_strategies" || + __git_merge_strategies=$(__git_list_merge_strategies) +} + +__git_complete_revlist_file () +{ + local pfx ls ref cur_="$cur" + case "$cur_" in + *..?*:*) + return + ;; + ?*:*) + ref="${cur_%%:*}" + cur_="${cur_#*:}" + case "$cur_" in + ?*/*) + pfx="${cur_%/*}" + cur_="${cur_##*/}" + ls="$ref:$pfx" + pfx="$pfx/" + ;; + *) + ls="$ref" + ;; + esac + + case "$COMP_WORDBREAKS" in + *:*) : great ;; + *) pfx="$ref:$pfx" ;; + esac + + __gitcomp_nl "$(git --git-dir="$(__gitdir)" ls-tree "$ls" \ + | sed '/^100... blob /{ + s,^.* ,, + s,$, , + } + /^120000 blob /{ + s,^.* ,, + s,$, , + } + /^040000 tree /{ + s,^.* ,, + s,$,/, + } + s/^.* //')" \ + "$pfx" "$cur_" "" + ;; + *...*) + pfx="${cur_%...*}..." + cur_="${cur_#*...}" + __gitcomp_nl "$(__git_refs)" "$pfx" "$cur_" + ;; + *..*) + pfx="${cur_%..*}.." + cur_="${cur_#*..}" + __gitcomp_nl "$(__git_refs)" "$pfx" "$cur_" + ;; + *) + __gitcomp_nl "$(__git_refs)" + ;; + esac +} + + +__git_complete_file () +{ + __git_complete_revlist_file +} + +__git_complete_revlist () +{ + __git_complete_revlist_file +} + +__git_complete_remote_or_refspec () +{ + local cur_="$cur" cmd="${words[1]}" + local i c=2 remote="" pfx="" lhs=1 no_complete_refspec=0 + if [ "$cmd" = "remote" ]; then + ((c++)) + fi + while [ $c -lt $cword ]; do + i="${words[c]}" + case "$i" in + --mirror) [ "$cmd" = "push" ] && no_complete_refspec=1 ;; + --all) + case "$cmd" in + push) no_complete_refspec=1 ;; + fetch) + COMPREPLY=() + return + ;; + *) ;; + esac + ;; + -*) ;; + *) remote="$i"; break ;; + esac + ((c++)) + done + if [ -z "$remote" ]; then + __gitcomp_nl "$(__git_remotes)" + return + fi + if [ $no_complete_refspec = 1 ]; then + COMPREPLY=() + return + fi + [ "$remote" = "." ] && remote= + case "$cur_" in + *:*) + case "$COMP_WORDBREAKS" in + *:*) : great ;; + *) pfx="${cur_%%:*}:" ;; + esac + cur_="${cur_#*:}" + lhs=0 + ;; + +*) + pfx="+" + cur_="${cur_#+}" + ;; + esac + case "$cmd" in + fetch) + if [ $lhs = 1 ]; then + __gitcomp_nl "$(__git_refs2 "$remote")" "$pfx" "$cur_" + else + __gitcomp_nl "$(__git_refs)" "$pfx" "$cur_" + fi + ;; + pull|remote) + if [ $lhs = 1 ]; then + __gitcomp_nl "$(__git_refs "$remote")" "$pfx" "$cur_" + else + __gitcomp_nl "$(__git_refs)" "$pfx" "$cur_" + fi + ;; + push) + if [ $lhs = 1 ]; then + __gitcomp_nl "$(__git_refs)" "$pfx" "$cur_" + else + __gitcomp_nl "$(__git_refs "$remote")" "$pfx" "$cur_" + fi + ;; + esac +} + +__git_complete_strategy () +{ + __git_compute_merge_strategies + case "$prev" in + -s|--strategy) + __gitcomp "$__git_merge_strategies" + return 0 + esac + case "$cur" in + --strategy=*) + __gitcomp "$__git_merge_strategies" "" "${cur##--strategy=}" + return 0 + ;; + esac + return 1 +} + +__git_list_all_commands () +{ + local i IFS=" "$'\n' + for i in $(git help -a|egrep '^ [a-zA-Z0-9]') + do + case $i in + *--*) : helper pattern;; + *) echo $i;; + esac + done +} + +__git_all_commands= +__git_compute_all_commands () +{ + test -n "$__git_all_commands" || + __git_all_commands=$(__git_list_all_commands) +} + +__git_list_porcelain_commands () +{ + local i IFS=" "$'\n' + __git_compute_all_commands + for i in "help" $__git_all_commands + do + case $i in + *--*) : helper pattern;; + applymbox) : ask gittus;; + applypatch) : ask gittus;; + archimport) : import;; + cat-file) : plumbing;; + check-attr) : plumbing;; + check-ref-format) : plumbing;; + checkout-index) : plumbing;; + commit-tree) : plumbing;; + count-objects) : infrequent;; + credential-cache) : credentials helper;; + credential-store) : credentials helper;; + cvsexportcommit) : export;; + cvsimport) : import;; + cvsserver) : daemon;; + daemon) : daemon;; + diff-files) : plumbing;; + diff-index) : plumbing;; + diff-tree) : plumbing;; + fast-import) : import;; + fast-export) : export;; + fsck-objects) : plumbing;; + fetch-pack) : plumbing;; + fmt-merge-msg) : plumbing;; + for-each-ref) : plumbing;; + hash-object) : plumbing;; + http-*) : transport;; + index-pack) : plumbing;; + init-db) : deprecated;; + local-fetch) : plumbing;; + lost-found) : infrequent;; + ls-files) : plumbing;; + ls-remote) : plumbing;; + ls-tree) : plumbing;; + mailinfo) : plumbing;; + mailsplit) : plumbing;; + merge-*) : plumbing;; + mktree) : plumbing;; + mktag) : plumbing;; + pack-objects) : plumbing;; + pack-redundant) : plumbing;; + pack-refs) : plumbing;; + parse-remote) : plumbing;; + patch-id) : plumbing;; + peek-remote) : plumbing;; + prune) : plumbing;; + prune-packed) : plumbing;; + quiltimport) : import;; + read-tree) : plumbing;; + receive-pack) : plumbing;; + remote-*) : transport;; + repo-config) : deprecated;; + rerere) : plumbing;; + rev-list) : plumbing;; + rev-parse) : plumbing;; + runstatus) : plumbing;; + sh-setup) : internal;; + shell) : daemon;; + show-ref) : plumbing;; + send-pack) : plumbing;; + show-index) : plumbing;; + ssh-*) : transport;; + stripspace) : plumbing;; + symbolic-ref) : plumbing;; + tar-tree) : deprecated;; + unpack-file) : plumbing;; + unpack-objects) : plumbing;; + update-index) : plumbing;; + update-ref) : plumbing;; + update-server-info) : daemon;; + upload-archive) : plumbing;; + upload-pack) : plumbing;; + write-tree) : plumbing;; + var) : infrequent;; + verify-pack) : infrequent;; + verify-tag) : plumbing;; + *) echo $i;; + esac + done +} + +__git_porcelain_commands= +__git_compute_porcelain_commands () +{ + __git_compute_all_commands + test -n "$__git_porcelain_commands" || + __git_porcelain_commands=$(__git_list_porcelain_commands) +} + +__git_pretty_aliases () +{ + local i IFS=$'\n' + for i in $(git --git-dir="$(__gitdir)" config --get-regexp "pretty\..*" 2>/dev/null); do + case "$i" in + pretty.*) + i="${i#pretty.}" + echo "${i/ */}" + ;; + esac + done +} + +__git_aliases () +{ + local i IFS=$'\n' + for i in $(git --git-dir="$(__gitdir)" config --get-regexp "alias\..*" 2>/dev/null); do + case "$i" in + alias.*) + i="${i#alias.}" + echo "${i/ */}" + ;; + esac + done +} + +# __git_aliased_command requires 1 argument +__git_aliased_command () +{ + local word cmdline=$(git --git-dir="$(__gitdir)" \ + config --get "alias.$1") + for word in $cmdline; do + case "$word" in + \!gitk|gitk) + echo "gitk" + return + ;; + \!*) : shell command alias ;; + -*) : option ;; + *=*) : setting env ;; + git) : git itself ;; + *) + echo "$word" + return + esac + done +} + +# __git_find_on_cmdline requires 1 argument +__git_find_on_cmdline () +{ + local word subcommand c=1 + while [ $c -lt $cword ]; do + word="${words[c]}" + for subcommand in $1; do + if [ "$subcommand" = "$word" ]; then + echo "$subcommand" + return + fi + done + ((c++)) + done +} + +__git_has_doubledash () +{ + local c=1 + while [ $c -lt $cword ]; do + if [ "--" = "${words[c]}" ]; then + return 0 + fi + ((c++)) + done + return 1 +} + +__git_whitespacelist="nowarn warn error error-all fix" + +_git_am () +{ + local dir="$(__gitdir)" + if [ -d "$dir"/rebase-apply ]; then + __gitcomp "--skip --continue --resolved --abort" + return + fi + case "$cur" in + --whitespace=*) + __gitcomp "$__git_whitespacelist" "" "${cur##--whitespace=}" + return + ;; + --*) + __gitcomp " + --3way --committer-date-is-author-date --ignore-date + --ignore-whitespace --ignore-space-change + --interactive --keep --no-utf8 --signoff --utf8 + --whitespace= --scissors + " + return + esac + COMPREPLY=() +} + +_git_apply () +{ + case "$cur" in + --whitespace=*) + __gitcomp "$__git_whitespacelist" "" "${cur##--whitespace=}" + return + ;; + --*) + __gitcomp " + --stat --numstat --summary --check --index + --cached --index-info --reverse --reject --unidiff-zero + --apply --no-add --exclude= + --ignore-whitespace --ignore-space-change + --whitespace= --inaccurate-eof --verbose + " + return + esac + COMPREPLY=() +} + +_git_add () +{ + __git_has_doubledash && return + + case "$cur" in + --*) + __gitcomp " + --interactive --refresh --patch --update --dry-run + --ignore-errors --intent-to-add + " + return + esac + COMPREPLY=() +} + +_git_archive () +{ + case "$cur" in + --format=*) + __gitcomp "$(git archive --list)" "" "${cur##--format=}" + return + ;; + --remote=*) + __gitcomp_nl "$(__git_remotes)" "" "${cur##--remote=}" + return + ;; + --*) + __gitcomp " + --format= --list --verbose + --prefix= --remote= --exec= + " + return + ;; + esac + __git_complete_file +} + +_git_bisect () +{ + __git_has_doubledash && return + + local subcommands="start bad good skip reset visualize replay log run" + local subcommand="$(__git_find_on_cmdline "$subcommands")" + if [ -z "$subcommand" ]; then + if [ -f "$(__gitdir)"/BISECT_START ]; then + __gitcomp "$subcommands" + else + __gitcomp "replay start" + fi + return + fi + + case "$subcommand" in + bad|good|reset|skip|start) + __gitcomp_nl "$(__git_refs)" + ;; + *) + COMPREPLY=() + ;; + esac +} + +_git_branch () +{ + local i c=1 only_local_ref="n" has_r="n" + + while [ $c -lt $cword ]; do + i="${words[c]}" + case "$i" in + -d|-m) only_local_ref="y" ;; + -r) has_r="y" ;; + esac + ((c++)) + done + + case "$cur" in + --set-upstream-to=*) + __gitcomp "$(__git_refs)" "" "${cur##--set-upstream-to=}" + ;; + --*) + __gitcomp " + --color --no-color --verbose --abbrev= --no-abbrev + --track --no-track --contains --merged --no-merged + --set-upstream-to= --edit-description --list + --unset-upstream + " + ;; + *) + if [ $only_local_ref = "y" -a $has_r = "n" ]; then + __gitcomp_nl "$(__git_heads)" + else + __gitcomp_nl "$(__git_refs)" + fi + ;; + esac +} + +_git_bundle () +{ + local cmd="${words[2]}" + case "$cword" in + 2) + __gitcomp "create list-heads verify unbundle" + ;; + 3) + # looking for a file + ;; + *) + case "$cmd" in + create) + __git_complete_revlist + ;; + esac + ;; + esac +} + +_git_checkout () +{ + __git_has_doubledash && return + + case "$cur" in + --conflict=*) + __gitcomp "diff3 merge" "" "${cur##--conflict=}" + ;; + --*) + __gitcomp " + --quiet --ours --theirs --track --no-track --merge + --conflict= --orphan --patch + " + ;; + *) + # check if --track, --no-track, or --no-guess was specified + # if so, disable DWIM mode + local flags="--track --no-track --no-guess" track=1 + if [ -n "$(__git_find_on_cmdline "$flags")" ]; then + track='' + fi + __gitcomp_nl "$(__git_refs '' $track)" + ;; + esac +} + +_git_cherry () +{ + __gitcomp "$(__git_refs)" +} + +_git_cherry_pick () +{ + case "$cur" in + --*) + __gitcomp "--edit --no-commit" + ;; + *) + __gitcomp_nl "$(__git_refs)" + ;; + esac +} + +_git_clean () +{ + __git_has_doubledash && return + + case "$cur" in + --*) + __gitcomp "--dry-run --quiet" + return + ;; + esac + COMPREPLY=() +} + +_git_clone () +{ + case "$cur" in + --*) + __gitcomp " + --local + --no-hardlinks + --shared + --reference + --quiet + --no-checkout + --bare + --mirror + --origin + --upload-pack + --template= + --depth + " + return + ;; + esac + COMPREPLY=() +} + +_git_commit () +{ + __git_has_doubledash && return + + case "$cur" in + --cleanup=*) + __gitcomp "default strip verbatim whitespace + " "" "${cur##--cleanup=}" + return + ;; + --reuse-message=*|--reedit-message=*|\ + --fixup=*|--squash=*) + __gitcomp_nl "$(__git_refs)" "" "${cur#*=}" + return + ;; + --untracked-files=*) + __gitcomp "all no normal" "" "${cur##--untracked-files=}" + return + ;; + --*) + __gitcomp " + --all --author= --signoff --verify --no-verify + --edit --no-edit + --amend --include --only --interactive + --dry-run --reuse-message= --reedit-message= + --reset-author --file= --message= --template= + --cleanup= --untracked-files --untracked-files= + --verbose --quiet --fixup= --squash= + " + return + esac + COMPREPLY=() +} + +_git_describe () +{ + case "$cur" in + --*) + __gitcomp " + --all --tags --contains --abbrev= --candidates= + --exact-match --debug --long --match --always + " + return + esac + __gitcomp_nl "$(__git_refs)" +} + +__git_diff_common_options="--stat --numstat --shortstat --summary + --patch-with-stat --name-only --name-status --color + --no-color --color-words --no-renames --check + --full-index --binary --abbrev --diff-filter= + --find-copies-harder + --text --ignore-space-at-eol --ignore-space-change + --ignore-all-space --exit-code --quiet --ext-diff + --no-ext-diff + --no-prefix --src-prefix= --dst-prefix= + --inter-hunk-context= + --patience + --raw + --dirstat --dirstat= --dirstat-by-file + --dirstat-by-file= --cumulative +" + +_git_diff () +{ + __git_has_doubledash && return + + case "$cur" in + --*) + __gitcomp "--cached --staged --pickaxe-all --pickaxe-regex + --base --ours --theirs --no-index + $__git_diff_common_options + " + return + ;; + esac + __git_complete_revlist_file +} + +__git_mergetools_common="diffuse ecmerge emerge kdiff3 meld opendiff + tkdiff vimdiff gvimdiff xxdiff araxis p4merge bc3 codecompare +" + +_git_difftool () +{ + __git_has_doubledash && return + + case "$cur" in + --tool=*) + __gitcomp "$__git_mergetools_common kompare" "" "${cur##--tool=}" + return + ;; + --*) + __gitcomp "--cached --staged --pickaxe-all --pickaxe-regex + --base --ours --theirs + --no-renames --diff-filter= --find-copies-harder + --relative --ignore-submodules + --tool=" + return + ;; + esac + __git_complete_file +} + +__git_fetch_options=" + --quiet --verbose --append --upload-pack --force --keep --depth= + --tags --no-tags --all --prune --dry-run +" + +_git_fetch () +{ + case "$cur" in + --*) + __gitcomp "$__git_fetch_options" + return + ;; + esac + __git_complete_remote_or_refspec +} + +_git_format_patch () +{ + case "$cur" in + --thread=*) + __gitcomp " + deep shallow + " "" "${cur##--thread=}" + return + ;; + --*) + __gitcomp " + --stdout --attach --no-attach --thread --thread= + --output-directory + --numbered --start-number + --numbered-files + --keep-subject + --signoff --signature --no-signature + --in-reply-to= --cc= + --full-index --binary + --not --all + --cover-letter + --no-prefix --src-prefix= --dst-prefix= + --inline --suffix= --ignore-if-in-upstream + --subject-prefix= + " + return + ;; + esac + __git_complete_revlist +} + +_git_fsck () +{ + case "$cur" in + --*) + __gitcomp " + --tags --root --unreachable --cache --no-reflogs --full + --strict --verbose --lost-found + " + return + ;; + esac + COMPREPLY=() +} + +_git_gc () +{ + case "$cur" in + --*) + __gitcomp "--prune --aggressive" + return + ;; + esac + COMPREPLY=() +} + +_git_gitk () +{ + _gitk +} + +__git_match_ctag() { + awk "/^${1////\\/}/ { print \$1 }" "$2" +} + +_git_grep () +{ + __git_has_doubledash && return + + case "$cur" in + --*) + __gitcomp " + --cached + --text --ignore-case --word-regexp --invert-match + --full-name --line-number + --extended-regexp --basic-regexp --fixed-strings + --perl-regexp + --files-with-matches --name-only + --files-without-match + --max-depth + --count + --and --or --not --all-match + " + return + ;; + esac + + case "$cword,$prev" in + 2,*|*,-*) + if test -r tags; then + __gitcomp_nl "$(__git_match_ctag "$cur" tags)" + return + fi + ;; + esac + + __gitcomp_nl "$(__git_refs)" +} + +_git_help () +{ + case "$cur" in + --*) + __gitcomp "--all --info --man --web" + return + ;; + esac + __git_compute_all_commands + __gitcomp "$__git_all_commands $(__git_aliases) + attributes cli core-tutorial cvs-migration + diffcore gitk glossary hooks ignore modules + namespaces repository-layout tutorial tutorial-2 + workflows + " +} + +_git_init () +{ + case "$cur" in + --shared=*) + __gitcomp " + false true umask group all world everybody + " "" "${cur##--shared=}" + return + ;; + --*) + __gitcomp "--quiet --bare --template= --shared --shared=" + return + ;; + esac + COMPREPLY=() +} + +_git_ls_files () +{ + __git_has_doubledash && return + + case "$cur" in + --*) + __gitcomp "--cached --deleted --modified --others --ignored + --stage --directory --no-empty-directory --unmerged + --killed --exclude= --exclude-from= + --exclude-per-directory= --exclude-standard + --error-unmatch --with-tree= --full-name + --abbrev --ignored --exclude-per-directory + " + return + ;; + esac + COMPREPLY=() +} + +_git_ls_remote () +{ + __gitcomp_nl "$(__git_remotes)" +} + +_git_ls_tree () +{ + __git_complete_file +} + +# Options that go well for log, shortlog and gitk +__git_log_common_options=" + --not --all + --branches --tags --remotes + --first-parent --merges --no-merges + --max-count= + --max-age= --since= --after= + --min-age= --until= --before= + --min-parents= --max-parents= + --no-min-parents --no-max-parents +" +# Options that go well for log and gitk (not shortlog) +__git_log_gitk_options=" + --dense --sparse --full-history + --simplify-merges --simplify-by-decoration + --left-right --notes --no-notes +" +# Options that go well for log and shortlog (not gitk) +__git_log_shortlog_options=" + --author= --committer= --grep= + --all-match +" + +__git_log_pretty_formats="oneline short medium full fuller email raw format:" +__git_log_date_formats="relative iso8601 rfc2822 short local default raw" + +_git_log () +{ + __git_has_doubledash && return + + local g="$(git rev-parse --git-dir 2>/dev/null)" + local merge="" + if [ -f "$g/MERGE_HEAD" ]; then + merge="--merge" + fi + case "$cur" in + --pretty=*|--format=*) + __gitcomp "$__git_log_pretty_formats $(__git_pretty_aliases) + " "" "${cur#*=}" + return + ;; + --date=*) + __gitcomp "$__git_log_date_formats" "" "${cur##--date=}" + return + ;; + --decorate=*) + __gitcomp "long short" "" "${cur##--decorate=}" + return + ;; + --*) + __gitcomp " + $__git_log_common_options + $__git_log_shortlog_options + $__git_log_gitk_options + --root --topo-order --date-order --reverse + --follow --full-diff + --abbrev-commit --abbrev= + --relative-date --date= + --pretty= --format= --oneline + --cherry-pick + --graph + --decorate --decorate= + --walk-reflogs + --parents --children + $merge + $__git_diff_common_options + --pickaxe-all --pickaxe-regex + " + return + ;; + esac + __git_complete_revlist +} + +__git_merge_options=" + --no-commit --no-stat --log --no-log --squash --strategy + --commit --stat --no-squash --ff --no-ff --ff-only --edit --no-edit +" + +_git_merge () +{ + __git_complete_strategy && return + + case "$cur" in + --*) + __gitcomp "$__git_merge_options" + return + esac + __gitcomp_nl "$(__git_refs)" +} + +_git_mergetool () +{ + case "$cur" in + --tool=*) + __gitcomp "$__git_mergetools_common tortoisemerge" "" "${cur##--tool=}" + return + ;; + --*) + __gitcomp "--tool=" + return + ;; + esac + COMPREPLY=() +} + +_git_merge_base () +{ + __gitcomp_nl "$(__git_refs)" +} + +_git_mv () +{ + case "$cur" in + --*) + __gitcomp "--dry-run" + return + ;; + esac + COMPREPLY=() +} + +_git_name_rev () +{ + __gitcomp "--tags --all --stdin" +} + +_git_notes () +{ + local subcommands='add append copy edit list prune remove show' + local subcommand="$(__git_find_on_cmdline "$subcommands")" + + case "$subcommand,$cur" in + ,--*) + __gitcomp '--ref' + ;; + ,*) + case "$prev" in + --ref) + __gitcomp_nl "$(__git_refs)" + ;; + *) + __gitcomp "$subcommands --ref" + ;; + esac + ;; + add,--reuse-message=*|append,--reuse-message=*|\ + add,--reedit-message=*|append,--reedit-message=*) + __gitcomp_nl "$(__git_refs)" "" "${cur#*=}" + ;; + add,--*|append,--*) + __gitcomp '--file= --message= --reedit-message= + --reuse-message=' + ;; + copy,--*) + __gitcomp '--stdin' + ;; + prune,--*) + __gitcomp '--dry-run --verbose' + ;; + prune,*) + ;; + *) + case "$prev" in + -m|-F) + ;; + *) + __gitcomp_nl "$(__git_refs)" + ;; + esac + ;; + esac +} + +_git_pull () +{ + __git_complete_strategy && return + + case "$cur" in + --*) + __gitcomp " + --rebase --no-rebase + $__git_merge_options + $__git_fetch_options + " + return + ;; + esac + __git_complete_remote_or_refspec +} + +_git_push () +{ + case "$prev" in + --repo) + __gitcomp_nl "$(__git_remotes)" + return + esac + case "$cur" in + --repo=*) + __gitcomp_nl "$(__git_remotes)" "" "${cur##--repo=}" + return + ;; + --*) + __gitcomp " + --all --mirror --tags --dry-run --force --verbose + --receive-pack= --repo= --set-upstream + " + return + ;; + esac + __git_complete_remote_or_refspec +} + +_git_rebase () +{ + local dir="$(__gitdir)" + if [ -d "$dir"/rebase-apply ] || [ -d "$dir"/rebase-merge ]; then + __gitcomp "--continue --skip --abort" + return + fi + __git_complete_strategy && return + case "$cur" in + --whitespace=*) + __gitcomp "$__git_whitespacelist" "" "${cur##--whitespace=}" + return + ;; + --*) + __gitcomp " + --onto --merge --strategy --interactive + --preserve-merges --stat --no-stat + --committer-date-is-author-date --ignore-date + --ignore-whitespace --whitespace= + --autosquash + " + + return + esac + __gitcomp_nl "$(__git_refs)" +} + +_git_reflog () +{ + local subcommands="show delete expire" + local subcommand="$(__git_find_on_cmdline "$subcommands")" + + if [ -z "$subcommand" ]; then + __gitcomp "$subcommands" + else + __gitcomp_nl "$(__git_refs)" + fi +} + +__git_send_email_confirm_options="always never auto cc compose" +__git_send_email_suppresscc_options="author self cc bodycc sob cccmd body all" + +_git_send_email () +{ + case "$cur" in + --confirm=*) + __gitcomp " + $__git_send_email_confirm_options + " "" "${cur##--confirm=}" + return + ;; + --suppress-cc=*) + __gitcomp " + $__git_send_email_suppresscc_options + " "" "${cur##--suppress-cc=}" + + return + ;; + --smtp-encryption=*) + __gitcomp "ssl tls" "" "${cur##--smtp-encryption=}" + return + ;; + --*) + __gitcomp "--annotate --bcc --cc --cc-cmd --chain-reply-to + --compose --confirm= --dry-run --envelope-sender + --from --identity + --in-reply-to --no-chain-reply-to --no-signed-off-by-cc + --no-suppress-from --no-thread --quiet + --signed-off-by-cc --smtp-pass --smtp-server + --smtp-server-port --smtp-encryption= --smtp-user + --subject --suppress-cc= --suppress-from --thread --to + --validate --no-validate" + return + ;; + esac + COMPREPLY=() +} + +_git_stage () +{ + _git_add +} + +__git_config_get_set_variables () +{ + local prevword word config_file= c=$cword + while [ $c -gt 1 ]; do + word="${words[c]}" + case "$word" in + --global|--system|--file=*) + config_file="$word" + break + ;; + -f|--file) + config_file="$word $prevword" + break + ;; + esac + prevword=$word + c=$((--c)) + done + + git --git-dir="$(__gitdir)" config $config_file --list 2>/dev/null | + while read -r line + do + case "$line" in + *.*=*) + echo "${line/=*/}" + ;; + esac + done +} + +_git_config () +{ + case "$prev" in + branch.*.remote) + __gitcomp_nl "$(__git_remotes)" + return + ;; + branch.*.merge) + __gitcomp_nl "$(__git_refs)" + return + ;; + remote.*.fetch) + local remote="${prev#remote.}" + remote="${remote%.fetch}" + if [ -z "$cur" ]; then + COMPREPLY=("refs/heads/") + return + fi + __gitcomp_nl "$(__git_refs_remotes "$remote")" + return + ;; + remote.*.push) + local remote="${prev#remote.}" + remote="${remote%.push}" + __gitcomp_nl "$(git --git-dir="$(__gitdir)" \ + for-each-ref --format='%(refname):%(refname)' \ + refs/heads)" + return + ;; + pull.twohead|pull.octopus) + __git_compute_merge_strategies + __gitcomp "$__git_merge_strategies" + return + ;; + color.branch|color.diff|color.interactive|\ + color.showbranch|color.status|color.ui) + __gitcomp "always never auto" + return + ;; + color.pager) + __gitcomp "false true" + return + ;; + color.*.*) + __gitcomp " + normal black red green yellow blue magenta cyan white + bold dim ul blink reverse + " + return + ;; + help.format) + __gitcomp "man info web html" + return + ;; + log.date) + __gitcomp "$__git_log_date_formats" + return + ;; + sendemail.aliasesfiletype) + __gitcomp "mutt mailrc pine elm gnus" + return + ;; + sendemail.confirm) + __gitcomp "$__git_send_email_confirm_options" + return + ;; + sendemail.suppresscc) + __gitcomp "$__git_send_email_suppresscc_options" + return + ;; + --get|--get-all|--unset|--unset-all) + __gitcomp_nl "$(__git_config_get_set_variables)" + return + ;; + *.*) + COMPREPLY=() + return + ;; + esac + case "$cur" in + --*) + __gitcomp " + --global --system --file= + --list --replace-all + --get --get-all --get-regexp + --add --unset --unset-all + --remove-section --rename-section + " + return + ;; + branch.*.*) + local pfx="${cur%.*}." cur_="${cur##*.}" + __gitcomp "remote merge mergeoptions rebase" "$pfx" "$cur_" + return + ;; + branch.*) + local pfx="${cur%.*}." cur_="${cur#*.}" + __gitcomp_nl "$(__git_heads)" "$pfx" "$cur_" "." + return + ;; + guitool.*.*) + local pfx="${cur%.*}." cur_="${cur##*.}" + __gitcomp " + argprompt cmd confirm needsfile noconsole norescan + prompt revprompt revunmerged title + " "$pfx" "$cur_" + return + ;; + difftool.*.*) + local pfx="${cur%.*}." cur_="${cur##*.}" + __gitcomp "cmd path" "$pfx" "$cur_" + return + ;; + man.*.*) + local pfx="${cur%.*}." cur_="${cur##*.}" + __gitcomp "cmd path" "$pfx" "$cur_" + return + ;; + mergetool.*.*) + local pfx="${cur%.*}." cur_="${cur##*.}" + __gitcomp "cmd path trustExitCode" "$pfx" "$cur_" + return + ;; + pager.*) + local pfx="${cur%.*}." cur_="${cur#*.}" + __git_compute_all_commands + __gitcomp_nl "$__git_all_commands" "$pfx" "$cur_" + return + ;; + remote.*.*) + local pfx="${cur%.*}." cur_="${cur##*.}" + __gitcomp " + url proxy fetch push mirror skipDefaultUpdate + receivepack uploadpack tagopt pushurl + " "$pfx" "$cur_" + return + ;; + remote.*) + local pfx="${cur%.*}." cur_="${cur#*.}" + __gitcomp_nl "$(__git_remotes)" "$pfx" "$cur_" "." + return + ;; + url.*.*) + local pfx="${cur%.*}." cur_="${cur##*.}" + __gitcomp "insteadOf pushInsteadOf" "$pfx" "$cur_" + return + ;; + esac + __gitcomp " + add.ignoreErrors + advice.commitBeforeMerge + advice.detachedHead + advice.implicitIdentity + advice.pushNonFastForward + advice.resolveConflict + advice.statusHints + alias. + am.keepcr + apply.ignorewhitespace + apply.whitespace + branch.autosetupmerge + branch.autosetuprebase + browser. + clean.requireForce + color.branch + color.branch.current + color.branch.local + color.branch.plain + color.branch.remote + color.decorate.HEAD + color.decorate.branch + color.decorate.remoteBranch + color.decorate.stash + color.decorate.tag + color.diff + color.diff.commit + color.diff.frag + color.diff.func + color.diff.meta + color.diff.new + color.diff.old + color.diff.plain + color.diff.whitespace + color.grep + color.grep.context + color.grep.filename + color.grep.function + color.grep.linenumber + color.grep.match + color.grep.selected + color.grep.separator + color.interactive + color.interactive.error + color.interactive.header + color.interactive.help + color.interactive.prompt + color.pager + color.showbranch + color.status + color.status.added + color.status.changed + color.status.header + color.status.nobranch + color.status.untracked + color.status.updated + color.ui + commit.status + commit.template + core.abbrev + core.askpass + core.attributesfile + core.autocrlf + core.bare + core.bigFileThreshold + core.compression + core.createObject + core.deltaBaseCacheLimit + core.editor + core.eol + core.excludesfile + core.fileMode + core.fsyncobjectfiles + core.gitProxy + core.ignoreCygwinFSTricks + core.ignoreStat + core.ignorecase + core.logAllRefUpdates + core.loosecompression + core.notesRef + core.packedGitLimit + core.packedGitWindowSize + core.pager + core.preferSymlinkRefs + core.preloadindex + core.quotepath + core.repositoryFormatVersion + core.safecrlf + core.sharedRepository + core.sparseCheckout + core.symlinks + core.trustctime + core.warnAmbiguousRefs + core.whitespace + core.worktree + diff.autorefreshindex + diff.statGraphWidth + diff.external + diff.ignoreSubmodules + diff.mnemonicprefix + diff.noprefix + diff.renameLimit + diff.renames + diff.suppressBlankEmpty + diff.tool + diff.wordRegex + difftool. + difftool.prompt + fetch.recurseSubmodules + fetch.unpackLimit + format.attach + format.cc + format.headers + format.numbered + format.pretty + format.signature + format.signoff + format.subjectprefix + format.suffix + format.thread + format.to + gc. + gc.aggressiveWindow + gc.auto + gc.autopacklimit + gc.packrefs + gc.pruneexpire + gc.reflogexpire + gc.reflogexpireunreachable + gc.rerereresolved + gc.rerereunresolved + gitcvs.allbinary + gitcvs.commitmsgannotation + gitcvs.dbTableNamePrefix + gitcvs.dbdriver + gitcvs.dbname + gitcvs.dbpass + gitcvs.dbuser + gitcvs.enabled + gitcvs.logfile + gitcvs.usecrlfattr + guitool. + gui.blamehistoryctx + gui.commitmsgwidth + gui.copyblamethreshold + gui.diffcontext + gui.encoding + gui.fastcopyblame + gui.matchtrackingbranch + gui.newbranchtemplate + gui.pruneduringfetch + gui.spellingdictionary + gui.trustmtime + help.autocorrect + help.browser + help.format + http.lowSpeedLimit + http.lowSpeedTime + http.maxRequests + http.minSessions + http.noEPSV + http.postBuffer + http.proxy + http.sslCAInfo + http.sslCAPath + http.sslCert + http.sslCertPasswordProtected + http.sslKey + http.sslVerify + http.useragent + i18n.commitEncoding + i18n.logOutputEncoding + imap.authMethod + imap.folder + imap.host + imap.pass + imap.port + imap.preformattedHTML + imap.sslverify + imap.tunnel + imap.user + init.templatedir + instaweb.browser + instaweb.httpd + instaweb.local + instaweb.modulepath + instaweb.port + interactive.singlekey + log.date + log.decorate + log.showroot + mailmap.file + man. + man.viewer + merge. + merge.conflictstyle + merge.log + merge.renameLimit + merge.renormalize + merge.stat + merge.tool + merge.verbosity + mergetool. + mergetool.keepBackup + mergetool.keepTemporaries + mergetool.prompt + notes.displayRef + notes.rewrite. + notes.rewrite.amend + notes.rewrite.rebase + notes.rewriteMode + notes.rewriteRef + pack.compression + pack.deltaCacheLimit + pack.deltaCacheSize + pack.depth + pack.indexVersion + pack.packSizeLimit + pack.threads + pack.window + pack.windowMemory + pager. + pretty. + pull.octopus + pull.twohead + push.default + rebase.autosquash + rebase.stat + receive.autogc + receive.denyCurrentBranch + receive.denyDeleteCurrent + receive.denyDeletes + receive.denyNonFastForwards + receive.fsckObjects + receive.unpackLimit + receive.updateserverinfo + remotes. + repack.usedeltabaseoffset + rerere.autoupdate + rerere.enabled + sendemail. + sendemail.aliasesfile + sendemail.aliasfiletype + sendemail.bcc + sendemail.cc + sendemail.cccmd + sendemail.chainreplyto + sendemail.confirm + sendemail.envelopesender + sendemail.from + sendemail.identity + sendemail.multiedit + sendemail.signedoffbycc + sendemail.smtpdomain + sendemail.smtpencryption + sendemail.smtppass + sendemail.smtpserver + sendemail.smtpserveroption + sendemail.smtpserverport + sendemail.smtpuser + sendemail.suppresscc + sendemail.suppressfrom + sendemail.thread + sendemail.to + sendemail.validate + showbranch.default + status.relativePaths + status.showUntrackedFiles + status.submodulesummary + submodule. + tar.umask + transfer.unpackLimit + url. + user.email + user.name + user.signingkey + web.browser + branch. remote. + " +} + +_git_remote () +{ + local subcommands="add rename remove set-head set-branches set-url show prune update" + local subcommand="$(__git_find_on_cmdline "$subcommands")" + if [ -z "$subcommand" ]; then + __gitcomp "$subcommands" + return + fi + + case "$subcommand" in + rename|remove|set-url|show|prune) + __gitcomp_nl "$(__git_remotes)" + ;; + set-head|set-branches) + __git_complete_remote_or_refspec + ;; + update) + local i c='' IFS=$'\n' + for i in $(git --git-dir="$(__gitdir)" config --get-regexp "remotes\..*" 2>/dev/null); do + i="${i#remotes.}" + c="$c ${i/ */}" + done + __gitcomp "$c" + ;; + *) + COMPREPLY=() + ;; + esac +} + +_git_replace () +{ + __gitcomp_nl "$(__git_refs)" +} + +_git_reset () +{ + __git_has_doubledash && return + + case "$cur" in + --*) + __gitcomp "--merge --mixed --hard --soft --patch" + return + ;; + esac + __gitcomp_nl "$(__git_refs)" +} + +_git_revert () +{ + case "$cur" in + --*) + __gitcomp "--edit --mainline --no-edit --no-commit --signoff" + return + ;; + esac + __gitcomp_nl "$(__git_refs)" +} + +_git_rm () +{ + __git_has_doubledash && return + + case "$cur" in + --*) + __gitcomp "--cached --dry-run --ignore-unmatch --quiet" + return + ;; + esac + COMPREPLY=() +} + +_git_shortlog () +{ + __git_has_doubledash && return + + case "$cur" in + --*) + __gitcomp " + $__git_log_common_options + $__git_log_shortlog_options + --numbered --summary + " + return + ;; + esac + __git_complete_revlist +} + +_git_show () +{ + __git_has_doubledash && return + + case "$cur" in + --pretty=*|--format=*) + __gitcomp "$__git_log_pretty_formats $(__git_pretty_aliases) + " "" "${cur#*=}" + return + ;; + --*) + __gitcomp "--pretty= --format= --abbrev-commit --oneline + $__git_diff_common_options + " + return + ;; + esac + __git_complete_file +} + +_git_show_branch () +{ + case "$cur" in + --*) + __gitcomp " + --all --remotes --topo-order --current --more= + --list --independent --merge-base --no-name + --color --no-color + --sha1-name --sparse --topics --reflog + " + return + ;; + esac + __git_complete_revlist +} + +_git_stash () +{ + local save_opts='--keep-index --no-keep-index --quiet --patch' + local subcommands='save list show apply clear drop pop create branch' + local subcommand="$(__git_find_on_cmdline "$subcommands")" + if [ -z "$subcommand" ]; then + case "$cur" in + --*) + __gitcomp "$save_opts" + ;; + *) + if [ -z "$(__git_find_on_cmdline "$save_opts")" ]; then + __gitcomp "$subcommands" + else + COMPREPLY=() + fi + ;; + esac + else + case "$subcommand,$cur" in + save,--*) + __gitcomp "$save_opts" + ;; + apply,--*|pop,--*) + __gitcomp "--index --quiet" + ;; + show,--*|drop,--*|branch,--*) + COMPREPLY=() + ;; + show,*|apply,*|drop,*|pop,*|branch,*) + __gitcomp_nl "$(git --git-dir="$(__gitdir)" stash list \ + | sed -n -e 's/:.*//p')" + ;; + *) + COMPREPLY=() + ;; + esac + fi +} + +_git_submodule () +{ + __git_has_doubledash && return + + local subcommands="add status init update summary foreach sync" + if [ -z "$(__git_find_on_cmdline "$subcommands")" ]; then + case "$cur" in + --*) + __gitcomp "--quiet --cached" + ;; + *) + __gitcomp "$subcommands" + ;; + esac + return + fi +} + +_git_svn () +{ + local subcommands=" + init fetch clone rebase dcommit log find-rev + set-tree commit-diff info create-ignore propget + proplist show-ignore show-externals branch tag blame + migrate mkdirs reset gc + " + local subcommand="$(__git_find_on_cmdline "$subcommands")" + if [ -z "$subcommand" ]; then + __gitcomp "$subcommands" + else + local remote_opts="--username= --config-dir= --no-auth-cache" + local fc_opts=" + --follow-parent --authors-file= --repack= + --no-metadata --use-svm-props --use-svnsync-props + --log-window-size= --no-checkout --quiet + --repack-flags --use-log-author --localtime + --ignore-paths= $remote_opts + " + local init_opts=" + --template= --shared= --trunk= --tags= + --branches= --stdlayout --minimize-url + --no-metadata --use-svm-props --use-svnsync-props + --rewrite-root= --prefix= --use-log-author + --add-author-from $remote_opts + " + local cmt_opts=" + --edit --rmdir --find-copies-harder --copy-similarity= + " + + case "$subcommand,$cur" in + fetch,--*) + __gitcomp "--revision= --fetch-all $fc_opts" + ;; + clone,--*) + __gitcomp "--revision= $fc_opts $init_opts" + ;; + init,--*) + __gitcomp "$init_opts" + ;; + dcommit,--*) + __gitcomp " + --merge --strategy= --verbose --dry-run + --fetch-all --no-rebase --commit-url + --revision --interactive $cmt_opts $fc_opts + " + ;; + set-tree,--*) + __gitcomp "--stdin $cmt_opts $fc_opts" + ;; + create-ignore,--*|propget,--*|proplist,--*|show-ignore,--*|\ + show-externals,--*|mkdirs,--*) + __gitcomp "--revision=" + ;; + log,--*) + __gitcomp " + --limit= --revision= --verbose --incremental + --oneline --show-commit --non-recursive + --authors-file= --color + " + ;; + rebase,--*) + __gitcomp " + --merge --verbose --strategy= --local + --fetch-all --dry-run $fc_opts + " + ;; + commit-diff,--*) + __gitcomp "--message= --file= --revision= $cmt_opts" + ;; + info,--*) + __gitcomp "--url" + ;; + branch,--*) + __gitcomp "--dry-run --message --tag" + ;; + tag,--*) + __gitcomp "--dry-run --message" + ;; + blame,--*) + __gitcomp "--git-format" + ;; + migrate,--*) + __gitcomp " + --config-dir= --ignore-paths= --minimize + --no-auth-cache --username= + " + ;; + reset,--*) + __gitcomp "--revision= --parent" + ;; + *) + COMPREPLY=() + ;; + esac + fi +} + +_git_tag () +{ + local i c=1 f=0 + while [ $c -lt $cword ]; do + i="${words[c]}" + case "$i" in + -d|-v) + __gitcomp_nl "$(__git_tags)" + return + ;; + -f) + f=1 + ;; + esac + ((c++)) + done + + case "$prev" in + -m|-F) + COMPREPLY=() + ;; + -*|tag) + if [ $f = 1 ]; then + __gitcomp_nl "$(__git_tags)" + else + COMPREPLY=() + fi + ;; + *) + __gitcomp_nl "$(__git_refs)" + ;; + esac +} + +_git_whatchanged () +{ + _git_log +} + +__git_main () +{ + local i c=1 command __git_dir + + while [ $c -lt $cword ]; do + i="${words[c]}" + case "$i" in + --git-dir=*) __git_dir="${i#--git-dir=}" ;; + --bare) __git_dir="." ;; + --help) command="help"; break ;; + -c) c=$((++c)) ;; + -*) ;; + *) command="$i"; break ;; + esac + ((c++)) + done + + if [ -z "$command" ]; then + case "$cur" in + --*) __gitcomp " + --paginate + --no-pager + --git-dir= + --bare + --version + --exec-path + --exec-path= + --html-path + --info-path + --work-tree= + --namespace= + --no-replace-objects + --help + " + ;; + *) __git_compute_porcelain_commands + __gitcomp "$__git_porcelain_commands $(__git_aliases)" ;; + esac + return + fi + + local completion_func="_git_${command//-/_}" + declare -f $completion_func >/dev/null && $completion_func && return + + local expansion=$(__git_aliased_command "$command") + if [ -n "$expansion" ]; then + completion_func="_git_${expansion//-/_}" + declare -f $completion_func >/dev/null && $completion_func + fi +} + +__gitk_main () +{ + __git_has_doubledash && return + + local g="$(__gitdir)" + local merge="" + if [ -f "$g/MERGE_HEAD" ]; then + merge="--merge" + fi + case "$cur" in + --*) + __gitcomp " + $__git_log_common_options + $__git_log_gitk_options + $merge + " + return + ;; + esac + __git_complete_revlist +} + +__git_func_wrap () +{ + if [[ -n ${ZSH_VERSION-} ]]; then + emulate -L bash + setopt KSH_TYPESET + + # workaround zsh's bug that leaves 'words' as a special + # variable in versions < 4.3.12 + typeset -h words + + # workaround zsh's bug that quotes spaces in the COMPREPLY + # array if IFS doesn't contain spaces. + typeset -h IFS + fi + local cur words cword prev + _get_comp_words_by_ref -n =: cur words cword prev + $1 +} + +# Setup completion for certain functions defined above by setting common +# variables and workarounds. +# This is NOT a public function; use at your own risk. +__git_complete () +{ + local wrapper="__git_wrap${2}" + eval "$wrapper () { __git_func_wrap $2 ; }" + complete -o bashdefault -o default -o nospace -F $wrapper $1 2>/dev/null \ + || complete -o default -o nospace -F $wrapper $1 +} + +# wrapper for backwards compatibility +_git () +{ + __git_wrap__git_main +} + +# wrapper for backwards compatibility +_gitk () +{ + __git_wrap__gitk_main +} + +__git_complete git __git_main +__git_complete gitk __gitk_main + +# The following are necessary only for Cygwin, and only are needed +# when the user has tab-completed the executable name and consequently +# included the '.exe' suffix. +# +if [ Cygwin = "$(uname -o 2>/dev/null)" ]; then +__git_complete git.exe __git_main +fi diff --git a/dot.oh-my-zsh/plugins/gitfast/git-prompt.sh b/dot.oh-my-zsh/plugins/gitfast/git-prompt.sh new file mode 100644 index 0000000..bf20491 --- /dev/null +++ b/dot.oh-my-zsh/plugins/gitfast/git-prompt.sh @@ -0,0 +1,290 @@ +# bash/zsh git prompt support +# +# Copyright (C) 2006,2007 Shawn O. Pearce +# Distributed under the GNU General Public License, version 2.0. +# +# This script allows you to see the current branch in your prompt. +# +# To enable: +# +# 1) Copy this file to somewhere (e.g. ~/.git-prompt.sh). +# 2) Add the following line to your .bashrc/.zshrc: +# source ~/.git-prompt.sh +# 3) Change your PS1 to also show the current branch: +# Bash: PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ ' +# ZSH: PS1='[%n@%m %c$(__git_ps1 " (%s)")]\$ ' +# +# The argument to __git_ps1 will be displayed only if you are currently +# in a git repository. The %s token will be the name of the current +# branch. +# +# In addition, if you set GIT_PS1_SHOWDIRTYSTATE to a nonempty value, +# unstaged (*) and staged (+) changes will be shown next to the branch +# name. You can configure this per-repository with the +# bash.showDirtyState variable, which defaults to true once +# GIT_PS1_SHOWDIRTYSTATE is enabled. +# +# You can also see if currently something is stashed, by setting +# GIT_PS1_SHOWSTASHSTATE to a nonempty value. If something is stashed, +# then a '$' will be shown next to the branch name. +# +# If you would like to see if there're untracked files, then you can set +# GIT_PS1_SHOWUNTRACKEDFILES to a nonempty value. If there're untracked +# files, then a '%' will be shown next to the branch name. +# +# If you would like to see the difference between HEAD and its upstream, +# set GIT_PS1_SHOWUPSTREAM="auto". A "<" indicates you are behind, ">" +# indicates you are ahead, "<>" indicates you have diverged and "=" +# indicates that there is no difference. You can further control +# behaviour by setting GIT_PS1_SHOWUPSTREAM to a space-separated list +# of values: +# +# verbose show number of commits ahead/behind (+/-) upstream +# legacy don't use the '--count' option available in recent +# versions of git-rev-list +# git always compare HEAD to @{upstream} +# svn always compare HEAD to your SVN upstream +# +# By default, __git_ps1 will compare HEAD to your SVN upstream if it can +# find one, or @{upstream} otherwise. Once you have set +# GIT_PS1_SHOWUPSTREAM, you can override it on a per-repository basis by +# setting the bash.showUpstream config variable. + +# __gitdir accepts 0 or 1 arguments (i.e., location) +# returns location of .git repo +__gitdir () +{ + # Note: this function is duplicated in git-completion.bash + # When updating it, make sure you update the other one to match. + if [ -z "${1-}" ]; then + if [ -n "${__git_dir-}" ]; then + echo "$__git_dir" + elif [ -n "${GIT_DIR-}" ]; then + test -d "${GIT_DIR-}" || return 1 + echo "$GIT_DIR" + elif [ -d .git ]; then + echo .git + else + git rev-parse --git-dir 2>/dev/null + fi + elif [ -d "$1/.git" ]; then + echo "$1/.git" + else + echo "$1" + fi +} + +# stores the divergence from upstream in $p +# used by GIT_PS1_SHOWUPSTREAM +__git_ps1_show_upstream () +{ + local key value + local svn_remote svn_url_pattern count n + local upstream=git legacy="" verbose="" + + svn_remote=() + # get some config options from git-config + local output="$(git config -z --get-regexp '^(svn-remote\..*\.url|bash\.showupstream)$' 2>/dev/null | tr '\0\n' '\n ')" + while read -r key value; do + case "$key" in + bash.showupstream) + GIT_PS1_SHOWUPSTREAM="$value" + if [[ -z "${GIT_PS1_SHOWUPSTREAM}" ]]; then + p="" + return + fi + ;; + svn-remote.*.url) + svn_remote[ $((${#svn_remote[@]} + 1)) ]="$value" + svn_url_pattern+="\\|$value" + upstream=svn+git # default upstream is SVN if available, else git + ;; + esac + done <<< "$output" + + # parse configuration values + for option in ${GIT_PS1_SHOWUPSTREAM}; do + case "$option" in + git|svn) upstream="$option" ;; + verbose) verbose=1 ;; + legacy) legacy=1 ;; + esac + done + + # Find our upstream + case "$upstream" in + git) upstream="@{upstream}" ;; + svn*) + # get the upstream from the "git-svn-id: ..." in a commit message + # (git-svn uses essentially the same procedure internally) + local svn_upstream=($(git log --first-parent -1 \ + --grep="^git-svn-id: \(${svn_url_pattern#??}\)" 2>/dev/null)) + if [[ 0 -ne ${#svn_upstream[@]} ]]; then + svn_upstream=${svn_upstream[ ${#svn_upstream[@]} - 2 ]} + svn_upstream=${svn_upstream%@*} + local n_stop="${#svn_remote[@]}" + for ((n=1; n <= n_stop; n++)); do + svn_upstream=${svn_upstream#${svn_remote[$n]}} + done + + if [[ -z "$svn_upstream" ]]; then + # default branch name for checkouts with no layout: + upstream=${GIT_SVN_ID:-git-svn} + else + upstream=${svn_upstream#/} + fi + elif [[ "svn+git" = "$upstream" ]]; then + upstream="@{upstream}" + fi + ;; + esac + + # Find how many commits we are ahead/behind our upstream + if [[ -z "$legacy" ]]; then + count="$(git rev-list --count --left-right \ + "$upstream"...HEAD 2>/dev/null)" + else + # produce equivalent output to --count for older versions of git + local commits + if commits="$(git rev-list --left-right "$upstream"...HEAD 2>/dev/null)" + then + local commit behind=0 ahead=0 + for commit in $commits + do + case "$commit" in + "<"*) ((behind++)) ;; + *) ((ahead++)) ;; + esac + done + count="$behind $ahead" + else + count="" + fi + fi + + # calculate the result + if [[ -z "$verbose" ]]; then + case "$count" in + "") # no upstream + p="" ;; + "0 0") # equal to upstream + p="=" ;; + "0 "*) # ahead of upstream + p=">" ;; + *" 0") # behind upstream + p="<" ;; + *) # diverged from upstream + p="<>" ;; + esac + else + case "$count" in + "") # no upstream + p="" ;; + "0 0") # equal to upstream + p=" u=" ;; + "0 "*) # ahead of upstream + p=" u+${count#0 }" ;; + *" 0") # behind upstream + p=" u-${count% 0}" ;; + *) # diverged from upstream + p=" u+${count#* }-${count% *}" ;; + esac + fi + +} + + +# __git_ps1 accepts 0 or 1 arguments (i.e., format string) +# returns text to add to bash PS1 prompt (includes branch name) +__git_ps1 () +{ + local g="$(__gitdir)" + if [ -n "$g" ]; then + local r="" + local b="" + if [ -f "$g/rebase-merge/interactive" ]; then + r="|REBASE-i" + b="$(cat "$g/rebase-merge/head-name")" + elif [ -d "$g/rebase-merge" ]; then + r="|REBASE-m" + b="$(cat "$g/rebase-merge/head-name")" + else + if [ -d "$g/rebase-apply" ]; then + if [ -f "$g/rebase-apply/rebasing" ]; then + r="|REBASE" + elif [ -f "$g/rebase-apply/applying" ]; then + r="|AM" + else + r="|AM/REBASE" + fi + elif [ -f "$g/MERGE_HEAD" ]; then + r="|MERGING" + elif [ -f "$g/CHERRY_PICK_HEAD" ]; then + r="|CHERRY-PICKING" + elif [ -f "$g/BISECT_LOG" ]; then + r="|BISECTING" + fi + + b="$(git symbolic-ref HEAD 2>/dev/null)" || { + + b="$( + case "${GIT_PS1_DESCRIBE_STYLE-}" in + (contains) + git describe --contains HEAD ;; + (branch) + git describe --contains --all HEAD ;; + (describe) + git describe HEAD ;; + (* | default) + git describe --tags --exact-match HEAD ;; + esac 2>/dev/null)" || + + b="$(cut -c1-7 "$g/HEAD" 2>/dev/null)..." || + b="unknown" + b="($b)" + } + fi + + local w="" + local i="" + local s="" + local u="" + local c="" + local p="" + + if [ "true" = "$(git rev-parse --is-inside-git-dir 2>/dev/null)" ]; then + if [ "true" = "$(git rev-parse --is-bare-repository 2>/dev/null)" ]; then + c="BARE:" + else + b="GIT_DIR!" + fi + elif [ "true" = "$(git rev-parse --is-inside-work-tree 2>/dev/null)" ]; then + if [ -n "${GIT_PS1_SHOWDIRTYSTATE-}" ]; then + if [ "$(git config --bool bash.showDirtyState)" != "false" ]; then + git diff --no-ext-diff --quiet --exit-code || w="*" + if git rev-parse --quiet --verify HEAD >/dev/null; then + git diff-index --cached --quiet HEAD -- || i="+" + else + i="#" + fi + fi + fi + if [ -n "${GIT_PS1_SHOWSTASHSTATE-}" ]; then + git rev-parse --verify refs/stash >/dev/null 2>&1 && s="$" + fi + + if [ -n "${GIT_PS1_SHOWUNTRACKEDFILES-}" ]; then + if [ -n "$(git ls-files --others --exclude-standard)" ]; then + u="%" + fi + fi + + if [ -n "${GIT_PS1_SHOWUPSTREAM-}" ]; then + __git_ps1_show_upstream + fi + fi + + local f="$w$i$s$u" + printf -- "${1:- (%s)}" "$c${b##refs/heads/}${f:+ $f}$r$p" + fi +} diff --git a/dot.oh-my-zsh/plugins/gitfast/gitfast.plugin.zsh b/dot.oh-my-zsh/plugins/gitfast/gitfast.plugin.zsh new file mode 100644 index 0000000..7e50cf7 --- /dev/null +++ b/dot.oh-my-zsh/plugins/gitfast/gitfast.plugin.zsh @@ -0,0 +1,7 @@ +dir=$(dirname $0) +source $dir/../git/git.plugin.zsh +source $dir/git-prompt.sh + +function git_prompt_info() { + __git_ps1 "${ZSH_THEME_GIT_PROMPT_PREFIX//\%/%%}%s${ZSH_THEME_GIT_PROMPT_SUFFIX//\%/%%}" +} diff --git a/dot.oh-my-zsh/plugins/github/_github b/dot.oh-my-zsh/plugins/github/_github new file mode 100644 index 0000000..83e1713 --- /dev/null +++ b/dot.oh-my-zsh/plugins/github/_github @@ -0,0 +1,40 @@ +#compdef github +#autoload + +# in order to make this work, you will need to have the github gem installed +# http://github.com/defunkt/github-gem + +# github zsh completion, based on homebrew completion + +local -a _1st_arguments +_1st_arguments=( + 'browse:Open this repo in a web browser' + 'clone:Clone a repo' + 'config:Automatically set configuration info, or pass args to specify' + 'create-from-local:Create a new GitHub repository from the current local repository' + 'create:Create a new empty GitHub repository' + 'fetch:Fetch from a remote to a local branch' + 'fetch_all:Fetch all refs from a user' + 'fork:Forks a GitHub repository' + 'home:Open this repos master branch in a web browser' + 'ignore:Ignore a SHA from github network commits' + 'info:Info about this project' + 'issues:Project issues tools' + 'network:Project network tools - sub-commands : web [user], list, fetch, commits' + 'open:Open the given user/project in a web browser' + 'pull-request:Generate the text for a pull request' + 'pull:Pull from a remote' + 'search:Search GitHub for the given repository name' + 'track:Track another users repository' +) + +local expl +local -a pkgs installed_pkgs + +_arguments \ + '*:: :->subcmds' && return 0 + +if (( CURRENT == 1 )); then + _describe -t commands "github subcommand" _1st_arguments + return +fi diff --git a/dot.oh-my-zsh/plugins/github/github.plugin.zsh b/dot.oh-my-zsh/plugins/github/github.plugin.zsh new file mode 100644 index 0000000..598b059 --- /dev/null +++ b/dot.oh-my-zsh/plugins/github/github.plugin.zsh @@ -0,0 +1,71 @@ +# Setup hub function for git, if it is available; http://github.com/defunkt/hub +if [ "$commands[(I)hub]" ] && [ "$commands[(I)ruby]" ]; then + # eval `hub alias -s zsh` + function git(){ + if ! (( $+_has_working_hub )); then + hub --version &> /dev/null + _has_working_hub=$(($? == 0)) + fi + if (( $_has_working_hub )) ; then + hub "$@" + else + command git "$@" + fi + } +fi + +# Functions ################################################################# + +# https://github.com/dbb + + +# empty_gh [NAME_OF_REPO] +# +# Use this when creating a new repo from scratch. +empty_gh() { # [NAME_OF_REPO] + repo = $1 + ghuser=$( git config github.user ) + + mkdir "$repo" + cd "$repo" + git init + touch README + git add README + git commit -m 'Initial commit.' + git remote add origin git@github.com:${ghuser}/${repo}.git + git push -u origin master +} + +# new_gh [DIRECTORY] +# +# Use this when you have a directory that is not yet set up for git. +# This function will add all non-hidden files to git. +new_gh() { # [DIRECTORY] + cd "$1" + ghuser=$( git config github.user ) + + git init + # add all non-dot files + print '.*'"\n"'*~' >> .gitignore + git add ^.* + git commit -m 'Initial commit.' + git remote add origin git@github.com:${ghuser}/${repo}.git + git push -u origin master +} + +# exist_gh [DIRECTORY] +# +# Use this when you have a git repo that's ready to go and you want to add it +# to your GitHub. +exist_gh() { # [DIRECTORY] + cd "$1" + name=$( git config user.name ) + ghuser=$( git config github.user ) + repo=$1 + + git remote add origin git@github.com:${ghuser}/${repo}.git + git push -u origin master +} + +# End Functions ############################################################# + diff --git a/dot.oh-my-zsh/plugins/gnu-utils/gnu-utils.plugin.zsh b/dot.oh-my-zsh/plugins/gnu-utils/gnu-utils.plugin.zsh new file mode 100644 index 0000000..e59265d --- /dev/null +++ b/dot.oh-my-zsh/plugins/gnu-utils/gnu-utils.plugin.zsh @@ -0,0 +1,80 @@ +# ------------------------------------------------------------------------------ +# FILE: gnu-utils.plugin.zsh +# DESCRIPTION: oh-my-zsh plugin file. +# AUTHOR: Sorin Ionescu (sorin.ionescu@gmail.com) +# VERSION: 1.0.0 +# ------------------------------------------------------------------------------ + + +if [[ -x "${commands[gwhoami]}" ]]; then + __gnu_utils() { + emulate -L zsh + local gcmds + local gcmd + local cmd + local prefix + + # coreutils + gcmds=('g[' 'gbase64' 'gbasename' 'gcat' 'gchcon' 'gchgrp' 'gchmod' + 'gchown' 'gchroot' 'gcksum' 'gcomm' 'gcp' 'gcsplit' 'gcut' 'gdate' + 'gdd' 'gdf' 'gdir' 'gdircolors' 'gdirname' 'gdu' 'gecho' 'genv' 'gexpand' + 'gexpr' 'gfactor' 'gfalse' 'gfmt' 'gfold' 'ggroups' 'ghead' 'ghostid' + 'gid' 'ginstall' 'gjoin' 'gkill' 'glink' 'gln' 'glogname' 'gls' 'gmd5sum' + 'gmkdir' 'gmkfifo' 'gmknod' 'gmktemp' 'gmv' 'gnice' 'gnl' 'gnohup' 'gnproc' + 'god' 'gpaste' 'gpathchk' 'gpinky' 'gpr' 'gprintenv' 'gprintf' 'gptx' 'gpwd' + 'greadlink' 'grm' 'grmdir' 'gruncon' 'gseq' 'gsha1sum' 'gsha224sum' + 'gsha256sum' 'gsha384sum' 'gsha512sum' 'gshred' 'gshuf' 'gsleep' 'gsort' + 'gsplit' 'gstat' 'gstty' 'gsum' 'gsync' 'gtac' 'gtail' 'gtee' 'gtest' + 'gtimeout' 'gtouch' 'gtr' 'gtrue' 'gtruncate' 'gtsort' 'gtty' 'guname' + 'gunexpand' 'guniq' 'gunlink' 'guptime' 'gusers' 'gvdir' 'gwc' 'gwho' + 'gwhoami' 'gyes') + + # Not part of coreutils, installed separately. + gcmds+=('gsed' 'gtar' 'gtime') + + for gcmd in "${gcmds[@]}"; do + # + # This method allows for builtin commands to be primary but it's + # lost if hash -r or rehash -f is executed. Thus, those two + # functions have to be wrapped. + # + (( ${+commands[$gcmd]} )) && hash ${gcmd[2,-1]}=${commands[$gcmd]} + + # + # This method generates wrapper functions. + # It will override shell builtins. + # + # (( ${+commands[$gcmd]} )) && \ + # eval "function $gcmd[2,-1]() { \"${prefix}/${gcmd//"["/"\\["}\" \"\$@\"; }" + + # + # This method is inflexible since the aliases are at risk of being + # overriden resulting in the BSD coreutils being called. + # + # (( ${+commands[$gcmd]} )) && \ + # alias "$gcmd[2,-1]"="${prefix}/${gcmd//"["/"\\["}" + done + + return 0 + } + __gnu_utils; + + function hash() { + if [[ "$*" =~ "-(r|f)" ]]; then + builtin hash "$@" + __gnu_utils + else + builtin hash "$@" + fi + } + + function rehash() { + if [[ "$*" =~ "-f" ]]; then + builtin rehash "$@" + __gnu_utils + else + builtin rehash "$@" + fi + } +fi + diff --git a/dot.oh-my-zsh/plugins/gpg-agent/gpg-agent.plugin.zsh b/dot.oh-my-zsh/plugins/gpg-agent/gpg-agent.plugin.zsh new file mode 100644 index 0000000..8cc71fd --- /dev/null +++ b/dot.oh-my-zsh/plugins/gpg-agent/gpg-agent.plugin.zsh @@ -0,0 +1,26 @@ +# Based on ssh-agent code + +local GPG_ENV=$HOME/.gnupg/gpg-agent.env + +function start_agent { + /usr/bin/env gpg-agent --daemon --enable-ssh-support --write-env-file ${GPG_ENV} > /dev/null + chmod 600 ${GPG_ENV} + . ${GPG_ENV} > /dev/null +} + +# Source GPG agent settings, if applicable +if [ -f "${GPG_ENV}" ]; then + . ${GPG_ENV} > /dev/null + ps -ef | grep ${SSH_AGENT_PID} | grep gpg-agent > /dev/null || { + start_agent; + } +else + start_agent; +fi + +export GPG_AGENT_INFO +export SSH_AUTH_SOCK +export SSH_AGENT_PID + +GPG_TTY=$(tty) +export GPG_TTY diff --git a/dot.oh-my-zsh/plugins/gradle/gradle.plugin.zsh b/dot.oh-my-zsh/plugins/gradle/gradle.plugin.zsh new file mode 100644 index 0000000..fc4c78c --- /dev/null +++ b/dot.oh-my-zsh/plugins/gradle/gradle.plugin.zsh @@ -0,0 +1,119 @@ +#!zsh +############################################################################## +# A descriptive listing of core Gradle commands +############################################################################ +function _gradle_core_commands() { + local ret=1 state + _arguments ':subcommand:->subcommand' && ret=0 + + case $state in + subcommand) + subcommands=( + "properties:Display all project properties" + "tasks:Calculate and display all tasks" + "dependencies:Calculate and display all dependencies" + "projects:Discover and display all sub-projects" + "build:Build the project" + "help:Display help" + ) + _describe -t subcommands 'gradle subcommands' subcommands && ret=0 + esac + + return ret +} + +function _gradle_arguments() { + _arguments -C \ + '-a[Do not rebuild project dependencies]' \ + '-h[Help]' \ + '-D[System property]' \ + '-d[Log at the debug level]' \ + '--gui[Launches the Gradle GUI app]' \ + '--stop[Stop the Gradle daemon]' \ + '--daemon[Use the Gradle daemon]' \ + '--no-daemon[Do not use the Gradle daemon]' \ + '--no-opt[Do not perform any task optimization]' \ + '-i[Log at the info level]' \ + '-m[Dry run]' \ + '-P[Set a project property]' \ + '--profile[Profile the build time]' \ + '-q[Log at the quiet level (only show errors)]' \ + '-v[Print the Gradle version info]' \ + '-x[Specify a task to be excluded]' \ + '*::command:->command' \ + && return 0 +} + + +############################################################################## +# Are we in a directory containing a build.gradle file? +############################################################################ +function in_gradle() { + if [[ -f build.gradle ]]; then + echo 1 + fi +} + +############################################################################ +# Define the stat_cmd command based on platform behavior +########################################################################## +stat -f%m . > /dev/null 2>&1 +if [ "$?" = 0 ]; then + stat_cmd=(stat -f%m) +else + stat_cmd=(stat -L --format=%Y) +fi + +############################################################################## Examine the build.gradle file to see if its +# timestamp has changed, and if so, regen +# the .gradle_tasks cache file +############################################################################ +_gradle_does_task_list_need_generating () { + if [ ! -f .gradletasknamecache ]; then return 0; + else + accurate=$($stat_cmd .gradletasknamecache) + changed=$($stat_cmd build.gradle) + return $(expr $accurate '>=' $changed) + fi +} + + +############################################################################## +# Discover the gradle tasks by running "gradle tasks --all" +############################################################################ +_gradle_tasks () { + if [ in_gradle ]; then + _gradle_arguments + if _gradle_does_task_list_need_generating; then + gradle tasks --all | grep "^[ ]*[a-zA-Z0-9]*\ -\ " | sed "s/ - .*$//" | sed "s/[\ ]*//" > .gradletasknamecache + fi + compadd -X "==== Gradle Tasks ====" `cat .gradletasknamecache` + fi +} + +_gradlew_tasks () { + if [ in_gradle ]; then + _gradle_arguments + if _gradle_does_task_list_need_generating; then + gradlew tasks --all | grep "^[ ]*[a-zA-Z0-9]*\ -\ " | sed "s/ - .*$//" | sed "s/[\ ]*//" > .gradletasknamecache + fi + compadd -X "==== Gradlew Tasks ====" `cat .gradletasknamecache` + fi +} + + +############################################################################## +# Register the completions against the gradle and gradlew commands +############################################################################ +compdef _gradle_tasks gradle +compdef _gradlew_tasks gradlew + + +############################################################################## +# Open questions for future improvements: +# 1) Should 'gradle tasks' use --all or just the regular set? +# 2) Should gradlew use the same approach as gradle? +# 3) Should only the " - " be replaced with a colon so it can work +# with the richer descriptive method of _arguments? +# gradle tasks | grep "^[a-zA-Z0-9]*\ -\ " | sed "s/ - /\:/" +############################################################################# diff --git a/dot.oh-my-zsh/plugins/grails/grails.plugin.zsh b/dot.oh-my-zsh/plugins/grails/grails.plugin.zsh new file mode 100755 index 0000000..cc6f9c5 --- /dev/null +++ b/dot.oh-my-zsh/plugins/grails/grails.plugin.zsh @@ -0,0 +1,54 @@ +_enumerateGrailsScripts() { + # Default directoryies + directories=($GRAILS_HOME/scripts ~/.grails/scripts ./scripts) + + # Check all of the plugins directories, if they exist + if [ -d plugins ] + then + directories+=(plugins/*/scripts) + fi + + # Enumerate all of the Groovy files + files=() + for dir in $directories; + do + if [ -d $dir ] + then + files+=($dir/[^_]*.groovy) + fi + done + + # Don't try to basename () + if [ ${#files} -eq 0 ]; + then + return + fi + + # - Strip the path + # - Remove all scripts with a leading '_' + # - PackagePlugin_.groovy -> PackagePlugin + # - PackagePlugin -> Package-Plugin + # - Package-Plugin -> package-plugin + basename $files \ + | sed -E -e 's/^_?([^_]+)_?.groovy/\1/'\ + -e 's/([a-z])([A-Z])/\1-\2/g' \ + | tr "[:upper:]" "[:lower:]" \ + | sort \ + | uniq +} + +_grails() { + if (( CURRENT == 2 )); then + scripts=( $(_enumerateGrailsScripts) ) + + if [ ${#scripts} -ne 0 ]; + then + _multi_parts / scripts + return + fi + fi + + _files +} + +compdef _grails grails diff --git a/dot.oh-my-zsh/plugins/heroku/_heroku b/dot.oh-my-zsh/plugins/heroku/_heroku new file mode 100644 index 0000000..a95c386 --- /dev/null +++ b/dot.oh-my-zsh/plugins/heroku/_heroku @@ -0,0 +1,159 @@ +#compdef heroku + +# Heroku Autocomplete plugin for Oh-My-Zsh +# Requires: The Heroku client gem (https://github.com/heroku/heroku) +# Author: Ali B. (http://awhitebox.com) + +local -a _1st_arguments +_1st_arguments=( + "account\:confirm_billing":"Confirm that your account can be billed at the end of the month" + "addons":"list installed addons" + "addons\:list":"list all available addons" + "addons\:add":"install an addon" + "addons\:upgrade":"upgrade an existing addon" + "addons\:downgrade":"downgrade an existing addon" + "addons\:remove":"uninstall an addon" + "addons\:open":"open an addon's dashboard in your browser" + "apps":"list your apps" + "apps\:info":"show detailed app information" + "apps\:create":"create a new app" + "apps\:rename":"rename the app" + "apps\:open":"open the app in a web browser" + "apps\:destroy":"permanently destroy an app" + "auth\:login":"log in with your heroku credentials" + "auth\:logout":"clear local authentication credentials" + "config":"display the config vars for an app" + "config\:add":"add one or more config vars" + "config\:remove":"remove a config var" + "db\:push":"push local data up to your app" + "db\:pull":"pull heroku data down into your local database" + "domains":"list custom domains for an app" + "domains\:add":"add a custom domain to an app" + "domains\:remove":"remove a custom domain from an app" + "domains\:clear":"remove all custom domains from an app" + "help":"list available commands or display help for a specific command" + "keys":"display keys for the current user" + "keys\:add":"add a key for the current user" + "keys\:remove":"remove a key from the current user" + "keys\:clear":"remove all authentication keys from the current user" + "logs":"display recent log output" + "logs\:cron":"DEPRECATED: display cron logs from legacy logging" + "logs\:drains":"manage syslog drains" + "maintenance\:on":"put the app into maintenance mode" + "maintenance\:off":"take the app out of maintenance mode" + "pg\:info":"display database information" + "pg\:ingress":"allow direct connections to the database from this IP for one minute" + "pg\:promote":"sets DATABASE as your DATABASE_URL" + "pg\:psql":"open a psql shell to the database" + "pg\:reset":"delete all data in DATABASE" + "pg\:unfollow":"stop a replica from following and make it a read/write database" + "pg\:wait":"monitor database creation, exit when complete" + "pgbackups":"list captured backups" + "pgbackups\:url":"get a temporary URL for a backup" + "pgbackups\:capture":"capture a backup from a database id" + "pgbackups\:restore":"restore a backup to a database" + "pgbackups\:destroy":"destroys a backup" + "plugins":"list installed plugins" + "plugins\:install":"install a plugin" + "plugins\:uninstall":"uninstall a plugin" + "ps\:dynos":"scale to QTY web processes" + "ps\:workers":"scale to QTY background processes" + "ps":"list processes for an app" + "ps\:restart":"restart an app process" + "ps\:scale":"scale processes by the given amount" + "releases":"list releases" + "releases\:info":"view detailed information for a release" + "rollback":"roll back to an older release" + "run":"run an attached process" + "run\:rake":"remotely execute a rake command" + "run\:console":"open a remote console session" + "sharing":"list collaborators on an app" + "sharing\:add":"add a collaborator to an app" + "sharing\:remove":"remove a collaborator from an app" + "sharing\:transfer":"transfer an app to a new owner" + "ssl":"list certificates for an app" + "ssl\:add":"add an ssl certificate to an app" + "ssl\:remove":"remove an ssl certificate from an app" + "ssl\:clear":"remove all ssl certificates from an app" + "stack":"show the list of available stacks" + "stack\:migrate":"prepare migration of this app to a new stack" + "version":"show heroku client version" +) + +_arguments '*:: :->command' + +if (( CURRENT == 1 )); then + _describe -t commands "heroku command" _1st_arguments + return +fi + +local -a _command_args +case "$words[1]" in + apps:info) + _command_args=( + '(-r|--raw)'{-r,--raw}'[output info as raw key/value pairs]' \ + ) + ;; + apps:create) + _command_args=( + '(-a|--addons)'{-a,--addons}'[a list of addons to install]' \ + '(-r|--remote)'{-r,--remote}'[the git remote to create, default "heroku"]' \ + '(-s|--stack)'{-s,--stack}'[the stack on which to create the app]' \ + ) + ;; + config) + _command_args=( + '(-s|--shell)'{-s,--shell}'[output config vars in shell format]' \ + ) + ;; + db:push) + _command_args=( + '(-c|--chunksize)'{-c,--chunksize}'[specify the number of rows to send in each batch]' \ + '(-d|--debug)'{-d,--debug}'[enable debugging output]' \ + '(-e|--exclude)'{-e,--exclude}'[exclude the specified tables from the push]' \ + '(-f|--filter)'{-f,--filter}'[only push certain tables]' \ + '(-r|--resume)'{-r,--resume}'[resume transfer described by a .dat file]' \ + '(-t|--tables)'{-t,--tables}'[only push the specified tables]' \ + ) + ;; + db:pull) + _command_args=( + '(-c|--chunksize)'{-c,--chunksize}'[specify the number of rows to send in each batch]' \ + '(-d|--debug)'{-d,--debug}'[enable debugging output]' \ + '(-e|--exclude)'{-e,--exclude}'[exclude the specified tables from the pull]' \ + '(-f|--filter)'{-f,--filter}'[only pull certain tables]' \ + '(-r|--resume)'{-r,--resume}'[resume transfer described by a .dat file]' \ + '(-t|--tables)'{-t,--tables}'[only pull the specified tables]' \ + ) + ;; + keys) + _command_args=( + '(-l|--long)'{-l,--long}'[display extended information for each key]' \ + ) + ;; + logs) + _command_args=( + '(-n|--num)'{-n,--num}'[the number of lines to display]' \ + '(-p|--ps)'{-p,--ps}'[only display logs from the given process]' \ + '(-s|--source)'{-s,--source}'[only display logs from the given source]' \ + '(-t|--tail)'{-t,--tail}'[continually stream logs]' \ + ) + ;; + pgbackups:capture) + _command_args=( + '(-e|--expire)'{-e,--expire}'[if no slots are available to capture, delete the oldest backup to make room]' \ + ) + ;; + stack) + _command_args=( + '(-a|--all)'{-a,--all}'[include deprecated stacks]' \ + ) + ;; + esac + +_arguments \ + $_command_args \ + '(--app)--app[the app name]' \ + '(--remote)--remote[the remote name]' \ + && return 0 + diff --git a/dot.oh-my-zsh/plugins/history-substring-search/README b/dot.oh-my-zsh/plugins/history-substring-search/README new file mode 100644 index 0000000..be11adf --- /dev/null +++ b/dot.oh-my-zsh/plugins/history-substring-search/README @@ -0,0 +1,7 @@ +To activate this script, load it into an interactive ZSH session: + + % source history-substring-search.zsh + +See the "history-substring-search.zsh" file for more information: + + % sed -n '2,/^$/s/^#//p' history-substring-search.zsh | more diff --git a/dot.oh-my-zsh/plugins/history-substring-search/history-substring-search.plugin.zsh b/dot.oh-my-zsh/plugins/history-substring-search/history-substring-search.plugin.zsh new file mode 100644 index 0000000..99a5922 --- /dev/null +++ b/dot.oh-my-zsh/plugins/history-substring-search/history-substring-search.plugin.zsh @@ -0,0 +1,12 @@ +# This file integrates the history-substring-search script into oh-my-zsh. + +source "$ZSH/plugins/history-substring-search/history-substring-search.zsh" + +if test "$CASE_SENSITIVE" = true; then + unset HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS +fi + +if test "$DISABLE_COLOR" = true; then + unset HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND + unset HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND +fi diff --git a/dot.oh-my-zsh/plugins/history-substring-search/history-substring-search.zsh b/dot.oh-my-zsh/plugins/history-substring-search/history-substring-search.zsh new file mode 100644 index 0000000..53f707c --- /dev/null +++ b/dot.oh-my-zsh/plugins/history-substring-search/history-substring-search.zsh @@ -0,0 +1,642 @@ +#!/usr/bin/env zsh +# +# This is a clean-room implementation of the Fish[1] shell's history search +# feature, where you can type in any part of any previously entered command +# and press the UP and DOWN arrow keys to cycle through the matching commands. +# +#----------------------------------------------------------------------------- +# Usage +#----------------------------------------------------------------------------- +# +# 1. Load this script into your interactive ZSH session: +# +# % source history-substring-search.zsh +# +# If you want to use the zsh-syntax-highlighting[6] script along with this +# script, then make sure that you load it *before* you load this script: +# +# % source zsh-syntax-highlighting.zsh +# % source history-substring-search.zsh +# +# 2. Type any part of any previous command and then: +# +# * Press the UP arrow key to select the nearest command that (1) contains +# your query and (2) is older than the current command in the command +# history. +# +# * Press the DOWN arrow key to select the nearest command that (1) +# contains your query and (2) is newer than the current command in the +# command history. +# +# * Press ^U (the Control and U keys simultaneously) to abort the search. +# +# 3. If a matching command spans more than one line of text, press the LEFT +# arrow key to move the cursor away from the end of the command, and then: +# +# * Press the UP arrow key to move the cursor to the line above. When the +# cursor reaches the first line of the command, pressing the UP arrow +# key again will cause this script to perform another search. +# +# * Press the DOWN arrow key to move the cursor to the line below. When +# the cursor reaches the last line of the command, pressing the DOWN +# arrow key again will cause this script to perform another search. +# +#----------------------------------------------------------------------------- +# Configuration +#----------------------------------------------------------------------------- +# +# This script defines the following global variables. You may override their +# default values only after having loaded this script into your ZSH session. +# +# * HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND is a global variable that defines +# how the query should be highlighted inside a matching command. Its default +# value causes this script to highlight using bold, white text on a magenta +# background. See the "Character Highlighting" section in the zshzle(1) man +# page to learn about the kinds of values you may assign to this variable. +# +# * HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND is a global variable that +# defines how the query should be highlighted when no commands in the +# history match it. Its default value causes this script to highlight using +# bold, white text on a red background. See the "Character Highlighting" +# section in the zshzle(1) man page to learn about the kinds of values you +# may assign to this variable. +# +# * HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS is a global variable that defines +# how the command history will be searched for your query. Its default value +# causes this script to perform a case-insensitive search. See the "Globbing +# Flags" section in the zshexpn(1) man page to learn about the kinds of +# values you may assign to this variable. +# +#----------------------------------------------------------------------------- +# History +#----------------------------------------------------------------------------- +# +# This script was originally written by Peter Stephenson[2], who published it +# to the ZSH users mailing list (thereby making it public domain) in September +# 2009. It was later revised by Guido van Steen and released under the BSD +# license (see below) as part of the fizsh[3] project in January 2011. +# +# It was later extracted from fizsh[3] release 1.0.1, refactored heavily, and +# repackaged as both an oh-my-zsh plugin[4] and as an independently loadable +# ZSH script[5] by Suraj N. Kurapati in 2011. +# +# It was further developed[4] by Guido van Steen, Suraj N. Kurapati, Sorin +# Ionescu, and Vincent Guerci in 2011. +# +# [1]: http://fishshell.com +# [2]: http://www.zsh.org/mla/users/2009/msg00818.html +# [3]: http://sourceforge.net/projects/fizsh/ +# [4]: https://github.com/robbyrussell/oh-my-zsh/pull/215 +# [5]: https://github.com/sunaku/zsh-history-substring-search +# [6]: https://github.com/nicoulaj/zsh-syntax-highlighting +# +############################################################################## +# +# Copyright (c) 2009 Peter Stephenson +# Copyright (c) 2011 Guido van Steen +# Copyright (c) 2011 Suraj N. Kurapati +# Copyright (c) 2011 Sorin Ionescu +# Copyright (c) 2011 Vincent Guerci +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# +# * Neither the name of the FIZSH nor the names of its contributors +# may be used to endorse or promote products derived from this +# software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################## + +#----------------------------------------------------------------------------- +# configuration variables +#----------------------------------------------------------------------------- + +HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND='bg=magenta,fg=white,bold' +HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND='bg=red,fg=white,bold' +HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS='i' + +#----------------------------------------------------------------------------- +# the main ZLE widgets +#----------------------------------------------------------------------------- + +function history-substring-search-up() { + _history-substring-search-begin + + _history-substring-search-up-history || + _history-substring-search-up-buffer || + _history-substring-search-up-search + + _history-substring-search-end +} + +function history-substring-search-down() { + _history-substring-search-begin + + _history-substring-search-down-history || + _history-substring-search-down-buffer || + _history-substring-search-down-search + + _history-substring-search-end +} + +zle -N history-substring-search-up +zle -N history-substring-search-down + +bindkey '\e[A' history-substring-search-up +bindkey '\e[B' history-substring-search-down + +#----------------------------------------------------------------------------- +# implementation details +#----------------------------------------------------------------------------- + +setopt extendedglob +zmodload -F zsh/parameter + +# +# We have to "override" some keys and widgets if the +# zsh-syntax-highlighting plugin has not been loaded: +# +# https://github.com/nicoulaj/zsh-syntax-highlighting +# +if [[ $+functions[_zsh_highlight] -eq 0 ]]; then + # + # Dummy implementation of _zsh_highlight() + # that simply removes existing highlights + # + function _zsh_highlight() { + region_highlight=() + } + + # + # Remove existing highlights when the user + # inserts printable characters into $BUFFER + # + function ordinary-key-press() { + if [[ $KEYS == [[:print:]] ]]; then + region_highlight=() + fi + zle .self-insert + } + zle -N self-insert ordinary-key-press + + # + # Override ZLE widgets to invoke _zsh_highlight() + # + # https://github.com/nicoulaj/zsh-syntax-highlighting/blob/ + # bb7fcb79fad797a40077bebaf6f4e4a93c9d8163/zsh-syntax-highlighting.zsh#L121 + # + #--------------8<-------------------8<-------------------8<----------------- + # + # Copyright (c) 2010-2011 zsh-syntax-highlighting contributors + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions are + # met: + # + # * Redistributions of source code must retain the above copyright + # notice, this list of conditions and the following disclaimer. + # + # * Redistributions in binary form must reproduce the above copyright + # notice, this list of conditions and the following disclaimer in the + # documentation and/or other materials provided with the distribution. + # + # * Neither the name of the zsh-syntax-highlighting contributors nor the + # names of its contributors may be used to endorse or promote products + # derived from this software without specific prior written permission. + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + # IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + # Load ZSH module zsh/zleparameter, needed to override user defined widgets. + zmodload zsh/zleparameter 2>/dev/null || { + echo 'zsh-syntax-highlighting: failed loading zsh/zleparameter, exiting.' >&2 + return -1 + } + + # Override ZLE widgets to make them invoke _zsh_highlight. + for event in ${${(f)"$(zle -la)"}:#(_*|orig-*|.run-help|.which-command)}; do + if [[ "$widgets[$event]" == completion:* ]]; then + eval "zle -C orig-$event ${${${widgets[$event]}#*:}/:/ } ; $event() { builtin zle orig-$event && _zsh_highlight } ; zle -N $event" + else + case $event in + accept-and-menu-complete) + eval "$event() { builtin zle .$event && _zsh_highlight } ; zle -N $event" + ;; + + # The following widgets should NOT remove any previously + # applied highlighting. Therefore we do not remap them. + .forward-char|.backward-char|.up-line-or-history|.down-line-or-history) + ;; + + .*) + clean_event=$event[2,${#event}] # Remove the leading dot in the event name + case ${widgets[$clean_event]-} in + (completion|user):*) + ;; + *) + eval "$clean_event() { builtin zle $event && _zsh_highlight } ; zle -N $clean_event" + ;; + esac + ;; + *) + ;; + esac + fi + done + unset event clean_event + #-------------->8------------------->8------------------->8----------------- +fi + +function _history-substring-search-begin() { + _history_substring_search_move_cursor_eol=false + _history_substring_search_query_highlight= + + # + # Continue using the previous $_history_substring_search_result by default, + # unless the current query was cleared or a new/different query was entered. + # + if [[ -z $BUFFER || $BUFFER != $_history_substring_search_result ]]; then + # + # For the purpose of highlighting we will also keep + # a version without doubly-escaped meta characters. + # + _history_substring_search_query=$BUFFER + + # + # $BUFFER contains the text that is in the command-line currently. + # we put an extra "\\" before meta characters such as "\(" and "\)", + # so that they become "\\\(" and "\\\)". + # + _history_substring_search_query_escaped=${BUFFER//(#m)[\][()|\\*?#<>~^]/\\$MATCH} + + # + # Find all occurrences of the search query in the history file. + # + # (k) turns it an array of line numbers. + # + # (on) seems to remove duplicates, which are default + # options. They can be turned off by (ON). + # + _history_substring_search_matches=(${(kon)history[(R)(#$HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS)*${_history_substring_search_query_escaped}*]}) + + # + # Define the range of values that $_history_substring_search_match_index + # can take: [0, $_history_substring_search_matches_count_plus]. + # + _history_substring_search_matches_count=$#_history_substring_search_matches + _history_substring_search_matches_count_plus=$(( _history_substring_search_matches_count + 1 )) + _history_substring_search_matches_count_sans=$(( _history_substring_search_matches_count - 1 )) + + # + # If $_history_substring_search_match_index is equal to + # $_history_substring_search_matches_count_plus, this indicates that we + # are beyond the beginning of $_history_substring_search_matches. + # + # If $_history_substring_search_match_index is equal to 0, this indicates + # that we are beyond the end of $_history_substring_search_matches. + # + # If we have initially pressed "up" we have to initialize + # $_history_substring_search_match_index to + # $_history_substring_search_matches_count_plus so that it will be + # decreased to $_history_substring_search_matches_count. + # + # If we have initially pressed "down" we have to initialize + # $_history_substring_search_match_index to + # $_history_substring_search_matches_count so that it will be increased to + # $_history_substring_search_matches_count_plus. + # + if [[ $WIDGET == history-substring-search-down ]]; then + _history_substring_search_match_index=$_history_substring_search_matches_count + else + _history_substring_search_match_index=$_history_substring_search_matches_count_plus + fi + fi +} + +function _history-substring-search-end() { + _history_substring_search_result=$BUFFER + + # move the cursor to the end of the command line + if [[ $_history_substring_search_move_cursor_eol == true ]]; then + CURSOR=${#BUFFER} + fi + + # highlight command line using zsh-syntax-highlighting + _zsh_highlight + + # highlight the search query inside the command line + if [[ -n $_history_substring_search_query_highlight && -n $_history_substring_search_query ]]; then + # + # The following expression yields a variable $MBEGIN, which + # indicates the begin position + 1 of the first occurrence + # of _history_substring_search_query_escaped in $BUFFER. + # + : ${(S)BUFFER##(#m$HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS)($_history_substring_search_query##)} + local begin=$(( MBEGIN - 1 )) + local end=$(( begin + $#_history_substring_search_query )) + region_highlight+=("$begin $end $_history_substring_search_query_highlight") + fi + + # For debugging purposes: + # zle -R "mn: "$_history_substring_search_match_index" m#: "${#_history_substring_search_matches} + # read -k -t 200 && zle -U $REPLY + + # Exit successfully from the history-substring-search-* widgets. + true +} + +function _history-substring-search-up-buffer() { + # + # Check if the UP arrow was pressed to move the cursor within a multi-line + # buffer. This amounts to three tests: + # + # 1. $#buflines -gt 1. + # + # 2. $CURSOR -ne $#BUFFER. + # + # 3. Check if we are on the first line of the current multi-line buffer. + # If so, pressing UP would amount to leaving the multi-line buffer. + # + # We check this by adding an extra "x" to $LBUFFER, which makes + # sure that xlbuflines is always equal to the number of lines + # until $CURSOR (including the line with the cursor on it). + # + local buflines XLBUFFER xlbuflines + buflines=(${(f)BUFFER}) + XLBUFFER=$LBUFFER"x" + xlbuflines=(${(f)XLBUFFER}) + + if [[ $#buflines -gt 1 && $CURSOR -ne $#BUFFER && $#xlbuflines -ne 1 ]]; then + zle up-line-or-history + return true + fi + + false +} + +function _history-substring-search-down-buffer() { + # + # Check if the DOWN arrow was pressed to move the cursor within a multi-line + # buffer. This amounts to three tests: + # + # 1. $#buflines -gt 1. + # + # 2. $CURSOR -ne $#BUFFER. + # + # 3. Check if we are on the last line of the current multi-line buffer. + # If so, pressing DOWN would amount to leaving the multi-line buffer. + # + # We check this by adding an extra "x" to $RBUFFER, which makes + # sure that xrbuflines is always equal to the number of lines + # from $CURSOR (including the line with the cursor on it). + # + local buflines XRBUFFER xrbuflines + buflines=(${(f)BUFFER}) + XRBUFFER="x"$RBUFFER + xrbuflines=(${(f)XRBUFFER}) + + if [[ $#buflines -gt 1 && $CURSOR -ne $#BUFFER && $#xrbuflines -ne 1 ]]; then + zle down-line-or-history + return true + fi + + false +} + +function _history-substring-search-up-history() { + # + # Behave like up in ZSH, except clear the $BUFFER + # when beginning of history is reached like in Fish. + # + if [[ -z $_history_substring_search_query ]]; then + + # we have reached the absolute top of history + if [[ $HISTNO -eq 1 ]]; then + BUFFER= + + # going up from somewhere below the top of history + else + zle up-history + fi + + return true + fi + + false +} + +function _history-substring-search-down-history() { + # + # Behave like down-history in ZSH, except clear the + # $BUFFER when end of history is reached like in Fish. + # + if [[ -z $_history_substring_search_query ]]; then + + # going down from the absolute top of history + if [[ $HISTNO -eq 1 && -z $BUFFER ]]; then + BUFFER=${history[1]} + _history_substring_search_move_cursor_eol=true + + # going down from somewhere above the bottom of history + else + zle down-history + fi + + return true + fi + + false +} + +function _history-substring-search-up-search() { + _history_substring_search_move_cursor_eol=true + + # + # Highlight matches during history-substring-up-search: + # + # The following constants have been initialized in + # _history-substring-search-up/down-search(): + # + # $_history_substring_search_matches is the current list of matches + # $_history_substring_search_matches_count is the current number of matches + # $_history_substring_search_matches_count_plus is the current number of matches + 1 + # $_history_substring_search_matches_count_sans is the current number of matches - 1 + # $_history_substring_search_match_index is the index of the current match + # + # The range of values that $_history_substring_search_match_index can take + # is: [0, $_history_substring_search_matches_count_plus]. A value of 0 + # indicates that we are beyond the end of + # $_history_substring_search_matches. A value of + # $_history_substring_search_matches_count_plus indicates that we are beyond + # the beginning of $_history_substring_search_matches. + # + # In _history-substring-search-up-search() the initial value of + # $_history_substring_search_match_index is + # $_history_substring_search_matches_count_plus. This value is set in + # _history-substring-search-begin(). _history-substring-search-up-search() + # will initially decrease it to $_history_substring_search_matches_count. + # + if [[ $_history_substring_search_match_index -ge 2 ]]; then + # + # Highlight the next match: + # + # 1. Decrease the value of $_history_substring_search_match_index. + # + # 2. Use $HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND + # to highlight the current buffer. + # + (( _history_substring_search_match_index-- )) + BUFFER=$history[$_history_substring_search_matches[$_history_substring_search_match_index]] + _history_substring_search_query_highlight=$HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND + + elif [[ $_history_substring_search_match_index -eq 1 ]]; then + # + # We will move beyond the end of $_history_substring_search_matches: + # + # 1. Decrease the value of $_history_substring_search_match_index. + # + # 2. Save the current buffer in $_history_substring_search_old_buffer, + # so that it can be retrieved by + # _history-substring-search-down-search() later. + # + # 3. Make $BUFFER equal to $_history_substring_search_query. + # + # 4. Use $HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND + # to highlight the current buffer. + # + (( _history_substring_search_match_index-- )) + _history_substring_search_old_buffer=$BUFFER + BUFFER=$_history_substring_search_query + _history_substring_search_query_highlight=$HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND + + elif [[ $_history_substring_search_match_index -eq $_history_substring_search_matches_count_plus ]]; then + # + # We were beyond the beginning of $_history_substring_search_matches but + # UP makes us move back to $_history_substring_search_matches: + # + # 1. Decrease the value of $_history_substring_search_match_index. + # + # 2. Restore $BUFFER from $_history_substring_search_old_buffer. + # + # 3. Use $HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND + # to highlight the current buffer. + # + (( _history_substring_search_match_index-- )) + BUFFER=$_history_substring_search_old_buffer + _history_substring_search_query_highlight=$HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND + fi +} + +function _history-substring-search-down-search() { + _history_substring_search_move_cursor_eol=true + + # + # Highlight matches during history-substring-up-search: + # + # The following constants have been initialized in + # _history-substring-search-up/down-search(): + # + # $_history_substring_search_matches is the current list of matches + # $_history_substring_search_matches_count is the current number of matches + # $_history_substring_search_matches_count_plus is the current number of matches + 1 + # $_history_substring_search_matches_count_sans is the current number of matches - 1 + # $_history_substring_search_match_index is the index of the current match + # + # The range of values that $_history_substring_search_match_index can take + # is: [0, $_history_substring_search_matches_count_plus]. A value of 0 + # indicates that we are beyond the end of + # $_history_substring_search_matches. A value of + # $_history_substring_search_matches_count_plus indicates that we are beyond + # the beginning of $_history_substring_search_matches. + # + # In _history-substring-search-down-search() the initial value of + # $_history_substring_search_match_index is + # $_history_substring_search_matches_count. This value is set in + # _history-substring-search-begin(). + # _history-substring-search-down-search() will initially increase it to + # $_history_substring_search_matches_count_plus. + # + if [[ $_history_substring_search_match_index -le $_history_substring_search_matches_count_sans ]]; then + # + # Highlight the next match: + # + # 1. Increase $_history_substring_search_match_index by 1. + # + # 2. Use $HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND + # to highlight the current buffer. + # + (( _history_substring_search_match_index++ )) + BUFFER=$history[$_history_substring_search_matches[$_history_substring_search_match_index]] + _history_substring_search_query_highlight=$HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND + + elif [[ $_history_substring_search_match_index -eq $_history_substring_search_matches_count ]]; then + # + # We will move beyond the beginning of $_history_substring_search_matches: + # + # 1. Increase $_history_substring_search_match_index by 1. + # + # 2. Save the current buffer in $_history_substring_search_old_buffer, so + # that it can be retrieved by _history-substring-search-up-search() + # later. + # + # 3. Make $BUFFER equal to $_history_substring_search_query. + # + # 4. Use $HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND + # to highlight the current buffer. + # + (( _history_substring_search_match_index++ )) + _history_substring_search_old_buffer=$BUFFER + BUFFER=$_history_substring_search_query + _history_substring_search_query_highlight=$HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND + + elif [[ $_history_substring_search_match_index -eq 0 ]]; then + # + # We were beyond the end of $_history_substring_search_matches but DOWN + # makes us move back to the $_history_substring_search_matches: + # + # 1. Increase $_history_substring_search_match_index by 1. + # + # 2. Restore $BUFFER from $_history_substring_search_old_buffer. + # + # 3. Use $HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND + # to highlight the current buffer. + # + (( _history_substring_search_match_index++ )) + BUFFER=$_history_substring_search_old_buffer + _history_substring_search_query_highlight=$HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND + fi +} + +# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- +# vim: ft=zsh sw=2 ts=2 et diff --git a/dot.oh-my-zsh/plugins/history/history.plugin.zsh b/dot.oh-my-zsh/plugins/history/history.plugin.zsh new file mode 100644 index 0000000..0f4aa4b --- /dev/null +++ b/dot.oh-my-zsh/plugins/history/history.plugin.zsh @@ -0,0 +1,8 @@ +alias h='history' + +function hs +{ + history | grep $* +} + +alias hsi='hs -i' diff --git a/dot.oh-my-zsh/plugins/jake-node/jake-node.plugin.zsh b/dot.oh-my-zsh/plugins/jake-node/jake-node.plugin.zsh new file mode 100644 index 0000000..a9eef40 --- /dev/null +++ b/dot.oh-my-zsh/plugins/jake-node/jake-node.plugin.zsh @@ -0,0 +1,14 @@ +#---oh-my-zsh plugin : task Autocomplete for Jake tool--- +# Jake : https://github.com/mde/jake +# Warning : Jakefile should have the right case : Jakefile or jakefile +# Tested on : MacOSX 10.7 (Lion), Ubuntu 11.10 +# Author : Alexandre Lacheze (@al3xstrat) +# Inspiration : http://weblog.rubyonrails.org/2006/3/9/fast-rake-task-completion-for-zsh + +function _jake () { + if [ -f Jakefile ]||[ -f jakefile ]; then + compadd `jake -T | cut -d " " -f 2 | sed -E "s/.\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"` + fi +} + +compdef _jake jake \ No newline at end of file diff --git a/dot.oh-my-zsh/plugins/jira/jira.plugin.zsh b/dot.oh-my-zsh/plugins/jira/jira.plugin.zsh new file mode 100644 index 0000000..b91f93c --- /dev/null +++ b/dot.oh-my-zsh/plugins/jira/jira.plugin.zsh @@ -0,0 +1,38 @@ +# To use: add a .jira-url file in the base of your project +# You can also set JIRA_URL in your .zshrc or put .jira-url in your home directory +# .jira-url in the current directory takes precedence +# +# If you use Rapid Board, set: +#JIRA_RAPID_BOARD="yes" +# in you .zshrc +# +# Setup: cd to/my/project +# echo "https://name.jira.com" >> .jira-url +# Usage: jira # opens a new issue +# jira ABC-123 # Opens an existing issue +open_jira_issue () { + if [ -f .jira-url ]; then + jira_url=$(cat .jira-url) + elif [ -f ~/.jira-url ]; then + jira_url=$(cat ~/.jira-url) + elif [[ "x$JIRA_URL" != "x" ]]; then + jira_url=$JIRA_URL + else + echo "JIRA url is not specified anywhere." + return 0 + fi + + if [ -z "$1" ]; then + echo "Opening new issue" + `open $jira_url/secure/CreateIssue!default.jspa` + else + echo "Opening issue #$1" + if [[ "x$JIRA_RAPID_BOARD" = "yes" ]]; then + `open $jira_url/issues/$1` + else + `open $jira_url/browse/$1` + fi + fi +} + +alias jira='open_jira_issue' diff --git a/dot.oh-my-zsh/plugins/jruby/jruby.plugin.zsh b/dot.oh-my-zsh/plugins/jruby/jruby.plugin.zsh new file mode 100755 index 0000000..bb7975b --- /dev/null +++ b/dot.oh-my-zsh/plugins/jruby/jruby.plugin.zsh @@ -0,0 +1,4 @@ +# Aliases +alias jrspec='jruby --debug -S rspec --debug' +alias jprofile='jruby --profile.api -S rspec' +alias jexec='jruby -S' diff --git a/dot.oh-my-zsh/plugins/kate/kate.plugin.zsh b/dot.oh-my-zsh/plugins/kate/kate.plugin.zsh new file mode 100644 index 0000000..eb16522 --- /dev/null +++ b/dot.oh-my-zsh/plugins/kate/kate.plugin.zsh @@ -0,0 +1,9 @@ + +# Kate +# Start kate always silent +alias kate='kate >/dev/null 2>&1' + +function kt () { + cd $1 + kate $1 +} \ No newline at end of file diff --git a/dot.oh-my-zsh/plugins/knife/_knife b/dot.oh-my-zsh/plugins/knife/_knife new file mode 100644 index 0000000..dec4912 --- /dev/null +++ b/dot.oh-my-zsh/plugins/knife/_knife @@ -0,0 +1,185 @@ +#compdef knife + +# These flags should be available everywhere according to man knife +knife_general_flags=( --help --server-url --key --config --editor --format --log_level --logfile --no-editor --user --print-after --version --yes ) + +# knife has a very special syntax, some example calls are: +# knife status +# knife cookbook list +# knife role show ROLENAME +# knife data bag show DATABAGNAME +# knife role show ROLENAME --attribute ATTRIBUTENAME +# knife cookbook show COOKBOOKNAME COOKBOOKVERSION recipes + +# The -Q switch in compadd allow for completions of things like "data bag" without having to go through two rounds of completion and avoids zsh inserting a \ for escaping spaces +_knife() { + local curcontext="$curcontext" state line + typeset -A opt_args + cloudproviders=(bluebox ec2 rackspace slicehost terremark) + _arguments \ + '1: :->knifecmd'\ + '2: :->knifesubcmd'\ + '3: :->knifesubcmd2' \ + '4: :->knifesubcmd3' \ + '5: :->knifesubcmd4' \ + '6: :->knifesubcmd5' + + case $state in + knifecmd) + compadd -Q "$@" bootstrap client configure cookbook "cookbook site" "data bag" exec environment index node recipe role search ssh status windows $cloudproviders + ;; + knifesubcmd) + case $words[2] in + (bluebox|ec2|rackspace|slicehost|terremark) + compadd "$@" server images + ;; + client) + compadd -Q "$@" "bulk delete" list create show delete edit reregister + ;; + configure) + compadd "$@" client + ;; + cookbook) + compadd -Q "$@" test list create download delete "metadata from" show "bulk delete" metadata upload + ;; + environment) + compadd -Q "$@" list create delete edit show "from file" + ;; + node) + compadd -Q "$@" "from file" create show edit delete list run_list "bulk delete" + ;; + recipe) + compadd "$@" list + ;; + role) + compadd -Q "$@" "bulk delete" create delete edit "from file" list show + ;; + windows) + compadd "$@" bootstrap + ;; + *) + _arguments '2:Subsubcommands:($(_knife_options1))' + esac + ;; + knifesubcmd2) + case $words[3] in + server) + compadd "$@" list create delete + ;; + images) + compadd "$@" list + ;; + site) + compadd "$@" vendor show share search download list unshare + ;; + (show|delete|edit) + _arguments '3:Subsubcommands:($(_chef_$words[2]s_remote))' + ;; + (upload|test) + _arguments '3:Subsubcommands:($(_chef_$words[2]s_local) --all)' + ;; + list) + compadd -a "$@" knife_general_flags + ;; + bag) + compadd -Q "$@" show edit list "from file" create delete + ;; + *) + _arguments '3:Subsubcommands:($(_knife_options2))' + esac + ;; + knifesubcmd3) + case $words[3] in + show) + case $words[2] in + cookbook) + versioncomp=1 + _arguments '4:Cookbookversions:($(_cookbook_versions) latest)' + ;; + (node|client|role) + compadd "$@" --attribute + esac + esac + case $words[4] in + (show|edit) + _arguments '4:Subsubsubcommands:($(_chef_$words[2]_$words[3]s_remote))' + ;; + file) + _arguments '*:file or directory:_files -g "*.(rb|json)"' + ;; + list) + compadd -a "$@" knife_general_flags + ;; + *) + _arguments '*:Subsubcommands:($(_knife_options3))' + esac + ;; + knifesubcmd4) + if (( versioncomp > 0 )); then + compadd "$@" attributes definitions files libraries providers recipes resources templates + else + _arguments '*:Subsubcommands:($(_knife_options2))' + fi + ;; + knifesubcmd5) + _arguments '*:Subsubcommands:($(_knife_options3))' + esac +} + +# Helper functions to provide the argument completion for several depths of commands +_knife_options1() { + ( for line in $( knife $words[2] --help | grep -v "^knife" ); do echo $line | grep "\-\-"; done ) +} + +_knife_options2() { + ( for line in $( knife $words[2] $words[3] --help | grep -v "^knife" ); do echo $line | grep "\-\-"; done ) +} + +_knife_options3() { + ( for line in $( knife $words[2] $words[3] $words[4] --help | grep -v "^knife" ); do echo $line | grep "\-\-"; done ) +} + +# The chef_x_remote functions use knife to get a list of objects of type x on the server +_chef_roles_remote() { + (knife role list --format json | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') +} + +_chef_clients_remote() { + (knife client list --format json | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') +} + +_chef_nodes_remote() { + (knife node list --format json | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') +} + +_chef_cookbooks_remote() { + (knife cookbook list --format json | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') +} + +_chef_sitecookbooks_remote() { + (knife cookbook site list --format json | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') +} + +_chef_data_bags_remote() { + (knife data bag list --format json | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}') +} + +_chef_environments_remote() { + (knife environment list | awk '{print $1}') +} + +# The chef_x_local functions use the knife config to find the paths of relevant objects x to be uploaded to the server +_chef_cookbooks_local() { + local knife_rb="$HOME/.chef/knife.rb" + if [ -f ./.chef/knife.rb ]; then + knife_rb="./.chef/knife.rb" + fi + (for i in $( grep cookbook_path $knife_rb | awk 'BEGIN {FS = "[" }; {print $2}' | sed 's/\,//g' | sed "s/'//g" | sed 's/\(.*\)]/\1/' ); do ls $i; done) +} + +# This function extracts the available cookbook versions on the chef server +_cookbook_versions() { + (knife cookbook show $words[4] | grep -v $words[4] | grep -v -E '\]|\[|\{|\}' | sed 's/ //g' | sed 's/"//g') +} + +_knife "$@" diff --git a/dot.oh-my-zsh/plugins/laravel/_artisan b/dot.oh-my-zsh/plugins/laravel/_artisan new file mode 100644 index 0000000..8637514 --- /dev/null +++ b/dot.oh-my-zsh/plugins/laravel/_artisan @@ -0,0 +1,40 @@ +#compdef artisan + +# Laravel autocompletion +# Author: John Hamelink +# +# This plugin does the following: +# - Adds aliases and autocompletion for artisan +# - Adds aliases and autocompletion for bob + +local curcontext="$curcontext" state line _opts _bundles ret=1 +_arguments -C \ + '1: :->cmds' \ + '*:: :->args' && ret=0 + +case $state in + cmds) + + _values "Artisan command" \ + 'session\:install[Create a session table]' \ + 'migrate[Manage Migrations]' \ + 'test[Run a test]' \ + 'route\:\:call[Call a route in the CLI]' \ + 'key\:\:generate[Generate a key]' + ret=0 + ;; + args) + case $line[1] in + migrate) + _values \ + 'install[Create the Laravel migration table' \ + 'make[Create a migration]' \ + 'rollback[Roll back to the last migration operation]' \ + 'reset[Roll back all migrations that have ever run]' + ret=0 + ;; + esac + ;; +esac + +return ret diff --git a/dot.oh-my-zsh/plugins/laravel/laravel.plugin.zsh b/dot.oh-my-zsh/plugins/laravel/laravel.plugin.zsh new file mode 100644 index 0000000..ed932ee --- /dev/null +++ b/dot.oh-my-zsh/plugins/laravel/laravel.plugin.zsh @@ -0,0 +1,3 @@ +#!zsh +alias artisan='php artisan' +alias bob='php artisan bob::build' diff --git a/dot.oh-my-zsh/plugins/last-working-dir/last-working-dir.plugin.zsh b/dot.oh-my-zsh/plugins/last-working-dir/last-working-dir.plugin.zsh new file mode 100644 index 0000000..190bc27 --- /dev/null +++ b/dot.oh-my-zsh/plugins/last-working-dir/last-working-dir.plugin.zsh @@ -0,0 +1,24 @@ +#!/usr/bin/env zsh +# Keeps track of the last used working directory and automatically jumps +# into it for new shells. + +# Flag indicating if we've previously jumped to last directory. +typeset -g ZSH_LAST_WORKING_DIRECTORY +mkdir -p "$ZSH/cache" +local cache_file="$ZSH/cache/last-working-dir" + +# Updates the last directory once directory is changed. +function chpwd() { + echo "$PWD" > "$cache_file" +} + +# Changes directory to the last working directory. +function lwd() { + [[ ! -r "$cache_file" ]] || cd `cat "$cache_file"` +} + +# Automatically jump to last working directory unless this isn't the first time +# this plugin has been loaded. +if [[ -z "$ZSH_LAST_WORKING_DIRECTORY" ]]; then + lwd 2>/dev/null && ZSH_LAST_WORKING_DIRECTORY=1 || true +fi diff --git a/dot.oh-my-zsh/plugins/lein/lein.plugin.zsh b/dot.oh-my-zsh/plugins/lein/lein.plugin.zsh new file mode 100644 index 0000000..19af355 --- /dev/null +++ b/dot.oh-my-zsh/plugins/lein/lein.plugin.zsh @@ -0,0 +1,27 @@ +function _lein_commands() { + local ret=1 state + _arguments ':subcommand:->subcommand' && ret=0 + + case $state in + subcommand) + subcommands=( + "clean:remove compiled files and dependencies from project" + "compile:ahead-of-time compile the project" + "deps:download and install all dependencies" + "help:display a list of tasks or help for a given task" + "install:install the project and its dependencies in your local repository" + "jar:create a jar file containing the compiled .class files" + "new:create a new project skeleton" + "pom:write a pom.xml file to disk for maven interop" + "test:run the project's tests" + "uberjar:Create a jar including the contents of each of deps" + "upgrade:upgrade leiningen to the latest stable release" + "version:print leiningen's version" + ) + _describe -t subcommands 'leiningen subcommands' subcommands && ret=0 + esac + + return ret +} + +compdef _lein_commands lein diff --git a/dot.oh-my-zsh/plugins/lighthouse/lighthouse.plugin.zsh b/dot.oh-my-zsh/plugins/lighthouse/lighthouse.plugin.zsh new file mode 100644 index 0000000..7661c6a --- /dev/null +++ b/dot.oh-my-zsh/plugins/lighthouse/lighthouse.plugin.zsh @@ -0,0 +1,16 @@ +# To use: add a .lighthouse file into your directory with the URL to the +# individual project. For example: +# https://rails.lighthouseapp.com/projects/8994 +# Example usage: http://screencast.com/t/ZDgwNDUwNT +open_lighthouse_ticket () { + if [ ! -f .lighthouse-url ]; then + echo "There is no .lighthouse-url file in the current directory..." + return 0; + else + lighthouse_url=$(cat .lighthouse-url); + echo "Opening ticket #$1"; + `open $lighthouse_url/tickets/$1`; + fi +} + +alias lho='open_lighthouse_ticket' diff --git a/dot.oh-my-zsh/plugins/lol/lol.plugin.zsh b/dot.oh-my-zsh/plugins/lol/lol.plugin.zsh new file mode 100644 index 0000000..ae065c1 --- /dev/null +++ b/dot.oh-my-zsh/plugins/lol/lol.plugin.zsh @@ -0,0 +1,38 @@ +# LOL!!1 +# Source: http://aur.archlinux.org/packages/lolbash/lolbash/lolbash.sh + +alias wtf='dmesg' +alias onoz='cat /var/log/errors.log' +alias rtfm='man' + +alias :3='echo' +alias visible='echo' +alias invisible='cat' +alias moar='more' +alias tldr='less' +alias alwayz='tail -f' + +alias icanhas='mkdir' +alias gimmeh='touch' +alias donotwant='rm' +alias dowant='cp' +alias gtfo='mv' +alias nowai='chmod' + +alias hai='cd' +alias iz='ls' +alias plz='pwd' +alias ihasbucket='df -h' + +alias inur='locate' +alias iminurbase='finger' + +alias btw='nice' +alias obtw='nohup' + +alias nomz='ps aux' +alias nomnom='killall' + +alias byes='exit' +alias cya='reboot' +alias kthxbai='halt' diff --git a/dot.oh-my-zsh/plugins/macports/_port b/dot.oh-my-zsh/plugins/macports/_port new file mode 100644 index 0000000..06d7fb4 --- /dev/null +++ b/dot.oh-my-zsh/plugins/macports/_port @@ -0,0 +1,89 @@ +#compdef port + +local subcmds + +# we cache the list of ports +# we shall use some cache policy to avoid problems with new ports +if (( ! $+portlist )); then + portlist=($(port echo all; echo "all current active inactive installed uninstalled outdated")) +fi + +subcmds=( +'activate' +'archive' +'build' +'cat' +'clean' +'configure' +'contents' +'deactivate' +'dependents' +'deps' +'destroot' +'dir' +'distcheck' +'distclean' +'dmg' +'echo' +'edit' +'extract' +'fetch' +'file' +'help' +'info' +'install' +'installed' +'list' +'livecheck' +'location' +'mpkg' +'outdated' +'patch' +'pkg' +'provides' +'rpmpackage' +'search' +'selfupdate' +'sync' +'test' +'unarchive' +'uninstall' +'upgrade' +'variants' +'version' +) + +_arguments -C \ +'-v[verbose mode (generate verbose messages)]' \ +'-d[debug mode (generate debugging messages)]' \ +'-q[quiet mode (suppress messages)]' \ +'-D[specify portdir]' \ +'-k[keep mode (do not autoclean after install)]' \ +'-n[dont follow dependencies in upgrade (only for upgrading)]' \ +'-a[upgrade all installed ports (only for upgrading)]' \ +'-u[uninstall non-active ports when upgrading and uninstalling]' \ +'-f[force mode (ignore state file)]' \ +'-s[source-only mode]' \ +'-b[binary-only mode]' \ +'-o[honor state files older than Portfile]' \ +'*::command:->command' \ +&& return 0 + +case $state in + command) + if ((CURRENT == 1)); then + state=subcommands + else + state=portname + fi + ;; +esac + +case $state in + subcommands) + _describe -t commands 'port commands' subcmds + ;; + portname) + _describe -t commands 'available ports' portlist + ;; +esac diff --git a/dot.oh-my-zsh/plugins/macports/macports.plugin.zsh b/dot.oh-my-zsh/plugins/macports/macports.plugin.zsh new file mode 100644 index 0000000..277352e --- /dev/null +++ b/dot.oh-my-zsh/plugins/macports/macports.plugin.zsh @@ -0,0 +1,8 @@ +#Aliases +alias pc="sudo port clean --all installed" +alias pi="sudo port install $1" +alias psu="sudo port selfupdate" +alias puni="sudo port uninstall inactive" +alias puo="sudo port upgrade outdated" +alias pup="psu && puo" + diff --git a/dot.oh-my-zsh/plugins/mercurial/mercurial.plugin.zsh b/dot.oh-my-zsh/plugins/mercurial/mercurial.plugin.zsh new file mode 100644 index 0000000..a3a6ff8 --- /dev/null +++ b/dot.oh-my-zsh/plugins/mercurial/mercurial.plugin.zsh @@ -0,0 +1,20 @@ + +# Mercurial +alias hgc='hg commit' +alias hgb='hg branch' +alias hgba='hg branches' +alias hgco='hg checkout' +alias hgd='hg diff' +alias hged='hg diffmerge' +# pull and update +alias hgl='hg pull -u' +alias hgp='hg push' +alias hgs='hg status' +# this is the 'git commit --amend' equivalent +alias hgca='hg qimport -r tip ; hg qrefresh -e ; hg qfinish tip' + +function hg_current_branch() { + if [ -d .hg ]; then + echo hg:$(hg branch) + fi +} \ No newline at end of file diff --git a/dot.oh-my-zsh/plugins/mvn/mvn.plugin.zsh b/dot.oh-my-zsh/plugins/mvn/mvn.plugin.zsh new file mode 100644 index 0000000..da29b4f --- /dev/null +++ b/dot.oh-my-zsh/plugins/mvn/mvn.plugin.zsh @@ -0,0 +1,170 @@ +# mvn-color based on https://gist.github.com/1027800 +export BOLD=`tput bold` +export UNDERLINE_ON=`tput smul` +export UNDERLINE_OFF=`tput rmul` +export TEXT_BLACK=`tput setaf 0` +export TEXT_RED=`tput setaf 1` +export TEXT_GREEN=`tput setaf 2` +export TEXT_YELLOW=`tput setaf 3` +export TEXT_BLUE=`tput setaf 4` +export TEXT_MAGENTA=`tput setaf 5` +export TEXT_CYAN=`tput setaf 6` +export TEXT_WHITE=`tput setaf 7` +export BACKGROUND_BLACK=`tput setab 0` +export BACKGROUND_RED=`tput setab 1` +export BACKGROUND_GREEN=`tput setab 2` +export BACKGROUND_YELLOW=`tput setab 3` +export BACKGROUND_BLUE=`tput setab 4` +export BACKGROUND_MAGENTA=`tput setab 5` +export BACKGROUND_CYAN=`tput setab 6` +export BACKGROUND_WHITE=`tput setab 7` +export RESET_FORMATTING=`tput sgr0` + + +# Wrapper function for Maven's mvn command. +mvn-color() +{ + # Filter mvn output using sed + mvn $@ | sed -e "s/\(\[INFO\]\ \-.*\)/${TEXT_BLUE}${BOLD}\1/g" \ + -e "s/\(\[INFO\]\ \[.*\)/${RESET_FORMATTING}${BOLD}\1${RESET_FORMATTING}/g" \ + -e "s/\(\[INFO\]\ BUILD SUCCESSFUL\)/${BOLD}${TEXT_GREEN}\1${RESET_FORMATTING}/g" \ + -e "s/\(\[WARNING\].*\)/${BOLD}${TEXT_YELLOW}\1${RESET_FORMATTING}/g" \ + -e "s/\(\[ERROR\].*\)/${BOLD}${TEXT_RED}\1${RESET_FORMATTING}/g" \ + -e "s/Tests run: \([^,]*\), Failures: \([^,]*\), Errors: \([^,]*\), Skipped: \([^,]*\)/${BOLD}${TEXT_GREEN}Tests run: \1${RESET_FORMATTING}, Failures: ${BOLD}${TEXT_RED}\2${RESET_FORMATTING}, Errors: ${BOLD}${TEXT_RED}\3${RESET_FORMATTING}, Skipped: ${BOLD}${TEXT_YELLOW}\4${RESET_FORMATTING}/g" + + # Make sure formatting is reset + echo -ne ${RESET_FORMATTING} +} + +# Override the mvn command with the colorized one. +#alias mvn="mvn-color" + +# aliases +alias mvncie='mvn clean install eclipse:eclipse' +alias mvnci='mvn clean install' +alias mvne='mvn eclipse:eclipse' +alias mvnce='mvn clean eclipse:clean eclipse:eclipse' +alias mvnd='mvn deploy' +alias mvnp='mvn package' +alias mvnc='mvn clean' +alias mvncom='mvn compile' +alias mvnt='mvn test' +alias mvnag='mvn archetype:generate' + +function listMavenCompletions { + reply=( + # common lifecycle + clean process-resources compile process-test-resources test-compile test package verify install deploy site + + # common plugins + deploy failsafe install site surefire checkstyle javadoc jxr pmd ant antrun archetype assembly dependency enforcer gpg help release repository source eclipse idea jetty cargo jboss tomcat tomcat6 tomcat7 exec versions war ear ejb android scm buildnumber nexus repository sonar license hibernate3 liquibase flyway gwt + + # deploy + deploy:deploy-file + # failsafe + failsafe:integration-test failsafe:verify + # install + install:install-file + # site + site:site site:deploy site:run site:stage site:stage-deploy + # surefire + surefire:test + + # checkstyle + checkstyle:checkstyle checkstyle:check + # javadoc + javadoc:javadoc javadoc:jar javadoc:aggregate + # jxr + jxr:jxr + # pmd + pmd:pmd pmd:cpd pmd:check pmd:cpd-check + + # ant + ant:ant ant:clean + # antrun + antrun:run + # archetype + archetype:generate archetype:create-from-project archetype:crawl + # assembly + assembly:single assembly:assembly + # dependency + dependency:analyze dependency:analyze-dep-mgt dependency:analyze-only dependency:analyze-report dependency:build-classpath dependency:copy dependency:copy-dependencies dependency:get dependency:go-offline dependency:list dependency:purge-local-repository dependency:resolve dependency:resolve-plugins dependency:sources dependency:tree dependency:unpack dependency:unpack-dependencies + # enforcer + enforcer:enforce + # gpg + gpg:sign gpg:sign-and-deploy-file + # help + help:active-profiles help:all-profiles help:describe help:effective-pom help:effective-settings help:evaluate help:expressions help:system + # release + release:clean release:prepare release:rollback release:perform release:stage release:branch release:update-versions + # repository + repository:bundle-create repository:bundle-pack + # source + source:aggregate source:jar source:jar-no-fork + + # eclipse + eclipse:clean eclipse:eclipse + # idea + idea:clean idea:idea + + # jetty + jetty:run jetty:run-exploded + # cargo + cargo:start cargo:run cargo:stop cargo:deploy cargo:undeploy cargo:help + # jboss + jboss:start jboss:stop jboss:deploy jboss:undeploy jboss:redeploy + # tomcat + tomcat:start tomcat:stop tomcat:deploy tomcat:undeploy tomcat:undeploy + # tomcat6 + tomcat6:run tomcat6:run-war tomcat6:run-war-only tomcat6:stop tomcat6:deploy tomcat6:undeploy + # tomcat7 + tomcat7:run tomcat7:run-war tomcat7:run-war-only tomcat7:deploy + # exec + exec:exec exec:java + # versions + versions:display-dependency-updates versions:display-plugin-updates versions:display-property-updates versions:update-parent versions:update-properties versions:update-child-modules versions:lock-snapshots versions:unlock-snapshots versions:resolve-ranges versions:set versions:use-releases versions:use-next-releases versions:use-latest-releases versions:use-next-snapshots versions:use-latest-snapshots versions:use-next-versions versions:use-latest-versions versions:commit versions:revert + # scm + scm:add scm:checkin scm:checkout scm:update scm:status + # buildnumber + buildnumber:create buildnumber:create-timestamp buildnumber:help buildnumber:hgchangeset + + # war + war:war war:exploded war:inplace war:manifest + # ear + ear:ear ear:generate-application-xml + # ejb + ejb:ejb + # android + android:apk android:apklib android:deploy android:deploy-dependencies android:dex android:emulator-start android:emulator-stop android:emulator-stop-all android:generate-sources android:help android:instrument android:manifest-update android:pull android:push android:redeploy android:run android:undeploy android:unpack android:version-update android:zipalign android:devices + # nexus + nexus:staging-list nexus:staging-close nexus:staging-drop nexus:staging-release nexus:staging-build-promotion nexus:staging-profiles-list nexus:settings-download + # repository + repository:bundle-create repository:bundle-pack repository:help + + # sonar + sonar:sonar + # license + license:format license:check + # hibernate3 + hibernate3:hbm2ddl hibernate3:help + # liquibase + liquibase:changelogSync liquibase:changelogSyncSQL liquibase:clearCheckSums liquibase:dbDoc liquibase:diff liquibase:dropAll liquibase:help liquibase:migrate liquibase:listLocks liquibase:migrateSQL liquibase:releaseLocks liquibase:rollback liquibase:rollbackSQL liquibase:status liquibase:tag liquibase:update liquibase:updateSQL liquibase:updateTestingRollback + # flyway + flyway:clean flyway:history flyway:init flyway:migrate flyway:status flyway:validate + # gwt + gwt:browser gwt:clean gwt:compile gwt:compile-report gwt:css gwt:debug gwt:eclipse gwt:eclipseTest gwt:generateAsync gwt:help gwt:i18n gwt:mergewebxml gwt:resources gwt:run gwt:sdkInstall gwt:source-jar gwt:soyc gwt:test + + # options + -Dmaven.test.skip=true -DskipTests -Dmaven.surefire.debug -DenableCiProfile -Dpmd.skip=true -Dcheckstyle.skip=true -Dtycho.mode=maven + + # arguments + -am -amd -B -C -c -cpu -D -e -emp -ep -f -fae -ff -fn -gs -h -l -N -npr -npu -nsu -o -P -pl -q -rf -s -T -t -U -up -V -v -X + + cli:execute cli:execute-phase + archetype:generate generate-sources + cobertura:cobertura + -Dtest= `if [ -d ./src ] ; then find ./src/test/java -type f -name '*.java' | grep -v svn | sed 's?.*/\([^/]*\)\..*?-Dtest=\1?' ; fi` + ); +} + +compctl -K listMavenCompletions mvn diff --git a/dot.oh-my-zsh/plugins/mysql-macports/mysql-macports.plugin.zsh b/dot.oh-my-zsh/plugins/mysql-macports/mysql-macports.plugin.zsh new file mode 100644 index 0000000..c39563f --- /dev/null +++ b/dot.oh-my-zsh/plugins/mysql-macports/mysql-macports.plugin.zsh @@ -0,0 +1,8 @@ +# commands to control local mysql-server installation +# paths are for osx installation via macports + +alias mysqlstart='sudo /opt/local/share/mysql5/mysql/mysql.server start' +alias mysqlstop='sudo /opt/local/share/mysql5/mysql/mysql.server stop' +alias mysqlrestart='sudo /opt/local/share/mysql5/mysql/mysql.server restart' + +alias mysqlstatus='mysqladmin5 -u root -p ping' diff --git a/dot.oh-my-zsh/plugins/nanoc/_nanoc b/dot.oh-my-zsh/plugins/nanoc/_nanoc new file mode 100644 index 0000000..fde07c3 --- /dev/null +++ b/dot.oh-my-zsh/plugins/nanoc/_nanoc @@ -0,0 +1,44 @@ +#compdef nanoc +#autoload + +# nanoc zsh completion - based on the homebrew zsh completion +# requires the 'nanoc' gem to be installed + +local -a _1st_arguments +_1st_arguments=( + 'autocompile:start the autocompiler' + 'compile:compile items of this site' + 'create-item:create an item' + 'create-layout:create a layout' + 'create-site:create a site' + 'deploy:deploy the compiled site' + 'help:show help' + 'prune:remove files not managed by nanoc from the output directory' + 'show-data:show data in this site' + 'show-plugins:show all available plugins' + 'show-rules:describe the rules for each item' + 'update:update the data stored by the data source to a newer version' + 'validate-css:validate the site’s CSS' + 'validate-html:validate the site’s HTML' + 'validate-links:validate links in site' + 'view:start the web server that serves static files' + 'watch:start the watcher' +) + +local expl +local -a pkgs installed_pkgs + +_arguments \ + '(--color)--color[enable color]' \ + '(--debug)--debug[enable debugging]' \ + '(--help)--help[show the help message and quit]' \ + '(--no-color)--no-color[disable color]' \ + '(--verbose)--verbose[make nanoc output more detailed]' \ + '(--version)--version[show version information and quit]' \ + '(--warn)--warn[enable warnings]' \ + '*:: :->subcmds' && return 0 + +if (( CURRENT == 1 )); then + _describe -t commands "nanoc subcommand" _1st_arguments + return +fi diff --git a/dot.oh-my-zsh/plugins/nanoc/nanoc.plugin.zsh b/dot.oh-my-zsh/plugins/nanoc/nanoc.plugin.zsh new file mode 100644 index 0000000..5a50646 --- /dev/null +++ b/dot.oh-my-zsh/plugins/nanoc/nanoc.plugin.zsh @@ -0,0 +1,9 @@ +alias n='nanoc' +alias na='nanoc autocompile' +alias nco='nanoc compile' +alias nci='nanoc create_item' +alias ncl='nanoc create_layout' +alias ncs='nanoc create_site' +alias nd='nanoc deploy' +alias nv='nanoc view' +alias nw='nanoc watch' diff --git a/dot.oh-my-zsh/plugins/node/node.plugin.zsh b/dot.oh-my-zsh/plugins/node/node.plugin.zsh new file mode 100644 index 0000000..3bbed6f --- /dev/null +++ b/dot.oh-my-zsh/plugins/node/node.plugin.zsh @@ -0,0 +1,5 @@ +# Open the node api for your current version to the optional section. +# TODO: Make the section part easier to use. +function node-docs { + open "http://nodejs.org/docs/$(node --version)/api/all.html#all_$1" +} diff --git a/dot.oh-my-zsh/plugins/npm/npm.plugin.zsh b/dot.oh-my-zsh/plugins/npm/npm.plugin.zsh new file mode 100644 index 0000000..c3eb91d --- /dev/null +++ b/dot.oh-my-zsh/plugins/npm/npm.plugin.zsh @@ -0,0 +1 @@ +eval "$(npm completion 2>/dev/null)" diff --git a/dot.oh-my-zsh/plugins/nyan/nyan.plugin.zsh b/dot.oh-my-zsh/plugins/nyan/nyan.plugin.zsh new file mode 100644 index 0000000..6321e5f --- /dev/null +++ b/dot.oh-my-zsh/plugins/nyan/nyan.plugin.zsh @@ -0,0 +1,5 @@ +if [[ -x `which nc` ]]; then + alias nyan='nc -v miku.acm.uiuc.edu 23' # nyan cat +fi + + diff --git a/dot.oh-my-zsh/plugins/osx/_man-preview b/dot.oh-my-zsh/plugins/osx/_man-preview new file mode 100644 index 0000000..6cc344a --- /dev/null +++ b/dot.oh-my-zsh/plugins/osx/_man-preview @@ -0,0 +1,5 @@ +#compdef man-preview +#autoload + +_man + diff --git a/dot.oh-my-zsh/plugins/osx/osx.plugin.zsh b/dot.oh-my-zsh/plugins/osx/osx.plugin.zsh new file mode 100644 index 0000000..f278d4f --- /dev/null +++ b/dot.oh-my-zsh/plugins/osx/osx.plugin.zsh @@ -0,0 +1,156 @@ +# ------------------------------------------------------------------------------ +# FILE: osx.plugin.zsh +# DESCRIPTION: oh-my-zsh plugin file. +# AUTHOR: Sorin Ionescu (sorin.ionescu@gmail.com) +# VERSION: 1.1.0 +# ------------------------------------------------------------------------------ + +function tab() { + local command="cd \\\"$PWD\\\"" + (( $# > 0 )) && command="${command}; $*" + + the_app=$( + osascript 2>/dev/null </dev/null </dev/null < 0 )) && command="${command}; $*" + + the_app=$( + osascript 2>/dev/null </dev/null < 0 )) && command="${command}; $*" + + the_app=$( + osascript 2>/dev/null </dev/null </dev/null </dev/null < 0 )) && qlmanage -p $* &>/dev/null & +} + +function man-preview() { + man -t "$@" | open -f -a Preview +} + +function trash() { + local trash_dir="${HOME}/.Trash" + local temp_ifs=$IFS + IFS=$'\n' + for item in "$@"; do + if [[ -e "$item" ]]; then + item_name="$(basename $item)" + if [[ -e "${trash_dir}/${item_name}" ]]; then + mv -f "$item" "${trash_dir}/${item_name} $(date "+%H-%M-%S")" + else + mv -f "$item" "${trash_dir}/" + fi + fi + done + IFS=$temp_ifs +} + diff --git a/dot.oh-my-zsh/plugins/pass/_pass b/dot.oh-my-zsh/plugins/pass/_pass new file mode 100644 index 0000000..f6c1a6c --- /dev/null +++ b/dot.oh-my-zsh/plugins/pass/_pass @@ -0,0 +1,119 @@ +#compdef pass +#autoload + +# Copyright (C) 2012: +# Johan Venant +# Brian Mattern +# Jason A. Donenfeld . +# Santiago Borrazás +# All Rights Reserved. +# This file is licensed under the GPLv2+. Please see COPYING for more information. + + +_pass () { + local cmd + if (( CURRENT > 2)); then + cmd=${words[2]} + # Set the context for the subcommand. + curcontext="${curcontext%:*:*}:pass-$cmd" + # Narrow the range of words we are looking at to exclude `pass' + (( CURRENT-- )) + shift words + # Run the completion for the subcommand + case "${cmd}" in + init) + _arguments : \ + "-r[re-encrypt existing passwords]" \ + "--reencrypt[re-encrypt existing passwords]" + _pass_complete_keys + ;; + ls|list|edit) + _pass_complete_entries_with_subdirs + ;; + insert) + _arguments : \ + "-e[echo password to console]" \ + "--echo[echo password to console]" \ + "-m[multiline]" \ + "--multiline[multiline]" + _pass_complete_entries_with_subdirs + ;; + generate) + _arguments : \ + "-n[don't include symbols in password]" \ + "--no-symbols[don't include symbols in password]" \ + "-c[copy password to the clipboard]" \ + "--clip[copy password to the clipboard]" + _pass_complete_entries_with_subdirs + ;; + rm) + _arguments : \ + "-f[force deletion]" \ + "--force[force deletion]" \ + "-r[recursively delete]" \ + "--recursive[recursively delete]" + _pass_complete_entries_with_subdirs + ;; + git) + local -a subcommands + subcommands=( + "init:Initialize git repository" + "push:Push to remote repository" + "pull:Pull from remote repository" + "config:Show git config" + "log:Show git log" + "reflog:Show git reflog" + ) + _describe -t commands 'pass git' subcommands + ;; + show|*) + _pass_cmd_show + ;; + esac + else + local -a subcommands + subcommands=( + "init:Initialize new password storage" + "ls:List passwords" + "show:Decrypt and print a password" + "insert:Insert a new password" + "generate:Generate a new password using pwgen" + "edit:Edit a password with \$EDITOR" + "rm:Remove the password" + "git:Call git on the password store" + "version:Output version information" + "help:Output help message" + ) + _describe -t commands 'pass' subcommands + _arguments : \ + "--version[Output version information]" \ + "--help[Output help message]" + _pass_cmd_show + fi +} + +_pass_cmd_show () { + _arguments : \ + "-c[put it on the clipboard]" \ + "--clip[put it on the clipboard]" + _pass_complete_entries +} +_pass_complete_entries_helper () { + local IFS=$'\n' + local prefix="${PASSWORD_STORE_DIR:-$HOME/.password-store}" + _values -C 'passwords' $(find "$prefix" \( -name .git -o -name .gpg-id \) -prune -o $@ -print | sed -e "s#${prefix}.##" -e 's#\.gpg##' | sort) +} + +_pass_complete_entries_with_subdirs () { + _pass_complete_entries_helper +} + +_pass_complete_entries () { + _pass_complete_entries_helper -type f +} + +_pass_complete_keys () { + local IFS=$'\n' + # Extract names and email addresses from gpg --list-keys + _values 'gpg keys' $(gpg2 --list-secret-keys --with-colons | cut -d : -f 10 | sort -u | sed '/^$/d') +} diff --git a/dot.oh-my-zsh/plugins/per-directory-history/per-directory-history.plugin.zsh b/dot.oh-my-zsh/plugins/per-directory-history/per-directory-history.plugin.zsh new file mode 100644 index 0000000..61e8b5a --- /dev/null +++ b/dot.oh-my-zsh/plugins/per-directory-history/per-directory-history.plugin.zsh @@ -0,0 +1,149 @@ +#!/usr/bin/env zsh +# +# This is a implementation of per directory history for zsh, some +# implementations of which exist in bash[1,2]. It also implements +# a per-directory-history-toggle-history function to change from using the +# directory history to using the global history. In both cases the history is +# always saved to both the global history and the directory history, so the +# toggle state will not effect the saved histories. Being able to switch +# between global and directory histories on the fly is a novel feature as far +# as I am aware. +# +#------------------------------------------------------------------------------- +# Configuration +#------------------------------------------------------------------------------- +# +# HISTORY_BASE a global variable that defines the base directory in which the +# directory histories are stored +# +#------------------------------------------------------------------------------- +# History +#------------------------------------------------------------------------------- +# +# The idea/inspiration for a per directory history is from Stewart MacArthur[1] +# and Dieter[2], the implementation idea is from Bart Schaefer on the the zsh +# mailing list[3]. The implementation is by Jim Hester in September 2012. +# +# [1]: http://www.compbiome.com/2010/07/bash-per-directory-bash-history.html +# [2]: http://dieter.plaetinck.be/per_directory_bash +# [3]: http://www.zsh.org/mla/users/1997/msg00226.html +# +################################################################################ +# +# Copyright (c) 2012 Jim Hester +# +# This software is provided 'as-is', without any express or implied warranty. +# In no event will the authors be held liable for any damages arising from the +# use of this software. +# +# Permission is granted to anyone to use this software for any purpose, +# including commercial applications, and to alter it and redistribute it +# freely, subject to the following restrictions: +# +# 1. The origin of this software must not be misrepresented; you must not claim +# that you wrote the original software. If you use this software in a product, +# an acknowledgment in the product documentation would be appreciated but is +# not required. +# +# 2. Altered source versions must be plainly marked as such, and must not be +# misrepresented as being the original software. +# +# 3. This notice may not be removed or altered from any source distribution.. +# +################################################################################ + +#------------------------------------------------------------------------------- +# configuration, the base under which the directory histories are stored +#------------------------------------------------------------------------------- + +[[ -z $HISTORY_BASE ]] && HISTORY_BASE="$HOME/.directory_history" + +#------------------------------------------------------------------------------- +# toggle global/directory history used for searching - ctrl-G by default +#------------------------------------------------------------------------------- + +function per-directory-history-toggle-history() { + if [[ $_per_directory_history_is_global == true ]]; then + _per-directory-history-set-directory-history + print "\nusing local history\n" + else + _per-directory-history-set-global-history + print "\nusing global history\n" + fi + zle .push-line + zle .accept-line +} + +autoload per-directory-history-toggle-history +zle -N per-directory-history-toggle-history +bindkey '^G' per-directory-history-toggle-history + +#------------------------------------------------------------------------------- +# implementation details +#------------------------------------------------------------------------------- + +_per_directory_history_directory="$HISTORY_BASE${PWD:A}/history" + +function _per-directory-history-change-directory() { + _per_directory_history_directory="$HISTORY_BASE${PWD:A}/history" + mkdir -p ${_per_directory_history_directory:h} + if [[ $_per_directory_history_is_global == false ]]; then + #save to the global history + fc -AI $HISTFILE + #save history to previous file + local prev="$HISTORY_BASE${OLDPWD:A}/history" + mkdir -p ${prev:h} + fc -AI $prev + + #discard previous directory's history + local original_histsize=$HISTSIZE + HISTSIZE=0 + HISTSIZE=$original_histsize + + #read history in new file + if [[ -e $_per_directory_history_directory ]]; then + fc -R $_per_directory_history_directory + fi + fi +} + +function _per-directory-history-addhistory() { + print -sr -- ${1%%$'\n'} + fc -p $_per_directory_history_directory +} + + +function _per-directory-history-set-directory-history() { + if [[ $_per_directory_history_is_global == true ]]; then + fc -AI $HISTFILE + local original_histsize=$HISTSIZE + HISTSIZE=0 + HISTSIZE=$original_histsize + if [[ -e "$_per_directory_history_directory" ]]; then + fc -R "$_per_directory_history_directory" + fi + fi + _per_directory_history_is_global=false +} +function _per-directory-history-set-global-history() { + if [[ $_per_directory_history_is_global == false ]]; then + fc -AI $_per_directory_history_directory + local original_histsize=$HISTSIZE + HISTSIZE=0 + HISTSIZE=$original_histsize + if [[ -e "$HISTFILE" ]]; then + fc -R "$HISTFILE" + fi + fi + _per_directory_history_is_global=true +} + + +#add functions to the exec list for chpwd and zshaddhistory +chpwd_functions=(${chpwd_functions[@]} "_per-directory-history-change-directory") +zshaddhistory_functions=(${zshaddhistory_functions[@]} "_per-directory-history-addhistory") + +#start in directory mode +mkdir -p ${_per_directory_history_directory:h} +_per_directory_history_is_global=true +_per-directory-history-set-directory-history diff --git a/dot.oh-my-zsh/plugins/perl/perl.plugin.zsh b/dot.oh-my-zsh/plugins/perl/perl.plugin.zsh new file mode 100644 index 0000000..f94c419 --- /dev/null +++ b/dot.oh-my-zsh/plugins/perl/perl.plugin.zsh @@ -0,0 +1,62 @@ +# https://github.com/dbbolton +# +# Below are some useful Perl-related aliases/functions that I use with zsh. + + +# Aliases ################################################################### + +# perlbrew ######## +alias pbi='perlbrew install' +alias pbl='perlbrew list' +alias pbo='perlbrew off' +alias pbs='perlbrew switch' +alias pbu='perlbrew use' + +# Perl ############ + +# perldoc` +alias pd='perldoc' + +# use perl like awk/sed +alias ple='perl -wlne' + +# show the latest stable release of Perl +alias latest-perl='curl -s http://www.perl.org/get.html | perl -wlne '\''if (/perl\-([\d\.]+)\.tar\.gz/) { print $1; exit;}'\' + + + +# Functions ################################################################# + +# newpl - creates a basic Perl script file and opens it with $EDITOR +newpl () { + # set $EDITOR to 'vim' if it is undefined + [[ -z $EDITOR ]] && EDITOR=vim + + # if the file exists, just open it + [[ -e $1 ]] && print "$1 exists; not modifying.\n" && $EDITOR $1 + + # if it doesn't, make it, and open it + [[ ! -e $1 ]] && print '#!/usr/bin/perl'"\n"'use strict;'"\n"'use warnings;'\ + "\n\n" > $1 && $EDITOR $1 +} + + +# pgs - Perl Global Substitution +# find pattern = 1st arg +# replace pattern = 2nd arg +# filename = 3rd arg +pgs() { # [find] [replace] [filename] + perl -i.orig -pe 's/'"$1"'/'"$2"'/g' "$3" +} + + +# Perl grep, because 'grep -P' is terrible. Lets you work with pipes or files. +prep() { # [pattern] [filename unless STDOUT] + perl -nle 'print if /'"$1"'/;' $2 +} + +# say - append a newline to 'print' +say() { + print "$1\n" +} + diff --git a/dot.oh-my-zsh/plugins/phing/phing.plugin.zsh b/dot.oh-my-zsh/plugins/phing/phing.plugin.zsh new file mode 100644 index 0000000..8f4adca --- /dev/null +++ b/dot.oh-my-zsh/plugins/phing/phing.plugin.zsh @@ -0,0 +1,19 @@ +_phing_does_target_list_need_generating () { + if [ ! -f .phing_targets ]; then return 0; + else + accurate=$(stat -f%m .phing_targets) + changed=$(stat -f%m build.xml) + return $(expr $accurate '>=' $changed) + fi +} + +_phing () { + if [ -f build.xml ]; then + if _phing_does_target_list_need_generating; then + phing -l |grep -v ":" |grep -v "^$"|grep -v "\-" > .phing_targets + fi + compadd `cat .phing_targets` + fi +} + +compdef _phing phing diff --git a/dot.oh-my-zsh/plugins/pip/_pip b/dot.oh-my-zsh/plugins/pip/_pip new file mode 100644 index 0000000..df53ba5 --- /dev/null +++ b/dot.oh-my-zsh/plugins/pip/_pip @@ -0,0 +1,74 @@ +#compdef pip +#autoload + +# pip zsh completion, based on homebrew completion + +_pip_all() { + # we cache the list of packages (originally from the macports plugin) + if (( ! $+piplist )); then + echo -n " (caching package index...)" + piplist=($(pip search * | cut -d ' ' -f 1 | tr '[A-Z]' '[a-z]')) + fi +} + +_pip_installed() { + installed_pkgs=(`pip freeze | cut -d '=' -f 1`) +} + +local -a _1st_arguments +_1st_arguments=( + 'bundle:create pybundles (archives containing multiple packages)' + 'freeze:output all currently installed packages (exact versions) to stdout' + 'help:show available commands' + 'install:install packages' + 'search:search PyPI' + 'uninstall:uninstall packages' + 'unzip:unzip individual packages' + 'zip:zip individual packages' +) + +local expl +local -a all_pkgs installed_pkgs + +_arguments \ + '(--version)--version[show version number of program and exit]' \ + '(-h --help)'{-h,--help}'[show help]' \ + '(-E --environment)'{-E,--environment}'[virtualenv environment to run pip in]' \ + '(-s --enable-site-packages)'{-s,--enable-site-packages}'[include site-packages in virtualenv]' \ + '(-v --verbose)'{-v,--verbose}'[give more output]' \ + '(-q --quiet)'{-q,--quiet}'[give less output]' \ + '(--log)--log[log file location]' \ + '(--proxy)--proxy[proxy in form user:passwd@proxy.server:port]' \ + '(--timeout)--timeout[socket timeout (default 15s)]' \ + '*:: :->subcmds' && return 0 + +if (( CURRENT == 1 )); then + _describe -t commands "pip subcommand" _1st_arguments + return +fi + +case "$words[1]" in + search) + _arguments \ + '(--index)--index[base URL of Python Package Index]' ;; + freeze) + _arguments \ + '(-l --local)'{-l,--local}'[report only virtualenv packages]' ;; + install) + _arguments \ + '(-U --upgrade)'{-U,--upgrade}'[upgrade all packages to the newest available version]' \ + '(-f --find-links)'{-f,--find-links}'[URL for finding packages]' \ + '(--no-deps --no-dependencies)'{--no-deps,--no-dependencies}'[iIgnore package dependencies]' \ + '(--no-install)--no-install[only download packages]' \ + '(--no-download)--no-download[only install downloaded packages]' \ + '(--install-option)--install-option[extra arguments to be supplied to the setup.py]' \ + '1: :->packages' && return 0 + + if [[ "$state" == packages ]]; then + _pip_all + _wanted piplist expl 'packages' compadd -a piplist + fi ;; + uninstall) + _pip_installed + _wanted installed_pkgs expl 'installed packages' compadd -a installed_pkgs ;; +esac diff --git a/dot.oh-my-zsh/plugins/pow/pow.plugin.zsh b/dot.oh-my-zsh/plugins/pow/pow.plugin.zsh new file mode 100644 index 0000000..399a54c --- /dev/null +++ b/dot.oh-my-zsh/plugins/pow/pow.plugin.zsh @@ -0,0 +1,66 @@ +# Restart a rack app running under pow +# http://pow.cx/ +# +# Adds a kapow command that will restart an app +# +# $ kapow myapp +# +# Supports command completion. +# +# If you are not already using completion you might need to enable it with +# +# autoload -U compinit compinit +# +# Changes: +# +# Defaults to the current application, and will walk up the tree to find +# a config.ru file and restart the corresponding app +# +# Will Detect if a app does not exist in pow and print a (slightly) helpful +# error message + +rack_root_detect(){ + setopt chaselinks + local orgdir=$(pwd) + local basedir=$(pwd) + + while [[ $basedir != '/' ]]; do + test -e "$basedir/config.ru" && break + builtin cd ".." 2>/dev/null + basedir="$(pwd)" + done + + builtin cd $orgdir 2>/dev/null + [[ ${basedir} == "/" ]] && return 1 + echo `basename $basedir | sed -E "s/.(com|net|org)//"` +} + +kapow(){ + local vhost=$1 + [ ! -n "$vhost" ] && vhost=$(rack_root_detect) + if [ ! -h ~/.pow/$vhost ] + then + echo "pow: This domain isn’t set up yet. Symlink your application to ${vhost} first." + return 1 + fi + + [ ! -d ~/.pow/${vhost}/tmp ] && mkdir -p ~/.pow/$vhost/tmp + touch ~/.pow/$vhost/tmp/restart.txt; + [ $? -eq 0 ] && echo "pow: restarting $vhost.dev" +} +compctl -W ~/.pow -/ kapow + +powit(){ + local basedir=$(pwd) + local vhost=$1 + [ ! -n "$vhost" ] && vhost=$(rack_root_detect) + if [ ! -h ~/.pow/$vhost ] + then + echo "pow: Symlinking your app with pow. ${vhost}" + [ ! -d ~/.pow/${vhost} ] && ln -s $basedir ~/.pow/$vhost + return 1 + fi +} + +# View the standard out (puts) from any pow app +alias kaput="tail -f ~/Library/Logs/Pow/apps/*" diff --git a/dot.oh-my-zsh/plugins/powder/_powder b/dot.oh-my-zsh/plugins/powder/_powder new file mode 100644 index 0000000..84e260a --- /dev/null +++ b/dot.oh-my-zsh/plugins/powder/_powder @@ -0,0 +1,4 @@ +#compdef powder +#autoload + +compadd `powder help | grep powder | cut -d " " -f 4` diff --git a/dot.oh-my-zsh/plugins/python/python.plugin.zsh b/dot.oh-my-zsh/plugins/python/python.plugin.zsh new file mode 100644 index 0000000..852c8b9 --- /dev/null +++ b/dot.oh-my-zsh/plugins/python/python.plugin.zsh @@ -0,0 +1,12 @@ +# Find python file +alias pyfind='find . -name "*.py"' + +# Remove python compiled byte-code in either current directory or in a +# list of specified directories +function pyclean() { + ZSH_PYCLEAN_PLACES=${*:-'.'} + find ${ZSH_PYCLEAN_PLACES} -type f -name "*.py[co]" -delete +} + +# Grep among .py files +alias pygrep='grep --include="*.py"' diff --git a/dot.oh-my-zsh/plugins/rails/rails.plugin.zsh b/dot.oh-my-zsh/plugins/rails/rails.plugin.zsh new file mode 100644 index 0000000..d3849b4 --- /dev/null +++ b/dot.oh-my-zsh/plugins/rails/rails.plugin.zsh @@ -0,0 +1,16 @@ +alias ss='thin --stats "/thin/stats" start' +alias sg='ruby script/generate' +alias sd='ruby script/destroy' +alias sp='ruby script/plugin' +alias sr='ruby script/runner' +alias ssp='ruby script/spec' +alias rdbm='rake db:migrate' +alias rdbtp='rake db:test:prepare' +alias migrate='rake db:migrate && rake db:test:prepare' +alias sc='ruby script/console' +alias sd='ruby script/server --debugger' +alias devlog='tail -f log/development.log' + +function remote_console() { + /usr/bin/env ssh $1 "( cd $2 && ruby script/console production )" +} diff --git a/dot.oh-my-zsh/plugins/rails3/rails3.plugin.zsh b/dot.oh-my-zsh/plugins/rails3/rails3.plugin.zsh new file mode 100644 index 0000000..237d059 --- /dev/null +++ b/dot.oh-my-zsh/plugins/rails3/rails3.plugin.zsh @@ -0,0 +1,23 @@ +# Rails 3 aliases, backwards-compatible with Rails 2. + +function _rails_command () { + if [ -e "script/server" ]; then + ruby script/$@ + else + ruby script/rails $@ + fi +} + +alias rc='_rails_command console' +alias rd='_rails_command destroy' +alias rdb='_rails_command dbconsole' +alias rdbm='rake db:migrate db:test:clone' +alias rg='_rails_command generate' +alias rgm='_rails_command generate migration' +alias rp='_rails_command plugin' +alias ru='_rails_command runner' +alias rs='_rails_command server' +alias rsd='_rails_command server --debugger' +alias devlog='tail -f log/development.log' +alias rdm='rake db:migrate' +alias rdr='rake db:rollback' diff --git a/dot.oh-my-zsh/plugins/rake/rake.plugin.zsh b/dot.oh-my-zsh/plugins/rake/rake.plugin.zsh new file mode 100644 index 0000000..16b933c --- /dev/null +++ b/dot.oh-my-zsh/plugins/rake/rake.plugin.zsh @@ -0,0 +1,6 @@ +alias rake="noglob rake" # allows square brackts for rake task invocation +alias brake='noglob bundle exec rake' # execute the bundled rake gem +alias srake='noglob sudo rake' # noglob must come before sudo +alias sbrake='noglob sudo bundle exec rake' # altogether now ... + + diff --git a/dot.oh-my-zsh/plugins/rbenv/rbenv.plugin.zsh b/dot.oh-my-zsh/plugins/rbenv/rbenv.plugin.zsh new file mode 100644 index 0000000..d855c24 --- /dev/null +++ b/dot.oh-my-zsh/plugins/rbenv/rbenv.plugin.zsh @@ -0,0 +1,57 @@ +_homebrew-installed() { + type brew &> /dev/null +} + +_rbenv-from-homebrew-installed() { + brew --prefix rbenv &> /dev/null +} + +FOUND_RBENV=0 +rbenvdirs=("$HOME/.rbenv" "/usr/local/rbenv" "/opt/rbenv") +if _homebrew-installed && _rbenv-from-homebrew-installed ; then + rbenvdirs=($(brew --prefix rbenv) "${rbenvdirs[@]}") +fi + +for rbenvdir in "${rbenvdirs[@]}" ; do + if [ -d $rbenvdir/bin -a $FOUND_RBENV -eq 0 ] ; then + FOUND_RBENV=1 + export RBENV_ROOT=$rbenvdir + export PATH=${rbenvdir}/bin:$PATH + eval "$(rbenv init - zsh)" + + alias rubies="rbenv versions" + alias gemsets="rbenv gemset list" + + function current_ruby() { + echo "$(rbenv version-name)" + } + + function current_gemset() { + echo "$(rbenv gemset active 2&>/dev/null | sed -e ":a" -e '$ s/\n/+/gp;N;b a' | head -n1)" + } + + function gems { + local rbenv_path=$(rbenv prefix) + gem list $@ | sed \ + -Ee "s/\([0-9\.]+( .+)?\)/$fg[blue]&$reset_color/g" \ + -Ee "s|$(echo $rbenv_path)|$fg[magenta]\$rbenv_path$reset_color|g" \ + -Ee "s/$current_ruby@global/$fg[yellow]&$reset_color/g" \ + -Ee "s/$current_ruby$current_gemset$/$fg[green]&$reset_color/g" + } + + function rbenv_prompt_info() { + if [[ -n $(current_gemset) ]] ; then + echo "$(current_ruby)@$(current_gemset)" + else + echo "$(current_ruby)" + fi + } + fi +done +unset rbenvdir + +if [ $FOUND_RBENV -eq 0 ] ; then + alias rubies='ruby -v' + function gemsets() { echo 'not supported' } + function rbenv_prompt_info() { echo "system: $(ruby -v | cut -f-2 -d ' ')" } +fi diff --git a/dot.oh-my-zsh/plugins/rbfu/rbfu.plugin.zsh b/dot.oh-my-zsh/plugins/rbfu/rbfu.plugin.zsh new file mode 100644 index 0000000..0084852 --- /dev/null +++ b/dot.oh-my-zsh/plugins/rbfu/rbfu.plugin.zsh @@ -0,0 +1,42 @@ +# Enables rbfu with --auto option, if available. +# +# Also provides a command to list all installed/available +# rubies. To ensure compatibility with themes, creates the +# rvm_prompt_info function to return the $RBFU_RUBY_VERSION +# version. + +command -v rbfu &>/dev/null + +if [[ $? -eq 0 ]]; then + eval "$(rbfu --init --auto)" + + # Internal: Print ruby version details, if it's currently + # active etc. + function _rbfu_rubies_print() { + local rb rb_out + rb=$(basename $1) + rb_out="$rb" + [[ -h $1 ]] && rb_out="$rb_out${fg[green]}@${reset_color}" + [[ "x$rb" == "x$2" ]] && rb_out="${fg[red]}$rb_out ${fg[red]}*${reset_color}" + echo $rb_out + } + + # Public: Provide a list with all available rubies, this basically depends + # on `ls -1` and .rfbu/rubies. Highlights the currently active ruby version + # and aliases. + function rbfu-rubies() { + local rbfu_dir active_rb + rbfu_dir=$RBFU_RUBIES + active_rb=$RBFU_RUBY_VERSION + [[ -z "$rbfu_dir" ]] && rbfu_dir="${HOME}/.rbfu/rubies" + [[ -z "$active_rb" ]] && active_rb="system" + _rbfu_rubies_print "${rbfu_dir}/system" $active_rb + for rb in $(ls -1 $rbfu_dir); do + _rbfu_rubies_print "${rbfu_dir}/${rb}" $active_rb + done + } + + # Public: Create rvm_prompt_info command for themes compatibility, unless + # it has already been defined. + [ ! -x rvm_prompt_info ] && function rvm_prompt_info() { echo "${RBFU_RUBY_VERSION:=system}" } +fi diff --git a/dot.oh-my-zsh/plugins/redis-cli/_redis-cli b/dot.oh-my-zsh/plugins/redis-cli/_redis-cli new file mode 100644 index 0000000..1569f29 --- /dev/null +++ b/dot.oh-my-zsh/plugins/redis-cli/_redis-cli @@ -0,0 +1,142 @@ +#compdef redis-cli rec +#autoload + +#redis cli completion, based off homebrew completion (ref. 2011-04-14) + +local -a _1st_arguments +_1st_arguments=( + 'append:append a value to a key' + 'auth:authenticate to the server' + 'bgrewriteeaof:asynchronously rewrite the append-only file' + 'bgsave:asynchornously save the dataset to disk' + 'blpop:remove and get the first element in a list, or block until one is available' + 'brpop:remove and get the last element in a list, or block until one is available' + 'brpoplpush:pop a value from a list, push it to another list and return it; or block until one is available' + # 'config get:get the value of a configuration parameter' + # 'config set:set a configuration parameter to the given value' + # 'config resetstat: reset the stats returned by INFO' + 'dbsize:return the number of keys in the selected database' + # 'debug object:get debugging information about a key' + # 'debug setgfault:make the server crash' + 'decr:decrement the integer value of a key by one' + 'decrby:decrement the integet value of a key by the given number' + 'del:delete a key' + 'discard:discard all commands issued after MULTI' + 'echo:echo the given string' + 'exec:execute all commands issued after a MULTI' + 'exists:determine if a key exists' + 'expire:set the time to live for a key, in seconds' + 'expireat:set the expiration for a key as a UNIX timestamp' + 'flushall:remove all keys from all databases' + 'flushdb:remove all keys from the current database' + 'get:get the value of a key' + 'getbit:returns the bit value at offset in the string value stored at key' + 'getrange:get a substring of the string stored at a key' + 'getset:set the string value of a key and return its old value' + 'hdel:delete a hash field' + 'hexists:determine if a hash field exists' + 'hget:get the value of a hash field' + 'hgetall:get all the fields and values in a hash' + 'hincrby:increment the integer value of a hash field by the given number' + 'hkeys:get all the fields in a hash' + 'hlen:get the number of fields in a hash' + 'hmget:get the values of all the given hash fields' + 'hmset:set multiple hash fields to multiple values' + 'hset:set the string value of a hash field' + 'hsetnx:set the value of a hash field, only if the field does not exist' + 'hvals:get all the values in a hash' + 'incr:increment the integer value of a key by one' + 'incrby:increment the integer value of a key by the given number' + 'info:get information and statistics about the server' + 'keys:find all keys matching the given pattern' + 'lastsave:get the UNIX timestamp of the last successful save to disk' + 'lindex:get an element from a list by its index' + 'linsert:insert an element before or after another element in a list' + 'llen:get the length of a list' + 'lpop:remove and get the first element in a list' + 'lpush:prepend a value to a list' + 'lpushx:prepend a value to a list, only if the list exists' + 'lrange:get a range of elements from a list' + 'lrem:remove elements from a list' + 'lset:set the value of an element in a list by its index' + 'ltrim:trim a list to the specified range' + 'mget:get the values of all the given keys' + 'monitor:listen for all requests received by the server in real time' + 'move:move a key to another database' + 'mset:set multiple keys to muliple values' + 'msetnx:set multiple keys tom ultiple values, only if none of the keys exist' + 'multi:mark the start of a transaction block' + 'object:inspect the internals of Redis objects' + 'persist:remove the expiration from a key' + 'ping:ping the server' + 'psubscribe:listen for messages published to channels matching the given patterns' + 'publish:post a message to a channel' + 'punsubscribe:stop listening for messages posted to channels matching the given patterns' + 'quit:close the connection' + 'randomkey:return a random key from the keyspace' + 'rename:rename a key' + 'renamenx:rename a key, only if the new key does not exist' + 'rpop:remove and get the last element in a list' + 'rpoplpush:remove the last element in a list, append it to another list and return it' + 'rpush:append a value to a list' + 'rpushx:append a value to a list, only if the list exists' + 'sadd:add a member to a set' + 'save:synchronously save the dataset to disk' + 'scard:get the number of members in a set' + 'sdiff:subtract multiple sets' + 'sdiffstore:subtract multiple sets and store the resulting set in a key' + 'select:change the selected database for the current connection' + 'set:set the string value of a key' + 'setbit:sets or clears the bit at offset in the string value stored at key' + 'setex:set the value and expiration of a key' + 'setnx:set the value of a key, only if the key does not exist' + 'setrange:overwrite part of a string at key starting at the specified offset' + 'shutdown:synchronously save the dataset to disk and then shut down the server' + 'sinter:intersect multiple sets' + 'sinterstore:intersect multiple sets and store the resulting set in a key' + 'sismember:determine if a given value is a member of a set' + 'slaveof:make the server a slave of another instance, or promote it as master' + 'smembers:get all the members in a set' + 'smove:move a member from one set to another' + 'sort:sort the elements in a list, set or sorted set' + 'spop:remove and return a random member from a set' + 'srandmember:get a random member from a set' + 'srem:remove a member from a set' + 'strlen:get the length of the value stored in a key' + 'subscribe:listen for messages published to the given channels' + 'sunion:add multiple sets' + 'sunionstore:add multiple sets and store the resulting set in a key' + 'ttl:get the time to live for a key' + 'type:determine the type stored at key' + 'unsubscribe:stop listening for messages posted to the given channels' + 'unwatch:forget about all watched keys' + 'watch:watch the given keys to determine execution of the MULTI/EXEC block' + 'zadd:add a member to a sorted set, or update its score if it already exists' + 'zcard:get the number of members in a sorted set' + 'zcount:count the members in a sorted set with scores within the given values' + 'zincrby:increment the score of a member in a sorted set' + 'zinterstore:intersect multiple sorted sets and store the resulting sorted set in a new key' + 'zrange:return a range of members in a sorted set, by index' + 'zrangebyscore:return a range of members in a sorted set, by score' + 'zrank:determine the index of a member in a sorted set' + 'zrem:remove a member from a sorted set' + 'zremrangebyrank:remove all members in a sorted set within the given indexes' + 'zremrangebyscore:remove all members in a sorted set within the given scores' + 'zrevrange:return a range of membrs in a sorted set, by index, with scores ordered from high to low' + 'zrevrangebyscore:return a range of members in a sorted set, by score, with scores ordered from high to low' + 'zrevrank:determine the index of a member in a sorted set, with scores ordered from high to low' + 'zscore:get the score associated with the given member in a sorted set' + 'zunionstore:add multiple sorted sets and store te resulting sorted set in a new key' +) + +local expl + +_arguments \ + '(-v --version)'{-v,--version}'[show version]' \ + '(-h --help)'{-h,--help}'[show help]' \ + '*:: :->subcmds' && return 0 + +if (( CURRENT == 1 )); then + _describe -t commands "redis-cli subcommand" _1st_arguments + return +fi \ No newline at end of file diff --git a/dot.oh-my-zsh/plugins/rsync/rsync.plugin.zsh b/dot.oh-my-zsh/plugins/rsync/rsync.plugin.zsh new file mode 100644 index 0000000..33a31a5 --- /dev/null +++ b/dot.oh-my-zsh/plugins/rsync/rsync.plugin.zsh @@ -0,0 +1,4 @@ +alias rsync-copy="rsync -av --progress -h" +alias rsync-move="rsync -av --progress -h --remove-source-files" +alias rsync-update="rsync -avu --progress -h" +alias rsync-synchronize="rsync -avu --delete --progress -h" diff --git a/dot.oh-my-zsh/plugins/ruby/ruby.plugin.zsh b/dot.oh-my-zsh/plugins/ruby/ruby.plugin.zsh new file mode 100644 index 0000000..38e4d7c --- /dev/null +++ b/dot.oh-my-zsh/plugins/ruby/ruby.plugin.zsh @@ -0,0 +1,6 @@ +# TODO: Make this compatible with rvm. +# Run sudo gem on the system ruby, not the active ruby. +alias sgem='sudo gem' + +# Find ruby file +alias rfind='find . -name "*.rb" | xargs grep -n' diff --git a/dot.oh-my-zsh/plugins/rvm/rvm.plugin.zsh b/dot.oh-my-zsh/plugins/rvm/rvm.plugin.zsh new file mode 100644 index 0000000..1ab800b --- /dev/null +++ b/dot.oh-my-zsh/plugins/rvm/rvm.plugin.zsh @@ -0,0 +1,51 @@ +fpath=($rvm_path/scripts/zsh/Completion $fpath) + +alias rubies='rvm list rubies' +alias gemsets='rvm gemset list' + +local ruby18='ruby-1.8.7-p334' +local ruby19='ruby-1.9.3-p194' + +function rb18 { + if [ -z "$1" ]; then + rvm use "$ruby18" + else + rvm use "$ruby18@$1" + fi +} + +_rb18() {compadd `ls -1 $rvm_path/gems | grep "^$ruby18@" | sed -e "s/^$ruby18@//" | awk '{print $1}'`} +compdef _rb18 rb18 + +function rb19 { + if [ -z "$1" ]; then + rvm use "$ruby19" + else + rvm use "$ruby19@$1" + fi +} + +_rb19() {compadd `ls -1 $rvm_path/gems | grep "^$ruby19@" | sed -e "s/^$ruby19@//" | awk '{print $1}'`} +compdef _rb19 rb19 + +function rvm-update { + rvm get head + rvm reload # TODO: Reload rvm completion? +} + +# TODO: Make this usable w/o rvm. +function gems { + local current_ruby=`rvm-prompt i v p` + local current_gemset=`rvm-prompt g` + + gem list $@ | sed \ + -Ee "s/\([0-9, \.]+( .+)?\)/$fg[blue]&$reset_color/g" \ + -Ee "s|$(echo $rvm_path)|$fg[magenta]\$rvm_path$reset_color|g" \ + -Ee "s/$current_ruby@global/$fg[yellow]&$reset_color/g" \ + -Ee "s/$current_ruby$current_gemset$/$fg[green]&$reset_color/g" +} + +function _rvm_completion { + source $rvm_path"/scripts/zsh/Completion/_rvm" +} +compdef _rvm_completion rvm diff --git a/dot.oh-my-zsh/plugins/screen/screen.plugin.zsh b/dot.oh-my-zsh/plugins/screen/screen.plugin.zsh new file mode 100644 index 0000000..7009e7a --- /dev/null +++ b/dot.oh-my-zsh/plugins/screen/screen.plugin.zsh @@ -0,0 +1,54 @@ +# if using GNU screen, let the zsh tell screen what the title and hardstatus +# of the tab window should be. +if [[ "$TERM" == screen* ]]; then + if [[ $_GET_PATH == '' ]]; then + _GET_PATH='echo $PWD | sed "s/^\/Users\//~/;s/^\/home\//~/;s/^~$USER/~/"' + fi + if [[ $_GET_HOST == '' ]]; then + _GET_HOST='echo $HOST | sed "s/\..*//"' + fi + + # use the current user as the prefix of the current tab title + TAB_TITLE_PREFIX='"`'$_GET_HOST'`:`'$_GET_PATH' | sed "s:..*/::"`$PROMPT_CHAR"' + # when at the shell prompt, show a truncated version of the current path (with + # standard ~ replacement) as the rest of the title. + TAB_TITLE_PROMPT='$SHELL:t' + # when running a command, show the title of the command as the rest of the + # title (truncate to drop the path to the command) + TAB_TITLE_EXEC='$cmd[1]:t' + + # use the current path (with standard ~ replacement) in square brackets as the + # prefix of the tab window hardstatus. + TAB_HARDSTATUS_PREFIX='"[`'$_GET_PATH'`] "' + # when at the shell prompt, use the shell name (truncated to remove the path to + # the shell) as the rest of the title + TAB_HARDSTATUS_PROMPT='$SHELL:t' + # when running a command, show the command name and arguments as the rest of + # the title + TAB_HARDSTATUS_EXEC='$cmd' + + # tell GNU screen what the tab window title ($1) and the hardstatus($2) should be + function screen_set() + { + # set the tab window title (%t) for screen + print -nR $'\033k'$1$'\033'\\\ + + # set hardstatus of tab window (%h) for screen + print -nR $'\033]0;'$2$'\a' + } + # called by zsh before executing a command + function preexec() + { + local -a cmd; cmd=(${(z)1}) # the command string + eval "tab_title=$TAB_TITLE_PREFIX:$TAB_TITLE_EXEC" + eval "tab_hardstatus=$TAB_HARDSTATUS_PREFIX:$TAB_HARDSTATUS_EXEC" + screen_set $tab_title $tab_hardstatus + } + # called by zsh before showing the prompt + function precmd() + { + eval "tab_title=$TAB_TITLE_PREFIX:$TAB_TITLE_PROMPT" + eval "tab_hardstatus=$TAB_HARDSTATUS_PREFIX:$TAB_HARDSTATUS_PROMPT" + screen_set $tab_title $tab_hardstatus + } +fi \ No newline at end of file diff --git a/dot.oh-my-zsh/plugins/sprunge/sprunge.plugin.zsh b/dot.oh-my-zsh/plugins/sprunge/sprunge.plugin.zsh new file mode 100644 index 0000000..9f9432a --- /dev/null +++ b/dot.oh-my-zsh/plugins/sprunge/sprunge.plugin.zsh @@ -0,0 +1,64 @@ +# Contributed and SLIGHTLY modded by Matt Parnell/ilikenwf +# Created by the blogger at the URL below...I don't know where to find his/her name +# Original found at http://www.shellperson.net/sprunge-pastebin-script/ + +usage() { +description | fmt -s >&2 +} + +description() { +cat << HERE + +DESCRIPTION + Upload data and fetch URL from the pastebin http://sprunge.us + +USAGE + $0 filename.txt + $0 text string + $0 < filename.txt + piped_data | $0 + +NOTES +-------------------------------------------------------------------------- +* INPUT METHODS * +$0 can accept piped data, STDIN redirection [&2 + if [ "$*" ]; then + echo Arguments present... >&2 + if [ -f "$*" ]; then + echo Uploading the contents of "$*"... >&2 + cat "$*" + else + echo Uploading the text: \""$*"\"... >&2 + echo "$*" + fi | curl -F 'sprunge=<-' http://sprunge.us + else + echo No arguments found, printing USAGE and exiting. >&2 + usage + fi + else + echo Using input from a pipe or STDIN redirection... >&2 + while read -r line ; do + echo $line + done | curl -F 'sprunge=<-' http://sprunge.us + fi +} diff --git a/dot.oh-my-zsh/plugins/ssh-agent/ssh-agent.plugin.zsh b/dot.oh-my-zsh/plugins/ssh-agent/ssh-agent.plugin.zsh new file mode 100644 index 0000000..c4e92a1 --- /dev/null +++ b/dot.oh-my-zsh/plugins/ssh-agent/ssh-agent.plugin.zsh @@ -0,0 +1,62 @@ +# +# INSTRUCTIONS +# +# To enabled agent forwarding support add the following to +# your .zshrc file: +# +# zstyle :omz:plugins:ssh-agent agent-forwarding on +# +# To load multiple identies use the identities style, For +# example: +# +# zstyle :omz:plugins:ssh-agent id_rsa id_rsa2 id_github +# +# +# CREDITS +# +# Based on code from Joseph M. Reagle +# http://www.cygwin.com/ml/cygwin/2001-06/msg00537.html +# +# Agent forwarding support based on ideas from +# Florent Thoumie and Jonas Pfenniger +# + +local _plugin__ssh_env=$HOME/.ssh/environment-$HOST +local _plugin__forwarding + +function _plugin__start_agent() +{ + local -a identities + + # start ssh-agent and setup environment + /usr/bin/env ssh-agent | sed 's/^echo/#echo/' > ${_plugin__ssh_env} + chmod 600 ${_plugin__ssh_env} + . ${_plugin__ssh_env} > /dev/null + + # load identies + zstyle -a :omz:plugins:ssh-agent identities identities + echo starting... + /usr/bin/ssh-add $HOME/.ssh/${^identities} +} + +# test if agent-forwarding is enabled +zstyle -b :omz:plugins:ssh-agent agent-forwarding _plugin__forwarding +if [[ ${_plugin__forwarding} == "yes" && -n "$SSH_AUTH_SOCK" ]]; then + # Add a nifty symlink for screen/tmux if agent forwarding + [[ -L $SSH_AUTH_SOCK ]] || ln -sf "$SSH_AUTH_SOCK" /tmp/ssh-agent-$USER-screen + +elif [ -f "${_plugin__ssh_env}" ]; then + # Source SSH settings, if applicable + . ${_plugin__ssh_env} > /dev/null + ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || { + _plugin__start_agent; + } +else + _plugin__start_agent; +fi + +# tidy up after ourselves +unfunction _plugin__start_agent +unset _plugin__forwarding +unset _plugin__ssh_env + diff --git a/dot.oh-my-zsh/plugins/sublime/sublime.plugin.zsh b/dot.oh-my-zsh/plugins/sublime/sublime.plugin.zsh new file mode 100755 index 0000000..1b2cbcd --- /dev/null +++ b/dot.oh-my-zsh/plugins/sublime/sublime.plugin.zsh @@ -0,0 +1,21 @@ +# Sublime Text 2 Aliases +#unamestr = 'uname' + +local _sublime_darwin_subl=/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl + +if [[ $('uname') == 'Linux' ]]; then + if [ -f '/usr/bin/sublime_text' ]; then + st_run() { nohup /usr/bin/sublime_text $@ > /dev/null & } + else + st_run() { nohup /usr/bin/sublime-text $@ > /dev/null & } + fi +alias st=st_run +elif [[ $('uname') == 'Darwin' ]]; then + # Check if Sublime is installed in user's home application directory + if [[ -a $HOME/${_sublime_darwin_subl} ]]; then + alias st='$HOME/${_sublime_darwin_subl}' + else + alias st='${_sublime_darwin_subl}' + fi +fi +alias stt='st .' diff --git a/dot.oh-my-zsh/plugins/supervisor/_supervisorctl b/dot.oh-my-zsh/plugins/supervisor/_supervisorctl new file mode 100644 index 0000000..d159f20 --- /dev/null +++ b/dot.oh-my-zsh/plugins/supervisor/_supervisorctl @@ -0,0 +1,136 @@ +#compdef supervisorctl + +typeset -A opt_args +local context state line + +_supervisorctl() { + _arguments -s -S \ + {--configuration,-c}"[configuration file path (default /etc/supervisor.conf)]:FILENAME:_files" \ + {--help,-h}"[print usage message and exit]:" \ + {--interactive,-i}"[start an interactive shell after executing commands]" \ + {--serverurl,-s}"[URL on which supervisord server is listening (default "http://localhost:9001").]" \ + {--username,-u}"[username to use for authentication with server]:USERNAME:_users" \ + {--password,-p}"[password to use for authentication with server]:PASSWORD:" \ + {--history-file,-r}"[keep a readline history (if readline is available)]:FILENAME:_files" \ + "*::supervisorctl commands:_supervisorctl_command" +} + +(( $+functions[_supervisorctl_command] )) || +_supervisorctl_command() { + local cmd ret=1 + + (( $+supervisorctl_cmds )) || _supervisorctl_cmds=( + "add:Activates any updates in config for process/group" \ + "avail:Display all configured processes" \ + "clear:Clear process/multiple-process/all-process log files" \ + "exit:Exit the supervisor shell." \ + "fg:Connect to a process in foreground mode" \ + "maintail:tail of supervisor main log file" \ + "open:Connect to a remote supervisord process. (for UNIX domain socket, use unix:///socket/path)" \ + "pid:Get the PID of supervisord." \ + "quit:Exit the supervisor shell." \ + "reload:Restart the remote supervisord." \ + "remove:Removes process/group from active config" \ + "reread:Reload the daemon's configuration files" \ + "restart:Restart process or group." \ + "shutdown:Shut the remote supervisord down." \ + "start:Start process or groups." \ + "status:Get process status info." \ + "stop:Stop process or group." \ + "tail:tail of process stdout" \ + "update:Reload config and add/remove as necessary" \ + "version:Show the version of the remote supervisord process" \ + "help:Show help" \ + ) + + if (( CURRENT == 1 )); then + _describe -t commands 'supervisorctl subcommand' _supervisorctl_cmds \ + || compadd "$@" - ${(s.:.)${(j.:.)_supervisorctl_syns}} + else + local curcontext="$curcontext" + + cmd="${${_supervisorctl_cmds[(r)$words[1]:*]%%:*}:-${(k)_supervisorctl_syns[(r)(*:|)$words[1](:*|)]}}" + if (( $#cmd )); then + curcontext="${curcontext%:*:*}:supervisorctl-${cmd}:" + _call_function ret _supervisorctl_$cmd || _message 'no more arguments' + else + _message "unknown supervisorctl command: $words[1]" + fi + return ret + fi +} + +# get supervisor contoroll processes +(( $+functions[_get_supervisor_procs] )) || +_get_supervisor_procs() { + local cache_policy + zstyle -s ":completion:${curcontext}:" cache-policy cache_policy + if [[ -z "$cache_policy" ]]; then + zstyle ":completion:${curcontext}:" cache-policy _supervisor_procs_caching_policy + fi + + if ( [[ ${+_supervisor_procs} -eq 0 ]] || _cache_invalid supervisor_procs ) \ + && ! _retrieve_cache supervisor_procs; then + + _supervisor_procs=(${${(f)"$(supervisorctl status >/dev/null 2>&1 | awk -F' ' '{print $1}')"}}) + _store_cache supervisor_procs _supervisor_procs + fi + + local expl + _wanted supervisor_procs expl 'supervisor processes' compadd -a _supervisor_procs +} + +_supervisor_procs_caching_policy() { + local -a oldp + oldp=( "$1"(Nmw+1) ) + (( $#oldp )) +} + +(( $+functions[_supervisorctl_add] )) || +_supervisorctl_add() { + _arguments -s \ + "--help[use help system]" \ + "*::supervisorctl commands:_supervisorctl" +} + +(( $+functions[_supervisorctl_help] )) || +_supervisorctl_help() { + _arguments -s \ + "*:supervisorctl commands:_supervisorctl" +} + +(( $+functions[_supervisorctl_maintail] )) || +_supervisorctl_maintail() { + _arguments -s \ + '-f[Continuous tail of supervisor main log file (Ctrl-C to exit)]' +} + +(( $+functions[_supervisorctl_start] )) || +_supervisorctl_start() { + # TODO: add 'all' + _arguments -s \ + '*::supvervisor process:_get_supervisor_procs' +} + +(( $+functions[_supervisorctl_status] )) || +_supervisorctl_status() { + _arguments \ + '*::supvervisor process:_get_supervisor_procs' +} + +(( $+functions[_supervisorctl_stop] )) || +_supervisorctl_stop() { + # TODO: add 'all' + _arguments -s \ + '*::supvervisor process:_get_supervisor_procs' +} + +(( $+functions[_supervisorctl_tail] )) || +_supervisorctl_tail() { + # TODO: add 'stderr' + _arguments -s \ + '-f[Continuous tail of named process stdout Ctrl-C to exit.]' \ + '*::supvervisor process:_get_supervisor_procs' +} + +_supervisorctl "$@" diff --git a/dot.oh-my-zsh/plugins/supervisor/_supervisord b/dot.oh-my-zsh/plugins/supervisor/_supervisord new file mode 100644 index 0000000..34d2780 --- /dev/null +++ b/dot.oh-my-zsh/plugins/supervisor/_supervisord @@ -0,0 +1,32 @@ +#compdef supervisord + +typeset -A opt_args +local context state line + +_arguments \ + {--configuration,-c}"[configuration file]:FILENAME:_files" \ + {--nodaemon,-n}"[run in the foreground (same as 'nodaemon true' in config file)]" \ + {--help,-h}"[print this usage message and exit]:" \ + {--user,-u}"[run supervisord as this user]:USER:_users" \ + {--umask,-m}"[use this umask for daemon subprocess (default is 022)]" \ + {--directory,-d}"[directory to chdir to when daemonized]" \ + {--logfile,-l}"[use FILENAME as logfile path]:FILENAME:_files" \ + {--logfile_maxbytes,-y}"[use BYTES to limit the max size of logfile]" \ + {--logfile_backups,-z}"[number of backups to keep when max bytes reached]" \ + {--loglevel,-e}"[use LEVEL as log level (debug,info,warn,error,critical)]:level:->levels" \ + {--pidfile,-j}"[write a pid file for the daemon process to FILENAME]:FILENAME:_files" \ + {--identifier,-i}"[identifier used for this instance of supervisord]" \ + {--childlogdir,-q}"[the log directory for child process logs]:child log directory:_files -/" \ + {--nocleanup,-k}"[prevent the process from performing cleanup (removal of old automatic child log files) at startup.]" \ + {--minfds,-a}"[the minimum number of file descriptors for start success]" \ + {--strip_ansi,-t}"[strip ansi escape codes from process output]" \ + "--minprocs[the minimum number of processes available for start success]" \ + "--profile_options[run supervisord under profiler and output results based on OPTIONS, which is a comma-sep'd list of 'cumulative', 'calls', and/or 'callers', e.g. 'cumulative,callers')]" \ + "*::args:_gnu_generic" + +case $state in +levels) + levels=("debug" "info" "warn" "error" "critical") + _describe -t levels 'supervisord levels' levels && return 0 + ;; +esac diff --git a/dot.oh-my-zsh/plugins/supervisor/supervisor.plugin.zsh b/dot.oh-my-zsh/plugins/supervisor/supervisor.plugin.zsh new file mode 100644 index 0000000..cf1997c --- /dev/null +++ b/dot.oh-my-zsh/plugins/supervisor/supervisor.plugin.zsh @@ -0,0 +1 @@ +# DECLARION: This plugin was created by hhatto. What I did is just making a portal from https://bitbucket.org/hhatto/zshcompfunc4supervisor. diff --git a/dot.oh-my-zsh/plugins/suse/suse.plugin.zsh b/dot.oh-my-zsh/plugins/suse/suse.plugin.zsh new file mode 100644 index 0000000..d462869 --- /dev/null +++ b/dot.oh-my-zsh/plugins/suse/suse.plugin.zsh @@ -0,0 +1,7 @@ +alias zi='sudo zypper install' +alias zrf='sudo zypper refresh' +alias zs='zypper search' +alias zup='sudo zypper dist-upgrade' +alias zrm='sudo zypper remove' +alias zp='sudo zypper patch' +alias zps='sudo zypper ps' diff --git a/dot.oh-my-zsh/plugins/svn/svn.plugin.zsh b/dot.oh-my-zsh/plugins/svn/svn.plugin.zsh new file mode 100644 index 0000000..e38e892 --- /dev/null +++ b/dot.oh-my-zsh/plugins/svn/svn.plugin.zsh @@ -0,0 +1,62 @@ + +function svn_prompt_info { + if [ $(in_svn) ]; then + if [ "x$SVN_SHOW_BRANCH" = "xtrue" ]; then + unset SVN_SHOW_BRANCH + _DISPLAY=$(svn_get_branch_name) + else + _DISPLAY=$(svn_get_repo_name) + fi + echo "$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_PREFIX\ +$ZSH_THEME_REPO_NAME_COLOR$_DISPLAY$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_SUFFIX$ZSH_PROMPT_BASE_COLOR$(svn_dirty)$ZSH_PROMPT_BASE_COLOR" + unset _DISPLAY + fi +} + + +function in_svn() { + if [[ -d .svn ]]; then + echo 1 + fi +} + +function svn_get_repo_name { + if [ $(in_svn) ]; then + svn info | sed -n 's/Repository\ Root:\ .*\///p' | read SVN_ROOT + + svn info | sed -n "s/URL:\ .*$SVN_ROOT\///p" + fi +} + +function svn_get_branch_name { + _DISPLAY=$(svn info 2> /dev/null | awk -F/ '/^URL:/ { for (i=0; i<=NF; i++) { if ($i == "branches" || $i == "tags" ) { print $(i+1); break }; if ($i == "trunk") { print $i; break } } }') + if [ "x$_DISPLAY" = "x" ]; then + svn_get_repo_name + else + echo $_DISPLAY + fi + unset _DISPLAY +} + +function svn_get_rev_nr { + if [ $(in_svn) ]; then + svn info 2> /dev/null | sed -n s/Revision:\ //p + fi +} + +function svn_dirty_choose { + if [ $(in_svn) ]; then + svn status 2> /dev/null | grep -Eq '^\s*[ACDIM!?L]' + if [ $pipestatus[-1] -eq 0 ]; then + # Grep exits with 0 when "One or more lines were selected", return "dirty". + echo $1 + else + # Otherwise, no lines were found, or an error occurred. Return clean. + echo $2 + fi + fi +} + +function svn_dirty { + svn_dirty_choose $ZSH_THEME_SVN_PROMPT_DIRTY $ZSH_THEME_SVN_PROMPT_CLEAN +} diff --git a/dot.oh-my-zsh/plugins/symfony/symfony.plugin.zsh b/dot.oh-my-zsh/plugins/symfony/symfony.plugin.zsh new file mode 100644 index 0000000..9de7675 --- /dev/null +++ b/dot.oh-my-zsh/plugins/symfony/symfony.plugin.zsh @@ -0,0 +1,13 @@ +# symfony basic command completion + +_symfony_get_command_list () { + ./symfony | sed "1,/Available tasks/d" | awk 'BEGIN { cat=null; } /^[A-Za-z]+$/ { cat = $1; } /^ :[a-z]+/ { print cat $1; }' +} + +_symfony () { + if [ -f symfony ]; then + compadd `_symfony_get_command_list` + fi +} + +compdef _symfony symfony diff --git a/dot.oh-my-zsh/plugins/symfony2/symfony2.plugin.zsh b/dot.oh-my-zsh/plugins/symfony2/symfony2.plugin.zsh new file mode 100644 index 0000000..cc9ffeb --- /dev/null +++ b/dot.oh-my-zsh/plugins/symfony2/symfony2.plugin.zsh @@ -0,0 +1,19 @@ +# Symfony2 basic command completion + +_symfony2_get_command_list () { + app/console --no-ansi | sed "1,/Available commands/d" | awk '/^ [a-z]+/ { print $1 }' +} + +_symfony2 () { + if [ -f app/console ]; then + compadd `_symfony2_get_command_list` + fi +} + +compdef _symfony2 app/console +compdef _symfony2 sf + +#Alias +alias sf2='php app/console' +alias sf2clear='php app/console cache:clear' + diff --git a/dot.oh-my-zsh/plugins/systemd/systemd.plugin.zsh b/dot.oh-my-zsh/plugins/systemd/systemd.plugin.zsh new file mode 100644 index 0000000..7d3db0f --- /dev/null +++ b/dot.oh-my-zsh/plugins/systemd/systemd.plugin.zsh @@ -0,0 +1,11 @@ +user_commands=( + list-units is-active status show help list-unit-files + is-enabled list-jobs show-environment) + +sudo_commands=( + start stop reload restart try-restart isolate kill + reset-failed enable disable reenable preset mask unmask + link load cancel set-environment unset-environment) + +for c in $user_commands; do; alias sc-$c="systemctl $c"; done +for c in $sudo_commands; do; alias sc-$c="sudo systemctl $c"; done diff --git a/dot.oh-my-zsh/plugins/taskwarrior/_task b/dot.oh-my-zsh/plugins/taskwarrior/_task new file mode 100644 index 0000000..0bda738 --- /dev/null +++ b/dot.oh-my-zsh/plugins/taskwarrior/_task @@ -0,0 +1,248 @@ +#compdef task +# zsh completion for taskwarrior +# +# taskwarrior - a command line task list manager. +# +# Copyright 2010 - 2011 Johannes Schlatow +# Copyright 2009 P.C. Shyamshankar +# +# 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. +# +# http://www.opensource.org/licenses/mit-license.php +# +typeset -g _task_cmds _task_projects _task_tags _task_config _task_modifiers +_task_projects=($(task _projects)) +_task_tags=($(task _tags)) +_task_ids=($(task _ids)) +_task_config=($(task _config)) +_task_columns=($(task _columns)) +_task_modifiers=( + 'before' \ + 'after' \ + 'none' \ + 'any' \ + 'is' \ + 'isnt' \ + 'has' \ + 'hasnt' \ + 'startswith' \ + 'endswith' \ + 'word' \ + 'noword' +) +_task_conjunctions=( + 'and' \ + 'or' \ + 'xor' \ + '\)' + '\(' +) +_task_cmds=($(task _commands)) +_task_zshcmds=( ${(f)"$(task _zshcommands)"} ) + +_task() { + _arguments -s -S \ + "*::task default:_task_default" + return 0 +} + +local -a reply args word +word=$'[^\0]#\0' + +# priorities +local -a task_priorities +_regex_words values 'task priorities' \ + 'H:High' \ + 'M:Middle' \ + 'L:Low' +task_priorities=("$reply[@]") + +# projects +local -a task_projects +task_projects=( + /"$word"/ + ":values:task projects:compadd -a _task_projects" +) + +local -a _task_dates +_regex_words values 'task dates' \ + 'tod*ay:Today' \ + 'yes*terday:Yesterday' \ + 'tom*orrow:Tomorrow' \ + 'sow:Start of week' \ + 'soww:Start of work week' \ + 'socw:Start of calendar week' \ + 'som:Start of month' \ + 'soy:Start of year' \ + 'eow:End of week' \ + 'eoww:End of work week' \ + 'eocw:End of calendar week' \ + 'eom:End of month' \ + 'eoy:End of year' \ + 'mon:Monday' \ + 'tue:Tuesday'\ + 'wed:Wednesday' \ + 'thu:Thursday' \ + 'fri:Friday' \ + 'sat:Saturday' \ + 'sun:Sunday' +_task_dates=("$reply[@]") + +local -a _task_reldates +_regex_words values 'task reldates' \ + 'hrs:n hours' \ + 'day:n days' \ + '1st:first' \ + '2nd:second' \ + '3rd:third' \ + 'th:4th, 5th, etc.' \ + 'wks:weeks' +_task_reldates=("$reply[@]") + +task_dates=( + \( "$_task_dates[@]" \| + \( /$'[0-9][0-9]#'/- \( "$_task_reldates[@]" \) \) + \) +) + +_regex_words values 'task frequencies' \ + 'daily:Every day' \ + 'day:Every day' \ + 'weekdays:Every day skipping weekend days' \ + 'weekly:Every week' \ + 'biweekly:Every two weeks' \ + 'fortnight:Every two weeks' \ ++ 'monthly:Every month' \ + 'quarterly:Every three months' \ + 'semiannual:Every six months' \ + 'annual:Every year' \ + 'yearly:Every year' \ + 'biannual:Every two years' \ + 'biyearly:Every two years' +_task_freqs=("$reply[@]") + +local -a _task_frequencies +_regex_words values 'task frequencies' \ + 'd:days' \ + 'w:weeks' \ + 'q:quarters' \ + 'y:years' +_task_frequencies=("$reply[@]") + +task_freqs=( + \( "$_task_freqs[@]" \| + \( /$'[0-9][0-9]#'/- \( "$_task_frequencies[@]" \) \) + \) +) + +# attributes +local -a task_attributes +_regex_words -t ':' default 'task attributes' \ + 'pro*ject:Project name:$task_projects' \ + 'du*e:Due date:$task_dates' \ + 'wa*it:Date until task becomes pending:$task_dates' \ + 're*cur:Recurrence frequency:$task_freqs' \ + 'pri*ority:priority:$task_priorities' \ + 'un*til:Recurrence end date:$task_dates' \ + 'fg:Foreground color' \ + 'bg:Background color' \ + 'li*mit:Desired number of rows in report' +task_attributes=("$reply[@]") + +args=( + \( "$task_attributes[@]" \| + \( /'(project|due|wait|recur|priority|until|fg|bg|limit).'/- \( /$'[^:]#:'/ ":default:modifiers:compadd -S ':' -a _task_modifiers" \) \) \| + \( /'(rc).'/- \( /$'[^:]#:'/ ":arguments:config:compadd -S ':' -a _task_config" \) \) \| + \( /'(+|-)'/- \( /"$word"/ ":values:remove tag:compadd -a _task_tags" \) \) \| + \( /"$word"/ \) + \) \# +) +_regex_arguments _task_attributes "${args[@]}" + +## task commands + +# filter completion +(( $+functions[_task_filter] )) || +_task_filter() { + _task_attributes "$@" + + # TODO complete conjunctions only if the previous word is a filter expression, i.e. attribute, ID, any non-command + _describe -t default 'task conjunctions' _task_conjunctions +} + +# merge completion +(( $+functions[_task_merge] )) || +_task_merge() { + # TODO match URIs in .taskrc + _files +} + +# push completion +(( $+functions[_task_push] )) || +_task_push() { + # TODO match URIs in .taskrc + _files +} + +# pull completion +(( $+functions[_task_pull] )) || +_task_pull() { + # TODO match URIs in .taskrc + _files +} + +# execute completion +(( $+functions[_task_execute] )) || +_task_execute() { + _files +} + +# id-only completion +(( $+functions[_task_id] )) || +_task_id() { + _describe -t values 'task IDs' _task_zshids +} + +## first level completion => task sub-command completion +(( $+functions[_task_default] )) || +_task_default() { + local cmd ret=1 + + integer i=1 + while (( i < $#words )) + do + cmd="${_task_cmds[(r)$words[$i]]}" + if (( $#cmd )); then + _call_function ret _task_${cmd} || + _call_function ret _task_filter || + _message "No command remaining." + return ret + fi + (( i++ )) + done + + # update IDs + _task_zshids=( ${(f)"$(task _zshids)"} ) + + _describe -t commands 'task command' _task_zshcmds + _describe -t values 'task IDs' _task_zshids + _call_function ret _task_filter + + return ret +} diff --git a/dot.oh-my-zsh/plugins/taskwarrior/taskwarrior.plugin.zsh b/dot.oh-my-zsh/plugins/taskwarrior/taskwarrior.plugin.zsh new file mode 100644 index 0000000..c183004 --- /dev/null +++ b/dot.oh-my-zsh/plugins/taskwarrior/taskwarrior.plugin.zsh @@ -0,0 +1,21 @@ +################################################################################ +# Author: Pete Clark +# Email: pete[dot]clark[at]gmail[dot]com +# Version: 0.1 (05/24/2011) +# License: WTFPL +# +# This oh-my-zsh plugin adds smart tab completion for +# TaskWarrior. It uses the zsh tab completion +# script (_task) distributed with TaskWarrior for the completion definitions. +# +# Typing task[tabtab] will give you a list of current tasks, task 66[tabtab] +# gives a list of available modifications for that task, etc. +################################################################################ + +zstyle ':completion:*:*:task:*' verbose yes +zstyle ':completion:*:*:task:*:descriptions' format '%U%B%d%b%u' + +zstyle ':completion:*:*:task:*' group-name '' + +alias t=task +compdef _task t=task diff --git a/dot.oh-my-zsh/plugins/terminalapp/terminalapp.plugin.zsh b/dot.oh-my-zsh/plugins/terminalapp/terminalapp.plugin.zsh new file mode 100644 index 0000000..2249b1e --- /dev/null +++ b/dot.oh-my-zsh/plugins/terminalapp/terminalapp.plugin.zsh @@ -0,0 +1,39 @@ +# Set Apple Terminal.app resume directory +# based on this answer: http://superuser.com/a/315029 +# 2012-10-26: (javageek) Changed code using the updated answer + +# Tell the terminal about the working directory whenever it changes. +if [[ "$TERM_PROGRAM" == "Apple_Terminal" ]] && [[ -z "$INSIDE_EMACS" ]]; then + update_terminal_cwd() { + # Identify the directory using a "file:" scheme URL, including + # the host name to disambiguate local vs. remote paths. + + # Percent-encode the pathname. + local URL_PATH='' + { + # Use LANG=C to process text byte-by-byte. + local i ch hexch LANG=C + for ((i = 1; i <= ${#PWD}; ++i)); do + ch="$PWD[i]" + if [[ "$ch" =~ [/._~A-Za-z0-9-] ]]; then + URL_PATH+="$ch" + else + hexch=$(printf "%02X" "'$ch") + URL_PATH+="%$hexch" + fi + done + } + + local PWD_URL="file://$HOST$URL_PATH" + #echo "$PWD_URL" # testing + printf '\e]7;%s\a' "$PWD_URL" + } + + # Register the function so it is called whenever the working + # directory changes. + autoload add-zsh-hook + add-zsh-hook chpwd update_terminal_cwd + + # Tell the terminal about the initial directory. + update_terminal_cwd +fi diff --git a/dot.oh-my-zsh/plugins/terminitor/_terminitor b/dot.oh-my-zsh/plugins/terminitor/_terminitor new file mode 100644 index 0000000..1ce87c3 --- /dev/null +++ b/dot.oh-my-zsh/plugins/terminitor/_terminitor @@ -0,0 +1,38 @@ +#compdef terminitor +#autoload + +# terminitor zsh completion + +_terminitor_available_scripts() { + scripts=(`for SCRIPT in ~/.config/terminitor/*.term ; do basename $SCRIPT .term ; done`) +} + +local -a _1st_arguments +_1st_arguments=( + 'create:create a Termfile in directory' + 'delete:delete terminitor script' + 'edit:open termitor script' + 'fetch:clone the designated repo and run setup' + 'help:Describe available tasks or one specific task' + 'init:create initial root terminitor folder' + 'list:lists all terminitor scripts' + 'setup:execute setup in the terminitor script' + 'start:runs the terminitor script' + 'update:update Terminitor to new global path(.config/.terminitor)' +) + +local expl + +_arguments \ + '*:: :->subcmds' && return 0 + +if (( CURRENT == 1 )); then + _describe -t commands "terminitor task" _1st_arguments + return +fi + +case "$words[1]" in + start|edit|delete|setup) + _terminitor_available_scripts + _wanted scripts expl 'installed scripts' compadd -a scripts ;; +esac diff --git a/dot.oh-my-zsh/plugins/textmate/textmate.plugin.zsh b/dot.oh-my-zsh/plugins/textmate/textmate.plugin.zsh new file mode 100644 index 0000000..a11a097 --- /dev/null +++ b/dot.oh-my-zsh/plugins/textmate/textmate.plugin.zsh @@ -0,0 +1,12 @@ +alias et='mate .' +alias ett='mate Gemfile app config features lib db public spec test Rakefile Capfile Todo' +alias etp='mate app config lib db public spec test vendor/plugins vendor/gems Rakefile Capfile Todo' +alias etts='mate app config lib db public script spec test vendor/plugins vendor/gems Rakefile Capfile Todo' + +# Edit Ruby app in TextMate +alias mr='mate CHANGELOG app config db lib public script spec test' + +function tm() { + cd $1 + mate $1 +} diff --git a/dot.oh-my-zsh/plugins/themes/_theme b/dot.oh-my-zsh/plugins/themes/_theme new file mode 100644 index 0000000..8214ddb --- /dev/null +++ b/dot.oh-my-zsh/plugins/themes/_theme @@ -0,0 +1,3 @@ +#compdef theme + +_arguments "1: :($(lstheme | tr "\n" " "))" diff --git a/dot.oh-my-zsh/plugins/themes/themes.plugin.zsh b/dot.oh-my-zsh/plugins/themes/themes.plugin.zsh new file mode 100644 index 0000000..8bab257 --- /dev/null +++ b/dot.oh-my-zsh/plugins/themes/themes.plugin.zsh @@ -0,0 +1,24 @@ +function theme +{ + if [ "$1" = "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 [ -f "$ZSH_CUSTOM/$1.zsh-theme" ] + then + source "$ZSH_CUSTOM/$1.zsh-theme" + else + source "$ZSH/themes/$1.zsh-theme" + fi + fi +} + +function lstheme +{ + cd $ZSH/themes + ls *zsh-theme | sed 's,\.zsh-theme$,,' +} diff --git a/dot.oh-my-zsh/plugins/thor/_thor b/dot.oh-my-zsh/plugins/thor/_thor new file mode 100644 index 0000000..9f7ed5a --- /dev/null +++ b/dot.oh-my-zsh/plugins/thor/_thor @@ -0,0 +1,4 @@ +#compdef thor +#autoload + +compadd `thor list | grep thor | cut -d " " -f 2` diff --git a/dot.oh-my-zsh/plugins/urltools/urltools.plugin.zsh b/dot.oh-my-zsh/plugins/urltools/urltools.plugin.zsh new file mode 100644 index 0000000..4ddfff8 --- /dev/null +++ b/dot.oh-my-zsh/plugins/urltools/urltools.plugin.zsh @@ -0,0 +1,36 @@ +# URL Tools +# Adds handy command line aliases useful for dealing with URLs +# +# Taken from: +# http://ruslanspivak.com/2010/06/02/urlencode-and-urldecode-from-a-command-line/ + +if [[ $(whence $URLTOOLS_METHOD) = "" ]]; then + URLTOOLS_METHOD="" +fi + +if [[ $(whence node) != "" && ( "x$URLTOOLS_METHOD" = "x" || "x$URLTOOLS_METHOD" = "xnode" ) ]]; then + alias urlencode='node -e "console.log(encodeURIComponent(process.argv[1]))"' + alias urldecode='node -e "console.log(decodeURIComponent(process.argv[1]))"' +elif [[ $(whence python) != "" && ( "x$URLTOOLS_METHOD" = "x" || "x$URLTOOLS_METHOD" = "xpython" ) ]]; then + alias urlencode='python -c "import sys, urllib as ul; print ul.quote_plus(sys.argv[1])"' + alias urldecode='python -c "import sys, urllib as ul; print ul.unquote_plus(sys.argv[1])"' +elif [[ $(whence ruby) != "" && ( "x$URLTOOLS_METHOD" = "x" || "x$URLTOOLS_METHOD" = "xruby" ) ]]; then + alias urlencode='ruby -r cgi -e "puts CGI.escape(ARGV[0])"' + alias urldecode='ruby -r cgi -e "puts CGI.unescape(ARGV[0])"' +elif [[ $(whence php) != "" && ( "x$URLTOOLS_METHOD" = "x" || "x$URLTOOLS_METHOD" = "xphp" ) ]]; then + alias urlencode='php -r "echo rawurlencode(\$argv[1]); echo \"\n\";"' + alias urldecode='php -r "echo rawurldecode(\$argv[1]); echo \"\\n\";"' +elif [[ $(whence perl) != "" && ( "x$URLTOOLS_METHOD" = "x" || "x$URLTOOLS_METHOD" = "xperl" ) ]]; then + if perl -MURI::Encode -e 1&> /dev/null; then + alias urlencode='perl -MURI::Encode -ep "uri_encode($ARGV[0]);"' + alias urldecode='perl -MURI::Encode -ep "uri_decode($ARGV[0]);"' + elif perl -MURI::Escape -e 1 &> /dev/null; then + alias urlencode='perl -MURI::Escape -ep "uri_escape($ARGV[0]);"' + alias urldecode='perl -MURI::Escape -ep "uri_unescape($ARGV[0]);"' + else + alias urlencode="perl -e '\$new=\$ARGV[0]; \$new =~ s/([^A-Za-z0-9])/sprintf(\"%%%02X\", ord(\$1))/seg; print \"\$new\n\";'" + alias urldecode="perl -e '\$new=\$ARGV[0]; \$new =~ s/\%([A-Fa-f0-9]{2})/pack(\"C\", hex(\$1))/seg; print \"\$new\n\";'" + fi +fi + +unset URLTOOLS_METHOD \ No newline at end of file diff --git a/dot.oh-my-zsh/plugins/vagrant/_vagrant b/dot.oh-my-zsh/plugins/vagrant/_vagrant new file mode 100644 index 0000000..9bed1e3 --- /dev/null +++ b/dot.oh-my-zsh/plugins/vagrant/_vagrant @@ -0,0 +1,111 @@ +#compdef vagrant +#autoload + +# vagrant zsh completion + +local -a _1st_arguments +_1st_arguments=( + 'box:Box commands' + 'destroy:Destroys the vagrant environment' + 'halt:Halts the currently running vagrant environment' + 'help:[TASK] Describe available tasks or one specific task' + 'init:[box_name] [box_url] Initializes current folder for Vagrant usage' + 'package:Packages a vagrant environment for distribution' + 'provision:Run the provisioner' + 'reload:Reload the vagrant environment' + 'resume:Resumes a suspend vagrant environment' + 'ssh:SSH into the currently running environment' + 'ssh_config:outputs .ssh/config valid syntax for connecting to this environment via ssh.' + 'status:Shows the status of the current Vagrant environment.' + 'suspend:Suspends the currently running vagrant environment' + 'up:Creates the vagrant environment' + 'version:Prints the Vagrant version information' +) + +local -a _box_arguments +_box_arguments=( + 'add:NAME URI Add a box to the system' + 'help:COMMAND Describe subcommands or one specific subcommand' + 'list:Lists all installed boxes' + 'remove:NAME Remove a box from the system' + 'repackage:NAME Repackage an installed box into a `.box` file.' +) + +__task_list () +{ + local expl + declare -a tasks + + tasks=(box destroy halt init package provision reload resume ssh ssh_config status suspend up version) + + _wanted tasks expl 'help' compadd $tasks +} + +__box_list () +{ + _wanted application expl 'command' compadd $(command ls -1 $HOME/.vagrant/boxes 2>/dev/null| sed -e 's/ /\\ /g') +} + +__vm_list () +{ + _wanted application expl 'command' compadd $(command grep Vagrantfile -oe '^[^#]*\.vm\.define *:\([a-zA-Z0-9]\+\)' 2>/dev/null | cut -d: -f2) +} + +__vagrant-box () +{ + local curcontext="$curcontext" state line + typeset -A opt_args + + _arguments -C \ + ':command:->command' \ + '*::options:->options' + + case $state in + (command) + _describe -t commands "gem subcommand" _box_arguments + return + ;; + + (options) + case $line[1] in + (repackage|remove) + _arguments ':feature:__box_list' + ;; + esac + ;; + esac +} + + + + +local expl +local -a boxes installed_boxes + +local curcontext="$curcontext" state line +typeset -A opt_args + +_arguments -C \ + ':command:->command' \ + '*::options:->options' + +case $state in + (command) + _describe -t commands "gem subcommand" _1st_arguments + return + ;; + + (options) + case $line[1] in + (help) + _arguments ':feature:__task_list' + ;; + + (box) + __vagrant-box + ;; + (up|provision|package|destroy|reload|ssh|halt|resume|status) + _arguments ':feature:__vm_list' + esac + ;; +esac diff --git a/dot.oh-my-zsh/plugins/vi-mode/vi-mode.plugin.zsh b/dot.oh-my-zsh/plugins/vi-mode/vi-mode.plugin.zsh new file mode 100644 index 0000000..f91be70 --- /dev/null +++ b/dot.oh-my-zsh/plugins/vi-mode/vi-mode.plugin.zsh @@ -0,0 +1,40 @@ +# Ensures that $terminfo values are valid and updates editor information when +# the keymap changes. +function zle-keymap-select zle-line-init zle-line-finish { + # The terminal must be in application mode when ZLE is active for $terminfo + # values to be valid. + if (( $+terminfo[smkx] && $+terminfo[rmkx] )); then + case "$0" in + (zle-line-init) + # Enable terminal application mode. + echoti smkx + ;; + (zle-line-finish) + # Disable terminal application mode. + echoti rmkx + ;; + esac + fi + zle reset-prompt + zle -R +} + +zle -N zle-line-init +zle -N zle-line-finish +zle -N zle-keymap-select + +bindkey -v + +# if mode indicator wasn't setup by theme, define default +if [[ "$MODE_INDICATOR" == "" ]]; then + MODE_INDICATOR="%{$fg_bold[red]%}<%{$fg[red]%}<<%{$reset_color%}" +fi + +function vi_mode_prompt_info() { + echo "${${KEYMAP/vicmd/$MODE_INDICATOR}/(main|viins)/}" +} + +# define right prompt, if it wasn't defined by a theme +if [[ "$RPS1" == "" && "$RPROMPT" == "" ]]; then + RPS1='$(vi_mode_prompt_info)' +fi diff --git a/dot.oh-my-zsh/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh b/dot.oh-my-zsh/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh new file mode 100644 index 0000000..0ed2565 --- /dev/null +++ b/dot.oh-my-zsh/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh @@ -0,0 +1,40 @@ +wrapsource=`which virtualenvwrapper_lazy.sh` + +if [[ -f "$wrapsource" ]]; then + source $wrapsource + + if [[ ! $DISABLE_VENV_CD -eq 1 ]]; then + # Automatically activate Git projects' virtual environments based on the + # directory name of the project. Virtual environment name can be overridden + # by placing a .venv file in the project root with a virtualenv name in it + function workon_cwd { + # Check that this is a Git repo + PROJECT_ROOT=`git rev-parse --show-toplevel 2> /dev/null` + if (( $? == 0 )); then + # Check for virtualenv name override + ENV_NAME=`basename "$PROJECT_ROOT"` + if [[ -f "$PROJECT_ROOT/.venv" ]]; then + ENV_NAME=`cat "$PROJECT_ROOT/.venv"` + fi + # Activate the environment only if it is not already active + if [[ "$VIRTUAL_ENV" != "$WORKON_HOME/$ENV_NAME" ]]; then + if [[ -e "$WORKON_HOME/$ENV_NAME/bin/activate" ]]; then + workon "$ENV_NAME" && export CD_VIRTUAL_ENV="$ENV_NAME" + fi + fi + elif [ $CD_VIRTUAL_ENV ]; then + # We've just left the repo, deactivate the environment + # Note: this only happens if the virtualenv was activated automatically + deactivate && unset CD_VIRTUAL_ENV + fi + unset PROJECT_ROOT + } + + # New cd function that does the virtualenv magic + function cd { + builtin cd "$@" && workon_cwd + } + fi +else + print "zsh virtualenvwrapper plugin: Cannot find virtualenvwrapper_lazy.sh. Please install with \`pip install virtualenvwrapper\`." +fi diff --git a/dot.oh-my-zsh/plugins/vundle/vundle.plugin.zsh b/dot.oh-my-zsh/plugins/vundle/vundle.plugin.zsh new file mode 100644 index 0000000..005a584 --- /dev/null +++ b/dot.oh-my-zsh/plugins/vundle/vundle.plugin.zsh @@ -0,0 +1,23 @@ +function vundle-init () { + if [ ! -d ~/.vim/bundle/vundle/ ] + then + mkdir -p ~/.vim/bundle/vundle/ + fi + + if [ ! -d ~/.vim/bundle/vundle/.git/ ] + then + git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle + echo "\n\tRead about vim configuration for vundle at https://github.com/gmarik/vundle\n" + fi +} + +function vundle () { + vundle-init + vim -c "execute \"BundleInstall\" | q | q" +} + + +function vundle-update () { + vundle-init + vim -c "execute \"BundleInstall!\" | q | q" +} diff --git a/dot.oh-my-zsh/plugins/wakeonlan/README b/dot.oh-my-zsh/plugins/wakeonlan/README new file mode 100644 index 0000000..16fdd45 --- /dev/null +++ b/dot.oh-my-zsh/plugins/wakeonlan/README @@ -0,0 +1,29 @@ +This plugin provides a wrapper around the "wakeonlan" tool available from most +distributions' package repositories, or from the following website: + +http://gsd.di.uminho.pt/jpo/software/wakeonlan/ + +In order to use this wrapper, create the ~/.wakeonlan directory, and place in +that directory one file for each device you would like to be able to wake. Give +the file a name that describes the device, such as its hostname. Each file +should contain a line with the mac address of the target device and the network +broadcast address. + +For instance, there might be a file ~/.wakeonlan/leto with the following +contents: + +00:11:22:33:44:55:66 192.168.0.255 + +To wake that device, use the following command: + +# wake leto + +The available device names will be autocompleted, so: + +# wake + +...will suggest "leto", along with any other configuration files that were +placed in the ~/.wakeonlan directory. + +For more information regarding the configuration file format, check the +wakeonlan man page. diff --git a/dot.oh-my-zsh/plugins/wakeonlan/_wake b/dot.oh-my-zsh/plugins/wakeonlan/_wake new file mode 100644 index 0000000..4ab10d3 --- /dev/null +++ b/dot.oh-my-zsh/plugins/wakeonlan/_wake @@ -0,0 +1,4 @@ +#compdef wake +#autoload + +_arguments "1:device to wake:_files -W '$HOME/.wakeonlan'" && return 0 diff --git a/dot.oh-my-zsh/plugins/wakeonlan/wakeonlan.plugin.zsh b/dot.oh-my-zsh/plugins/wakeonlan/wakeonlan.plugin.zsh new file mode 100644 index 0000000..6cef7d4 --- /dev/null +++ b/dot.oh-my-zsh/plugins/wakeonlan/wakeonlan.plugin.zsh @@ -0,0 +1,14 @@ +function wake() { + local config_file="$HOME/.wakeonlan/$1" + if [[ ! -f "$config_file" ]]; then + echo "ERROR: There is no configuration file at \"$config_file\"." + return 1 + fi + + if (( ! $+commands[wakeonlan] )); then + echo "ERROR: Can't find \"wakeonlan\". Are you sure it's installed?" + return 1 + fi + + wakeonlan -f "$config_file" +} diff --git a/dot.oh-my-zsh/plugins/yum/yum.plugin.zsh b/dot.oh-my-zsh/plugins/yum/yum.plugin.zsh new file mode 100644 index 0000000..69abfc4 --- /dev/null +++ b/dot.oh-my-zsh/plugins/yum/yum.plugin.zsh @@ -0,0 +1,16 @@ +## Aliases + +alias ys="yum search" # search package +alias yp="yum info" # show package info +alias yl="yum list" # list packages +alias ygl="yum grouplist" # list package groups +alias yli="yum list installed" # print all installed packages +alias ymc="yum makecache" # rebuilds the yum package list + +alias yu="sudo yum update" # upgrate packages +alias yi="sudo yum install" # install package +alias ygi="sudo yum groupinstall" # install package group +alias yr="sudo yum remove" # remove package +alias ygr="sudo yum groupremove" # remove pagage group +alias yrl="sudo yum remove --remove-leaves" # remove package and leaves +alias yc="sudo yum clean all" # clean cache \ No newline at end of file diff --git a/dot.oh-my-zsh/plugins/zeus/README.md b/dot.oh-my-zsh/plugins/zeus/README.md new file mode 100644 index 0000000..4409943 --- /dev/null +++ b/dot.oh-my-zsh/plugins/zeus/README.md @@ -0,0 +1,41 @@ +## zeus +**Maintainer:** [b4mboo](https://github.com/b4mboo) + +* `zi` aliases `zeus init` +* `zinit` aliases `zeus init` + +* `zs` aliases `zeus start` +* `ztart` aliases `zeus start` + +* `zc` aliases `zeus console` +* `zonsole` aliases `zeus console` + +* `zsr` aliases `zeus server` +* `zerver` aliases `zeus server` + +* `zr` aliases `zeus rake` +* `zake` aliases `zeus rake` + +* `zg` aliases `zeus generate` +* `zenerate` aliases `zeus generate` + +* `zrn` aliases `zeus runner` +* `zunner` aliases `zeus runner` + +* `zcu` aliases `zeus cucumber` +* `zucumber` aliases `zeus cucumber` + +* `zt` aliases `zeus test` +* `zest` aliases `zeus test` + +* `zu` aliases `zeus test test/unit/*` +* `zunits` aliases `zeus test test/unit/*` + +* `zf` aliases `zeus test test/functional/*` +* `zunctional` aliases `zeus test test/functional/*` + +* `za` aliases `zeus test test/unit/*; zeus test test/functional/; zeus cucumber` +* `zall` aliases `zeus test test/unit/*; zeus test test/functional/; zeus cucumber` + +* `zsw` aliases `rm .zeus.sock` +* `zweep` aliases `rm .zeus.sock` diff --git a/dot.oh-my-zsh/plugins/zeus/zeus.plugin.zsh b/dot.oh-my-zsh/plugins/zeus/zeus.plugin.zsh new file mode 100644 index 0000000..2fc7e1e --- /dev/null +++ b/dot.oh-my-zsh/plugins/zeus/zeus.plugin.zsh @@ -0,0 +1,58 @@ +# Some aliases for zeus. (See: https://github.com/burke/zeus) +# Zeus preloads your Rails environment and forks that process whenever +# needed. This effectively speeds up Rails' boot process to under 1 sec. + +# Always use bundler. +# Rails depends on bundler, so we can be pretty sure, that there are no +# problems with this command. For all the other aliases I provided an +# alternative, in case people have conflicts with other plugins (e.g. suse). +alias zeus='bundle exec zeus' + +# Init +alias zi='zeus init' +alias zinit='zeus init' + +# Start +alias zs='zeus start' +alias ztart='zeus start' + +# Console +alias zc='zeus console' +alias zonsole='zeus console' + +# Server +alias zsr='zeus server' +alias zerver='zeus server' + +# Rake +alias zr='zeus rake' +alias zake='zeus rake' + +# Generate +alias zg='zeus generate' +alias zenerate='zeus generate' + +# Runner +alias zrn='zeus runner' +alias zunner='zeus runner' + +# Cucumber +alias zcu='zeus cucumber' +alias zucumber='zeus cucumber' + +# Test +alias zt='zeus test' +alias zest='zeus test' + +alias zu='zeus test test/unit/*' +alias zunits='zeus test test/unit/*' + +alias zf='zeus test test/functional/*' +alias zunctional='zeus test test/functional/*' + +alias za='zeus test test/unit/*; zeus test test/functional/; zeus cucumber' +alias zall='zeus test test/unit/*; zeus test test/functional/; zeus cucumber' + +# Clean up crashed zeus instances. +alias zsw='rm .zeus.sock' +alias zweep='rm .zeus.sock' diff --git a/dot.oh-my-zsh/plugins/zsh-syntax-highlighting b/dot.oh-my-zsh/plugins/zsh-syntax-highlighting new file mode 160000 index 0000000..4519467 --- /dev/null +++ b/dot.oh-my-zsh/plugins/zsh-syntax-highlighting @@ -0,0 +1 @@ +Subproject commit 45194671af8e1d6b37b16e214a58674762ab8e49 diff --git a/dot.oh-my-zsh/templates/zshrc.zsh-template b/dot.oh-my-zsh/templates/zshrc.zsh-template new file mode 100644 index 0000000..2ea9934 --- /dev/null +++ b/dot.oh-my-zsh/templates/zshrc.zsh-template @@ -0,0 +1,39 @@ +# Path to your oh-my-zsh configuration. +ZSH=$HOME/.oh-my-zsh + +# Set name of the theme to load. +# Look in ~/.oh-my-zsh/themes/ +# Optionally, if you set this to "random", it'll load a random theme each +# time that oh-my-zsh is loaded. +ZSH_THEME="robbyrussell" + +# Example aliases +# alias zshconfig="mate ~/.zshrc" +# alias ohmyzsh="mate ~/.oh-my-zsh" + +# Set to this to use case-sensitive completion +# CASE_SENSITIVE="true" + +# Comment this out to disable bi-weekly auto-update checks +# DISABLE_AUTO_UPDATE="true" + +# Uncomment to change how many often would you like to wait before auto-updates occur? (in days) +# export UPDATE_ZSH_DAYS=13 + +# Uncomment following line if you want to disable colors in ls +# DISABLE_LS_COLORS="true" + +# Uncomment following line if you want to disable autosetting terminal title. +# DISABLE_AUTO_TITLE="true" + +# Uncomment following line if you want red dots to be displayed while waiting for completion +# COMPLETION_WAITING_DOTS="true" + +# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) +# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ +# Example format: plugins=(rails git textmate ruby lighthouse) +plugins=(git) + +source $ZSH/oh-my-zsh.sh + +# Customize to your needs... diff --git a/dot.oh-my-zsh/themes/3den.zsh-theme b/dot.oh-my-zsh/themes/3den.zsh-theme new file mode 100644 index 0000000..1d2c7db --- /dev/null +++ b/dot.oh-my-zsh/themes/3den.zsh-theme @@ -0,0 +1,7 @@ +PROMPT=$'%{$fg[white]%}$(~/.rvm/bin/rvm-prompt) %{$fg_bold[cyan]%}%~%{$reset_color%}$(git_prompt_info) %{$fg[cyan]%}%D{[%I:%M:%S]}\ +%{$fg_bold[green]%}%n$%{$reset_color%} ' + +ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[white]%}(" +ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="*" +ZSH_THEME_GIT_PROMPT_CLEAN="" diff --git a/dot.oh-my-zsh/themes/Soliah.zsh-theme b/dot.oh-my-zsh/themes/Soliah.zsh-theme new file mode 100644 index 0000000..237e70f --- /dev/null +++ b/dot.oh-my-zsh/themes/Soliah.zsh-theme @@ -0,0 +1,86 @@ +PROMPT='%{$fg[blue]%}%n%{$reset_color%} on %{$fg[red]%}%M%{$reset_color%} in %{$fg[blue]%}%~%b%{$reset_color%}$(git_time_since_commit)$(check_git_prompt_info) +$ ' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[white]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%})" + +# Text to display if the branch is dirty +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}*%{$reset_color%}" + +# Text to display if the branch is clean +ZSH_THEME_GIT_PROMPT_CLEAN="" + +# Colors vary depending on time lapsed. +ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT="%{$fg[green]%}" +ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM="%{$fg[yellow]%}" +ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG="%{$fg[red]%}" +ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL="%{$fg[cyan]%}" + + +# Git sometimes goes into a detached head state. git_prompt_info doesn't +# return anything in this case. So wrap it in another function and check +# for an empty string. +function check_git_prompt_info() { + if git rev-parse --git-dir > /dev/null 2>&1; then + if [[ -z $(git_prompt_info) ]]; then + echo "%{$fg[magenta]%}detached-head%{$reset_color%})" + else + echo "$(git_prompt_info)" + fi + fi +} + +# Determine if we are using a gemset. +function rvm_gemset() { + GEMSET=`rvm gemset list | grep '=>' | cut -b4-` + if [[ -n $GEMSET ]]; then + echo "%{$fg[yellow]%}$GEMSET%{$reset_color%}|" + fi + +} + +# Determine the time since last commit. If branch is clean, +# use a neutral color, otherwise colors will vary according to time. +function git_time_since_commit() { + if git rev-parse --git-dir > /dev/null 2>&1; then + # Only proceed if there is actually a commit. + if [[ $(git log 2>&1 > /dev/null | grep -c "^fatal: bad default revision") == 0 ]]; then + # Get the last commit. + last_commit=`git log --pretty=format:'%at' -1 2> /dev/null` + now=`date +%s` + seconds_since_last_commit=$((now-last_commit)) + + # Totals + MINUTES=$((seconds_since_last_commit / 60)) + HOURS=$((seconds_since_last_commit/3600)) + + # Sub-hours and sub-minutes + DAYS=$((seconds_since_last_commit / 86400)) + SUB_HOURS=$((HOURS % 24)) + SUB_MINUTES=$((MINUTES % 60)) + + if [[ -n $(git status -s 2> /dev/null) ]]; then + if [ "$MINUTES" -gt 30 ]; then + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG" + elif [ "$MINUTES" -gt 10 ]; then + COLOR="$ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM" + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT" + fi + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL" + fi + + if [ "$HOURS" -gt 24 ]; then + echo "($(rvm_gemset)$COLOR${DAYS}d${SUB_HOURS}h${SUB_MINUTES}m%{$reset_color%}|" + elif [ "$MINUTES" -gt 60 ]; then + echo "($(rvm_gemset)$COLOR${HOURS}h${SUB_MINUTES}m%{$reset_color%}|" + else + echo "($(rvm_gemset)$COLOR${MINUTES}m%{$reset_color%}|" + fi + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL" + echo "($(rvm_gemset)$COLOR~|" + fi + fi +} diff --git a/dot.oh-my-zsh/themes/adben.zsh-theme b/dot.oh-my-zsh/themes/adben.zsh-theme new file mode 100644 index 0000000..9f777e8 --- /dev/null +++ b/dot.oh-my-zsh/themes/adben.zsh-theme @@ -0,0 +1,26 @@ +#!/usr/bin/env zsh +local USER_HOST='%{$terminfo[bold]$fg[yellow]%}%n@%m%{$reset_color%}' +local RETURN_CODE="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" +local GIT_BRANCH='%{$terminfo[bold]$fg[red]%}$(git_prompt_info)%{$reset_color%}' +local CURRENT_DIR='%{$terminfo[bold]$fg[green]%} %~%{$reset_color%}' +local RUBY_RVM='%{$fg[gray]%}‹$(rvm-prompt i v g)›%{$reset_color%}' +local COMMAND_TIP='%{$terminfo[bold]$fg[blue]%}$(wget -qO - http://www.commandlinefu.com/commands/random/plaintext | sed 1d | sed '/^$/d' | sed 's/^/║/g')%{$reset_color%}' +######### PROMPT ######### +PROMPT="%{$terminfo[bold]$fg[blue]%}╔═ %{$reset_color%}${USER_HOST} ${CURRENT_DIR} ${RUBY_RVM} ${GIT_BRANCH} +${COMMAND_TIP} +%{$terminfo[bold]$fg[blue]%}╚═ %{$reset_color%}%B%{$terminfo[bold]$fg[white]%}$%b%{$reset_color%} " +RPS1='${RETURN_CODE}' +RPROMPT='%{$fg[green]%}[%*]%{$reset_color%}' +######### PROMPT ######### +########## GIT ########### +ZSH_THEME_GIT_PROMPT_PREFIX="‹" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$GIT_PROMPT_INFO%}›" +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$GIT_DIRTY_COLOR%}✘" +ZSH_THEME_GIT_PROMPT_CLEAN=" %{$GIT_CLEAN_COLOR%}✔" +ZSH_THEME_GIT_PROMPT_ADDED="%{$FG[082]%}✚%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$FG[166]%}✹%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DELETED="%{$FG[160]%}✖%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_RENAMED="%{$FG[220]%}➜%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$FG[082]%}═%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$FG[190]%}✭%{$reset_color%}" +########## GIT ########### diff --git a/dot.oh-my-zsh/themes/af-magic.zsh-theme b/dot.oh-my-zsh/themes/af-magic.zsh-theme new file mode 100644 index 0000000..c1b00c6 --- /dev/null +++ b/dot.oh-my-zsh/themes/af-magic.zsh-theme @@ -0,0 +1,36 @@ +# af-magic.zsh-theme +# +# Author: Andy Fleming +# URL: http://andyfleming.com/ +# Repo: https://github.com/andyfleming/oh-my-zsh +# Direct Link: https://github.com/andyfleming/oh-my-zsh/blob/master/themes/af-magic.zsh-theme +# +# Created on: June 19, 2012 +# Last modified on: June 20, 2012 + + + +if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="green"; fi +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + +# primary prompt +PROMPT='$FG[237]------------------------------------------------------------%{$reset_color%} +$FG[032]%~\ +$(git_prompt_info) \ +$FG[105]%(!.#.»)%{$reset_color%} ' +PROMPT2='%{$fg[red]%}\ %{$reset_color%}' +RPS1='${return_code}' + + +# color vars +eval my_gray='$FG[237]' +eval my_orange='$FG[214]' + +# right prompt +RPROMPT='$my_gray%n@%m%{$reset_color%}%' + +# git settings +ZSH_THEME_GIT_PROMPT_PREFIX="$FG[075](branch:" +ZSH_THEME_GIT_PROMPT_CLEAN="" +ZSH_THEME_GIT_PROMPT_DIRTY="$my_orange*%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="$FG[075])%{$reset_color%}" diff --git a/dot.oh-my-zsh/themes/afowler.zsh-theme b/dot.oh-my-zsh/themes/afowler.zsh-theme new file mode 100644 index 0000000..3a4753f --- /dev/null +++ b/dot.oh-my-zsh/themes/afowler.zsh-theme @@ -0,0 +1,10 @@ +if [ $UID -eq 0 ]; then CARETCOLOR="red"; else CARETCOLOR="blue"; fi + +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + +PROMPT='%m %{${fg_bold[blue]}%}:: %{$reset_color%}%{${fg[green]}%}%3~ $(git_prompt_info)%{${fg_bold[$CARETCOLOR]}%}»%{${reset_color}%} ' + +RPS1="${return_code}" + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹" +ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}" diff --git a/dot.oh-my-zsh/themes/agnoster.zsh-theme b/dot.oh-my-zsh/themes/agnoster.zsh-theme new file mode 100644 index 0000000..bd6f1a6 --- /dev/null +++ b/dot.oh-my-zsh/themes/agnoster.zsh-theme @@ -0,0 +1,115 @@ +# vim:ft=zsh ts=2 sw=2 sts=2 +# +# agnoster's Theme - https://gist.github.com/3712874 +# A Powerline-inspired theme for ZSH +# +# # README +# +# In order for this theme to render correctly, you will need a +# [Powerline-patched font](https://gist.github.com/1595572). +# +# In addition, I recommend the +# [Solarized theme](https://github.com/altercation/solarized/) and, if you're +# using it on Mac OS X, [iTerm 2](http://www.iterm2.com/) over Terminal.app - +# it has significantly better color fidelity. +# +# # Goals +# +# The aim of this theme is to only show you *relevant* information. Like most +# prompts, it will only show git information when in a git working directory. +# However, it goes a step further: everything from the current user and +# hostname to whether the last call exited with an error to whether background +# jobs are running in this shell will all be displayed automatically when +# appropriate. + +### Segment drawing +# A few utility functions to make it easy and re-usable to draw segmented prompts + +CURRENT_BG='NONE' +SEGMENT_SEPARATOR='⮀' + +# Begin a segment +# Takes two arguments, background and foreground. Both can be omitted, +# rendering default background/foreground. +prompt_segment() { + local bg fg + [[ -n $1 ]] && bg="%K{$1}" || bg="%k" + [[ -n $2 ]] && fg="%F{$2}" || fg="%f" + if [[ $CURRENT_BG != 'NONE' && $1 != $CURRENT_BG ]]; then + echo -n " %{$bg%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR%{$fg%} " + else + echo -n "%{$bg%}%{$fg%} " + fi + CURRENT_BG=$1 + [[ -n $3 ]] && echo -n $3 +} + +# End the prompt, closing any open segments +prompt_end() { + if [[ -n $CURRENT_BG ]]; then + echo -n " %{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR" + else + echo -n "%{%k%}" + fi + echo -n "%{%f%}" + CURRENT_BG='' +} + +### Prompt components +# Each component will draw itself, and hide itself if no information needs to be shown + +# Context: user@hostname (who am I and where am I) +prompt_context() { + local user=`whoami` + + if [[ "$user" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then + prompt_segment black default "%(!.%{%F{yellow}%}.)$user@%m" + fi +} + +# Git: branch/detached head, dirty status +prompt_git() { + local ref dirty + if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then + ZSH_THEME_GIT_PROMPT_DIRTY='±' + dirty=$(parse_git_dirty) + ref=$(git symbolic-ref HEAD 2> /dev/null) || ref="➦ $(git show-ref --head -s --abbrev |head -n1 2> /dev/null)" + if [[ -n $dirty ]]; then + prompt_segment yellow black + else + prompt_segment green black + fi + echo -n "${ref/refs\/heads\//⭠ }$dirty" + fi +} + +# Dir: current working directory +prompt_dir() { + prompt_segment blue black '%~' +} + +# Status: +# - was there an error +# - am I root +# - are there background jobs? +prompt_status() { + local symbols + symbols=() + [[ $RETVAL -ne 0 ]] && symbols+="%{%F{red}%}$RETVAL" + [[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%}⚡" + [[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{cyan}%}⚙" + + [[ -n "$symbols" ]] && prompt_segment black default "$symbols" +} + +## Main prompt +build_prompt() { + RETVAL=$? + prompt_status + prompt_context + prompt_dir + prompt_git + prompt_end +} + +PROMPT='%{%f%b%k%}$(build_prompt) ' diff --git a/dot.oh-my-zsh/themes/alanpeabody.zsh-theme b/dot.oh-my-zsh/themes/alanpeabody.zsh-theme new file mode 100644 index 0000000..4a1b1b3 --- /dev/null +++ b/dot.oh-my-zsh/themes/alanpeabody.zsh-theme @@ -0,0 +1,28 @@ + +local user='%{$fg[magenta]%}%n@%{$fg[magenta]%}%m%{$reset_color%}' +local pwd='%{$fg[blue]%}%~%{$reset_color%}' +local rvm='' +if which rvm-prompt &> /dev/null; then + rvm='%{$fg[green]%}‹$(rvm-prompt i v g)›%{$reset_color%}' +else + if which rbenv &> /dev/null; then + rvm='%{$fg[green]%}‹$(rbenv version | sed -e "s/ (set.*$//")›%{$reset_color%}' + fi +fi +local return_code='%(?..%{$fg[red]%}%? ↵%{$reset_color%})' +local git_branch='$(git_prompt_status)%{$reset_color%}$(git_prompt_info)%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%} ✚" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[blue]%} ✹" +ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✖" +ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[magenta]%} ➜" +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[yellow]%} ═" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ✭" + +PROMPT="${user} ${pwd}$ " +RPROMPT="${return_code} ${git_branch} ${rvm}" diff --git a/dot.oh-my-zsh/themes/apple.zsh-theme b/dot.oh-my-zsh/themes/apple.zsh-theme new file mode 100644 index 0000000..275341d --- /dev/null +++ b/dot.oh-my-zsh/themes/apple.zsh-theme @@ -0,0 +1,29 @@ +function toon { + echo -n "" +} + +get_git_dirty() { + git diff --quiet || echo '*' +} + +autoload -Uz vcs_info +autoload -U colors && colors +zstyle ':vcs_info:*' check-for-changes true +zstyle ':vcs_info:*' unstagedstr '%F{red}*' # display this when there are unstaged changes +zstyle ':vcs_info:*' stagedstr '%F{yellow}+' # display this when there are staged changes +zstyle ':vcs_info:*' actionformats \ + '%F{5}%F{5}[%F{2}%b%F{3}|%F{1}%a%c%u%F{5}]%f ' +zstyle ':vcs_info:*' formats \ + '%F{5}%F{5}[%F{2}%b%c%u%F{5}]%f ' +zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{3}%r' +zstyle ':vcs_info:*' enable git cvs svn + +theme_precmd () { + vcs_info +} + +setopt prompt_subst +PROMPT='%{$fg[magenta]%}$(toon)%{$reset_color%} %~/ %{$reset_color%}${vcs_info_msg_0_}%{$reset_color%}' + +autoload -U add-zsh-hook +add-zsh-hook precmd theme_precmd \ No newline at end of file diff --git a/dot.oh-my-zsh/themes/arrow.zsh-theme b/dot.oh-my-zsh/themes/arrow.zsh-theme new file mode 100644 index 0000000..d62dcdc --- /dev/null +++ b/dot.oh-my-zsh/themes/arrow.zsh-theme @@ -0,0 +1,14 @@ +if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="yellow"; fi + +PROMPT='%{$fg[$NCOLOR]%}%c ➤ %{$reset_color%}' +RPROMPT='%{$fg[$NCOLOR]%}%p $(git_prompt_info)%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="git:" +ZSH_THEME_GIT_PROMPT_SUFFIX="" +ZSH_THEME_GIT_PROMPT_DIRTY="*" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +# See http://geoff.greer.fm/lscolors/ +export LSCOLORS="exfxcxdxbxbxbxbxbxbxbx" +export LS_COLORS="di=34;40:ln=35;40:so=32;40:pi=33;40:ex=31;40:bd=31;40:cd=31;40:su=31;40:sg=31;40:tw=31;40:ow=31;40:" + diff --git a/dot.oh-my-zsh/themes/aussiegeek.zsh-theme b/dot.oh-my-zsh/themes/aussiegeek.zsh-theme new file mode 100644 index 0000000..c2c7f65 --- /dev/null +++ b/dot.oh-my-zsh/themes/aussiegeek.zsh-theme @@ -0,0 +1,8 @@ + +PROMPT='$fg_bold[blue][ $fg[red]%t $fg_bold[blue]] $fg_bold[blue] [ $fg[red]%n@%m:%~$(git_prompt_info)$fg[yellow]$(rvm_prompt_info)$fg_bold[blue] ]$reset_color + $ ' +# git theming +ZSH_THEME_GIT_PROMPT_PREFIX="$fg_bold[green](" +ZSH_THEME_GIT_PROMPT_SUFFIX=")" +ZSH_THEME_GIT_PROMPT_CLEAN="✔" +ZSH_THEME_GIT_PROMPT_DIRTY="✗" diff --git a/dot.oh-my-zsh/themes/awesomepanda.zsh-theme b/dot.oh-my-zsh/themes/awesomepanda.zsh-theme new file mode 100644 index 0000000..411b898 --- /dev/null +++ b/dot.oh-my-zsh/themes/awesomepanda.zsh-theme @@ -0,0 +1,18 @@ +# the svn plugin has to be activated for this to work. + +PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%}$(svn_prompt_info)%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%})%{$fg[yellow]%} ✗ %{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%}) " + + + +ZSH_PROMPT_BASE_COLOR="%{$fg_bold[blue]%}" +ZSH_THEME_REPO_NAME_COLOR="%{$fg_bold[red]%}" + +ZSH_THEME_SVN_PROMPT_PREFIX="svn:(" +ZSH_THEME_SVN_PROMPT_SUFFIX=")" +ZSH_THEME_SVN_PROMPT_DIRTY="%{$fg[red]%} ✘ %{$reset_color%}" +ZSH_THEME_SVN_PROMPT_CLEAN=" " \ No newline at end of file diff --git a/dot.oh-my-zsh/themes/bira.zsh-theme b/dot.oh-my-zsh/themes/bira.zsh-theme new file mode 100644 index 0000000..2157204 --- /dev/null +++ b/dot.oh-my-zsh/themes/bira.zsh-theme @@ -0,0 +1,21 @@ +# ZSH Theme - Preview: http://gyazo.com/8becc8a7ed5ab54a0262a470555c3eed.png +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + +local user_host='%{$terminfo[bold]$fg[green]%}%n@%m%{$reset_color%}' +local current_dir='%{$terminfo[bold]$fg[blue]%} %~%{$reset_color%}' +local rvm_ruby='' +if which rvm-prompt &> /dev/null; then + rvm_ruby='%{$fg[red]%}‹$(rvm-prompt i v g)›%{$reset_color%}' +else + if which rbenv &> /dev/null; then + rvm_ruby='%{$fg[red]%}‹$(rbenv version | sed -e "s/ (set.*$//")›%{$reset_color%}' + fi +fi +local git_branch='$(git_prompt_info)%{$reset_color%}' + +PROMPT="╭─${user_host} ${current_dir} ${rvm_ruby} ${git_branch} +╰─%B$%b " +RPS1="${return_code}" + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹" +ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}" diff --git a/dot.oh-my-zsh/themes/blinks.zsh-theme b/dot.oh-my-zsh/themes/blinks.zsh-theme new file mode 100644 index 0000000..3db7012 --- /dev/null +++ b/dot.oh-my-zsh/themes/blinks.zsh-theme @@ -0,0 +1,20 @@ +# https://github.com/blinks zsh theme + +function _prompt_char() { + if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then + echo "%{%F{blue}%}±%{%f%k%b%}" + else + echo ' ' + fi +} + +ZSH_THEME_GIT_PROMPT_PREFIX=" [%{%B%F{blue}%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{%f%k%b%K{black}%B%F{green}%}]" +ZSH_THEME_GIT_PROMPT_DIRTY=" %{%F{red}%}*%{%f%k%b%}" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +PROMPT='%{%f%k%b%} +%{%K{black}%B%F{green}%}%n%{%B%F{blue}%}@%{%B%F{cyan}%}%m%{%B%F{green}%} %{%b%F{yellow}%K{black}%}%~%{%B%F{green}%}$(git_prompt_info)%E%{%f%k%b%} +%{%K{black}%}$(_prompt_char)%{%K{black}%} %#%{%f%k%b%} ' + +RPROMPT='!%{%B%F{cyan}%}%!%{%f%k%b%}' diff --git a/dot.oh-my-zsh/themes/candy-kingdom.zsh-theme b/dot.oh-my-zsh/themes/candy-kingdom.zsh-theme new file mode 100644 index 0000000..25aeb65 --- /dev/null +++ b/dot.oh-my-zsh/themes/candy-kingdom.zsh-theme @@ -0,0 +1,37 @@ +# neuralsanwich.zsh-theme +# +# Author: Sean Jones +# URL: http://www.neuralsandwich.com +# Repo: +# Direct link: +# Create: +# Modified: + +if [ "x$OH_MY_ZSH_HG" = "x" ]; then + OH_MY_ZSH_HG="hg" +fi + +function hg_prompt_info { + $OH_MY_ZSH_HG prompt --angle-brackets "\ +< on %{$fg[magenta]%}%{$reset_color%}>\ +< at %{$fg[yellow]%}%{$reset_color%}>\ +%{$fg[green]%}%{$reset_color%}< +patches: >" 2>/dev/null +} + +function box_name { + [ -f ~/.box-name ] && cat ~/.box-name || hostname -s +} + +PROMPT=' +%{$fg[magenta]%}%n%{$reset_color%}@%{$fg[yellow]%}$(box_name)%{$reset_color%}:%{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(hg_prompt_info)$(git_prompt_info) +%(?,,%{${fg_bold[white]}%}[%?]%{$reset_color%} )$ ' + +ZSH_THEME_GIT_PROMPT_PREFIX=" (%{$fg[magenta]%}branch: " +ZSH_THEME_GIT_PROMPT_CLEAN="" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[red]%}?" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[orange]%}!" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%})" + +local return_status="%{$fg[red]%}%(?..✘)%{$reset_color%}" +RPROMPT='${return_status}$(battery_time_remaining) $(battery_pct_prompt)%{$reset_color%}' diff --git a/dot.oh-my-zsh/themes/candy.zsh-theme b/dot.oh-my-zsh/themes/candy.zsh-theme new file mode 100644 index 0000000..bc125c5 --- /dev/null +++ b/dot.oh-my-zsh/themes/candy.zsh-theme @@ -0,0 +1,7 @@ +PROMPT=$'%{$fg_bold[green]%}%n@%m %{$fg[blue]%}%D{[%I:%M:%S]} %{$reset_color%}%{$fg[white]%}[%~]%{$reset_color%} $(git_prompt_info)\ +%{$fg[blue]%}->%{$fg_bold[blue]%} %#%{$reset_color%} ' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}[" +ZSH_THEME_GIT_PROMPT_SUFFIX="]%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}*%{$fg[green]%}" +ZSH_THEME_GIT_PROMPT_CLEAN="" diff --git a/dot.oh-my-zsh/themes/clean.zsh-theme b/dot.oh-my-zsh/themes/clean.zsh-theme new file mode 100644 index 0000000..7ee29cb --- /dev/null +++ b/dot.oh-my-zsh/themes/clean.zsh-theme @@ -0,0 +1,14 @@ +if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="white"; fi + +PROMPT='%{$fg[$NCOLOR]%}%B%n%b%{$reset_color%}:%{$fg[blue]%}%B%c/%b%{$reset_color%} $(git_prompt_info)%(!.#.$) ' +RPROMPT='[%*]' + +# git theming +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg_no_bold[yellow]%}%B" +ZSH_THEME_GIT_PROMPT_SUFFIX="%b%{$fg_bold[blue]%})%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_CLEAN="" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%}✗" + +# LS colors, made with http://geoff.greer.fm/lscolors/ +export LSCOLORS="Gxfxcxdxbxegedabagacad" +export LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:' diff --git a/dot.oh-my-zsh/themes/cloud.zsh-theme b/dot.oh-my-zsh/themes/cloud.zsh-theme new file mode 100644 index 0000000..4efbf97 --- /dev/null +++ b/dot.oh-my-zsh/themes/cloud.zsh-theme @@ -0,0 +1,10 @@ +if [[ -z $ZSH_THEME_CLOUD_PREFIX ]]; then + ZSH_THEME_CLOUD_PREFIX='☁' +fi + +PROMPT='%{$fg_bold[cyan]%}$ZSH_THEME_CLOUD_PREFIX %{$fg_bold[green]%}%p %{$fg[green]%}%c %{$fg_bold[cyan]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}[%{$fg[cyan]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%}] %{$fg[yellow]%}⚡%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%}]" \ No newline at end of file diff --git a/dot.oh-my-zsh/themes/crunch.zsh-theme b/dot.oh-my-zsh/themes/crunch.zsh-theme new file mode 100644 index 0000000..b2759a1 --- /dev/null +++ b/dot.oh-my-zsh/themes/crunch.zsh-theme @@ -0,0 +1,43 @@ +# CRUNCH - created from Steve Eley's cat waxing. +# Initially hacked from the Dallas theme. Thanks, Dallas Reedy. +# +# This theme assumes you do most of your oh-my-zsh'ed "colorful" work at a single machine, +# and eschews the standard space-consuming user and hostname info. Instead, only the +# things that vary in my own workflow are shown: +# +# * The time (not the date) +# * The RVM version and gemset (omitting the 'ruby' name if it's MRI) +# * The current directory +# * The Git branch and its 'dirty' state +# +# Colors are at the top so you can mess with those separately if you like. +# For the most part I stuck with Dallas's. + +CRUNCH_BRACKET_COLOR="%{$fg[white]%}" +CRUNCH_TIME_COLOR="%{$fg[yellow]%}" +CRUNCH_RVM_COLOR="%{$fg[magenta]%}" +CRUNCH_DIR_COLOR="%{$fg[cyan]%}" +CRUNCH_GIT_BRANCH_COLOR="%{$fg[green]%}" +CRUNCH_GIT_CLEAN_COLOR="%{$fg[green]%}" +CRUNCH_GIT_DIRTY_COLOR="%{$fg[red]%}" + +# These Git variables are used by the oh-my-zsh git_prompt_info helper: +ZSH_THEME_GIT_PROMPT_PREFIX="$CRUNCH_BRACKET_COLOR:$CRUNCH_GIT_BRANCH_COLOR" +ZSH_THEME_GIT_PROMPT_SUFFIX="" +ZSH_THEME_GIT_PROMPT_CLEAN=" $CRUNCH_GIT_CLEAN_COLOR✓" +ZSH_THEME_GIT_PROMPT_DIRTY=" $CRUNCH_GIT_DIRTY_COLOR✗" + +# Our elements: +CRUNCH_TIME_="$CRUNCH_BRACKET_COLOR{$CRUNCH_TIME_COLOR%T$CRUNCH_BRACKET_COLOR}%{$reset_color%}" +if which rvm-prompt &> /dev/null; then + CRUNCH_RVM_="$CRUNCH_BRACKET_COLOR"["$CRUNCH_RVM_COLOR\${\$(~/.rvm/bin/rvm-prompt i v g)#ruby-}$CRUNCH_BRACKET_COLOR"]"%{$reset_color%}" +else + if which rbenv &> /dev/null; then + CRUNCH_RVM_="$CRUNCH_BRACKET_COLOR"["$CRUNCH_RVM_COLOR\${\$(rbenv version | sed -e 's/ (set.*$//' -e 's/^ruby-//')}$CRUNCH_BRACKET_COLOR"]"%{$reset_color%}" + fi +fi +CRUNCH_DIR_="$CRUNCH_DIR_COLOR%~\$(git_prompt_info) " +CRUNCH_PROMPT="$CRUNCH_BRACKET_COLOR➭ " + +# Put it all together! +PROMPT="$CRUNCH_TIME_$CRUNCH_RVM_$CRUNCH_DIR_$CRUNCH_PROMPT%{$reset_color%}" diff --git a/dot.oh-my-zsh/themes/cypher.zsh-theme b/dot.oh-my-zsh/themes/cypher.zsh-theme new file mode 100644 index 0000000..45df53d --- /dev/null +++ b/dot.oh-my-zsh/themes/cypher.zsh-theme @@ -0,0 +1,4 @@ +# Based on evan's prompt +# Shows the exit status of the last command if non-zero +# Uses "#" instead of "»" when running with elevated privileges +PROMPT="%m %{${fg_bold[red]}%}:: %{${fg[green]}%}%3~%(0?. . ${fg[red]}%? )%{${fg[blue]}%}»%{${reset_color}%} " diff --git a/dot.oh-my-zsh/themes/dallas.zsh-theme b/dot.oh-my-zsh/themes/dallas.zsh-theme new file mode 100644 index 0000000..e9b4f85 --- /dev/null +++ b/dot.oh-my-zsh/themes/dallas.zsh-theme @@ -0,0 +1,32 @@ +# Personalized! + +# Grab the current date (%D) and time (%T) wrapped in {}: {%D %T} +DALLAS_CURRENT_TIME_="%{$fg[white]%}{%{$fg[yellow]%}%D %T%{$fg[white]%}}%{$reset_color%}" +# Grab the current version of ruby in use (via RVM): [ruby-1.8.7] +if which rvm-prompt &> /dev/null; then + DALLAS_CURRENT_RUBY_="%{$fg[white]%}[%{$fg[magenta]%}\$(~/.rvm/bin/rvm-prompt i v)%{$fg[white]%}]%{$reset_color%}" +else + if which rbenv &> /dev/null; then + DALLAS_CURRENT_RUBY_="%{$fg[white]%}[%{$fg[magenta]%}\$(rbenv version | sed -e 's/ (set.*$//')%{$fg[white]%}]%{$reset_color%}" + fi +fi +# Grab the current machine name: muscato +DALLAS_CURRENT_MACH_="%{$fg[green]%}%m%{$fg[white]%}:%{$reset_color%}" +# Grab the current filepath, use shortcuts: ~/Desktop +# Append the current git branch, if in a git repository: ~aw@master +DALLAS_CURRENT_LOCA_="%{$fg[cyan]%}%~\$(git_prompt_info)%{$reset_color%}" +# Grab the current username: dallas +DALLAS_CURRENT_USER_="%{$fg[red]%}%n%{$reset_color%}" +# Use a % for normal users and a # for privelaged (root) users. +DALLAS_PROMPT_CHAR_="%{$fg[white]%}%(!.#.%%)%{$reset_color%}" +# For the git prompt, use a white @ and blue text for the branch name +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[white]%}@%{$fg[blue]%}" +# Close it all off by resetting the color and styles. +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +# Do nothing if the branch is clean (no changes). +ZSH_THEME_GIT_PROMPT_CLEAN="" +# Add 3 cyan ✗s if this branch is diiirrrty! Dirty branch! +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[cyan]%}✗✗✗" + +# Put it all together! +PROMPT="$DALLAS_CURRENT_TIME_$DALLAS_CURRENT_RUBY_$DALLAS_CURRENT_MACH_$DALLAS_CURRENT_LOCA_ $DALLAS_CURRENT_USER_$DALLAS_PROMPT_CHAR_ " diff --git a/dot.oh-my-zsh/themes/darkblood.zsh-theme b/dot.oh-my-zsh/themes/darkblood.zsh-theme new file mode 100644 index 0000000..33508fb --- /dev/null +++ b/dot.oh-my-zsh/themes/darkblood.zsh-theme @@ -0,0 +1,9 @@ +# meh. Dark Blood Rewind, a new beginning. + +PROMPT=$'%{$fg[red]%}┌[%{$fg_bold[white]%}%n%{$reset_color%}%{$fg[red]%}@%{$fg_bold[white]%}%m%{$reset_color%}%{$fg[red]%}] [%{$fg_bold[white]%}/dev/%y%{$reset_color%}%{$fg[red]%}] %{$(git_prompt_info)%}%(?,,%{$fg[red]%}[%{$fg_bold[white]%}%?%{$reset_color%}%{$fg[red]%}]) +%{$fg[red]%}└[%{$fg_bold[white]%}%~%{$reset_color%}%{$fg[red]%}]>%{$reset_color%} ' +PS2=$' %{$fg[red]%}|>%{$reset_color%} ' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[red]%}[%{$fg_bold[white]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}%{$fg[red]%}] " +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}⚡%{$reset_color%}" diff --git a/dot.oh-my-zsh/themes/daveverwer.zsh-theme b/dot.oh-my-zsh/themes/daveverwer.zsh-theme new file mode 100644 index 0000000..89aef92 --- /dev/null +++ b/dot.oh-my-zsh/themes/daveverwer.zsh-theme @@ -0,0 +1,7 @@ +# Copied and modified from the oh-my-zsh theme from geoffgarside +# Red server name, green cwd, blue git status + +PROMPT='%{$fg[red]%}%m%{$reset_color%}:%{$fg[green]%}%c%{$reset_color%}$(git_prompt_info) %(!.#.$) ' + +ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[blue]%}(" +ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%}" diff --git a/dot.oh-my-zsh/themes/dieter.zsh-theme b/dot.oh-my-zsh/themes/dieter.zsh-theme new file mode 100644 index 0000000..0a5e926 --- /dev/null +++ b/dot.oh-my-zsh/themes/dieter.zsh-theme @@ -0,0 +1,56 @@ +# the idea of this theme is to contain a lot of info in a small string, by +# compressing some parts and colorcoding, which bring useful visual cues, +# while limiting the amount of colors and such to keep it easy on the eyes. +# When a command exited >0, the timestamp will be in red and the exit code +# will be on the right edge. +# The exit code visual cues will only display once. +# (i.e. they will be reset, even if you hit enter a few times on empty command prompts) + +typeset -A host_repr + +# translate hostnames into shortened, colorcoded strings +host_repr=('dieter-ws-a7n8x-arch' "%{$fg_bold[green]%}ws" 'dieter-p4sci-arch' "%{$fg_bold[blue]%}p4") + +# local time, color coded by last return code +time_enabled="%(?.%{$fg[green]%}.%{$fg[red]%})%*%{$reset_color%}" +time_disabled="%{$fg[green]%}%*%{$reset_color%}" +time=$time_enabled + +# user part, color coded by privileges +local user="%(!.%{$fg[blue]%}.%{$fg[blue]%})%n%{$reset_color%}" + +# Hostname part. compressed and colorcoded per host_repr array +# if not found, regular hostname in default color +local host="@${host_repr[$(hostname)]:-$(hostname)}%{$reset_color%}" + +# Compacted $PWD +local pwd="%{$fg[blue]%}%c%{$reset_color%}" + +PROMPT='${time} ${user}${host} ${pwd} $(git_prompt_info)' + +# i would prefer 1 icon that shows the "most drastic" deviation from HEAD, +# but lets see how this works out +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%} %{$fg[yellow]%}?%{$fg[green]%}%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%}" + +# elaborate exitcode on the right when >0 +return_code_enabled="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" +return_code_disabled= +return_code=$return_code_enabled + +RPS1='${return_code}' + +function accept-line-or-clear-warning () { + if [[ -z $BUFFER ]]; then + time=$time_disabled + return_code=$return_code_disabled + else + time=$time_enabled + return_code=$return_code_enabled + fi + zle accept-line +} +zle -N accept-line-or-clear-warning +bindkey '^M' accept-line-or-clear-warning diff --git a/dot.oh-my-zsh/themes/dogenpunk.zsh-theme b/dot.oh-my-zsh/themes/dogenpunk.zsh-theme new file mode 100644 index 0000000..f4d65ab --- /dev/null +++ b/dot.oh-my-zsh/themes/dogenpunk.zsh-theme @@ -0,0 +1,85 @@ +# ----------------------------------------------------------------------------- +# FILE: dogenpunk.zsh-theme +# DESCRIPTION: oh-my-zsh theme file. +# AUTHOR: Matthew Nelson (dogenpunk@gmail.com) +# VERSION: 0.1 +# SCREENSHOT: coming soon +# ----------------------------------------------------------------------------- + +MODE_INDICATOR="%{$fg_bold[red]%}❮%{$reset_color%}%{$fg[red]%}❮❮%{$reset_color%}" +local return_status="%{$fg[red]%}%(?..⏎)%{$reset_color%}" + +PROMPT='%{$fg[blue]%}%m%{$reset_color%}%{$fg_bold[white]%} ओम् %{$reset_color%}%{$fg[cyan]%}%~:%{$reset_color%}$(git_time_since_commit)$(git_prompt_info) +%{$fg[red]%}%!%{$reset_color%} $(prompt_char) ' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[green]%}git%{$reset_color%}@%{$bg[white]%}%{$fg[black]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%})" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}!%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +RPROMPT='${return_status}$(git_prompt_status)%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%} ✚" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[blue]%} ✹" +ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✖" +ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[magenta]%} ➜" +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[yellow]%} ═" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ✭" + +function prompt_char() { + git branch >/dev/null 2>/dev/null && echo "%{$fg[green]%}±%{$reset_color%}" && return + hg root >/dev/null 2>/dev/null && echo "%{$fg_bold[red]%}☿%{$reset_color%}" && return + echo "%{$fg[cyan]%}◯ %{$reset_color%}" +} + +# Colors vary depending on time lapsed. +ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT="%{$fg[green]%}" +ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM="%{$fg[yellow]%}" +ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG="%{$fg[red]%}" +ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL="%{$fg[cyan]%}" + +# Determine the time since last commit. If branch is clean, +# use a neutral color, otherwise colors will vary according to time. +function git_time_since_commit() { + if git rev-parse --git-dir > /dev/null 2>&1; then + # Only proceed if there is actually a commit. + if [[ $(git log 2>&1 > /dev/null | grep -c "^fatal: bad default revision") == 0 ]]; then + # Get the last commit. + last_commit=`git log --pretty=format:'%at' -1 2> /dev/null` + now=`date +%s` + seconds_since_last_commit=$((now-last_commit)) + + # Totals + MINUTES=$((seconds_since_last_commit / 60)) + HOURS=$((seconds_since_last_commit/3600)) + + # Sub-hours and sub-minutes + DAYS=$((seconds_since_last_commit / 86400)) + SUB_HOURS=$((HOURS % 24)) + SUB_MINUTES=$((MINUTES % 60)) + + if [[ -n $(git status -s 2> /dev/null) ]]; then + if [ "$MINUTES" -gt 30 ]; then + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG" + elif [ "$MINUTES" -gt 10 ]; then + COLOR="$ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM" + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT" + fi + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL" + fi + + if [ "$HOURS" -gt 24 ]; then + echo "($COLOR${DAYS}d${SUB_HOURS}h${SUB_MINUTES}m%{$reset_color%}|" + elif [ "$MINUTES" -gt 60 ]; then + echo "($COLOR${HOURS}h${SUB_MINUTES}m%{$reset_color%}|" + else + echo "($COLOR${MINUTES}m%{$reset_color%}|" + fi + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL" + echo "($COLOR~|" + fi + fi +} diff --git a/dot.oh-my-zsh/themes/dpoggi.zsh-theme b/dot.oh-my-zsh/themes/dpoggi.zsh-theme new file mode 100644 index 0000000..6469a20 --- /dev/null +++ b/dot.oh-my-zsh/themes/dpoggi.zsh-theme @@ -0,0 +1,14 @@ +if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="green"; fi +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + +PROMPT='%{$fg[$NCOLOR]%}%n%{$reset_color%}@%{$fg[cyan]%}%m\ +%{$reset_color%}:%{$fg[magenta]%}%~\ +$(git_prompt_info) \ +%{$fg[red]%}%(!.#.»)%{$reset_color%} ' +PROMPT2='%{$fg[red]%}\ %{$reset_color%}' +RPS1='${return_code}' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}(" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%}○%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}⚡%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$fg[yellow]%})%{$reset_color%}" diff --git a/dot.oh-my-zsh/themes/dst.zsh-theme b/dot.oh-my-zsh/themes/dst.zsh-theme new file mode 100644 index 0000000..3e2539d --- /dev/null +++ b/dot.oh-my-zsh/themes/dst.zsh-theme @@ -0,0 +1,16 @@ + +ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[green]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}!" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +function prompt_char { + if [ $UID -eq 0 ]; then echo "%{$fg[red]%}#%{$reset_color%}"; else echo $; fi +} + +PROMPT='%(?, ,%{$fg[red]%}FAIL%{$reset_color%} +) +%{$fg[magenta]%}%n%{$reset_color%}@%{$fg[yellow]%}%m%{$reset_color%}: %{$fg_bold[blue]%}%~%{$reset_color%}$(git_prompt_info) +%_ $(prompt_char) ' + +RPROMPT='%{$fg[green]%}[%*]%{$reset_color%}' diff --git a/dot.oh-my-zsh/themes/dstufft.zsh-theme b/dot.oh-my-zsh/themes/dstufft.zsh-theme new file mode 100644 index 0000000..5a23fce --- /dev/null +++ b/dot.oh-my-zsh/themes/dstufft.zsh-theme @@ -0,0 +1,19 @@ +function prompt_char { + git branch >/dev/null 2>/dev/null && echo '±' && return + hg root >/dev/null 2>/dev/null && echo 'Hg' && return + echo '○' +} + +function virtualenv_info { + [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') ' +} + +PROMPT=' +%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}%m%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(git_prompt_info) +$(virtualenv_info)$(prompt_char) ' + +ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%}!" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[green]%}?" +ZSH_THEME_GIT_PROMPT_CLEAN="" diff --git a/dot.oh-my-zsh/themes/duellj.zsh-theme b/dot.oh-my-zsh/themes/duellj.zsh-theme new file mode 100644 index 0000000..7350b43 --- /dev/null +++ b/dot.oh-my-zsh/themes/duellj.zsh-theme @@ -0,0 +1,8 @@ + +# user, host, full path, and time/date +# on two lines for easier vgrepping +# entry in a nice long thread on the Arch Linux forums: http://bbs.archlinux.org/viewtopic.php?pid=521888#p521888 +PROMPT=$'%{\e[0;34m%}%B┌─[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;34m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}%!%{\e[0;34m%}%B]%b%{\e[0m%} +%{\e[0;34m%}%B└─%B[%{\e[1;35m%}$%{\e[0;34m%}%B]%{\e[0m%}%b ' +RPROMPT='[%*]' +PS2=$' \e[0;34m%}%B>%{\e[0m%}%b ' diff --git a/dot.oh-my-zsh/themes/eastwood.zsh-theme b/dot.oh-my-zsh/themes/eastwood.zsh-theme new file mode 100644 index 0000000..db25299 --- /dev/null +++ b/dot.oh-my-zsh/themes/eastwood.zsh-theme @@ -0,0 +1,23 @@ +#RVM settings +if [[ -s ~/.rvm/scripts/rvm ]] ; then + RPS1="%{$fg[yellow]%}rvm:%{$reset_color%}%{$fg[red]%}\$(~/.rvm/bin/rvm-prompt)%{$reset_color%} $EPS1" +else + if which rbenv &> /dev/null; then + RPS1="%{$fg[yellow]%}rbenv:%{$reset_color%}%{$fg[red]%}\$(rbenv version | sed -e 's/ (set.*$//')%{$reset_color%} $EPS1" + fi +fi + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$reset_color%}%{$fg[green]%}[" +ZSH_THEME_GIT_PROMPT_SUFFIX="]%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}*%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +#Customized git status, oh-my-zsh currently does not allow render dirty status before branch +git_custom_status() { + local cb=$(current_branch) + if [ -n "$cb" ]; then + echo "$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_PREFIX$(current_branch)$ZSH_THEME_GIT_PROMPT_SUFFIX" + fi +} + +PROMPT='$(git_custom_status)%{$fg[cyan]%}[%~% ]%{$reset_color%}%B$%b ' diff --git a/dot.oh-my-zsh/themes/edvardm.zsh-theme b/dot.oh-my-zsh/themes/edvardm.zsh-theme new file mode 100644 index 0000000..f9ca1a9 --- /dev/null +++ b/dot.oh-my-zsh/themes/edvardm.zsh-theme @@ -0,0 +1,6 @@ +PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg_bold[white]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" diff --git a/dot.oh-my-zsh/themes/evan.zsh-theme b/dot.oh-my-zsh/themes/evan.zsh-theme new file mode 100644 index 0000000..5ef1f40 --- /dev/null +++ b/dot.oh-my-zsh/themes/evan.zsh-theme @@ -0,0 +1,2 @@ +# Evan describes this sexy prompt as: "a skinny, topless prompt" +PROMPT='%m :: %2~ %B»%b ' \ No newline at end of file diff --git a/dot.oh-my-zsh/themes/example.zsh-theme b/dot.oh-my-zsh/themes/example.zsh-theme new file mode 100644 index 0000000..dbd9dc9 --- /dev/null +++ b/dot.oh-my-zsh/themes/example.zsh-theme @@ -0,0 +1,5 @@ +# Found on the ZshWiki +# http://zshwiki.org/home/config/prompt +# + +PROMPT="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~ %{$reset_color%}%% " \ No newline at end of file diff --git a/dot.oh-my-zsh/themes/fino-time.zsh-theme b/dot.oh-my-zsh/themes/fino-time.zsh-theme new file mode 100644 index 0000000..7154e09 --- /dev/null +++ b/dot.oh-my-zsh/themes/fino-time.zsh-theme @@ -0,0 +1,39 @@ +# Fino-time theme by Aexander Berezovsky (http://berezovsky.me) based on Fino by Max Masnick (http://max.masnick.me) + +# Use with a dark background and 256-color terminal! +# Meant for people with RVM and git. Tested only on OS X 10.7. + +# You can set your computer name in the ~/.box-name file if you want. + +# Borrowing shamelessly from these oh-my-zsh themes: +# bira +# robbyrussell +# +# Also borrowing from http://stevelosh.com/blog/2010/02/my-extravagant-zsh-prompt/ + +function virtualenv_info { + [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') ' +} + +function prompt_char { + git branch >/dev/null 2>/dev/null && echo '⠠⠵' && return + echo '○' +} + +function box_name { + [ -f ~/.box-name ] && cat ~/.box-name || hostname -s +} + + +local rvm_ruby='‹$(rvm-prompt i v g)›%{$reset_color%}' +local current_dir='${PWD/#$HOME/~}' +local git_info='$(git_prompt_info)' + + +PROMPT="╭─%{$FG[040]%}%n%{$reset_color%} %{$FG[239]%}at%{$reset_color%} %{$FG[033]%}$(box_name)%{$reset_color%} %{$FG[239]%}in%{$reset_color%} %{$terminfo[bold]$FG[226]%}${current_dir}%{$reset_color%}${git_info} %{$FG[239]%}using%{$FG[243]%} ${rvm_ruby} %D - %* +╰─$(virtualenv_info)$(prompt_char) " + +ZSH_THEME_GIT_PROMPT_PREFIX=" %{$FG[239]%}on%{$reset_color%} %{$fg[255]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$FG[202]%}✘✘✘" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$FG[040]%}✔" diff --git a/dot.oh-my-zsh/themes/fino.zsh-theme b/dot.oh-my-zsh/themes/fino.zsh-theme new file mode 100644 index 0000000..26e5471 --- /dev/null +++ b/dot.oh-my-zsh/themes/fino.zsh-theme @@ -0,0 +1,46 @@ +# Fino theme by Max Masnick (http://max.masnick.me) + +# Use with a dark background and 256-color terminal! +# Meant for people with RVM and git. Tested only on OS X 10.7. + +# You can set your computer name in the ~/.box-name file if you want. + +# Borrowing shamelessly from these oh-my-zsh themes: +# bira +# robbyrussell +# +# Also borrowing from http://stevelosh.com/blog/2010/02/my-extravagant-zsh-prompt/ + +function virtualenv_info { + [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') ' +} + +function prompt_char { + git branch >/dev/null 2>/dev/null && echo '±' && return + echo '○' +} + +function box_name { + [ -f ~/.box-name ] && cat ~/.box-name || hostname -s +} + + +local rvm_ruby='' +if which rvm-prompt &> /dev/null; then + rvm_ruby='‹$(rvm-prompt i v g)›%{$reset_color%}' +else + if which rbenv &> /dev/null; then + rvm_ruby='‹$(rbenv version | sed -e "s/ (set.*$//")›%{$reset_color%}' + fi +fi +local current_dir='${PWD/#$HOME/~}' +local git_info='$(git_prompt_info)' + + +PROMPT="╭─%{$FG[040]%}%n%{$reset_color%} %{$FG[239]%}at%{$reset_color%} %{$FG[033]%}$(box_name)%{$reset_color%} %{$FG[239]%}in%{$reset_color%} %{$terminfo[bold]$FG[226]%}${current_dir}%{$reset_color%}${git_info} %{$FG[239]%}using%{$FG[243]%} ${rvm_ruby} +╰─$(virtualenv_info)$(prompt_char) " + +ZSH_THEME_GIT_PROMPT_PREFIX=" %{$FG[239]%}on%{$reset_color%} %{$fg[255]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$FG[202]%}✘✘✘" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$FG[040]%}✔" \ No newline at end of file diff --git a/dot.oh-my-zsh/themes/fishy.zsh-theme b/dot.oh-my-zsh/themes/fishy.zsh-theme new file mode 100644 index 0000000..e9f78a5 --- /dev/null +++ b/dot.oh-my-zsh/themes/fishy.zsh-theme @@ -0,0 +1,24 @@ +# ZSH Theme emulating the Fish shell's default prompt. + +_fishy_collapsed_wd() { + echo $(pwd | perl -pe "s|^$HOME|~|g; s|/([^/])[^/]*(?=/)|/\$1|g") +} + +local user_color='green'; [ $UID -eq 0 ] && user_color='red' +PROMPT='%n@%m %{$fg[$user_color]%}$(_fishy_collapsed_wd)%{$reset_color%}%(!.#.>) ' +PROMPT2='%{$fg[red]%}\ %{$reset_color%}' + +local return_status="%{$fg_bold[red]%}%(?..%?)%{$reset_color%}" +RPROMPT='${return_status}$(git_prompt_info)$(git_prompt_status)%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX=" " +ZSH_THEME_GIT_PROMPT_SUFFIX="" +ZSH_THEME_GIT_PROMPT_DIRTY="" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +ZSH_THEME_GIT_PROMPT_ADDED="%{$fg_bold[green]%}+" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg_bold[blue]%}!" +ZSH_THEME_GIT_PROMPT_DELETED="%{$fg_bold[red]%}-" +ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg_bold[magenta]%}>" +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg_bold[yellow]%}#" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg_bold[cyan]%}?" diff --git a/dot.oh-my-zsh/themes/flazz.zsh-theme b/dot.oh-my-zsh/themes/flazz.zsh-theme new file mode 100644 index 0000000..280794f --- /dev/null +++ b/dot.oh-my-zsh/themes/flazz.zsh-theme @@ -0,0 +1,19 @@ +if [ "$(whoami)" = "root" ] +then CARETCOLOR="red" +else CARETCOLOR="blue" +fi + +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + +PROMPT='%m%{${fg_bold[magenta]}%} :: %{$reset_color%}%{${fg[green]}%}%3~ $(git_prompt_info)%{${fg_bold[$CARETCOLOR]}%}%#%{${reset_color}%} ' + +RPS1='$(vi_mode_prompt_info) ${return_code}' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[cyan]%}‹" +ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}" + +MODE_INDICATOR="%{$fg_bold[magenta]%}<%{$reset_color%}%{$fg[magenta]%}<<%{$reset_color%}" + +# TODO use 265 colors +#MODE_INDICATOR="$FX[bold]$FG[020]<$FX[no_bold]%{$fg[blue]%}<<%{$reset_color%}" +# TODO use two lines if git diff --git a/dot.oh-my-zsh/themes/fletcherm.zsh-theme b/dot.oh-my-zsh/themes/fletcherm.zsh-theme new file mode 100644 index 0000000..e961885 --- /dev/null +++ b/dot.oh-my-zsh/themes/fletcherm.zsh-theme @@ -0,0 +1,12 @@ +# Copied from old version of tonotdo's theme. LSCOLORS modified. +PROMPT='%{$fg_no_bold[cyan]%}%n%{$fg_no_bold[magenta]%}•%{$fg_no_bold[green]%}%3~$(git_prompt_info)%{$reset_color%}» ' +RPROMPT='[%*]' + +# git theming +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg_no_bold[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[blue]%})" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[yellow]%}⚡%{$fg_bold[blue]%})" + +export LSCOLORS="exfxcxdxbxegedabagacad" +export LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:' diff --git a/dot.oh-my-zsh/themes/fox.zsh-theme b/dot.oh-my-zsh/themes/fox.zsh-theme new file mode 100644 index 0000000..1959853 --- /dev/null +++ b/dot.oh-my-zsh/themes/fox.zsh-theme @@ -0,0 +1,8 @@ +#fox theme +PROMPT='%{$fg[cyan]%}┌[%{$fg_bold[white]%}%n%{$reset_color%}%{$fg[cyan]%}☮%{$fg_bold[white]%}%M%{$reset_color%}%{$fg[cyan]%}]%{$fg[white]%}-%{$fg[cyan]%}(%{$fg_bold[white]%}%~%{$reset_color%}%{$fg[cyan]%})$(git_prompt_info) +└> % %{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="-[%{$reset_color%}%{$fg[white]%}git://%{$fg_bold[white]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}%{$fg[cyan]%}]-" +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN=" %{$fg[green]%}✔%{$reset_color%}" diff --git a/dot.oh-my-zsh/themes/frisk.zsh-theme b/dot.oh-my-zsh/themes/frisk.zsh-theme new file mode 100644 index 0000000..2c999a6 --- /dev/null +++ b/dot.oh-my-zsh/themes/frisk.zsh-theme @@ -0,0 +1,22 @@ +PROMPT=$' +%{$fg[blue]%}%/%{$reset_color%} $(git_prompt_info)$(bzr_prompt_info)%{$fg[white]%}[%n@%m]%{$reset_color%} %{$fg[white]%}[%T]%{$reset_color%} +%{$fg_bold[black]%}>%{$reset_color%} ' + +PROMPT2="%{$fg_blod[black]%}%_> %{$reset_color%}" + +GIT_CB="git::" +ZSH_THEME_SCM_PROMPT_PREFIX="%{$fg[green]%}[" +ZSH_THEME_GIT_PROMPT_PREFIX=$ZSH_THEME_SCM_PROMPT_PREFIX$GIT_CB +ZSH_THEME_GIT_PROMPT_SUFFIX="]%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}*%{$fg[green]%}" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +## Bazaar integration +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]%} *%{$reset_color%}" + echo "$ZSH_THEME_SCM_PROMPT_PREFIX$BZR_CB$BZR_DIRTY$ZSH_THEME_GIT_PROMPT_SUFFIX" + fi +} diff --git a/dot.oh-my-zsh/themes/frontcube.zsh-theme b/dot.oh-my-zsh/themes/frontcube.zsh-theme new file mode 100644 index 0000000..d9f5b6d --- /dev/null +++ b/dot.oh-my-zsh/themes/frontcube.zsh-theme @@ -0,0 +1,12 @@ +local rvm="%{$fg[green]%}[$(rvm-prompt i v g)]%{$reset_color%}" + +PROMPT=' +%{$fg_bold[gray]%}%~%{$fg_bold[blue]%}%{$fg_bold[blue]%} % %{$reset_color%} +%{$fg[green]%}➞ %{$reset_color%' + +RPROMPT='$(git_prompt_info) $(rvm)' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}[git:" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}] %{$fg[red]%}✖ %{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%}] %{$fg[green]%}✔%{$reset_color%}" diff --git a/dot.oh-my-zsh/themes/funky.zsh-theme b/dot.oh-my-zsh/themes/funky.zsh-theme new file mode 100644 index 0000000..2451296 --- /dev/null +++ b/dot.oh-my-zsh/themes/funky.zsh-theme @@ -0,0 +1,14 @@ +# Taken from Tassilo's Blog +# http://tsdh.wordpress.com/2007/12/06/my-funky-zsh-prompt/ + +local blue_op="%{$fg[blue]%}[%{$reset_color%}" +local blue_cp="%{$fg[blue]%}]%{$reset_color%}" +local path_p="${blue_op}%~${blue_cp}" +local user_host="${blue_op}%n@%m${blue_cp}" +local ret_status="${blue_op}%?${blue_cp}" +local hist_no="${blue_op}%h${blue_cp}" +local smiley="%(?,%{$fg[green]%}:%)%{$reset_color%},%{$fg[red]%}:(%{$reset_color%})" +PROMPT="╭─${path_p}─${user_host}─${ret_status}─${hist_no} +╰─${blue_op}${smiley}${blue_cp} %# " +local cur_cmd="${blue_op}%_${blue_cp}" +PROMPT2="${cur_cmd}> " \ No newline at end of file diff --git a/dot.oh-my-zsh/themes/fwalch.zsh-theme b/dot.oh-my-zsh/themes/fwalch.zsh-theme new file mode 100644 index 0000000..24edf55 --- /dev/null +++ b/dot.oh-my-zsh/themes/fwalch.zsh-theme @@ -0,0 +1,6 @@ +PROMPT='%{$fg_bold[green]%}%p %{$fg[cyan]%}%c%{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX=" (%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" diff --git a/dot.oh-my-zsh/themes/gallifrey.zsh-theme b/dot.oh-my-zsh/themes/gallifrey.zsh-theme new file mode 100644 index 0000000..fce7cb9 --- /dev/null +++ b/dot.oh-my-zsh/themes/gallifrey.zsh-theme @@ -0,0 +1,8 @@ +# ZSH Theme - Preview: http://img.skitch.com/20091113-qqtd3j8xinysujg5ugrsbr7x1y.jpg +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + +PROMPT='%{$fg[green]%}%m%{$reset_color%} %2~ $(git_prompt_info)%{$reset_color%}%B»%b ' +RPS1="${return_code}" + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹" +ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}" diff --git a/dot.oh-my-zsh/themes/gallois.zsh-theme b/dot.oh-my-zsh/themes/gallois.zsh-theme new file mode 100644 index 0000000..3eac148 --- /dev/null +++ b/dot.oh-my-zsh/themes/gallois.zsh-theme @@ -0,0 +1,25 @@ +ZSH_THEME_GIT_PROMPT_PREFIX="%{$reset_color%}%{$fg[green]%}[" +ZSH_THEME_GIT_PROMPT_SUFFIX="]%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}*%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +#Customized git status, oh-my-zsh currently does not allow render dirty status before branch +git_custom_status() { + local cb=$(current_branch) + if [ -n "$cb" ]; then + echo "$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_PREFIX$(current_branch)$ZSH_THEME_GIT_PROMPT_SUFFIX" + fi +} + +#RVM and git settings +if [[ -s ~/.rvm/scripts/rvm ]] ; then + RPS1='$(git_custom_status)%{$fg[red]%}[`~/.rvm/bin/rvm-prompt`]%{$reset_color%} $EPS1' +else + if which rbenv &> /dev/null; then + RPS1='$(git_custom_status)%{$fg[red]%}[`rbenv version | sed -e "s/ (set.*$//"`]%{$reset_color%} $EPS1' + else + RPS1='$(git_custom_status) $EPS1' + fi +fi + +PROMPT='%{$fg[cyan]%}[%~% ]%(?.%{$fg[green]%}.%{$fg[red]%})%B$%b ' diff --git a/dot.oh-my-zsh/themes/garyblessington.zsh-theme b/dot.oh-my-zsh/themes/garyblessington.zsh-theme new file mode 100644 index 0000000..b4f84a7 --- /dev/null +++ b/dot.oh-my-zsh/themes/garyblessington.zsh-theme @@ -0,0 +1,6 @@ +PROMPT='%{$fg[cyan]%}%c%{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%}% %{$reset_color%}: ' + +ZSH_THEME_GIT_PROMPT_PREFIX="(%{$fg[blue]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[red]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" diff --git a/dot.oh-my-zsh/themes/gentoo.zsh-theme b/dot.oh-my-zsh/themes/gentoo.zsh-theme new file mode 100644 index 0000000..ee205d2 --- /dev/null +++ b/dot.oh-my-zsh/themes/gentoo.zsh-theme @@ -0,0 +1,8 @@ +function prompt_char { + if [ $UID -eq 0 ]; then echo "#"; else echo $; fi +} + +PROMPT='%(!.%{$fg_bold[red]%}.%{$fg_bold[green]%}%n@)%m %{$fg_bold[blue]%}%(!.%1~.%~) $(git_prompt_info)%_$(prompt_char)%{$reset_color%} ' + +ZSH_THEME_GIT_PROMPT_PREFIX="(" +ZSH_THEME_GIT_PROMPT_SUFFIX=") " diff --git a/dot.oh-my-zsh/themes/geoffgarside.zsh-theme b/dot.oh-my-zsh/themes/geoffgarside.zsh-theme new file mode 100644 index 0000000..675ec72 --- /dev/null +++ b/dot.oh-my-zsh/themes/geoffgarside.zsh-theme @@ -0,0 +1,5 @@ +# PROMPT="[%*] %n:%c $(git_prompt_info)%(!.#.$) " +PROMPT='[%*] %{$fg[cyan]%}%n%{$reset_color%}:%{$fg[green]%}%c%{$reset_color%}$(git_prompt_info) %(!.#.$) ' + +ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[yellow]%}git:(" +ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%}" diff --git a/dot.oh-my-zsh/themes/gnzh.zsh-theme b/dot.oh-my-zsh/themes/gnzh.zsh-theme new file mode 100644 index 0000000..3c6b8a4 --- /dev/null +++ b/dot.oh-my-zsh/themes/gnzh.zsh-theme @@ -0,0 +1,54 @@ +# ZSH Theme - Preview: http://dl.dropbox.com/u/4109351/pics/gnzh-zsh-theme.png +# Based on bira theme + +# load some modules +autoload -U colors zsh/terminfo # Used in the colour alias below +colors +setopt prompt_subst + +# make some aliases for the colours: (coud use normal escap.seq's too) +for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE; do + eval PR_$color='%{$fg[${(L)color}]%}' +done +eval PR_NO_COLOR="%{$terminfo[sgr0]%}" +eval PR_BOLD="%{$terminfo[bold]%}" + +# Check the UID +if [[ $UID -ge 1000 ]]; then # normal user + eval PR_USER='${PR_GREEN}%n${PR_NO_COLOR}' + eval PR_USER_OP='${PR_GREEN}%#${PR_NO_COLOR}' + local PR_PROMPT='$PR_NO_COLOR➤ $PR_NO_COLOR' +elif [[ $UID -eq 0 ]]; then # root + eval PR_USER='${PR_RED}%n${PR_NO_COLOR}' + eval PR_USER_OP='${PR_RED}%#${PR_NO_COLOR}' + local PR_PROMPT='$PR_RED➤ $PR_NO_COLOR' +fi + +# Check if we are on SSH or not +if [[ -n "$SSH_CLIENT" || -n "$SSH2_CLIENT" ]]; then + eval PR_HOST='${PR_YELLOW}%M${PR_NO_COLOR}' #SSH +else + eval PR_HOST='${PR_GREEN}%M${PR_NO_COLOR}' # no SSH +fi + +local return_code="%(?..%{$PR_RED%}%? ↵%{$PR_NO_COLOR%})" + +local user_host='${PR_USER}${PR_CYAN}@${PR_HOST}' +local current_dir='%{$PR_BOLD$PR_BLUE%}%~%{$PR_NO_COLOR%}' +local rvm_ruby='' +if which rvm-prompt &> /dev/null; then + rvm_ruby='%{$PR_RED%}‹$(rvm-prompt i v g s)›%{$PR_NO_COLOR%}' +else + if which rbenv &> /dev/null; then + rvm_ruby='%{$PR_RED%}‹$(rbenv version | sed -e "s/ (set.*$//")›%{$PR_NO_COLOR%}' + fi +fi +local git_branch='$(git_prompt_info)%{$PR_NO_COLOR%}' + +#PROMPT="${user_host} ${current_dir} ${rvm_ruby} ${git_branch}$PR_PROMPT " +PROMPT="╭─${user_host} ${current_dir} ${rvm_ruby} ${git_branch} +╰─$PR_PROMPT " +RPS1="${return_code}" + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$PR_YELLOW%}‹" +ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$PR_NO_COLOR%}" diff --git a/dot.oh-my-zsh/themes/gozilla.zsh-theme b/dot.oh-my-zsh/themes/gozilla.zsh-theme new file mode 100644 index 0000000..c6b752e --- /dev/null +++ b/dot.oh-my-zsh/themes/gozilla.zsh-theme @@ -0,0 +1,15 @@ +PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="(" +ZSH_THEME_GIT_PROMPT_SUFFIX=")" +ZSH_THEME_GIT_PROMPT_DIRTY="" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +RPROMPT='$(git_prompt_status)%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[cyan]%} ✈" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[yellow]%} ✭" +ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✗" +ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[blue]%} ➦" +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[magenta]%} ✂" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[grey]%} ✱" diff --git a/dot.oh-my-zsh/themes/humza.zsh-theme b/dot.oh-my-zsh/themes/humza.zsh-theme new file mode 100644 index 0000000..1078862 --- /dev/null +++ b/dot.oh-my-zsh/themes/humza.zsh-theme @@ -0,0 +1,26 @@ +# ZSH THEME Preview: https://skitch.com/huyy/rk979/humza.zshtheme + +let TotalBytes=0 +for Bytes in $(ls -l | grep "^-" | awk '{ print $5 }') +do + let TotalBytes=$TotalBytes+$Bytes +done + # should it say b, kb, Mb, or Gb +if [ $TotalBytes -lt 1024 ]; then + TotalSize=$(echo -e "scale=3 \n$TotalBytes \nquit" | bc) + suffix="b" +elif [ $TotalBytes -lt 1048576 ]; then + TotalSize=$(echo -e "scale=3 \n$TotalBytes/1024 \nquit" | bc) + suffix="kb" +elif [ $TotalBytes -lt 1073741824 ]; then + TotalSize=$(echo -e "scale=3 \n$TotalBytes/1048576 \nquit" | bc) + suffix="Mb" +else + TotalSize=$(echo -e "scale=3 \n$TotalBytes/1073741824 \nquit" | bc) + suffix="Gb" +fi + +PROMPT='%{$reset_color%}%n %{$fg[green]%}{%{$reset_color%}%~%{$fg[green]%}}%{$reset_color%}$(git_prompt_info) greetings, earthling %{$fg[green]%}[%{$reset_color%}%{$TotalSize%}%{$suffix%}%{$fg[green]%}]%{$fg[red]%}$%{$reset_color%} ☞ ' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[red]%}±(" +ZSH_THEME_GIT_PROMPT_SUFFIX=");%{$reset_color%}" diff --git a/dot.oh-my-zsh/themes/imajes.zsh-theme b/dot.oh-my-zsh/themes/imajes.zsh-theme new file mode 100644 index 0000000..88c35b6 --- /dev/null +++ b/dot.oh-my-zsh/themes/imajes.zsh-theme @@ -0,0 +1,5 @@ +# Found on the ZshWiki +# http://zshwiki.org/home/config/prompt +# + +PROMPT="%{$fg[red]%}%%%{$reset_color%} " \ No newline at end of file diff --git a/dot.oh-my-zsh/themes/intheloop.zsh-theme b/dot.oh-my-zsh/themes/intheloop.zsh-theme new file mode 100644 index 0000000..85b4a4d --- /dev/null +++ b/dot.oh-my-zsh/themes/intheloop.zsh-theme @@ -0,0 +1,24 @@ +# ZSH theme by James Smith (http://loopj.com) +# A multiline prompt with username, hostname, full path, return status, git branch, git dirty status, git remote status + +local return_status="%{$fg[red]%}%(?..⏎)%{$reset_color%}" + +local host_color="green" +if [ -n "$SSH_CLIENT" ]; then + local host_color="red" +fi + +PROMPT=' +%{$fg_bold[grey]%}[%{$reset_color%}%{$fg_bold[${host_color}]%}%n@%m%{$reset_color%}%{$fg_bold[grey]%}]%{$reset_color%} %{$fg_bold[blue]%}%10c%{$reset_color%} $(git_prompt_info) $(git_remote_status) +%{$fg_bold[cyan]%}❯%{$reset_color%} ' + + +RPROMPT='${return_status}%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[grey]%}(%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[grey]%}) %{$fg[yellow]%}⚡%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[grey]%})" +ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE="%{$fg_bold[magenta]%}↓%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE="%{$fg_bold[magenta]%}↑%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIVERGED_REMOTE="%{$fg_bold[magenta]%}↕%{$reset_color%}" \ No newline at end of file diff --git a/dot.oh-my-zsh/themes/jbergantine.zsh-theme b/dot.oh-my-zsh/themes/jbergantine.zsh-theme new file mode 100644 index 0000000..d84247c --- /dev/null +++ b/dot.oh-my-zsh/themes/jbergantine.zsh-theme @@ -0,0 +1,6 @@ +PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[white]%}$(git_prompt_info)%{$fg_bold[white]%} % %{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[white]%}) %{$fg[yellow]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[white]%})" diff --git a/dot.oh-my-zsh/themes/jispwoso.zsh-theme b/dot.oh-my-zsh/themes/jispwoso.zsh-theme new file mode 100644 index 0000000..cdfef38 --- /dev/null +++ b/dot.oh-my-zsh/themes/jispwoso.zsh-theme @@ -0,0 +1,4 @@ +PROMPT=$'%{$fg[green]%}%n@%m: %{$reset_color%}%{$fg[blue]%}%/%{$reset_color%} +%{$fg_bold[red]%}➜ %{$reset_color%} ' + +PROMPT2="%{$fg_blod[black]%}%_> %{$reset_color%}" diff --git a/dot.oh-my-zsh/themes/jnrowe.zsh-theme b/dot.oh-my-zsh/themes/jnrowe.zsh-theme new file mode 100644 index 0000000..bae88f7 --- /dev/null +++ b/dot.oh-my-zsh/themes/jnrowe.zsh-theme @@ -0,0 +1,38 @@ +autoload -U add-zsh-hook +autoload -Uz vcs_info + +zstyle ':vcs_info:*' actionformats \ + '%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f ' +zstyle ':vcs_info:*' formats '%F{2}%s%F{7}:%F{2}(%F{1}%b%F{2})%f ' +zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{3}%r' +zstyle ':vcs_info:*' enable git + +add-zsh-hook precmd prompt_vcs + +prompt_vcs () { + vcs_info + + if [ "${vcs_info_msg_0_}" = "" ]; then + dir_status="%F{2}→%f" + elif [[ $(git diff --cached --name-status 2>/dev/null ) != "" ]]; then + dir_status="%F{1}▶%f" + elif [[ $(git diff --name-status 2>/dev/null ) != "" ]]; then + dir_status="%F{3}▶%f" + else + dir_status="%F{2}▶%f" + fi +} + +function { + if [[ -n "$SSH_CLIENT" ]]; then + PROMPT_HOST=" ($HOST)" + else + PROMPT_HOST='' + fi +} + +local ret_status="%(?:%{$fg_bold[green]%}Ξ:%{$fg_bold[red]%}%S↑%s%?)" + +PROMPT='${ret_status}%{$fg[blue]%}${PROMPT_HOST}%{$fg_bold[green]%}%p %{$fg_bold[yellow]%}%2~ ${vcs_info_msg_0_}${dir_status}%{$reset_color%} ' + +# vim: set ft=zsh ts=4 sw=4 et: diff --git a/dot.oh-my-zsh/themes/jonathan.zsh-theme b/dot.oh-my-zsh/themes/jonathan.zsh-theme new file mode 100644 index 0000000..9f0f302 --- /dev/null +++ b/dot.oh-my-zsh/themes/jonathan.zsh-theme @@ -0,0 +1,143 @@ +functions rbenv_prompt_info >& /dev/null || rbenv_prompt_info(){} + +function theme_precmd { + local TERMWIDTH + (( TERMWIDTH = ${COLUMNS} - 1 )) + + + ### + # Truncate the path if it's too long. + + PR_FILLBAR="" + PR_PWDLEN="" + + local promptsize=${#${(%):---(%n@%m:%l)---()--}} + local rubyprompt=`rvm_prompt_info || rbenv_prompt_info` + local rubypromptsize=${#${rubyprompt}} + local pwdsize=${#${(%):-%~}} + + if [[ "$promptsize + $rubypromptsize + $pwdsize" -gt $TERMWIDTH ]]; then + ((PR_PWDLEN=$TERMWIDTH - $promptsize)) + else + PR_FILLBAR="\${(l.(($TERMWIDTH - ($promptsize + $rubypromptsize + $pwdsize)))..${PR_HBAR}.)}" + fi + +} + + +setopt extended_glob +theme_preexec () { + if [[ "$TERM" == "screen" ]]; then + local CMD=${1[(wr)^(*=*|sudo|-*)]} + echo -n "\ek$CMD\e\\" + fi +} + + +setprompt () { + ### + # Need this so the prompt will work. + + setopt prompt_subst + + + ### + # See if we can use colors. + + autoload colors zsh/terminfo + if [[ "$terminfo[colors]" -ge 8 ]]; then + colors + fi + for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE GREY; do + eval PR_$color='%{$terminfo[bold]$fg[${(L)color}]%}' + eval PR_LIGHT_$color='%{$fg[${(L)color}]%}' + (( count = $count + 1 )) + done + PR_NO_COLOUR="%{$terminfo[sgr0]%}" + + ### + # Modify Git prompt + ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[green]%}" + ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" + ZSH_THEME_GIT_PROMPT_DIRTY="" + ZSH_THEME_GIT_PROMPT_CLEAN="" + + ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%} ✚" + ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[blue]%} ✹" + ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✖" + ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[magenta]%} ➜" + ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[yellow]%} ═" + ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ✭" + + ### + # See if we can use extended characters to look nicer. + + typeset -A altchar + set -A altchar ${(s..)terminfo[acsc]} + PR_SET_CHARSET="%{$terminfo[enacs]%}" + PR_SHIFT_IN="%{$terminfo[smacs]%}" + PR_SHIFT_OUT="%{$terminfo[rmacs]%}" + PR_HBAR=${altchar[q]:--} + PR_ULCORNER=${altchar[l]:--} + PR_LLCORNER=${altchar[m]:--} + PR_LRCORNER=${altchar[j]:--} + PR_URCORNER=${altchar[k]:--} + + + ### + # Decide if we need to set titlebar text. + + case $TERM in + xterm*) + PR_TITLEBAR=$'%{\e]0;%(!.-=*[ROOT]*=- | .)%n@%m:%~ | ${COLUMNS}x${LINES} | %y\a%}' + ;; + screen) + PR_TITLEBAR=$'%{\e_screen \005 (\005t) | %(!.-=[ROOT]=- | .)%n@%m:%~ | ${COLUMNS}x${LINES} | %y\e\\%}' + ;; + *) + PR_TITLEBAR='' + ;; + esac + + + ### + # Decide whether to set a screen title + if [[ "$TERM" == "screen" ]]; then + PR_STITLE=$'%{\ekzsh\e\\%}' + else + PR_STITLE='' + fi + + + ### + # Finally, the prompt. + + PROMPT='$PR_SET_CHARSET$PR_STITLE${(e)PR_TITLEBAR}\ +$PR_CYAN$PR_SHIFT_IN$PR_ULCORNER$PR_HBAR$PR_SHIFT_OUT$PR_GREY(\ +$PR_GREEN%$PR_PWDLEN<...<%~%<<\ +$PR_GREY)`rvm_prompt_info || rbenv_prompt_info`$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_HBAR${(e)PR_FILLBAR}$PR_HBAR$PR_SHIFT_OUT$PR_GREY(\ +$PR_CYAN%(!.%SROOT%s.%n)$PR_GREY@$PR_GREEN%m:%l\ +$PR_GREY)$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_URCORNER$PR_SHIFT_OUT\ + +$PR_CYAN$PR_SHIFT_IN$PR_LLCORNER$PR_BLUE$PR_HBAR$PR_SHIFT_OUT(\ +$PR_YELLOW%D{%H:%M:%S}\ +$PR_LIGHT_BLUE%{$reset_color%}`git_prompt_info``git_prompt_status`$PR_BLUE)$PR_CYAN$PR_SHIFT_IN$PR_HBAR\ +$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\ +>$PR_NO_COLOUR ' + + # display exitcode on the right when >0 + return_code="%(?..%{$fg[red]%}%? ↵ %{$reset_color%})" + RPROMPT=' $return_code$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_BLUE$PR_HBAR$PR_SHIFT_OUT\ +($PR_YELLOW%D{%a,%b%d}$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_CYAN$PR_LRCORNER$PR_SHIFT_OUT$PR_NO_COLOUR' + + PS2='$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\ +$PR_BLUE$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT(\ +$PR_LIGHT_GREEN%_$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\ +$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT$PR_NO_COLOUR ' +} + +setprompt + +autoload -U add-zsh-hook +add-zsh-hook precmd theme_precmd +add-zsh-hook preexec theme_preexec \ No newline at end of file diff --git a/dot.oh-my-zsh/themes/josh.zsh-theme b/dot.oh-my-zsh/themes/josh.zsh-theme new file mode 100644 index 0000000..142e768 --- /dev/null +++ b/dot.oh-my-zsh/themes/josh.zsh-theme @@ -0,0 +1,43 @@ +grey='\e[0;90m' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$grey%}(" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$grey%}) %{$fg[yellow]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$grey%})" + +function josh_prompt { + (( spare_width = ${COLUMNS} )) + prompt=" " + + branch=$(current_branch) + ruby_version=$(rvm_prompt_info || rbenv_prompt_info) + path_size=${#PWD} + branch_size=${#branch} + ruby_size=${#ruby_version} + user_machine_size=${#${(%):-%n@%m-}} + + if [[ ${#branch} -eq 0 ]] + then (( ruby_size = ruby_size + 1 )) + else + (( branch_size = branch_size + 4 )) + if [[ -n $(git status -s 2> /dev/null) ]]; then + (( branch_size = branch_size + 2 )) + fi + fi + + (( spare_width = ${spare_width} - (${user_machine_size} + ${path_size} + ${branch_size} + ${ruby_size}) )) + + while [ ${#prompt} -lt $spare_width ]; do + prompt=" $prompt" + done + + prompt="%{%F{green}%}$PWD$prompt%{%F{red}%}$(rvm_prompt_info || rbenv_prompt_info)%{$reset_color%} $(git_prompt_info)" + + echo $prompt +} + +setopt prompt_subst + +PROMPT=' +%n@%m $(josh_prompt) +%(?,%{%F{green}%},%{%F{red}%})⚡%{$reset_color%} ' diff --git a/dot.oh-my-zsh/themes/jreese.zsh-theme b/dot.oh-my-zsh/themes/jreese.zsh-theme new file mode 100644 index 0000000..0fa6b4e --- /dev/null +++ b/dot.oh-my-zsh/themes/jreese.zsh-theme @@ -0,0 +1,16 @@ +# ZSH Theme - Preview: http://dl.dropbox.com/u/1552408/Screenshots/2010-04-08-oh-my-zsh.png + +if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="green"; fi +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + +PROMPT='%{$fg[$NCOLOR]%}%n%{$fg[green]%}@%m%{$reset_color%} %~ \ +$(git_prompt_info)\ +%{$fg[red]%}%(!.#.»)%{$reset_color%} ' +PROMPT2='%{$fg[red]%}\ %{$reset_color%}' +RPS1='${return_code}' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}±%{$fg[yellow]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_CLEAN="" +ZSH_THEME_GIT_PROMPT_DIRTY="⚡" + diff --git a/dot.oh-my-zsh/themes/jtriley.zsh-theme b/dot.oh-my-zsh/themes/jtriley.zsh-theme new file mode 100644 index 0000000..15d77ed --- /dev/null +++ b/dot.oh-my-zsh/themes/jtriley.zsh-theme @@ -0,0 +1,8 @@ +#PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' +PROMPT="%{$fg_bold[cyan]%}%T%{$fg_bold[green]%} %{$fg_bold[white]%}%n%{$fg[magenta]%}@%{$fg_bold[white]%}%m %{$fg_bold[green]%}%d +%{$fg_bold[yellow]%}%% %{$reset_color%}" + +#ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}" +#ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +#ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}" +#ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" diff --git a/dot.oh-my-zsh/themes/juanghurtado.zsh-theme b/dot.oh-my-zsh/themes/juanghurtado.zsh-theme new file mode 100644 index 0000000..2f715cc --- /dev/null +++ b/dot.oh-my-zsh/themes/juanghurtado.zsh-theme @@ -0,0 +1,46 @@ +# ------------------------------------------------------------------------ +# Juan G. Hurtado oh-my-zsh theme +# (Needs Git plugin for current_branch method) +# ------------------------------------------------------------------------ + +# Color shortcuts +RED=$fg[red] +YELLOW=$fg[yellow] +GREEN=$fg[green] +WHITE=$fg[white] +BLUE=$fg[blue] +RED_BOLD=$fg_bold[red] +YELLOW_BOLD=$fg_bold[yellow] +GREEN_BOLD=$fg_bold[green] +WHITE_BOLD=$fg_bold[white] +BLUE_BOLD=$fg_bold[blue] +RESET_COLOR=$reset_color + +# Format for git_prompt_info() +ZSH_THEME_GIT_PROMPT_PREFIX="" +ZSH_THEME_GIT_PROMPT_SUFFIX="" + +# Format for parse_git_dirty() +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$RED%}(*)" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +# Format for git_prompt_status() +ZSH_THEME_GIT_PROMPT_UNMERGED=" %{$RED%}unmerged" +ZSH_THEME_GIT_PROMPT_DELETED=" %{$RED%}deleted" +ZSH_THEME_GIT_PROMPT_RENAMED=" %{$YELLOW%}renamed" +ZSH_THEME_GIT_PROMPT_MODIFIED=" %{$YELLOW%}modified" +ZSH_THEME_GIT_PROMPT_ADDED=" %{$GREEN%}added" +ZSH_THEME_GIT_PROMPT_UNTRACKED=" %{$WHITE%}untracked" + +# Format for git_prompt_ahead() +ZSH_THEME_GIT_PROMPT_AHEAD=" %{$RED%}(!)" + +# Format for git_prompt_long_sha() and git_prompt_short_sha() +ZSH_THEME_GIT_PROMPT_SHA_BEFORE=" %{$WHITE%}[%{$YELLOW%}" +ZSH_THEME_GIT_PROMPT_SHA_AFTER="%{$WHITE%}]" + +# Prompt format +PROMPT=' +%{$GREEN_BOLD%}%n@%m%{$WHITE%}:%{$YELLOW%}%~%u$(parse_git_dirty)$(git_prompt_ahead)%{$RESET_COLOR%} +%{$BLUE%}>%{$RESET_COLOR%} ' +RPROMPT='%{$GREEN_BOLD%}$(current_branch)$(git_prompt_short_sha)$(git_prompt_status)%{$RESET_COLOR%}' \ No newline at end of file diff --git a/dot.oh-my-zsh/themes/junkfood.zsh-theme b/dot.oh-my-zsh/themes/junkfood.zsh-theme new file mode 100644 index 0000000..57b4070 --- /dev/null +++ b/dot.oh-my-zsh/themes/junkfood.zsh-theme @@ -0,0 +1,34 @@ +# ------------------------------------------------------------------------ +# Tyler Cipriani +# oh-my-zsh theme +# Totally ripped off Dallas theme +# ------------------------------------------------------------------------ + +# Grab the current date (%W) and time (%t): +JUNKFOOD_TIME_="%{$fg_bold[red]%}#%{$fg_bold[white]%}( %{$fg_bold[yellow]%}%W%{$reset_color%}@%{$fg_bold[white]%}%t )( %{$reset_color%}" + +# Grab the current machine name +JUNKFOOD_MACHINE_="%{$fg_bold[blue]%}%m%{$fg[white]%} ):%{$reset_color%}" + +# Grab the current username +JUNKFOOD_CURRENT_USER_="%{$fg_bold[green]%}%n%{$reset_color%}" + +# Grab the current filepath, use shortcuts: ~/Desktop +# Append the current git branch, if in a git repository: ~aw@master +JUNKFOOD_LOCA_="%{$fg[cyan]%}%~\$(git_prompt_info)%{$reset_color%}" + +# For the git prompt, use a white @ and blue text for the branch name +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[white]%}@%{$fg_bold[white]%}" + +# Close it all off by resetting the color and styles. +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" + +# Do nothing if the branch is clean (no changes). +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[green]%}✔" + +# Add 3 cyan ✗s if this branch is diiirrrty! Dirty branch! +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%}✗✗✗" + +# Put it all together! +PROMPT="$JUNKFOOD_TIME_$JUNKFOOD_CURRENT_USER_@$JUNKFOOD_MACHINE_$JUNKFOOD_LOCA_ + " diff --git a/dot.oh-my-zsh/themes/kafeitu.zsh-theme b/dot.oh-my-zsh/themes/kafeitu.zsh-theme new file mode 100644 index 0000000..c4720b2 --- /dev/null +++ b/dot.oh-my-zsh/themes/kafeitu.zsh-theme @@ -0,0 +1,6 @@ +PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%n%{$fg[cyan]%}@%{$fg_bold[green]%}%m %{$fg_bold[green]%}%p %{$fg[cyan]%}%~ %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" diff --git a/dot.oh-my-zsh/themes/kardan.zsh-theme b/dot.oh-my-zsh/themes/kardan.zsh-theme new file mode 100644 index 0000000..fd6586a --- /dev/null +++ b/dot.oh-my-zsh/themes/kardan.zsh-theme @@ -0,0 +1,12 @@ +# Simple theme based on my old zsh settings. + +function get_host { + echo '@'`hostname`'' +} + +PROMPT='> ' +RPROMPT='%~$(git_prompt_info)$(get_host)' + +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[yellow]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_PREFIX="(" +ZSH_THEME_GIT_PROMPT_SUFFIX=")" \ No newline at end of file diff --git a/dot.oh-my-zsh/themes/kennethreitz.zsh-theme b/dot.oh-my-zsh/themes/kennethreitz.zsh-theme new file mode 100644 index 0000000..109be0c --- /dev/null +++ b/dot.oh-my-zsh/themes/kennethreitz.zsh-theme @@ -0,0 +1,13 @@ +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + +PROMPT='%{$fg[green]%}%c \ +$(git_prompt_info)\ +%{$fg[red]%}%(!.#.»)%{$reset_color%} ' +PROMPT2='%{$fg[red]%}\ %{$reset_color%}' +RPS1='%{$fg[blue]%}%~%{$reset_color%} ${return_code} ' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$reset_color%}:: %{$fg[yellow]%}(" +ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_CLEAN="" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}*%{$fg[yellow]%}" + diff --git a/dot.oh-my-zsh/themes/kolo.zsh-theme b/dot.oh-my-zsh/themes/kolo.zsh-theme new file mode 100644 index 0000000..e743289 --- /dev/null +++ b/dot.oh-my-zsh/themes/kolo.zsh-theme @@ -0,0 +1,24 @@ +autoload -U colors && colors + +autoload -Uz vcs_info + +zstyle ':vcs_info:*' stagedstr '%F{green}●' +zstyle ':vcs_info:*' unstagedstr '%F{yellow}●' +zstyle ':vcs_info:*' check-for-changes true +zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{11}%r' +zstyle ':vcs_info:*' enable git svn +theme_precmd () { + if [[ -z $(git ls-files --other --exclude-standard 2> /dev/null) ]] { + zstyle ':vcs_info:*' formats ' [%b%c%u%B%F{green}]' + } else { + zstyle ':vcs_info:*' formats ' [%b%c%u%B%F{red}●%F{green}]' + } + + vcs_info +} + +setopt prompt_subst +PROMPT='%B%F{magenta}%c%B%F{green}${vcs_info_msg_0_}%B%F{magenta} %{$reset_color%}%% ' + +autoload -U add-zsh-hook +add-zsh-hook precmd theme_precmd diff --git a/dot.oh-my-zsh/themes/kphoen.zsh-theme b/dot.oh-my-zsh/themes/kphoen.zsh-theme new file mode 100644 index 0000000..0e9b5e7 --- /dev/null +++ b/dot.oh-my-zsh/themes/kphoen.zsh-theme @@ -0,0 +1,50 @@ +# ------------------------------------------------------------------------------ +# FILE: kphoen.zsh-theme +# DESCRIPTION: oh-my-zsh theme file. +# AUTHOR: Kévin Gomez (geek63@gmail.com) +# VERSION: 1.0.0 +# SCREENSHOT: +# ------------------------------------------------------------------------------ + + +if [[ "$TERM" != "dumb" ]] && [[ "$DISABLE_LS_COLORS" != "true" ]]; then + PROMPT='[%{$fg[red]%}%n%{$reset_color%}@%{$fg[magenta]%}%m%{$reset_color%}:%{$fg[blue]%}%~%{$reset_color%}$(git_prompt_info)] +%# ' + + ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[green]%}" + ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" + ZSH_THEME_GIT_PROMPT_DIRTY="" + ZSH_THEME_GIT_PROMPT_CLEAN="" + + # display exitcode on the right when >0 + return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + + RPROMPT='${return_code}$(git_prompt_status)%{$reset_color%}' + + ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%} ✚" + ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[blue]%} ✹" + ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✖" + ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[magenta]%} ➜" + ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[yellow]%} ═" + ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ✭" +else + PROMPT='[%n@%m:%~$(git_prompt_info)] +%# ' + + ZSH_THEME_GIT_PROMPT_PREFIX=" on" + ZSH_THEME_GIT_PROMPT_SUFFIX="" + ZSH_THEME_GIT_PROMPT_DIRTY="" + ZSH_THEME_GIT_PROMPT_CLEAN="" + + # display exitcode on the right when >0 + return_code="%(?..%? ↵)" + + RPROMPT='${return_code}$(git_prompt_status)' + + ZSH_THEME_GIT_PROMPT_ADDED=" ✚" + ZSH_THEME_GIT_PROMPT_MODIFIED=" ✹" + ZSH_THEME_GIT_PROMPT_DELETED=" ✖" + ZSH_THEME_GIT_PROMPT_RENAMED=" ➜" + ZSH_THEME_GIT_PROMPT_UNMERGED=" ═" + ZSH_THEME_GIT_PROMPT_UNTRACKED=" ✭" +fi diff --git a/dot.oh-my-zsh/themes/lambda.zsh-theme b/dot.oh-my-zsh/themes/lambda.zsh-theme new file mode 100644 index 0000000..63292d3 --- /dev/null +++ b/dot.oh-my-zsh/themes/lambda.zsh-theme @@ -0,0 +1,6 @@ +# ZSH Theme - Preview: http://cl.ly/350F0F0k1M2y3A2i3p1S + +PROMPT='λ %~/ $(git_prompt_info)%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " diff --git a/dot.oh-my-zsh/themes/linuxonly b/dot.oh-my-zsh/themes/linuxonly new file mode 100644 index 0000000..a11b80d --- /dev/null +++ b/dot.oh-my-zsh/themes/linuxonly @@ -0,0 +1,80 @@ +# vim: set ts=2 textwidth=0 + +autoload -U add-zsh-hook +autoload -Uz vcs_info +local c0=$(printf "\033[0m") +local c1=$(printf "\033[38;5;215m") +local c2=$(printf "\033[38;5;209m") +local c3=$(printf "\033[38;5;203m") +local c4=$(printf "\033[33;4m") +local c5=$(printf "\033[38;5;137m") +local c6=$(printf "\033[38;5;240m") +local c7=$(printf "\033[38;5;149m") +local c8=$(printf "\033[38;5;126m") +local c9=$(printf "\033[38;5;162m") + +local foopath=$(perl /home/scp1/bin/foopath) + +if [ "$TERM" = "linux" ]; then + c1=$(printf "\033[34;1m") + c2=$(printf "\033[35m") + c3=$(printf "\033[31m") + c4=$(printf "\033[31;1m") + c5=$(printf "\033[32m") + c6=$(printf "\033[32;1m") + c7=$(printf "\033[33m") + c8=$(printf "\033[33;1m") + c9=$(printf "\033[34m") +fi + +#local newtv=$(perl $HOME/devel/newtv.pl) +local newtv='' + +zstyle ':vcs_info:*' actionformats \ + '%{$c8%}(%f%s)%{$c7%}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f ' +zstyle ':vcs_info:*' formats \ + "%{$c8%}%s%{$c7%}:%{$c7%}(%{$c9%}%b%{$c7%})%f " +zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{3}%r' +zstyle ':vcs_info:*' enable git + +add-zsh-hook precmd prompt_jnrowe_precmd + +prompt_jnrowe_precmd () { + vcs_info + + if [ "${vcs_info_msg_0_}" = "" ]; then + #dir_status="|%F{3}%n%F{7}@%F{3}%m%F{7}:%F{9}%l%f" + #dir_status="$c1%n%F{7}@%F{9}%m%F{7}:%F{12}%/" + dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$c4%}%/ %{$c0%}(%{$c5%}%?%{$c0%})" + #dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$foopath%} %{$c0%}(%{$c5%}%?%{$c0%})" + + PROMPT='%{$fg_bold[green]%}%p%{$reset_color%}${vcs_info_msg_0_}${dir_status} ${ret_status}%{$reset_color%} +> ' + elif [[ $(git diff --cached --name-status 2>/dev/null ) != "" ]]; then + dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$c4%}%/ %{$c0%}(%{$c5%}%?%{$c0%})" + PROMPT='${vcs_info_msg_0_} +%{$fg_bold[green]%}%p%{$reset_color%}${dir_status} ${vcs_info_msg_0_}%{$reset_color%} +> ' + + elif [[ $(git diff --name-status 2>/dev/null ) != "" ]]; then + dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$c4%}%/ %{$c0%}(%{$c5%}%?%{$c0%})" + + PROMPT='${vcs_info_msg_0_} +%{$fg_bold[green]%}%p%{$reset_color%}${dir_status}%{$reset_color%} +%{$c9%}·>%{$c0%} ' + else + dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$c4%}%/ %{$c0%}(%{$c5%}%?%{$c0%})" + PROMPT='${vcs_info_msg_0_} +%{$fg_bold[green]%}%p%{$reset_color%}${dir_status} ${vcs_info_msg_0_}%{$reset_color%} +> ' + + fi +} + + +#PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$reset_color%} ${vcs_info_msg_0_}${dir_status}%{$reset_color%} +#> ' + +# vim: set ft=zsh ts=4 sw=4 et: + + diff --git a/dot.oh-my-zsh/themes/lukerandall.zsh-theme b/dot.oh-my-zsh/themes/lukerandall.zsh-theme new file mode 100644 index 0000000..f4045bd --- /dev/null +++ b/dot.oh-my-zsh/themes/lukerandall.zsh-theme @@ -0,0 +1,24 @@ +# ZSH Theme - Preview: http://cl.ly/f701d00760f8059e06dc +# Thanks to gallifrey, upon whose theme this is based + +local return_code="%(?..%{$fg_bold[red]%}%? ↵%{$reset_color%})" + +function my_git_prompt_info() { + ref=$(git symbolic-ref HEAD 2> /dev/null) || return + GIT_STATUS=$(git_prompt_status) + [[ -n $GIT_STATUS ]] && GIT_STATUS=" $GIT_STATUS" + echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$GIT_STATUS$ZSH_THEME_GIT_PROMPT_SUFFIX" +} + +PROMPT='%{$fg_bold[green]%}%n@%m%{$reset_color%} %{$fg_bold[blue]%}%2~%{$reset_color%} $(my_git_prompt_info)%{$reset_color%}%B»%b ' +RPS1="${return_code}" + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}(" +ZSH_THEME_GIT_PROMPT_SUFFIX=") %{$reset_color%}" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%%" +ZSH_THEME_GIT_PROMPT_ADDED="+" +ZSH_THEME_GIT_PROMPT_MODIFIED="*" +ZSH_THEME_GIT_PROMPT_RENAMED="~" +ZSH_THEME_GIT_PROMPT_DELETED="!" +ZSH_THEME_GIT_PROMPT_UNMERGED="?" + diff --git a/dot.oh-my-zsh/themes/macovsky-ruby.zsh-theme b/dot.oh-my-zsh/themes/macovsky-ruby.zsh-theme new file mode 100644 index 0000000..0453767 --- /dev/null +++ b/dot.oh-my-zsh/themes/macovsky-ruby.zsh-theme @@ -0,0 +1,15 @@ +# ZSH Theme - Preview: http://gyazo.com/8becc8a7ed5ab54a0262a470555c3eed.png +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + +if which rvm-prompt &> /dev/null; then + PROMPT='%{$fg[green]%}%~%{$reset_color%} %{$fg[red]%}‹$(~/.rvm/bin/rvm-prompt i v)› %{$reset_color%} $(git_prompt_info)%{$reset_color%}%B$%b ' +else + if which rbenv &> /dev/null; then + PROMPT='%{$fg[green]%}%~%{$reset_color%} %{$fg[red]%}‹$(rbenv version | sed -e "s/ (set.*$//")› %{$reset_color%} $(git_prompt_info)%{$reset_color%}%B$%b ' + fi +fi + +RPS1="${return_code}" + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹" +ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}" diff --git a/dot.oh-my-zsh/themes/macovsky.zsh-theme b/dot.oh-my-zsh/themes/macovsky.zsh-theme new file mode 100644 index 0000000..b6978b9 --- /dev/null +++ b/dot.oh-my-zsh/themes/macovsky.zsh-theme @@ -0,0 +1,14 @@ +# ZSH Theme - Preview: http://gyazo.com/8becc8a7ed5ab54a0262a470555c3eed.png +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + +if which rvm-prompt &> /dev/null; then + PROMPT='%{$fg[green]%}%~%{$reset_color%} %{$fg[red]%}‹$(~/.rvm/bin/rvm-prompt i v)› %{$reset_color%} $(git_prompt_info)%{$reset_color%}%B$%b ' +else + if which rbenv &> /dev/null; then + PROMPT='%{$fg[green]%}%~%{$reset_color%} %{$fg[red]%}‹$(rbenv version | sed -e "s/ (set.*$//")› %{$reset_color%} $(git_prompt_info)%{$reset_color%}%B$%b ' + fi +fi +RPS1="${return_code}" + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹" +ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}" diff --git a/dot.oh-my-zsh/themes/maran.zsh-theme b/dot.oh-my-zsh/themes/maran.zsh-theme new file mode 100644 index 0000000..6fba046 --- /dev/null +++ b/dot.oh-my-zsh/themes/maran.zsh-theme @@ -0,0 +1,6 @@ +# Theme with full path names and hostname +# Handy if you work on different servers all the time; +PROMPT='%{$fg[cyan]%}%n%{$reset_color%}@%{$fg[yellow]%}%M:%{$fg[green]%}%/%{$reset_color%} $(git_prompt_info) %(!.#.$) ' + +ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[cyan]%}git:(" +ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%}" diff --git a/dot.oh-my-zsh/themes/mgutz.zsh-theme b/dot.oh-my-zsh/themes/mgutz.zsh-theme new file mode 100644 index 0000000..dcf3270 --- /dev/null +++ b/dot.oh-my-zsh/themes/mgutz.zsh-theme @@ -0,0 +1,6 @@ +PROMPT='%{$fg_bold[magenta]%}%1~$(git_prompt_info) %{$fg_bold[magenta]%}%# %{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[yellow]%}[" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="*]" +ZSH_THEME_GIT_PROMPT_CLEAN="]" diff --git a/dot.oh-my-zsh/themes/mh.zsh-theme b/dot.oh-my-zsh/themes/mh.zsh-theme new file mode 100644 index 0000000..34a3765 --- /dev/null +++ b/dot.oh-my-zsh/themes/mh.zsh-theme @@ -0,0 +1,24 @@ +# mh theme +# preview: http://cl.ly/1y2x0W0E3t2C0F29043z + +# features: +# path is autoshortened to ~30 characters +# displays git status (if applicable in current folder) +# turns username green if superuser, otherwise it is white + +# if superuser make the username green +if [ $UID -eq 0 ]; then NCOLOR="green"; else NCOLOR="white"; fi + +# prompt +PROMPT='[%{$fg[$NCOLOR]%}%B%n%b%{$reset_color%}:%{$fg[red]%}%30<...<%~%<<%{$reset_color%}]%(!.#.$) ' +RPROMPT='$(git_prompt_info)' + +# git theming +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[gray]%}(%{$fg_no_bold[yellow]%}%B" +ZSH_THEME_GIT_PROMPT_SUFFIX="%b%{$fg_bold[gray]%})%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_CLEAN="" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%}✱" + +# LS colors, made with http://geoff.greer.fm/lscolors/ +export LSCOLORS="Gxfxcxdxbxegedabagacad" +export LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:' diff --git a/dot.oh-my-zsh/themes/mikeh.zsh-theme b/dot.oh-my-zsh/themes/mikeh.zsh-theme new file mode 100644 index 0000000..943f04d --- /dev/null +++ b/dot.oh-my-zsh/themes/mikeh.zsh-theme @@ -0,0 +1,23 @@ +setopt prompt_subst +autoload colors +colors + +autoload -U add-zsh-hook +autoload -Uz vcs_info + +# check-for-changes can be really slow. +# you should disable it, if you work with large repositories +zstyle ':vcs_info:*:prompt:*' check-for-changes true + +add-zsh-hook precmd mikeh_precmd + +mikeh_precmd() { + vcs_info +} + +# user, host, full path, and time/date +# on two lines for easier vgrepping +# entry in a nice long thread on the Arch Linux forums: http://bbs.archlinux.org/viewtopic.php?pid=521888#p521888 +PROMPT=$'%{\e[0;34m%}%B..[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;30m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}'%D{"%a %b %d, %I:%M"}%b$'%{\e[0;34m%}%B]%b%{\e[0m%} +%{\e[0;34m%}%B..%B[%{\e[1;35m%}$%{\e[0;34m%}%B] <($vcs_info_msg_0_)>%{\e[0m%}%b ' +PS2=$' \e[0;34m%}%B>%{\e[0m%}%b ' \ No newline at end of file diff --git a/dot.oh-my-zsh/themes/miloshadzic.zsh-theme b/dot.oh-my-zsh/themes/miloshadzic.zsh-theme new file mode 100644 index 0000000..ad53944 --- /dev/null +++ b/dot.oh-my-zsh/themes/miloshadzic.zsh-theme @@ -0,0 +1,8 @@ +# Yay! High voltage and arrows! + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$reset_color%}%{$fg[green]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[yellow]%}⚡%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +PROMPT='%{$fg[cyan]%}%1~%{$reset_color%}%{$fg[red]%}|%{$reset_color%}$(git_prompt_info)%{$fg[cyan]%}⇒%{$reset_color%} ' diff --git a/dot.oh-my-zsh/themes/minimal.zsh-theme b/dot.oh-my-zsh/themes/minimal.zsh-theme new file mode 100644 index 0000000..a2a1603 --- /dev/null +++ b/dot.oh-my-zsh/themes/minimal.zsh-theme @@ -0,0 +1,18 @@ +ZSH_THEME_GIT_PROMPT_PREFIX="%{$reset_color%}%{$fg[white]%}[" +ZSH_THEME_GIT_PROMPT_SUFFIX="" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}●%{$reset_color%}]%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_CLEAN="]%{$reset_color%} " +ZSH_THEME_SVN_PROMPT_PREFIX=$ZSH_THEME_GIT_PROMPT_PREFIX +ZSH_THEME_SVN_PROMPT_SUFFIX=$ZSH_THEME_GIT_PROMPT_SUFFIX +ZSH_THEME_SVN_PROMPT_DIRTY=$ZSH_THEME_GIT_PROMPT_DIRTY +ZSH_THEME_SVN_PROMPT_CLEAN=$ZSH_THEME_GIT_PROMPT_CLEAN + +vcs_status() { + if [[ ( $(whence in_svn) != "" ) && ( $(in_svn) == 1 ) ]]; then + svn_prompt_info + else + git_prompt_info + fi +} + +PROMPT='%2~ $(vcs_status)»%b ' \ No newline at end of file diff --git a/dot.oh-my-zsh/themes/mortalscumbag.zsh-theme b/dot.oh-my-zsh/themes/mortalscumbag.zsh-theme new file mode 100644 index 0000000..5dbf2e4 --- /dev/null +++ b/dot.oh-my-zsh/themes/mortalscumbag.zsh-theme @@ -0,0 +1,59 @@ +function my_git_prompt() { + tester=$(git rev-parse --git-dir 2> /dev/null) || return + + INDEX=$(git status --porcelain 2> /dev/null) + STATUS="" + + # is branch ahead? + if $(echo "$(git log origin/$(current_branch)..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then + STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_AHEAD" + fi + + # is anything staged? + if $(echo "$INDEX" | grep -E -e '^(D[ M]|[MARC][ MD]) ' &> /dev/null); then + STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_STAGED" + fi + + # is anything unstaged? + if $(echo "$INDEX" | grep -E -e '^[ MARC][MD] ' &> /dev/null); then + STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_UNSTAGED" + fi + + # is anything untracked? + if $(echo "$INDEX" | grep '^?? ' &> /dev/null); then + STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_UNTRACKED" + fi + + # is anything unmerged? + if $(echo "$INDEX" | grep -E -e '^(A[AU]|D[DU]|U[ADU]) ' &> /dev/null); then + STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_UNMERGED" + fi + + if [[ -n $STATUS ]]; then + STATUS=" $STATUS" + fi + + echo "$ZSH_THEME_GIT_PROMPT_PREFIX$(my_current_branch)$STATUS$ZSH_THEME_GIT_PROMPT_SUFFIX" +} + +function my_current_branch() { + echo $(current_branch || echo "(no branch)") +} + +function ssh_connection() { + if [[ -n $SSH_CONNECTION ]]; then + echo "%{$fg_bold[red]%}(ssh) " + fi +} + +local ret_status="%(?:%{$fg_bold[green]%}:%{$fg_bold[red]%})%?%{$reset_color%}" +PROMPT=$'\n$(ssh_connection)%{$fg_bold[green]%}%n@%m%{$reset_color%}$(my_git_prompt) : %~\n[${ret_status}] %# ' + +ZSH_THEME_PROMPT_RETURNCODE_PREFIX="%{$fg_bold[red]%}" +ZSH_THEME_GIT_PROMPT_PREFIX=" $fg[white]‹ %{$fg_bold[yellow]%}" +ZSH_THEME_GIT_PROMPT_AHEAD="%{$fg_bold[magenta]%}↑" +ZSH_THEME_GIT_PROMPT_STAGED="%{$fg_bold[green]%}●" +ZSH_THEME_GIT_PROMPT_UNSTAGED="%{$fg_bold[red]%}●" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg_bold[white]%}●" +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg_bold[red]%}✕" +ZSH_THEME_GIT_PROMPT_SUFFIX=" $fg_bold[white]›%{$reset_color%}" diff --git a/dot.oh-my-zsh/themes/mrtazz.zsh-theme b/dot.oh-my-zsh/themes/mrtazz.zsh-theme new file mode 100644 index 0000000..214ba5a --- /dev/null +++ b/dot.oh-my-zsh/themes/mrtazz.zsh-theme @@ -0,0 +1,7 @@ +PROMPT='%{$fg_bold[red]%}%m%{$reset_color%}:%{$fg[cyan]%}%c%{$reset_color%}:%# ' +RPROMPT='%{$fg_bold[green]%}$(git_prompt_info)%{$reset_color%}% ' + +ZSH_THEME_GIT_PROMPT_PREFIX="<%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%} %{$fg[yellow]%}✗%{$fg[green]%}>%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%}>" diff --git a/dot.oh-my-zsh/themes/murilasso.zsh-theme b/dot.oh-my-zsh/themes/murilasso.zsh-theme new file mode 100644 index 0000000..bc2b9b2 --- /dev/null +++ b/dot.oh-my-zsh/themes/murilasso.zsh-theme @@ -0,0 +1,14 @@ +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" +local user_host='%{$terminfo[bold]$fg[green]%}%n@%m%{$reset_color%}' +local current_dir='%{$terminfo[bold]$fg[blue]%}%~%{$reset_color%}' +local rvm_ruby='%{$fg[red]%}$(rvm_prompt_info || rbenv_prompt_info)%{$reset_color%}' +local git_branch='%{$fg[blue]%}$(git_prompt_info)%{$reset_color%}' + +PROMPT="${user_host}:${current_dir} ${rvm_ruby} +${git_branch} %B$%b " +RPS1="${return_code}" + +ZSH_THEME_GIT_PROMPT_PREFIX="" +ZSH_THEME_GIT_PROMPT_SUFFIX="" +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN=" %{$fg[green]%}✔%{$reset_color%}" diff --git a/dot.oh-my-zsh/themes/muse.zsh-theme b/dot.oh-my-zsh/themes/muse.zsh-theme new file mode 100644 index 0000000..4bd8fb8 --- /dev/null +++ b/dot.oh-my-zsh/themes/muse.zsh-theme @@ -0,0 +1,30 @@ +#!/usr/bin/env zsh +#local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + +setopt promptsubst + +autoload -U add-zsh-hook + +PROMPT_SUCCESS_COLOR=$FG[117] +PROMPT_FAILURE_COLOR=$FG[124] +PROMPT_VCS_INFO_COLOR=$FG[242] +PROMPT_PROMPT=$FG[077] +GIT_DIRTY_COLOR=$FG[133] +GIT_CLEAN_COLOR=$FG[118] +GIT_PROMPT_INFO=$FG[012] + +PROMPT='%{$PROMPT_SUCCESS_COLOR%}%~%{$reset_color%} %{$GIT_PROMPT_INFO%}$(git_prompt_info)%{$GIT_DIRTY_COLOR%}$(git_prompt_status) %{$reset_color%}%{$PROMPT_PROMPT%}ᐅ%{$reset_color%} ' + +#RPS1="${return_code}" + +ZSH_THEME_GIT_PROMPT_PREFIX="(" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$GIT_PROMPT_INFO%})" +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$GIT_DIRTY_COLOR%}✘" +ZSH_THEME_GIT_PROMPT_CLEAN=" %{$GIT_CLEAN_COLOR%}✔" + +ZSH_THEME_GIT_PROMPT_ADDED="%{$FG[082]%}✚%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$FG[166]%}✹%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DELETED="%{$FG[160]%}✖%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_RENAMED="%{$FG[220]%}➜%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$FG[082]%}═%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$FG[190]%}✭%{$reset_color%}" diff --git a/dot.oh-my-zsh/themes/nanotech.zsh-theme b/dot.oh-my-zsh/themes/nanotech.zsh-theme new file mode 100644 index 0000000..5d33316 --- /dev/null +++ b/dot.oh-my-zsh/themes/nanotech.zsh-theme @@ -0,0 +1,7 @@ +PROMPT='%F{green}%2c%F{blue} [%f ' +RPROMPT='$(git_prompt_info) %F{blue}] %F{green}%D{%L:%M} %F{yellow}%D{%p}%f' + +ZSH_THEME_GIT_PROMPT_PREFIX="%F{yellow}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%f" +ZSH_THEME_GIT_PROMPT_DIRTY=" %F{red}*%f" +ZSH_THEME_GIT_PROMPT_CLEAN="" diff --git a/dot.oh-my-zsh/themes/nebirhos.zsh-theme b/dot.oh-my-zsh/themes/nebirhos.zsh-theme new file mode 100644 index 0000000..a5a226b --- /dev/null +++ b/dot.oh-my-zsh/themes/nebirhos.zsh-theme @@ -0,0 +1,21 @@ +# Based on robbyrussell's theme, with host and rvm indicators. Example: +# @host ➜ currentdir rvm:(rubyversion@gemset) git:(branchname) + +# Get the current ruby version in use with RVM: +if [ -e ~/.rvm/bin/rvm-prompt ]; then + RUBY_PROMPT_="%{$fg_bold[blue]%}rvm:(%{$fg[green]%}\$(~/.rvm/bin/rvm-prompt s i v g)%{$fg_bold[blue]%})%{$reset_color%} " +else + if which rbenv &> /dev/null; then + RUBY_PROMPT_="%{$fg_bold[blue]%}rbenv:(%{$fg[green]%}\$(rbenv version | sed -e 's/ (set.*$//')%{$fg_bold[blue]%})%{$reset_color%} " + fi +fi + +# Get the host name (first 4 chars) +HOST_PROMPT_="%{$fg_bold[red]%}@$HOST[0,4] ➜ %{$fg_bold[cyan]%}%c " +GIT_PROMPT="%{$fg_bold[blue]%}\$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}" +PROMPT="$HOST_PROMPT_$RUBY_PROMPT_$GIT_PROMPT" + +ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" diff --git a/dot.oh-my-zsh/themes/nicoulaj.zsh-theme b/dot.oh-my-zsh/themes/nicoulaj.zsh-theme new file mode 100644 index 0000000..333aa5e --- /dev/null +++ b/dot.oh-my-zsh/themes/nicoulaj.zsh-theme @@ -0,0 +1,43 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------ +# Prompt for the Zsh shell: +# * One line. +# * VCS info on the right prompt. +# * Only shows the path on the left prompt by default. +# * Crops the path to a defined length and only shows the path relative to +# the current VCS repository root. +# * Wears a different color wether the last command succeeded/failed. +# * Shows user@hostname if connected through SSH. +# * Shows if logged in as root or not. +# ------------------------------------------------------------------------------ + +# Customizable parameters. +PROMPT_PATH_MAX_LENGTH=30 +PROMPT_DEFAULT_END=❯ +PROMPT_ROOT_END=❯❯❯ +PROMPT_SUCCESS_COLOR=$FG[071] +PROMPT_FAILURE_COLOR=$FG[124] +PROMPT_VCS_INFO_COLOR=$FG[242] + +# Set required options. +setopt promptsubst + +# Load required modules. +autoload -U add-zsh-hook +autoload -Uz vcs_info + +# Add hook for calling vcs_info before each command. +add-zsh-hook precmd vcs_info + +# Set vcs_info parameters. +zstyle ':vcs_info:*' enable hg bzr git +zstyle ':vcs_info:*:*' check-for-changes true # Can be slow on big repos. +zstyle ':vcs_info:*:*' unstagedstr '!' +zstyle ':vcs_info:*:*' stagedstr '+' +zstyle ':vcs_info:*:*' actionformats "%S" "%r/%s/%b %u%c (%a)" +zstyle ':vcs_info:*:*' formats "%S" "%r/%s/%b %u%c" +zstyle ':vcs_info:*:*' nvcsformats "%~" "" + +# Define prompts. +PROMPT="%(0?.%{$PROMPT_SUCCESS_COLOR%}.%{$PROMPT_FAILURE_COLOR%})${SSH_TTY:+[%n@%m]}%{$FX[bold]%}%$PROMPT_PATH_MAX_LENGTH<..<"'${vcs_info_msg_0_%%.}'"%<<%(!.$PROMPT_ROOT_END.$PROMPT_DEFAULT_END)%{$FX[no-bold]%}%{$FX[reset]%} " +RPROMPT="%{$PROMPT_VCS_INFO_COLOR%}"'$vcs_info_msg_1_'"%{$FX[reset]%}" diff --git a/dot.oh-my-zsh/themes/norm.zsh-theme b/dot.oh-my-zsh/themes/norm.zsh-theme new file mode 100644 index 0000000..13077cc --- /dev/null +++ b/dot.oh-my-zsh/themes/norm.zsh-theme @@ -0,0 +1,4 @@ +PROMPT='%{$fg[yellow]%}λ %m %{$fg[green]%}%c %{$fg[yellow]%}→ $(git_prompt_info)%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="λ %{$fg[blue]%}git %{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$fg[yellow]%} → %{$reset_color%}" diff --git a/dot.oh-my-zsh/themes/obraun.zsh-theme b/dot.oh-my-zsh/themes/obraun.zsh-theme new file mode 100644 index 0000000..08d1376 --- /dev/null +++ b/dot.oh-my-zsh/themes/obraun.zsh-theme @@ -0,0 +1,11 @@ +if [ "$(whoami)" = "root" ]; then CARETCOLOR="red"; else CARETCOLOR="blue"; fi + +local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" + +PROMPT='%{$fg[green]%}[%*]%{$reset_color%} %{$fg_no_bold[cyan]%}%n %{${fg_bold[blue]}%}::%{$reset_color%} %{$fg[yellow]%}%m%{$reset_color%} %{$fg_no_bold[magenta]%} ➜ %{$reset_color%} %{${fg[green]}%}%3~ $(git_prompt_info)%{${fg_bold[$CARETCOLOR]}%}»%{${reset_color}%} ' + +RPS1="${return_code}" + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[red]%}‹" +ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}" + diff --git a/dot.oh-my-zsh/themes/philips.zsh-theme b/dot.oh-my-zsh/themes/philips.zsh-theme new file mode 100644 index 0000000..f6e5b32 --- /dev/null +++ b/dot.oh-my-zsh/themes/philips.zsh-theme @@ -0,0 +1,14 @@ +if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="green"; fi + +PROMPT='%{$fg[$NCOLOR]%}%B%n%b%{$reset_color%}:%{$fg[blue]%}%B%c/%b%{$reset_color%} $(git_prompt_info)%(!.#.$) ' +RPROMPT='[%*]' + +# git theming +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg_no_bold[red]%}%B" +ZSH_THEME_GIT_PROMPT_SUFFIX="%b%{$fg_bold[blue]%})%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_CLEAN="" +ZSH_THEME_GIT_PROMPT_DIRTY="*" + +# LS colors, made with http://geoff.greer.fm/lscolors/ +export LSCOLORS="Gxfxcxdxbxegedabagacad" +export LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:*.patch=00;34:*.o=00;32:*.so=01;35:*.ko=01;31:*.la=00;33' diff --git a/dot.oh-my-zsh/themes/pmcgee.zsh-theme b/dot.oh-my-zsh/themes/pmcgee.zsh-theme new file mode 100644 index 0000000..e4e45c7 --- /dev/null +++ b/dot.oh-my-zsh/themes/pmcgee.zsh-theme @@ -0,0 +1,16 @@ +if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="green"; fi + +PROMPT=' +%{$fg[$NCOLOR]%}%B%n@%m%b%{$reset_color%} %{$fg[white]%}%B${PWD/#$HOME/~}%b%{$reset_color%} +$(git_prompt_info)%(!.#.$) ' +RPROMPT='[%*]' + +# git theming +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_no_bold[yellow]%}%B" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_CLEAN="" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%}*" + +# LS colors, made with http://geoff.greer.fm/lscolors/ +export LSCOLORS="Gxfxcxdxbxegedabagacad" +export LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:' diff --git a/dot.oh-my-zsh/themes/psy.zsh-theme b/dot.oh-my-zsh/themes/psy.zsh-theme new file mode 100644 index 0000000..e415685 --- /dev/null +++ b/dot.oh-my-zsh/themes/psy.zsh-theme @@ -0,0 +1,51 @@ +# pSy's zshell prompt +# zsh theme requires 256 color enabled terminal +# based on sporty_256 and fishy + +_collapsed_path() { + #TODO: collapse path elements until the path is short enough + #TODO eg: "/foo/bar/baz/quux/quarz" becomes "/f/b/baz/quux/quarz" if it still fits + #TODO or "/f/b/b/q/quarz" in the 2nd shortest form, "quarz" in the shortest + + # http://lavica.fesb.hr/cgi-bin/info2html?(zsh)The%20zsh/pcre%20Module + #echo $(pwd | perl -pe "s|^$HOME|~|g; s|/([^/])[^/]*(?=/)|/\$1|g") + local TERMWIDTH + (( TERMWIDTH = ${COLUMNS} - 1 )) + + PR_FILLBAR="" + PR_PWDLEN="" + PR_GIT="$(git_prompt_info)" + + local promptsize=${#${(%):-(%n@%m)--}} + local pwdsize=${#${(%):-%~}} + local gitinfosize=${#${(%):-$PR_GIT}} + + if [[ "$promptsize + $pwdsize" -gt $TERMWIDTH ]]; then + ((PR_PWDLEN=$TERMWIDTH - $promptsize - $gitinfosize)) + fi + + echo "%$PR_PWDLEN<...<%~%<<" +} + + +RPROMPT='$(git_prompt_info) %F{208}$(_collapsed_path)%f%{$reset_color%}' +PROMPT='%(?..%F{124}·%?·)%F{208}%n%f%{$fg[white]%}@%F{039}%m%f%{$reset_color%} %{$fg[white]%}%# %{$reset_color%}' + +#ZSH_THEME_GIT_PROMPT_PREFIX="%F{154}±|%f%F{124}" +ZSH_THEME_GIT_PROMPT_PREFIX="%F{154}%f%F{124}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}%B✘%b%F{154}" +ZSH_THEME_GIT_PROMPT_CLEAN=" %{$fg[green]%}✔%F{154}" + +#TODO: think about a nicer usage of these… +#ZSH_THEME_GIT_PROMPT_PREFIX=" " +#ZSH_THEME_GIT_PROMPT_SUFFIX="" +#ZSH_THEME_GIT_PROMPT_DIRTY="" +#ZSH_THEME_GIT_PROMPT_CLEAN="" +# +#ZSH_THEME_GIT_PROMPT_ADDED="%{$fg_bold[green]%}+" +#ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg_bold[blue]%}!" +#ZSH_THEME_GIT_PROMPT_DELETED="%{$fg_bold[red]%}-" +#ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg_bold[magenta]%}>" +#ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg_bold[yellow]%}#" +#ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg_bold[cyan]%}?" diff --git a/dot.oh-my-zsh/themes/pygmalion.zsh-theme b/dot.oh-my-zsh/themes/pygmalion.zsh-theme new file mode 100644 index 0000000..cf3bb90 --- /dev/null +++ b/dot.oh-my-zsh/themes/pygmalion.zsh-theme @@ -0,0 +1,9 @@ +# Yay! High voltage and arrows! + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$reset_color%}%{$fg[green]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[yellow]%}⚡%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +PROMPT='%{$fg[magenta]%}%n%{$reset_color%}%{$fg[cyan]%}@%{$reset_color%}%{$fg[yellow]%}%m%{$reset_color%}%{$fg[red]%}:%{$reset_color%}%{$fg[cyan]%}%0~%{$reset_color%}%{$fg[red]%}|%{$reset_color%}$(git_prompt_info)%{$fg[cyan]%}⇒%{$reset_color%} ' + diff --git a/dot.oh-my-zsh/themes/re5et.zsh-theme b/dot.oh-my-zsh/themes/re5et.zsh-theme new file mode 100644 index 0000000..5bded76 --- /dev/null +++ b/dot.oh-my-zsh/themes/re5et.zsh-theme @@ -0,0 +1,15 @@ +if [ "$(whoami)" = "root" ]; then CARETCOLOR="red"; else CARETCOLOR="magenta"; fi + +local return_code="%(?..%{$fg_bold[red]%}:( %?%{$reset_color%})" + +PROMPT=' +%{$fg_bold[cyan]%}%n%{$reset_color%}%{$fg[yellow]%}@%{$reset_color%}%{$fg_bold[blue]%}%m%{$reset_color%}:%{${fg_bold[green]}%}%~%{$reset_color%}$(git_prompt_info) +%{${fg[$CARETCOLOR]}%}%# %{${reset_color}%}' + +RPS1='${return_code} %D - %*' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[magenta]%}^%{$reset_color%}%{$fg_bold[yellow]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%} ±" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ?" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[red]%} ♥" diff --git a/dot.oh-my-zsh/themes/rgm.zsh-theme b/dot.oh-my-zsh/themes/rgm.zsh-theme new file mode 100644 index 0000000..9452a8b --- /dev/null +++ b/dot.oh-my-zsh/themes/rgm.zsh-theme @@ -0,0 +1,8 @@ +PROMPT=' +%n@%m %{$fg[cyan]%}%~ +%? $(git_prompt_info)%{$fg_bold[blue]%}%% %{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%}" diff --git a/dot.oh-my-zsh/themes/risto.zsh-theme b/dot.oh-my-zsh/themes/risto.zsh-theme new file mode 100644 index 0000000..cb773a6 --- /dev/null +++ b/dot.oh-my-zsh/themes/risto.zsh-theme @@ -0,0 +1,6 @@ +# -*- sh -*- vim:set ft=sh ai et sw=4 sts=4: +# It might be bash like, but I can't have my co-workers knowing I use zsh +PROMPT='%{$fg[green]%}%n@%m:%{$fg_bold[blue]%}%2~ $(git_prompt_info)%{$reset_color%}%(!.#.$) ' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[red]%}‹" +ZSH_THEME_GIT_PROMPT_SUFFIX="›%{$reset_color%}" diff --git a/dot.oh-my-zsh/themes/rixius.zsh-theme b/dot.oh-my-zsh/themes/rixius.zsh-theme new file mode 100644 index 0000000..c0c5c9c --- /dev/null +++ b/dot.oh-my-zsh/themes/rixius.zsh-theme @@ -0,0 +1,24 @@ +# /|/ Code by Stephen +# /|/ "Rixius" Middleton +# +# name in folder (github) +# ± if in github repo, or ≥ if otherwise Time in 24-hour format is on right. +function collapse_pwd { + echo $(pwd | sed -e "s,^$HOME,~,") +} +function prompt_char { + echo -n "%{$bg[white]%}%{$fg[red]%}" + git branch >/dev/null 2>/dev/null && echo "±%{$reset_color%}" && return + echo "≥%{$reset_color%}" +} +RIXIUS_PRE="%{$bg[white]%}%{$fg[red]%}" + +PROMPT=' +%{$RIXIUS_PRE%}%n%{$reset_color%} in %{$fg_bold[green]%}$(collapse_pwd)%{$reset_color%}$(git_prompt_info) +$(prompt_char) ' +RPROMPT='%{$RIXIUS_PRE%}%T%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$RIXIUS_PRE%}!%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN=" %{$RIXIUS_PRE%}√%{$reset_color%}" diff --git a/dot.oh-my-zsh/themes/rkj-repos.zsh-theme b/dot.oh-my-zsh/themes/rkj-repos.zsh-theme new file mode 100644 index 0000000..318c315 --- /dev/null +++ b/dot.oh-my-zsh/themes/rkj-repos.zsh-theme @@ -0,0 +1,29 @@ +# user, host, full path, and time/date +# on two lines for easier vgrepping +# entry in a nice long thread on the Arch Linux forums: http://bbs.archlinux.org/viewtopic.php?pid=521888#p521888 + +function hg_prompt_info { + hg prompt --angle-brackets "\ +%{$reset_color%}>\ +%{$reset_color%}>\ +%{$fg[red]%}%{$reset_color%}< +patches: >" 2>/dev/null +} + +ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[cyan]%}+" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[yellow]%}✱" +ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%}✗" +ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[blue]%}➦" +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[magenta]%}✂" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[grey]%}✈" + +function mygit() { + ref=$(git symbolic-ref HEAD 2> /dev/null) || return + echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$( git_prompt_status )%{$reset_color%}$ZSH_THEME_GIT_PROMPT_SUFFIX" +} + +# alternate prompt with git & hg +PROMPT=$'%{\e[0;34m%}%B┌─[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;30m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}'%D{"%Y-%m-%d %I:%M:%S"}%b$'%{\e[0;34m%}%B]%b%{\e[0m%} +%{\e[0;34m%}%B└─%B[%{\e[1;35m%}$%{\e[0;34m%}%B] <$(mygit)$(hg_prompt_info)>%{\e[0m%}%b ' +PS2=$' \e[0;34m%}%B>%{\e[0m%}%b ' + diff --git a/dot.oh-my-zsh/themes/rkj.zsh-theme b/dot.oh-my-zsh/themes/rkj.zsh-theme new file mode 100644 index 0000000..81b701e --- /dev/null +++ b/dot.oh-my-zsh/themes/rkj.zsh-theme @@ -0,0 +1,8 @@ +# user, host, full path, and time/date +# on two lines for easier vgrepping +# entry in a nice long thread on the Arch Linux forums: http://bbs.archlinux.org/viewtopic.php?pid=521888#p521888 + +PROMPT=$'%{\e[0;34m%}%B┌─[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;30m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}'%D{"%Y-%m-%d %I:%M:%S"}%b$'%{\e[0;34m%}%B]%b%{\e[0m%} +%{\e[0;34m%}%B└─%B[%{\e[1;35m%}$%{\e[0;34m%}%B]%{\e[0m%}%b ' + + diff --git a/dot.oh-my-zsh/themes/robbyrussell.zsh-theme b/dot.oh-my-zsh/themes/robbyrussell.zsh-theme new file mode 100644 index 0000000..7b524e8 --- /dev/null +++ b/dot.oh-my-zsh/themes/robbyrussell.zsh-theme @@ -0,0 +1,6 @@ +PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" diff --git a/dot.oh-my-zsh/themes/sammy.zsh-theme b/dot.oh-my-zsh/themes/sammy.zsh-theme new file mode 100644 index 0000000..52e6e4b --- /dev/null +++ b/dot.oh-my-zsh/themes/sammy.zsh-theme @@ -0,0 +1,6 @@ +PROMPT='%{$fg[white]%}%c$(git_prompt_info)$ % %{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="(" +ZSH_THEME_GIT_PROMPT_SUFFIX="" +ZSH_THEME_GIT_PROMPT_DIRTY="*)" +ZSH_THEME_GIT_PROMPT_CLEAN=")" diff --git a/dot.oh-my-zsh/themes/simonoff.zsh-theme b/dot.oh-my-zsh/themes/simonoff.zsh-theme new file mode 100644 index 0000000..fb4d32e --- /dev/null +++ b/dot.oh-my-zsh/themes/simonoff.zsh-theme @@ -0,0 +1,141 @@ +# Prompt +# +# Below are the color init strings for the basic file types. A color init +# string consists of one or more of the following numeric codes: +# Attribute codes: +# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed +# Text color codes: +# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white +# Background color codes: +# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white +function precmd { + + local TERMWIDTH + (( TERMWIDTH = ${COLUMNS} - 1 )) + + + ### + # Truncate the path if it's too long. + + PR_FILLBAR="" + PR_PWDLEN="" + + local promptsize=${#${(%):---(%n@%M:%l)---()}} + local pwdsize=${#${(%):-%~}} + local gitbranch="$(git_prompt_info)" + local rvmprompt="$(rvm_prompt_info)" + local gitbranchsize=${#${gitbranch:-''}} + local rvmpromptsize=${#${rvmprompt:-''}} + + if [[ "$promptsize + $pwdsize + $rvmpromptsize + $gitbranchsize" -gt $TERMWIDTH ]]; then + ((PR_PWDLEN=$TERMWIDTH - $promptsize)) + else + PR_FILLBAR="\${(l.(($TERMWIDTH - ($promptsize + $pwdsize + $rvmpromptsize + $gitbranchsize)))..${PR_SPACE}.)}" + fi +} + + +setopt extended_glob + +preexec () { + if [[ "$TERM" == "screen" ]]; then + local CMD=${1[(wr)^(*=*|sudo|-*)]} + echo -n "\ek$CMD\e\\" + fi + + if [[ "$TERM" == "xterm" ]]; then + print -Pn "\e]0;$1\a" + fi + + if [[ "$TERM" == "rxvt" ]]; then + print -Pn "\e]0;$1\a" + fi + +} + +setprompt () { +### +# Need this so the prompt will work. + + setopt prompt_subst + + +### +# See if we can use colors. + + autoload colors zsh/terminfo + if [[ "$terminfo[colors]" -ge 8 ]]; then + colors + fi + for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE; do + eval PR_$color='%{$terminfo[bold]$fg[${(L)color}]%}' + eval PR_LIGHT_$color='%{$fg[${(L)color}]%}' + (( count = $count + 1 )) + done + PR_NO_COLOUR="%{$terminfo[sgr0]%}" + + +### +# See if we can use extended characters to look nicer. + + typeset -A altchar +# set -A altchar "${(s..)terminfo[acsc]}" + PR_SET_CHARSET="%{$terminfo[enacs]%}" + PR_HBAR=${altchar[q]:--} + PR_ULCORNER=${altchar[l]:--} + PR_LLCORNER=${altchar[m]:--} + PR_LRCORNER=${altchar[j]:--} + PR_URCORNER=${altchar[k]:--} + + ### + # Modify Git prompt + ZSH_THEME_GIT_PROMPT_PREFIX=" [" + ZSH_THEME_GIT_PROMPT_SUFFIX="]" + ### + # Modify RVM prompt + ZSH_THEME_RVM_PROMPT_PREFIX=" [" + ZSH_THEME_RVM_PROMPT_SUFFIX="]" + + +### +# Decide if we need to set titlebar text. + + case $TERM in + xterm*|*rxvt*) + PR_TITLEBAR=$'%{\e]0;%(!.-=*[ROOT]*=- | .)%n@%M:%~ $(git_prompt_info) $(rvm_prompt_info) | ${COLUMNS}x${LINES} | %y\a%}' + ;; + screen) + PR_TITLEBAR=$'%{\e_screen \005 (\005t) | %(!.-=[ROOT]=- | .)%n@%m:%~ | ${COLUMNS}x${LINES} | %y\e\\%}' + ;; + *) + PR_TITLEBAR='' + ;; + esac + + +### +# Decide whether to set a screen title + if [[ "$TERM" == "screen" ]]; then + PR_STITLE=$'%{\ekzsh\e\\%}' + else + PR_STITLE='' + fi + +### +# Finally, the prompt. +# + PROMPT='$PR_SET_CHARSET$PR_STITLE${(e)PR_TITLEBAR}\ +$PR_RED$PR_HBAR<\ +$PR_BLUE%(!.$PR_RED%SROOT%s.%n)$PR_GREEN@$PR_BLUE%M:$PR_GREEN%$PR_PWDLEN<...<%~$PR_CYAN$(git_prompt_info)$(rvm_prompt_info)\ +$PR_RED>$PR_HBAR$PR_SPACE${(e)PR_FILLBAR}\ +$PR_RED$PR_HBAR<\ +$PR_GREEN%l$PR_RED>$PR_HBAR\ + +$PR_RED$PR_HBAR<\ +%(?..$PR_LIGHT_RED%?$PR_BLUE:)\ +$PR_LIGHT_BLUE%(!.$PR_RED.$PR_WHITE)%#$PR_RED>$PR_HBAR\ +$PR_NO_COLOUR ' + +} + +setprompt diff --git a/dot.oh-my-zsh/themes/simple.zsh-theme b/dot.oh-my-zsh/themes/simple.zsh-theme new file mode 100644 index 0000000..a88d9d7 --- /dev/null +++ b/dot.oh-my-zsh/themes/simple.zsh-theme @@ -0,0 +1,6 @@ +PROMPT='%{$fg[green]%}%~%{$fg_bold[blue]%}$(git_prompt_info)%{$reset_color%} ' + +ZSH_THEME_GIT_PROMPT_PREFIX="(" +ZSH_THEME_GIT_PROMPT_SUFFIX=")" +ZSH_THEME_GIT_PROMPT_DIRTY=" ✗" +ZSH_THEME_GIT_PROMPT_CLEAN=" ✔" diff --git a/dot.oh-my-zsh/themes/skaro.zsh-theme b/dot.oh-my-zsh/themes/skaro.zsh-theme new file mode 100644 index 0000000..84b7b11 --- /dev/null +++ b/dot.oh-my-zsh/themes/skaro.zsh-theme @@ -0,0 +1,7 @@ +PROMPT='%{$fg_bold[green]%}%h %{$fg[cyan]%}%2~ %{$fg_bold[blue]%}$(git_prompt_info) %{$reset_color%}» ' + +ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" + diff --git a/dot.oh-my-zsh/themes/smt.zsh-theme b/dot.oh-my-zsh/themes/smt.zsh-theme new file mode 100644 index 0000000..7a28752 --- /dev/null +++ b/dot.oh-my-zsh/themes/smt.zsh-theme @@ -0,0 +1,91 @@ +# ----------------------------------------------------------------------------- +# FILE: smt.zsh-theme +# DESCRIPTION: oh-my-zsh theme file, based on dogenpunk by Matthew Nelson. +# AUTHOR: Stephen Tudor (stephen@tudorstudio.com +# VERSION: 0.1 +# SCREENSHOT: coming soon +# ----------------------------------------------------------------------------- + +MODE_INDICATOR="%{$fg_bold[red]%}❮%{$reset_color%}%{$fg[red]%}❮❮%{$reset_color%}" +local return_status="%{$fg[red]%}%(?..⏎)%{$reset_color%} " + +ZSH_THEME_GIT_PROMPT_PREFIX="|" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%}⚡%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_AHEAD="%{$fg_bold[red]%}!%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[green]%}✓%{$reset_color%}" + +ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%} ✚" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[blue]%} ✹" +ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✖" +ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[magenta]%} ➜" +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[yellow]%} ═" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ✭" + +# Format for git_prompt_long_sha() and git_prompt_short_sha() +ZSH_THEME_GIT_PROMPT_SHA_BEFORE="➤ %{$fg_bold[yellow]%}" +ZSH_THEME_GIT_PROMPT_SHA_AFTER="%{$reset_color%}" + +function prompt_char() { + git branch >/dev/null 2>/dev/null && echo "%{$fg[green]%}±%{$reset_color%}" && return + hg root >/dev/null 2>/dev/null && echo "%{$fg_bold[red]%}☿%{$reset_color%}" && return + echo "%{$fg[cyan]%}◯%{$reset_color%}" +} + +# Colors vary depending on time lapsed. +ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT="%{$fg[green]%}" +ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM="%{$fg[yellow]%}" +ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG="%{$fg[red]%}" +ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL="%{$fg[cyan]%}" + +# Determine the time since last commit. If branch is clean, +# use a neutral color, otherwise colors will vary according to time. +function git_time_since_commit() { + if git rev-parse --git-dir > /dev/null 2>&1; then + # Only proceed if there is actually a commit. + if [[ $(git log 2>&1 > /dev/null | grep -c "^fatal: bad default revision") == 0 ]]; then + # Get the last commit. + last_commit=`git log --pretty=format:'%at' -1 2> /dev/null` + now=`date +%s` + seconds_since_last_commit=$((now-last_commit)) + + # Totals + MINUTES=$((seconds_since_last_commit / 60)) + HOURS=$((seconds_since_last_commit/3600)) + + # Sub-hours and sub-minutes + DAYS=$((seconds_since_last_commit / 86400)) + SUB_HOURS=$((HOURS % 24)) + SUB_MINUTES=$((MINUTES % 60)) + + if [[ -n $(git status -s 2> /dev/null) ]]; then + if [ "$MINUTES" -gt 30 ]; then + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG" + elif [ "$MINUTES" -gt 10 ]; then + COLOR="$ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM" + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT" + fi + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL" + fi + + if [ "$HOURS" -gt 24 ]; then + echo "[$COLOR${DAYS}d${SUB_HOURS}h${SUB_MINUTES}m%{$reset_color%}]" + elif [ "$MINUTES" -gt 60 ]; then + echo "[$COLOR${HOURS}h${SUB_MINUTES}m%{$reset_color%}]" + else + echo "[$COLOR${MINUTES}m%{$reset_color%}]" + fi + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL" + echo "[$COLOR~]" + fi + fi +} + +PROMPT=' +%{$fg[blue]%}%m%{$reset_color%} 福 %{$fg[cyan]%}%~ %{$reset_color%}$(git_prompt_short_sha)$(git_prompt_info) +%{$fg[red]%}%!%{$reset_color%} $(prompt_char) : ' + +RPROMPT='${return_status}$(git_time_since_commit)$(git_prompt_status)%{$reset_color%}' diff --git a/dot.oh-my-zsh/themes/sorin.zsh-theme b/dot.oh-my-zsh/themes/sorin.zsh-theme new file mode 100644 index 0000000..601dbe5 --- /dev/null +++ b/dot.oh-my-zsh/themes/sorin.zsh-theme @@ -0,0 +1,48 @@ +# ------------------------------------------------------------------------------ +# FILE: sorin.zsh-theme +# DESCRIPTION: oh-my-zsh theme file. +# AUTHOR: Sorin Ionescu (sorin.ionescu@gmail.com) +# VERSION: 1.0.2 +# SCREENSHOT: http://i.imgur.com/aipDQ.png +# ------------------------------------------------------------------------------ + + +if [[ "$TERM" != "dumb" ]] && [[ "$DISABLE_LS_COLORS" != "true" ]]; then + MODE_INDICATOR="%{$fg_bold[red]%}❮%{$reset_color%}%{$fg[red]%}❮❮%{$reset_color%}" + local return_status="%{$fg[red]%}%(?..⏎)%{$reset_color%}" + + PROMPT='%{$fg[cyan]%}%c$(git_prompt_info) %(!.%{$fg_bold[red]%}#.%{$fg_bold[green]%}❯)%{$reset_color%} ' + + ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[blue]%}git%{$reset_color%}:%{$fg[red]%}" + ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" + ZSH_THEME_GIT_PROMPT_DIRTY="" + ZSH_THEME_GIT_PROMPT_CLEAN="" + + RPROMPT='${return_status}$(git_prompt_status)%{$reset_color%}' + + ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%} ✚" + ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[blue]%} ✹" + ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✖" + ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[magenta]%} ➜" + ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[yellow]%} ═" + ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ✭" +else + MODE_INDICATOR="❮❮❮" + local return_status="%(?::⏎)" + + PROMPT='%c$(git_prompt_info) %(!.#.❯) ' + + ZSH_THEME_GIT_PROMPT_PREFIX=" git:" + ZSH_THEME_GIT_PROMPT_SUFFIX="" + ZSH_THEME_GIT_PROMPT_DIRTY="" + ZSH_THEME_GIT_PROMPT_CLEAN="" + + RPROMPT='${return_status}$(git_prompt_status)' + + ZSH_THEME_GIT_PROMPT_ADDED=" ✚" + ZSH_THEME_GIT_PROMPT_MODIFIED=" ✹" + ZSH_THEME_GIT_PROMPT_DELETED=" ✖" + ZSH_THEME_GIT_PROMPT_RENAMED=" ➜" + ZSH_THEME_GIT_PROMPT_UNMERGED=" ═" + ZSH_THEME_GIT_PROMPT_UNTRACKED=" ✭" +fi diff --git a/dot.oh-my-zsh/themes/sporty_256.zsh-theme b/dot.oh-my-zsh/themes/sporty_256.zsh-theme new file mode 100644 index 0000000..db0fc42 --- /dev/null +++ b/dot.oh-my-zsh/themes/sporty_256.zsh-theme @@ -0,0 +1,13 @@ +# zsh theme requires 256 color enabled terminal +# i.e TERM=xterm-256color +# Preview - http://www.flickr.com/photos/adelcampo/4556482563/sizes/o/ +# based on robbyrussell's shell but louder! + +PROMPT='%{$fg_bold[blue]%}$(git_prompt_info) %F{208}%c%f +%{$fg_bold[white]%}%# %{$reset_color%}' +RPROMPT='%B%F{208}%n%f%{$fg_bold[white]%}@%F{039}%m%f%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="%F{154}±|%f%F{124}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}%B✘%b%F{154}|%f%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN=" %{$fg[green]%}✔%F{154}|" diff --git a/dot.oh-my-zsh/themes/steeef.zsh-theme b/dot.oh-my-zsh/themes/steeef.zsh-theme new file mode 100644 index 0000000..312229e --- /dev/null +++ b/dot.oh-my-zsh/themes/steeef.zsh-theme @@ -0,0 +1,100 @@ +# prompt style and colors based on Steve Losh's Prose theme: +# http://github.com/sjl/oh-my-zsh/blob/master/themes/prose.zsh-theme +# +# vcs_info modifications from Bart Trojanowski's zsh prompt: +# http://www.jukie.net/bart/blog/pimping-out-zsh-prompt +# +# git untracked files modification from Brian Carper: +# http://briancarper.net/blog/570/git-info-in-your-zsh-prompt + +function virtualenv_info { + [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') ' +} +PR_GIT_UPDATE=1 + +setopt prompt_subst +autoload colors +colors + +autoload -U add-zsh-hook +autoload -Uz vcs_info + +#use extended color pallete if available +if [[ $TERM = *256color* || $TERM = *rxvt* ]]; then + turquoise="%F{81}" + orange="%F{166}" + purple="%F{135}" + hotpink="%F{161}" + limegreen="%F{118}" +else + turquoise="$fg[cyan]" + orange="$fg[yellow]" + purple="$fg[magenta]" + hotpink="$fg[red]" + limegreen="$fg[green]" +fi + +# enable VCS systems you use +zstyle ':vcs_info:*' enable git svn + +# check-for-changes can be really slow. +# you should disable it, if you work with large repositories +zstyle ':vcs_info:*:prompt:*' check-for-changes true + +# set formats +# %b - branchname +# %u - unstagedstr (see below) +# %c - stagedstr (see below) +# %a - action (e.g. rebase-i) +# %R - repository path +# %S - path in the repository +PR_RST="%{${reset_color}%}" +FMT_BRANCH="(%{$turquoise%}%b%u%c${PR_RST})" +FMT_ACTION="(%{$limegreen%}%a${PR_RST})" +FMT_UNSTAGED="%{$orange%}●" +FMT_STAGED="%{$limegreen%}●" + +zstyle ':vcs_info:*:prompt:*' unstagedstr "${FMT_UNSTAGED}" +zstyle ':vcs_info:*:prompt:*' stagedstr "${FMT_STAGED}" +zstyle ':vcs_info:*:prompt:*' actionformats "${FMT_BRANCH}${FMT_ACTION}" +zstyle ':vcs_info:*:prompt:*' formats "${FMT_BRANCH}" +zstyle ':vcs_info:*:prompt:*' nvcsformats "" + + +function steeef_preexec { + case "$(history $HISTCMD)" in + *git*) + PR_GIT_UPDATE=1 + ;; + *svn*) + PR_GIT_UPDATE=1 + ;; + esac +} +add-zsh-hook preexec steeef_preexec + +function steeef_chpwd { + PR_GIT_UPDATE=1 +} +add-zsh-hook chpwd steeef_chpwd + +function steeef_precmd { + if [[ -n "$PR_GIT_UPDATE" ]] ; then + # check for untracked files or updated submodules, since vcs_info doesn't + if git ls-files --other --exclude-standard --directory 2> /dev/null | grep -q "."; then + PR_GIT_UPDATE=1 + FMT_BRANCH="(%{$turquoise%}%b%u%c%{$hotpink%}●${PR_RST})" + else + FMT_BRANCH="(%{$turquoise%}%b%u%c${PR_RST})" + fi + zstyle ':vcs_info:*:prompt:*' formats "${FMT_BRANCH}" + + vcs_info 'prompt' + PR_GIT_UPDATE= + fi +} +add-zsh-hook precmd steeef_precmd + +PROMPT=$' +%{$purple%}%n%{$reset_color%} at %{$orange%}%m%{$reset_color%} in %{$limegreen%}%~%{$reset_color%} $vcs_info_msg_0_ +$(virtualenv_info)$ ' diff --git a/dot.oh-my-zsh/themes/sunaku.zsh-theme b/dot.oh-my-zsh/themes/sunaku.zsh-theme new file mode 100644 index 0000000..440fa90 --- /dev/null +++ b/dot.oh-my-zsh/themes/sunaku.zsh-theme @@ -0,0 +1,26 @@ +# Git-centric variation of the "fishy" theme. +# See screenshot at http://ompldr.org/vOHcwZg + +ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%}+" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[magenta]%}!" +ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%}-" +ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[blue]%}>" +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[cyan]%}#" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[yellow]%}?" + +ZSH_THEME_GIT_PROMPT_PREFIX="" +ZSH_THEME_GIT_PROMPT_SUFFIX=" " +ZSH_THEME_GIT_PROMPT_DIRTY="" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +local user_color='green' +test $UID -eq 0 && user_color='red' + +PROMPT='%(?..%{$fg_bold[red]%}exit %? +%{$reset_color%})'\ +'%{$bold_color%}$(git_prompt_status)%{$reset_color%}'\ +'$(git_prompt_info)'\ +'%{$fg[$user_color]%}%~%{$reset_color%}'\ +'%(!.#.>) ' + +PROMPT2='%{$fg[red]%}\ %{$reset_color%}' diff --git a/dot.oh-my-zsh/themes/sunrise.zsh-theme b/dot.oh-my-zsh/themes/sunrise.zsh-theme new file mode 100644 index 0000000..88b371d --- /dev/null +++ b/dot.oh-my-zsh/themes/sunrise.zsh-theme @@ -0,0 +1,96 @@ +#------------------------------------------------------------------------------- +# Sunrise theme for oh-my-zsh by Adam Lindberg (eproxus@gmail.com) +# Intended to be used with Solarized: http://ethanschoonover.com/solarized +# (Needs Git plugin for current_branch method) +#------------------------------------------------------------------------------- + +# Color shortcuts +R=$fg[red] +G=$fg[green] +M=$fg[magenta] +RB=$fg_bold[red] +YB=$fg_bold[yellow] +BB=$fg_bold[blue] +RESET=$reset_color + +if [ "$(whoami)" = "root" ]; then + PROMPTCOLOR="%{$RB%}" PREFIX="-!-"; +else + PROMPTCOLOR="" PREFIX="---"; +fi + +local return_code="%(?..%{$R%}%? ↵%{$RESET%})" + +# Get the status of the working tree (copied and modified from git.zsh) +custom_git_prompt_status() { + INDEX=$(git status --porcelain 2> /dev/null) + STATUS="" + # Non-staged + if $(echo "$INDEX" | grep '^?? ' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_UNTRACKED$STATUS" + fi + if $(echo "$INDEX" | grep '^UU ' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_UNMERGED$STATUS" + fi + if $(echo "$INDEX" | grep '^ D ' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$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 + # Staged + if $(echo "$INDEX" | grep '^D ' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_STAGED_DELETED$STATUS" + fi + if $(echo "$INDEX" | grep '^R' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_STAGED_RENAMED$STATUS" + fi + if $(echo "$INDEX" | grep '^M' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_STAGED_MODIFIED$STATUS" + fi + if $(echo "$INDEX" | grep '^A' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_PROMPT_STAGED_ADDED$STATUS" + fi + + if $(echo -n "$STATUS" | grep '.*' &> /dev/null); then + STATUS="$ZSH_THEME_GIT_STATUS_PREFIX$STATUS" + fi + + echo $STATUS +} + +# get the name of the branch we are on (copied and modified from git.zsh) +function custom_git_prompt() { + ref=$(git symbolic-ref HEAD 2> /dev/null) || return + echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$(git_prompt_ahead)$(custom_git_prompt_status)$ZSH_THEME_GIT_PROMPT_SUFFIX" +} + +# %B sets bold text +PROMPT='%B$PREFIX %2~ $(custom_git_prompt)%{$M%}%B»%b%{$RESET%} ' +RPS1="${return_code}" + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$YB%}‹" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$YB%}›%{$RESET%} " + +ZSH_THEME_GIT_PROMPT_DIRTY="%{$R%}*" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +ZSH_THEME_GIT_PROMPT_AHEAD="%{$BB%}➔" + +ZSH_THEME_GIT_STATUS_PREFIX=" " + +# Staged +ZSH_THEME_GIT_PROMPT_STAGED_ADDED="%{$G%}A" +ZSH_THEME_GIT_PROMPT_STAGED_MODIFIED="%{$G%}M" +ZSH_THEME_GIT_PROMPT_STAGED_RENAMED="%{$G%}R" +ZSH_THEME_GIT_PROMPT_STAGED_DELETED="%{$G%}D" + +# Not-staged +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$R%}⁇" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$R%}M" +ZSH_THEME_GIT_PROMPT_DELETED="%{$R%}D" +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$R%}UU" diff --git a/dot.oh-my-zsh/themes/superjarin.zsh-theme b/dot.oh-my-zsh/themes/superjarin.zsh-theme new file mode 100644 index 0000000..0be816d --- /dev/null +++ b/dot.oh-my-zsh/themes/superjarin.zsh-theme @@ -0,0 +1,24 @@ +# Grab the current version of ruby in use (via RVM): [ruby-1.8.7] +if which rvm-prompt &> /dev/null; then + JARIN_CURRENT_RUBY_="%{$fg[white]%}[%{$fg[red]%}\$(~/.rvm/bin/rvm-prompt i v)%{$fg[white]%}]%{$reset_color%}" +else + if which rbenv &> /dev/null; then + JARIN_CURRENT_RUBY_="%{$fg[white]%}[%{$fg[red]%}\$(rbenv version | sed -e 's/ (set.*$//')%{$fg[white]%}]%{$reset_color%}" + fi +fi + +# Grab the current filepath, use shortcuts: ~/Desktop +# Append the current git branch, if in a git repository +JARIN_CURRENT_LOCA_="%{$fg_bold[cyan]%}%~\$(git_prompt_info)%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[white]%} <%{$fg[magenta]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" + +# Do nothing if the branch is clean (no changes). +ZSH_THEME_GIT_PROMPT_CLEAN="%{$reset_color%}>" + +# Add a yellow ✗ if the branch is dirty +ZSH_THEME_GIT_PROMPT_DIRTY="%{$reset_color%}> %{$fg[yellow]%}✗" + +# Put it all together! +PROMPT="$JARIN_CURRENT_RUBY_ $JARIN_CURRENT_LOCA_ " + diff --git a/dot.oh-my-zsh/themes/suvash.zsh-theme b/dot.oh-my-zsh/themes/suvash.zsh-theme new file mode 100644 index 0000000..c87f645 --- /dev/null +++ b/dot.oh-my-zsh/themes/suvash.zsh-theme @@ -0,0 +1,30 @@ +function prompt_char { + git branch >/dev/null 2>/dev/null && echo '±' && return + hg root >/dev/null 2>/dev/null && echo 'Hg' && return + echo '○' +} + +function virtualenv_info { + [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') ' +} + +function collapse_pwd { + echo $(pwd | sed -e "s,^$HOME,~,") +} + +if which rvm-prompt &> /dev/null; then + PROMPT='%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}%m%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(git_prompt_info) using %{$reset_color%}%{$fg[red]%}$(~/.rvm/bin/rvm-prompt)%{$reset_color%} +$(virtualenv_info)$(prompt_char) ' +else + if which rbenv &> /dev/null; then + PROMPT='%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}%m%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(git_prompt_info) using %{$reset_color%}%{$fg[red]%}$(rbenv version | sed -e "s/ (set.*$//")%{$reset_color%} +$(virtualenv_info)$(prompt_char) ' + fi +fi + + +ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%}!" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[green]%}?" +ZSH_THEME_GIT_PROMPT_CLEAN="" diff --git a/dot.oh-my-zsh/themes/takashiyoshida.zsh-theme b/dot.oh-my-zsh/themes/takashiyoshida.zsh-theme new file mode 100644 index 0000000..419a8cf --- /dev/null +++ b/dot.oh-my-zsh/themes/takashiyoshida.zsh-theme @@ -0,0 +1,27 @@ +# +# PROMPT +# +PROMPT_BRACKET_BEGIN='%{$fg_bold[white]%}[' +PROMPT_HOST='%{$fg_bold[cyan]%}%m' +PROMPT_SEPARATOR='%{$reset_color%}:' +PROMPT_DIR='%{$fg_bold[yellow]%}%c' +PROMPT_BRACKET_END='%{$fg_bold[white]%}]' + +PROMPT_USER='%{$fg_bold[white]%}%n' +PROMPT_SIGN='%{$reset_color%}%#' + +GIT_PROMPT_INFO='$(git_prompt_info)' + +# My current prompt looks like: +# [host:current_dir] (git_prompt_info) +# [username]% +PROMPT="${PROMPT_BRACKET_BEGIN}${PROMPT_HOST}${PROMPT_SEPARATOR}${PROMPT_DIR}${PROMPT_BRACKET_END}${GIT_PROMPT_INFO} +${PROMPT_BRACKET_BEGIN}${PROMPT_USER}${PROMPT_BRACKET_END}${PROMPT_SIGN} " + +# +# Git repository +# +ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%}!" +ZSH_THEME_GIT_PROMPT_CLEAN='' diff --git a/dot.oh-my-zsh/themes/terminalparty.zsh-theme b/dot.oh-my-zsh/themes/terminalparty.zsh-theme new file mode 100644 index 0000000..216ce37 --- /dev/null +++ b/dot.oh-my-zsh/themes/terminalparty.zsh-theme @@ -0,0 +1,9 @@ +PROMPT='%{$fg[green]%} %% ' +# RPS1='%{$fg[blue]%}%~%{$reset_color%} ' +RPS1='%{$fg[white]%}%2~$(git_prompt_info) %{$fg_bold[blue]%}%m%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[yellow]%}(" +ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%} ⚡%{$fg[yellow]%}" + diff --git a/dot.oh-my-zsh/themes/theunraveler.zsh-theme b/dot.oh-my-zsh/themes/theunraveler.zsh-theme new file mode 100644 index 0000000..e4bfb79 --- /dev/null +++ b/dot.oh-my-zsh/themes/theunraveler.zsh-theme @@ -0,0 +1,16 @@ +# Comment + +PROMPT='%{$fg[magenta]%}[%c] %{$reset_color%}' + +RPROMPT='%{$fg[magenta]%}$(git_prompt_info)%{$reset_color%} $(git_prompt_status)%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="" +ZSH_THEME_GIT_PROMPT_SUFFIX="" +ZSH_THEME_GIT_PROMPT_DIRTY="" +ZSH_THEME_GIT_PROMPT_CLEAN="" +ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[cyan]%} ✈" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[yellow]%} ✭" +ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✗" +ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[blue]%} ➦" +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[magenta]%} ✂" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[grey]%} ✱" \ No newline at end of file diff --git a/dot.oh-my-zsh/themes/tjkirch.zsh-theme b/dot.oh-my-zsh/themes/tjkirch.zsh-theme new file mode 100644 index 0000000..446cde7 --- /dev/null +++ b/dot.oh-my-zsh/themes/tjkirch.zsh-theme @@ -0,0 +1,15 @@ +ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[green]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}⚡" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +function prompt_char { + if [ $UID -eq 0 ]; then echo "%{$fg[red]%}#%{$reset_color%}"; else echo $; fi +} + +PROMPT='%(?, ,%{$fg[red]%}FAIL: $?%{$reset_color%} +) +%{$fg[magenta]%}%n%{$reset_color%}@%{$fg[yellow]%}%m%{$reset_color%}: %{$fg_bold[blue]%}%~%{$reset_color%}$(git_prompt_info) +%_$(prompt_char) ' + +RPROMPT='%{$fg[green]%}[%*]%{$reset_color%}' diff --git a/dot.oh-my-zsh/themes/tjkirch_mod.zsh-theme b/dot.oh-my-zsh/themes/tjkirch_mod.zsh-theme new file mode 100644 index 0000000..1b206a7 --- /dev/null +++ b/dot.oh-my-zsh/themes/tjkirch_mod.zsh-theme @@ -0,0 +1,13 @@ +ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[green]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}⚡" +ZSH_THEME_GIT_PROMPT_CLEAN="" + +function prompt_char { + if [ $UID -eq 0 ]; then echo "%{$fg[red]%}#%{$reset_color%}"; else echo $; fi +} + +PROMPT='%(?,,%{$fg[red]%}FAIL: $?%{$reset_color%} +)%{$fg[magenta]%}%n%{$reset_color%}@%{$fg[yellow]%}%m%{$reset_color%}: %{$fg_bold[blue]%}%~%{$reset_color%}$(git_prompt_info) %_$(prompt_char) ' + +RPROMPT='%{$fg[green]%}[%*]%{$reset_color%}' diff --git a/dot.oh-my-zsh/themes/tonotdo.zsh-theme b/dot.oh-my-zsh/themes/tonotdo.zsh-theme new file mode 100644 index 0000000..a640703 --- /dev/null +++ b/dot.oh-my-zsh/themes/tonotdo.zsh-theme @@ -0,0 +1,12 @@ +PROMPT='%{$fg_no_bold[cyan]%}%n%{$fg_no_bold[magenta]%}➜%{$fg_no_bold[green]%}%3~$(git_prompt_info)%{$reset_color%}» ' +RPROMPT='[%*]' + +# git theming +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg_no_bold[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[blue]%})" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[yellow]%}✗%{$fg_bold[blue]%})" + +# LS colors, made with http://geoff.greer.fm/lscolors/ +export LSCOLORS="Gxfxcxdxbxegedabagacad" +export LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:' \ No newline at end of file diff --git a/dot.oh-my-zsh/themes/trapd00r.zsh-theme b/dot.oh-my-zsh/themes/trapd00r.zsh-theme new file mode 100644 index 0000000..cba14c4 --- /dev/null +++ b/dot.oh-my-zsh/themes/trapd00r.zsh-theme @@ -0,0 +1,95 @@ +# Name: trapd00r zsh theme +# Author: Magnus Woldrich +# +# This theme needs a terminal supporting 256 colors as well as unicode. It also +# needs the script that splits up the current path and makes it fancy as located +# here: https://github.com/trapd00r/utils/blob/master/zsh_path +# +# By default it spans over two lines like so: +# +# scp1@shiva:pts/9-> /home » scp1 (0) +# > +# +# that's user@host:pts/-> splitted path (return status) +# +# If the current directory is a git repository, we span 3 lines; +# +# git❨ master ❩ DIRTY +# scp1@shiva:pts/4-> /home » scp1 » dev » utils (0) +# > + +autoload -U add-zsh-hook +autoload -Uz vcs_info + +local c0=$( printf "\e[m") +local c1=$( printf "\e[38;5;245m") +local c2=$( printf "\e[38;5;250m") +local c3=$( printf "\e[38;5;242m") +local c4=$( printf "\e[38;5;197m") +local c5=$( printf "\e[38;5;225m") +local c6=$( printf "\e[38;5;240m") +local c7=$( printf "\e[38;5;242m") +local c8=$( printf "\e[38;5;244m") +local c9=$( printf "\e[38;5;162m") +local c10=$(printf "\e[1m") +local c11=$(printf "\e[38;5;208m\e[1m") +local c12=$(printf "\e[38;5;142m\e[1m") +local c13=$(printf "\e[38;5;196m\e[1m") + + +# We dont want to use the extended colorset in the TTY / VC. +if [ "$TERM" = "linux" ]; then + c1=$( printf "\e[34;1m") + c2=$( printf "\e[35m") + c3=$( printf "\e[31m") + c4=$( printf "\e[31;1m") + c5=$( printf "\e[32m") + c6=$( printf "\e[32;1m") + c7=$( printf "\e[33m") + c8=$( printf "\e[33;1m") + c9=$( printf "\e[34m") + + c11=$(printf "\e[35;1m") + c12=$(printf "\e[36m") + c13=$(printf "\e[31;1m") +fi + +zstyle ':vcs_info:*' actionformats \ + '%{$c8%}(%f%s)%{$c7%}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f ' + +zstyle ':vcs_info:*' formats \ + "%{$c8%}%s%%{$c7%}❨ %{$c9%}%{$c11%}%b%{$c7%} ❩%{$reset_color%}%f " + +zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{3}%r' +zstyle ':vcs_info:*' enable git + +add-zsh-hook precmd prompt_jnrowe_precmd + +prompt_jnrowe_precmd () { + vcs_info + if [ "${vcs_info_msg_0_}" = "" ]; then + dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$(zsh_path)%} %{$c0%}(%{$c5%}%?%{$c0%})" + PROMPT='%{$fg_bold[green]%}%p%{$reset_color%}${vcs_info_msg_0_}${dir_status} ${ret_status}%{$reset_color%} +> ' + +# modified, to be commited + elif [[ $(git diff --cached --name-status 2>/dev/null ) != "" ]]; then + dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$(zsh_path)%} %{$c0%}(%{$c5%}%?%{$c0%})" + PROMPT='${vcs_info_msg_0_}%{$30%} %{$bg_bold[red]%}%{$fg_bold[cyan]%}C%{$fg_bold[black]%}OMMIT%{$reset_color%} +%{$fg_bold[green]%}%p%{$reset_color%}${dir_status}%{$reset_color%} +> ' + + elif [[ $(git diff --name-status 2>/dev/null ) != "" ]]; then + dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$(zsh_path)%} %{$c0%}(%{$c5%}%?%{$c0%})" + PROMPT='${vcs_info_msg_0_}%{$bg_bold[red]%}%{$fg_bold[blue]%}D%{$fg_bold[black]%}IRTY%{$reset_color%} +%{$fg_bold[green]%}%p%{$reset_color%}${dir_status}%{$reset_color%} +%{$c13%}>%{$c0%} ' + else + dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$(zsh_path)%} %{$c0%}(%{$c5%}%?%{$c0%})" + PROMPT='${vcs_info_msg_0_} +%{$fg_bold[green]%}%p%{$reset_color%}${dir_status} ${vcs_info_msg_0_}%{$reset_color%} +> ' +fi +} + +# vim: set ft=zsh sw=2 et tw=0: diff --git a/dot.oh-my-zsh/themes/wedisagree.zsh-theme b/dot.oh-my-zsh/themes/wedisagree.zsh-theme new file mode 100644 index 0000000..7cb2793 --- /dev/null +++ b/dot.oh-my-zsh/themes/wedisagree.zsh-theme @@ -0,0 +1,107 @@ +# On a mac with snow leopard, for nicer terminal colours: + +# - Install SIMBL: http://www.culater.net/software/SIMBL/SIMBL.php +# - Download'Terminal-Colours': http://bwaht.net/code/TerminalColours.bundle.zip +# - Place that bundle in ~/Library/Application\ Support/SIMBL/Plugins (create that folder if it doesn't exist) +# - Open Terminal preferences. Go to Settings -> Text -> More +# - Change default colours to your liking. +# +# Here are the colours from Textmate's Monokai theme: +# +# Black: 0, 0, 0 +# Red: 229, 34, 34 +# Green: 166, 227, 45 +# Yellow: 252, 149, 30 +# Blue: 196, 141, 255 +# Magenta: 250, 37, 115 +# Cyan: 103, 217, 240 +# White: 242, 242, 242 + +# Thanks to Steve Losh: http://stevelosh.com/blog/2009/03/candy-colored-terminal/ + +# The prompt + +PROMPT='%{$fg[magenta]%}[%c] %{$reset_color%}' + +# The right-hand prompt + +RPROMPT='${time} %{$fg[magenta]%}$(git_prompt_info)%{$reset_color%}$(git_prompt_status)%{$reset_color%}' + +# Add this at the start of RPROMPT to include rvm info showing ruby-version@gemset-name +# %{$fg[yellow]%}$(~/.rvm/bin/rvm-prompt)%{$reset_color%} + +# local time, color coded by last return code +time_enabled="%(?.%{$fg[green]%}.%{$fg[red]%})%*%{$reset_color%}" +time_disabled="%{$fg[green]%}%*%{$reset_color%}" +time=$time_enabled + +ZSH_THEME_GIT_PROMPT_PREFIX=" ☁ %{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[yellow]%} ☂" # Ⓓ +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ✭" # ⓣ +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%} ☀" # Ⓞ + +ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[cyan]%} ✚" # ⓐ ⑃ +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[yellow]%} ⚡" # ⓜ ⑁ +ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✖" # ⓧ ⑂ +ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[blue]%} ➜" # ⓡ ⑄ +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[magenta]%} ♒" # ⓤ ⑊ + +# More symbols to choose from: +# ☀ ✹ ☄ ♆ ♀ ♁ ♐ ♇ ♈ ♉ ♚ ♛ ♜ ♝ ♞ ♟ ♠ ♣ ⚢ ⚲ ⚳ ⚴ ⚥ ⚤ ⚦ ⚒ ⚑ ⚐ ♺ ♻ ♼ ☰ ☱ ☲ ☳ ☴ ☵ ☶ ☷ +# ✡ ✔ ✖ ✚ ✱ ✤ ✦ ❤ ➜ ➟ ➼ ✂ ✎ ✐ ⨀ ⨁ ⨂ ⨍ ⨎ ⨏ ⨷ ⩚ ⩛ ⩡ ⩱ ⩲ ⩵ ⩶ ⨠ +# ⬅ ⬆ ⬇ ⬈ ⬉ ⬊ ⬋ ⬒ ⬓ ⬔ ⬕ ⬖ ⬗ ⬘ ⬙ ⬟ ⬤ 〒 ǀ ǁ ǂ ĭ Ť Ŧ + +# Determine if we are using a gemset. +function rvm_gemset() { + GEMSET=`rvm gemset list | grep '=>' | cut -b4-` + if [[ -n $GEMSET ]]; then + echo "%{$fg[yellow]%}$GEMSET%{$reset_color%}|" + fi +} + +# Determine the time since last commit. If branch is clean, +# use a neutral color, otherwise colors will vary according to time. +function git_time_since_commit() { + if git rev-parse --git-dir > /dev/null 2>&1; then + # Only proceed if there is actually a commit. + if [[ $(git log 2>&1 > /dev/null | grep -c "^fatal: bad default revision") == 0 ]]; then + # Get the last commit. + last_commit=`git log --pretty=format:'%at' -1 2> /dev/null` + now=`date +%s` + seconds_since_last_commit=$((now-last_commit)) + + # Totals + MINUTES=$((seconds_since_last_commit / 60)) + HOURS=$((seconds_since_last_commit/3600)) + + # Sub-hours and sub-minutes + DAYS=$((seconds_since_last_commit / 86400)) + SUB_HOURS=$((HOURS % 24)) + SUB_MINUTES=$((MINUTES % 60)) + + if [[ -n $(git status -s 2> /dev/null) ]]; then + if [ "$MINUTES" -gt 30 ]; then + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG" + elif [ "$MINUTES" -gt 10 ]; then + COLOR="$ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM" + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT" + fi + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL" + fi + + if [ "$HOURS" -gt 24 ]; then + echo "($(rvm_gemset)$COLOR${DAYS}d${SUB_HOURS}h${SUB_MINUTES}m%{$reset_color%}|" + elif [ "$MINUTES" -gt 60 ]; then + echo "($(rvm_gemset)$COLOR${HOURS}h${SUB_MINUTES}m%{$reset_color%}|" + else + echo "($(rvm_gemset)$COLOR${MINUTES}m%{$reset_color%}|" + fi + else + COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL" + echo "($(rvm_gemset)$COLOR~|" + fi + fi +} \ No newline at end of file diff --git a/dot.oh-my-zsh/themes/wezm+.zsh-theme b/dot.oh-my-zsh/themes/wezm+.zsh-theme new file mode 100644 index 0000000..fee3eb0 --- /dev/null +++ b/dot.oh-my-zsh/themes/wezm+.zsh-theme @@ -0,0 +1,7 @@ +PROMPT='%{${fg_bold[yellow]}%}%n%{$reset_color%}%{${fg[yellow]}%}@%m%{$reset_color%} $(git_prompt_info)%(?,,%{${fg_bold[white]}%}[%?]%{$reset_color%} )%{$fg[yellow]%}%#%{$reset_color%} ' +RPROMPT='%{$fg[green]%}%~%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[blue]%}(" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%})%{$fg[red]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" diff --git a/dot.oh-my-zsh/themes/wezm.zsh-theme b/dot.oh-my-zsh/themes/wezm.zsh-theme new file mode 100644 index 0000000..1881343 --- /dev/null +++ b/dot.oh-my-zsh/themes/wezm.zsh-theme @@ -0,0 +1,7 @@ +PROMPT='$(git_prompt_info)%(?,,%{${fg_bold[white]}%}[%?]%{$reset_color%} )%{$fg[yellow]%}%#%{$reset_color%} ' +RPROMPT='%{$fg[green]%}%~%{$reset_color%}' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[blue]%}(" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%})%{$fg[red]%}⚡%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" diff --git a/dot.oh-my-zsh/themes/wuffers.zsh-theme b/dot.oh-my-zsh/themes/wuffers.zsh-theme new file mode 100644 index 0000000..4019d0a --- /dev/null +++ b/dot.oh-my-zsh/themes/wuffers.zsh-theme @@ -0,0 +1,5 @@ +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}[" +ZSH_THEME_GIT_PROMPT_SUFFIX="]%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%} x%{$fg_bold[blue]%}" + +PROMPT='%{$(git_prompt_info)%}%{$fg_bold[green]%}{%{$(rvm current 2>/dev/null || rbenv version-name 2>/dev/null)%}}%{$reset_color%} %{$fg[cyan]%}%c%{$reset_color%} ' diff --git a/dot.oh-my-zsh/themes/xiong-chiamiov-plus.zsh-theme b/dot.oh-my-zsh/themes/xiong-chiamiov-plus.zsh-theme new file mode 100644 index 0000000..095dae2 --- /dev/null +++ b/dot.oh-my-zsh/themes/xiong-chiamiov-plus.zsh-theme @@ -0,0 +1,6 @@ +# user, host, full path, and time/date +# on two lines for easier vgrepping +# entry in a nice long thread on the Arch Linux forums: http://bbs.archlinux.org/viewtopic.php?pid=521888#p521888 +PROMPT=$'%{\e[0;34m%}%B┌─[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;30m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}'%D{"%a %b %d, %I:%M"}%b$'%{\e[0;34m%}%B]%b%{\e[0m%} +%{\e[0;34m%}%B└─%B[%{\e[1;35m%}$%{\e[0;34m%}%B] <$(git_prompt_info)>%{\e[0m%}%b ' +PS2=$' \e[0;34m%}%B>%{\e[0m%}%b ' diff --git a/dot.oh-my-zsh/themes/xiong-chiamiov.zsh-theme b/dot.oh-my-zsh/themes/xiong-chiamiov.zsh-theme new file mode 100644 index 0000000..7c4c2e4 --- /dev/null +++ b/dot.oh-my-zsh/themes/xiong-chiamiov.zsh-theme @@ -0,0 +1,6 @@ +# user, host, full path, and time/date +# on two lines for easier vgrepping +# entry in a nice long thread on the Arch Linux forums: http://bbs.archlinux.org/viewtopic.php?pid=521888#p521888 +PROMPT=$'%{\e[0;34m%}%B┌─[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;30m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}'%D{"%a %b %d, %I:%M"}%b$'%{\e[0;34m%}%B]%b%{\e[0m%} +%{\e[0;34m%}%B└─%B[%{\e[1;35m%}$%{\e[0;34m%}%B]>%{\e[0m%}%b ' +PS2=$' \e[0;34m%}%B>%{\e[0m%}%b ' diff --git a/dot.oh-my-zsh/themes/zhann.zsh-theme b/dot.oh-my-zsh/themes/zhann.zsh-theme new file mode 100644 index 0000000..574e0ce --- /dev/null +++ b/dot.oh-my-zsh/themes/zhann.zsh-theme @@ -0,0 +1,15 @@ +PROMPT='%{$fg_bold[green]%}%p %{$fg[cyan]%}%c%{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' + +if which rvm-prompt &> /dev/null; then + RPROMPT='%{$reset_color%} %{$fg[red]%}$(~/.rvm/bin/rvm-prompt i v g) %{$reset_color%}' +else + if which rbenv &> /dev/null; then + RPROMPT='%{$reset_color%} %{$fg[red]%}$(rbenv version | sed -e "s/ (set.*$//") %{$reset_color%}' + fi +fi + + +ZSH_THEME_GIT_PROMPT_PREFIX=" (%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" diff --git a/dot.oh-my-zsh/tools/check_for_upgrade.sh b/dot.oh-my-zsh/tools/check_for_upgrade.sh new file mode 100644 index 0000000..581f03a --- /dev/null +++ b/dot.oh-my-zsh/tools/check_for_upgrade.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +function _current_epoch() { + echo $(($(date +%s) / 60 / 60 / 24)) +} + +function _update_zsh_update() { + echo "LAST_EPOCH=$(_current_epoch)" > ~/.zsh-update +} + +function _upgrade_zsh() { + /usr/bin/env ZSH=$ZSH /bin/sh $ZSH/tools/upgrade.sh + # update the zsh file + _update_zsh_update +} + +epoch_target=$UPDATE_ZSH_DAYS +if [[ -z "$epoch_target" ]]; then + # Default to old behavior + epoch_target=13 +fi + +if [ -f ~/.zsh-update ] +then + . ~/.zsh-update + + if [[ -z "$LAST_EPOCH" ]]; then + _update_zsh_update && return 0; + fi + + epoch_diff=$(($(_current_epoch) - $LAST_EPOCH)) + if [ $epoch_diff -gt $epoch_target ] + then + if [ "$DISABLE_UPDATE_PROMPT" = "true" ] + then + _upgrade_zsh + else + echo "[Oh My Zsh] Would you like to check for updates?" + echo "Type Y to update oh-my-zsh: \c" + read line + if [ "$line" = Y ] || [ "$line" = y ]; then + _upgrade_zsh + else + _update_zsh_update + fi + fi + fi +else + # create the zsh file + _update_zsh_update +fi + diff --git a/dot.oh-my-zsh/tools/install.sh b/dot.oh-my-zsh/tools/install.sh new file mode 100755 index 0000000..41f83e3 --- /dev/null +++ b/dot.oh-my-zsh/tools/install.sh @@ -0,0 +1,38 @@ +if [ -d ~/.oh-my-zsh ] +then + echo "\033[0;33mYou already have Oh My Zsh installed.\033[0m You'll need to remove ~/.oh-my-zsh if you want to install" + exit +fi + +echo "\033[0;34mCloning Oh My Zsh...\033[0m" +hash git >/dev/null && /usr/bin/env git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh || { + echo "git not installed" + exit +} + +echo "\033[0;34mLooking for an existing zsh config...\033[0m" +if [ -f ~/.zshrc ] || [ -h ~/.zshrc ] +then + echo "\033[0;33mFound ~/.zshrc.\033[0m \033[0;32mBacking up to ~/.zshrc.pre-oh-my-zsh\033[0m"; + mv ~/.zshrc ~/.zshrc.pre-oh-my-zsh; +fi + +echo "\033[0;34mUsing the Oh My Zsh template file and adding it to ~/.zshrc\033[0m" +cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc + +echo "\033[0;34mCopying your current PATH and adding it to the end of ~/.zshrc for you.\033[0m" +echo "export PATH=$PATH" >> ~/.zshrc + +echo "\033[0;34mTime to change your default shell to zsh!\033[0m" +chsh -s `which zsh` + +echo "\033[0;32m"' __ __ '"\033[0m" +echo "\033[0;32m"' ____ / /_ ____ ___ __ __ ____ _____/ /_ '"\033[0m" +echo "\033[0;32m"' / __ \/ __ \ / __ `__ \/ / / / /_ / / ___/ __ \ '"\033[0m" +echo "\033[0;32m"'/ /_/ / / / / / / / / / / /_/ / / /_(__ ) / / / '"\033[0m" +echo "\033[0;32m"'\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ '"\033[0m" +echo "\033[0;32m"' /____/ '"\033[0m" + +echo "\n\n \033[0;32m....is now installed.\033[0m" +/usr/bin/env zsh +source ~/.zshrc diff --git a/dot.oh-my-zsh/tools/require_tool.sh b/dot.oh-my-zsh/tools/require_tool.sh new file mode 100755 index 0000000..1fa77f7 --- /dev/null +++ b/dot.oh-my-zsh/tools/require_tool.sh @@ -0,0 +1,161 @@ +__require_tool_version_compare () +{ + ( + # Locally ignore failures, otherwise we'll exit whenever $1 and $2 + # are not equal! + set +e + +awk_strverscmp=' + # Use only awk features that work with 7th edition Unix awk (1978). + # My, what an old awk you have, Mr. Solaris! + END { + while (length(v1) || length(v2)) { + # Set d1 to be the next thing to compare from v1, and likewise for d2. + # Normally this is a single character, but if v1 and v2 contain digits, + # compare them as integers and fractions as strverscmp does. + if (v1 ~ /^[0-9]/ && v2 ~ /^[0-9]/) { + # Split v1 and v2 into their leading digit string components d1 and d2, + # and advance v1 and v2 past the leading digit strings. + for (len1 = 1; substr(v1, len1 + 1) ~ /^[0-9]/; len1++) continue + for (len2 = 1; substr(v2, len2 + 1) ~ /^[0-9]/; len2++) continue + d1 = substr(v1, 1, len1); v1 = substr(v1, len1 + 1) + d2 = substr(v2, 1, len2); v2 = substr(v2, len2 + 1) + if (d1 ~ /^0/) { + if (d2 ~ /^0/) { + # Compare two fractions. + while (d1 ~ /^0/ && d2 ~ /^0/) { + d1 = substr(d1, 2); len1-- + d2 = substr(d2, 2); len2-- + } + if (len1 != len2 && ! (len1 && len2 && substr(d1, 1, 1) == substr(d2, 1, 1))) { + # The two components differ in length, and the common prefix + # contains only leading zeros. Consider the longer to be less. + d1 = -len1 + d2 = -len2 + } else { + # Otherwise, compare as strings. + d1 = "x" d1 + d2 = "x" d2 + } + } else { + # A fraction is less than an integer. + exit 1 + } + } else { + if (d2 ~ /^0/) { + # An integer is greater than a fraction. + exit 2 + } else { + # Compare two integers. + d1 += 0 + d2 += 0 + } + } + } else { + # The normal case, without worrying about digits. + if (v1 == "") d1 = v1; else { d1 = substr(v1, 1, 1); v1 = substr(v1,2) } + if (v2 == "") d2 = v2; else { d2 = substr(v2, 1, 1); v2 = substr(v2,2) } + } + if (d1 < d2) exit 1 + if (d1 > d2) exit 2 + } + } +' + awk "$awk_strverscmp" v1="$1" v2="$2" /dev/null + case $? in + 1) echo '<';; + 0) echo '=';; + 2) echo '>';; + esac + ) +} + + +__require_tool_fatal () +{ + echo $@ >/dev/stderr + return 1 +} + +# Usage: require_tool program version +# Returns: 0 if $1 version if greater equals than $2, 1 otherwise. +# In case of error, message is written on error output. +# +# Example: require_tool gcc 4.6 +# Use GCC environment variable if defined instead of lookup for the tool +# in the environment. +require_tool () +{ + envvar_name=$(echo $1 | tr '[:lower:]' '[:upper:]') + tool=$(printenv $envvar_name || echo $1) + local version=$($tool --version 2>/dev/null| \ + sed -n 's/.*[^0-9.]\([0-9]*\.[0-9.]*\).*/\1/p;q') + if test x"$version" = x ; then + echo "$tool is required" >/dev/stderr + return 1 + fi + case $(__require_tool_version_compare "$2" "$version") in + '>') + echo "$1 $2 or better is required: this is $tool $version" >/dev/stderr + return 1 + ;; + esac +} + +usage() { + cat < /dev/null ; then + echo "Already in favlist" + else + echo $THEME_NAME >> $FAVLIST + echo "Saved to favlist" + fi + +} + +function theme_chooser() { + for THEME in $(ls $THEMES_DIR); do + echo + theme_preview $THEME + echo + if [[ -z $1 ]]; then + noyes "Do you want to add it to your favourite list ($FAVLIST)?" || \ + insert_favlist $THEME_NAME + echo + fi + done +} + +while getopts ":lhs" Option +do + case $Option in + l ) list_themes ;; + s ) theme_chooser 0 ;; + h ) usage ;; + * ) usage ;; # Default. + esac +done + +if [[ -z $Option ]]; then + if [[ -z $1 ]]; then + banner + echo + theme_chooser + else + theme_preview $1".zsh-theme" + fi +fi diff --git a/dot.oh-my-zsh/tools/uninstall.sh b/dot.oh-my-zsh/tools/uninstall.sh new file mode 100644 index 0000000..41d6015 --- /dev/null +++ b/dot.oh-my-zsh/tools/uninstall.sh @@ -0,0 +1,28 @@ +echo "Removing ~/.oh-my-zsh" +if [[ -d ~/.oh-my-zsh ]] +then + rm -rf ~/.oh-my-zsh +fi + +echo "Looking for original zsh config..." +if [ -f ~/.zshrc.pre-oh-my-zsh ] || [ -h ~/.zshrc.pre-oh-my-zsh ] +then + echo "Found ~/.zshrc.pre-oh-my-zsh -- Restoring to ~/.zshrc"; + + if [ -f ~/.zshrc ] || [ -h ~/.zshrc ] + then + ZSHRC_SAVE=".zshrc.omz-uninstalled-`date +%Y%m%d%H%M%S`"; + echo "Found ~/.zshrc -- Renaming to ~/${ZSHRC_SAVE}"; + mv ~/.zshrc ~/${ZSHRC_SAVE}; + fi + + mv ~/.zshrc.pre-oh-my-zsh ~/.zshrc; + + source ~/.zshrc; +else + echo "Switching back to bash" + chsh -s /bin/bash + source /etc/profile +fi + +echo "Thanks for trying out Oh My Zsh. It's been uninstalled." diff --git a/dot.oh-my-zsh/tools/upgrade.sh b/dot.oh-my-zsh/tools/upgrade.sh new file mode 100644 index 0000000..b2a1c06 --- /dev/null +++ b/dot.oh-my-zsh/tools/upgrade.sh @@ -0,0 +1,19 @@ +current_path=`pwd` +printf '\033[0;34m%s\033[0m\n' "Upgrading Oh My Zsh" +cd $ZSH + +if git pull origin master +then + printf '\033[0;32m%s\033[0m\n' ' __ __ ' + printf '\033[0;32m%s\033[0m\n' ' ____ / /_ ____ ___ __ __ ____ _____/ /_ ' + printf '\033[0;32m%s\033[0m\n' ' / __ \/ __ \ / __ `__ \/ / / / /_ / / ___/ __ \ ' + printf '\033[0;32m%s\033[0m\n' '/ /_/ / / / / / / / / / / /_/ / / /_(__ ) / / / ' + printf '\033[0;32m%s\033[0m\n' '\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ ' + printf '\033[0;32m%s\033[0m\n' ' /____/ ' + printf '\033[0;34m%s\033[0m\n' 'Hooray! Oh My Zsh has been updated and/or is at the current version.' + printf '\033[0;34m%s\033[1m%s\033[0m\n' 'To keep up on the latest, be sure to follow Oh My Zsh on twitter: ' 'http://twitter.com/ohmyzsh' +else + printf '\033[0;31m%s\033[0m\n' 'There was an error updating. Try again later?' +fi + +cd "$current_path" \ No newline at end of file diff --git a/dot.zsh/bindings b/dot.zsh/bindings deleted file mode 100644 index f98abbc..0000000 --- a/dot.zsh/bindings +++ /dev/null @@ -1,272 +0,0 @@ -# {{{ Keybindings -# a function to -# Use ^v to find out the keynames - -man-command () -{ - if [ -n "$BUFFER" ] - then - local FirstArg=`echo $BUFFER | awk '{print $1}'` - man $FirstArg - fi -} - -sudo-command () -{ - if [ -n "$BUFFER" ] - then - local FirstArg=`echo $BUFFER | awk '{print $1}'` - if [ "$FirstArg" != "sudo" ] - then - BUFFER="sudo $BUFFER" - zle end-of-line - fi - fi -} - -move-pointer-to-next-arg () -{ - if [ -n "$BUFFER" ] - then - CURSOR=`echo | awk ' - { curpos=5; arg=$BUFFER; orig=arg; - arg=substr(arg, curpos); - if (substr(arg, 1, 1) == "-") arg=substr(arg, 2); - curpos+=index(arg, "-"); - print curpos; }'` - fi -} - -move-pointer-after-command () -{ - if [ -n "$BUFFER" ] - then - local LenOfFirstArg=`echo $BUFFER | awk '{ print length($1) }'` - CURSOR=$LenOfFirstArg - fi -} - -add-accept-keywords () -{ - if [ -n "$BUFFER" ] - then - BUFFER="ACCEPT_KEYWORDS=\"\" $BUFFER" - CURSOR=17 - fi -} - -zle -N man-command # shows the man-page of the written command -zle -N sudo-command # writes "sudo " in front of the buffer -zle -N move-pointer-after-command # moves the pointer between command and first parameter -zle -N move-pointer-to-next-arg -zle -N add-accept-keywords - -#bindkey -v # vi key bindings -bindkey -e # emacs key bindings -bindkey '^[[2~' overwrite-mode # [Insert] -bindkey '^[[3~' delete-char # [Delete] -bindkey '^[[5~' up-line-or-history # [Page Up] -bindkey '^[[6~' down-line-or-history # [Page Down] -bindkey '^[[1~' beginning-of-line # [Begin] -bindkey '^[[4~' end-of-line # [End] -bindkey '^[[A' history-search-backward # [Up] -bindkey '^[[B' history-search-forward # [Down] -bindkey '^[Oa' history-incremental-search-backward # [Ctrl+Up] -bindkey '^[Ob' history-incremental-search-forward # [Ctrl+Down] -bindkey '^[Oc' move-pointer-to-next-arg -bindkey '^[Od' move-pointer-after-command -bindkey '^Z' which-command -bindkey '^N' man-command -bindkey '^S' sudo-command -bindkey '^Y' add-accept-keywords -bindkey '^U' kill-whole-line -bindkey '^Q' push-input -bindkey '^P' yank -bindkey '^f' forward-word -bindkey '^b' backward-word - -# Unbind c-s and c-q -stty -ixon - -#}}} - -# {{{ aliases and functions -#funktions - -# help for aliases -aliashelp() -{ - echo ' - ALIAS DESCRIPTION - cl goto and list directory - leo search/translate per leo with '$BROWSER' - wikipedia search per wikipedia with '$BROWSER' - disassemble disassemble given files - da Show the diskusage of the file/directory - daL same as above but with symlink-dereferencing - j show the runned (background-)jobs - CM `./configure && make` - CMI `./configure && make && make install` - cl go to $1 and show the contents - ls `ls --color=always` - lh `ls -lh` - ls_sizesorted long self explaining name... thx to the tabcompletion ^^ - lad only show dot-directories - lsa only show dot-files - lss only files with setgid/setuid/sticky flag - lsl only symlinks - lsx only executables - lsw world-{readable,writable,executable} files - lsbig display the biggest files - lsd only show directories - lse only show empty directories - lsnew display the newest files - lsold display the oldest files - lssmall display the smallest files - sortfast http://www.commandlinefu.com/commands/view/10313/fastest-sort - ' -} - -cl() { cd $1 && ls -a } # cd and ls -leo() { ${BROWSER} "http://dict.leo.org/?search=$*" } # gimmie leo results -wikipedia() { ${BROWSER} "http://de.wikipedia.org/wiki/Spezial:Search/${(C)1}" } -disassemble() { gcc -pipe -S -o - -O -g $* | as -aldh -o /dev/null } # self-explaining -regexp() { - pcre_compile $1 && \ - pcre_match $2 && echo "regex matches" || echo "regex does not match" -} - -sleepuntil() { #TODO - usage="Usage: $0 Stunden [Minuten [Sekunden]]\nBeispiel:\n $0 6\n(schlaeft bis um 6)" - if [ "$1" = "" ]; then echo $usage - else - h="`date '+%H'`" - m="`date '+%M'`" - s="`date '+%S'`" - - if [ "$1" = "" ]; then echo $usage; exit 1; fi - if [ "$2" = "" ]; then 2=0; fi - if [ "$3" = "" ]; then 3=0; fi - - if [ $h -gt $1 ]; then - echo "24-($1-$h)" - let "hdiff=24-($1-$h)" - else - echo "$h-$1" - let "hdiff=$h-$1" - fi - - if [ $m -gt $2 ]; then - echo "60-($m-$2)" - let "mdiff=60-($m-$2)" - else - echo "$m-$2" - let "mdiff=$m-$1" - fi - - if [ $s -gt $3 ]; then - echo "60-($s-$3)" - let "sdiff=24-($s-$3)" - else - echo "$s-$3" - let "sdiff=$s-$3" - fi - - diff=$[$hdiff*3600+$mdiff*60+$sdiff] - echo "... schlafe fuer ${diff}s (${hdiff}h${mdiff}m${sdiff}s) ..." - sleep 1 - fi -} - -test-for-ftp-mv () -{ -z=0 -orig=$@ -dateien="" -ordner="" -goal="" - -while [ $# -gt 0 ] -do - let z++ - if [ $# -ne 1 ] - then - [ -f "$1" ] && dateien="$dateien\n$1" - [ -d "$1" ] && ordner="$ordner\n$1" - [ -d "$1" -o -f "$1" ] || echo "\"$1\" existiert nicht und wird ignoriert!" - else - goal=$1 - fi - shift -done - -zmodload -i zsh/pcre -if pcre_compile "^/home/ftp" && pcre_match $goal -then - for o in `echo -e $ordner` - do - sudo mv $o $goal - sudo chmod 555 $goal$o - sudo chown ftp:ftp $goal$o - done - for d in `echo -e $dateien` - do - sudo mv $d $goal - sudo chmod 444 $goal`basename $d` - sudo chown ftp:ftp $goal`basename $d` - done -else - arg="" - for x in `echo -e $ordner $dateien $goal` - do - arg="$arg $x" - done - mv $arg -fi -} - -# normal aliases -alias da='du -sch' -alias daL='du -schL' -alias j='jobs -l' -alias CM='./configure && make' -alias CMI='./configure && make && make install' -alias ls='ls --color=always' -alias lh='ls -lh' -alias ls_sizesorted='ls -lSrah' -alias lad='ls -d .*(/)' # only show dot-directories -alias lsa='ls -a .*(.)' # only show dot-files -alias lss='ls -l *(s,S,t)' # only files with setgid/setuid/sticky flag -alias lsl='ls -l *(@[1,10])' # only symlinks -alias lsx='ls -l *(*[1,10])' # only executables -alias lsw='ls -ld *(R,W,X.^ND/)' # world-{readable,writable,executable} files -alias lsbig="ls -flh *(.OL[1,10])" # display the biggest files -alias lsd='ls -d ^.*(/)' # only show directories -alias lse='ls -d *(/^F)' # only show empty directories -alias lsnew="ls -drl *(Dom[1,10])" # display the newest files and directories -alias lsold="ls -rtlh *(Dom[1,10])" # display the oldest files and directories -alias lssmall="ls -Srl *(.oL[1,10])" # display the smallest files -alias mtr="mtr -t" # a better traceroute (no gtk please) -alias screensaver='clear; for ((;;)); do echo -ne "\033[$((1+RANDOM%LINES));$((1+RANDOM%COLUMNS))H\033[$((RANDOM%2));3$((RANDOM%8))m$((RANDOM%10))"; sleep 0.1 ; done' # credits to lkj@commandlinefu.com -alias sortfast="sort -S$(($(sed '/MemT/!d;s/[^0-9]*//g' /proc/meminfo)/1024-200)) --parallel=$(($(grep -c '^proc' /proc/cpuinfo)*2))" -alias gitpush="hipchat-notify.sh && git push $@" -#alias mv="test-for-ftp-mv"; -# TODO!!! - -# global aliases -alias -g BG='& exit' -alias -g C='|wc -l' -alias -g G='|grep' -alias -g H='|head' -alias -g Hl=' --help |& less -r' -alias -g L='|less' -alias -g LL='|& less -r' -alias -g M='|most' -alias -g N='&>/dev/null' -alias -g R='| tr A-z N-za-m' -alias -g SL='| sort | less' -alias -g S='| sort' -alias -g T='|tail' -# }}} - -# vim: set foldmethod=marker tabstop=8 diff --git a/dot.zsh/completion/npm b/dot.zsh/completion/npm deleted file mode 100644 index d7bfa67..0000000 --- a/dot.zsh/completion/npm +++ /dev/null @@ -1,42 +0,0 @@ -###-begin-npm-completion-### -# -# npm command completion script -# -# Installation: npm completion >> ~/.bashrc (or ~/.zshrc) -# Or, maybe: npm completion > /usr/local/etc/bash_completion.d/npm -# - -COMP_WORDBREAKS=${COMP_WORDBREAKS/=/} -COMP_WORDBREAKS=${COMP_WORDBREAKS/@/} -export COMP_WORDBREAKS - -if complete &>/dev/null; then - _npm_completion () { - local si="$IFS" - IFS=$'\n' COMPREPLY=($(COMP_CWORD="$COMP_CWORD" \ - COMP_LINE="$COMP_LINE" \ - COMP_POINT="$COMP_POINT" \ - npm completion -- "${COMP_WORDS[@]}" \ - 2>/dev/null)) || return $? - IFS="$si" - } - complete -F _npm_completion npm -elif compctl &>/dev/null; then - _npm_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" \ - npm completion -- "${words[@]}" \ - 2>/dev/null)) || return $? - IFS="$si" - } - compctl -K _npm_completion npm -fi -###-end-npm-completion-### diff --git a/dot.zsh/completion_cache/SYS_ALL_UNITS b/dot.zsh/completion_cache/SYS_ALL_UNITS deleted file mode 100644 index 6fd61f7..0000000 --- a/dot.zsh/completion_cache/SYS_ALL_UNITS +++ /dev/null @@ -1 +0,0 @@ -_sys_all_units=( 'home.automount' 'proc-sys-fs-binfmt_misc.automount' 'dev-disk-by\x2did-ata\x2dSAMSUNG_MZ7PA128HMCD\x2d010L1_S0MUNEABB41603.device' 'dev-disk-by\x2did-dm\x2dname\x2droot.device' 'dev-disk-by\x2did-dm\x2dname\x2dvolg1\x2dHOME.device' 'dev-disk-by\x2did-dm\x2dname\x2dvolg1\x2dROOT.device' 'dev-disk-by\x2did-dm\x2dname\x2dvolg1\x2dSECURED.device' 'dev-disk-by\x2did-dm\x2dname\x2dvolg1\x2dSWAP.device' 'dev-disk-by\x2did-dm\x2duuid\x2dCRYPT\x2dPLAIN\x2droot.device' 'dev-disk-by\x2did-dm\x2duuid\x2dLVM\x2dn2OTZ4x7Q2CjW2s2onrZtcKbxJxL6xj16AXkZvZXOaPZw7CunceoeOJ1yJeHZUUK.device' 'dev-disk-by\x2did-dm\x2duuid\x2dLVM\x2dn2OTZ4x7Q2CjW2s2onrZtcKbxJxL6xj1DLYo0j4j8GPdaow8qdS2331i5r1neSqd.device' 'dev-disk-by\x2did-dm\x2duuid\x2dLVM\x2dn2OTZ4x7Q2CjW2s2onrZtcKbxJxL6xj1Jwm2pw1f9WJ82g8mFmoCBybWyWqNm31N.device' 'dev-disk-by\x2did-dm\x2duuid\x2dLVM\x2dn2OTZ4x7Q2CjW2s2onrZtcKbxJxL6xj1qaXH98Fcf0tW2woOPitkeC1JjcMMICxE.device' 'dev-disk-by\x2did-scsi\x2dSATA_SAMSUNG_MZ7PA12S0MUNEABB41603.device' 'dev-disk-by\x2dlabel-HOME.device' 'dev-disk-by\x2dlabel-ROOT.device' 'dev-disk-by\x2dlabel-SWAP.device' 'dev-disk-by\x2dpath-pci\x2d0000:00:1f.2\x2dscsi\x2d0:0:0:0.device' 'dev-disk-by\x2dpath-pci\x2d0000:03:00.0\x2dscsi\x2d0:0:0:0.device' 'dev-disk-by\x2duuid-25f1437e\x2d1814\x2d4f57\x2d9aee\x2db05629fda29c.device' 'dev-disk-by\x2duuid-328eb4a4\x2d10b3\x2d4c49\x2dbdec\x2d079ab083ec59.device' 'dev-disk-by\x2duuid-571debac\x2d6faf\x2d4bc0\x2d999b\x2def8907ae348b.device' 'dev-disk-by\x2duuid-9a90da5a\x2ddffc\x2d4efe\x2d98d9\x2d447dc9ee8801.device' 'dev-dm\x2d0.device' 'dev-dm\x2d1.device' 'dev-dm\x2d2.device' 'dev-dm\x2d3.device' 'dev-dm\x2d4.device' 'dev-mapper-root.device' 'dev-mapper-volg1\x2dHOME.device' 'dev-mapper-volg1\x2dROOT.device' 'dev-mapper-volg1\x2dSECURED.device' 'dev-mapper-volg1\x2dSWAP.device' 'dev-sda.device' 'dev-sdb.device' 'dev-sdb1.device' 'dev-sdb2.device' 'dev-sdb3.device' 'dev-sdc.device' 'dev-sdc1.device' 'dev-sdc2.device' 'dev-sdc3.device' 'dev-sdd.device' 'dev-sdd1.device' 'dev-sdd2.device' 'dev-sdd3.device' 'dev-tty0.device' 'dev-tty1.device' 'dev-tty10.device' 'dev-tty11.device' 'dev-tty12.device' 'dev-tty2.device' 'dev-tty3.device' 'dev-tty4.device' 'dev-tty5.device' 'dev-tty6.device' 'dev-tty7.device' 'dev-tty8.device' 'dev-tty9.device' 'dev-ttyS0.device' 'dev-ttyS1.device' 'dev-ttyS2.device' 'dev-ttyS3.device' 'dev-volg1-HOME.device' 'dev-volg1-ROOT.device' 'dev-volg1-SECURED.device' 'dev-volg1-SWAP.device' 'sys-devices-pci0000:00-0000:00:1b.0-sound-card0.device' 'sys-devices-pci0000:00-0000:00:1c.1-0000:02:00.0-net-wlan0.device' 'sys-devices-pci0000:00-0000:00:1c.2-0000:03:00.0-host7-target7:0:0-7:0:0:0-block-sdc.device' 'sys-devices-pci0000:00-0000:00:1c.5-0000:08:00.0-net-eth0.device' 'sys-devices-pci0000:00-0000:00:1f.2-host0-target0:0:0-0:0:0:0-block-sda.device' 'sys-devices-platform-serial8250-tty-ttyS0.device' 'sys-devices-platform-serial8250-tty-ttyS1.device' 'sys-devices-platform-serial8250-tty-ttyS2.device' 'sys-devices-platform-serial8250-tty-ttyS3.device' 'sys-devices-platform-thinkpad_acpi-sound-card29.device' 'sys-devices-virtual-block-dm\x2d0.device' 'sys-devices-virtual-block-dm\x2d1.device' 'sys-devices-virtual-block-dm\x2d2.device' 'sys-devices-virtual-block-dm\x2d3.device' 'sys-devices-virtual-block-dm\x2d4.device' 'sys-devices-virtual-tty-tty0.device' 'sys-devices-virtual-tty-tty1.device' 'sys-devices-virtual-tty-tty10.device' 'sys-devices-virtual-tty-tty11.device' 'sys-devices-virtual-tty-tty12.device' 'sys-devices-virtual-tty-tty2.device' 'sys-devices-virtual-tty-tty3.device' 'sys-devices-virtual-tty-tty4.device' 'sys-devices-virtual-tty-tty5.device' 'sys-devices-virtual-tty-tty6.device' 'sys-devices-virtual-tty-tty7.device' 'sys-devices-virtual-tty-tty8.device' 'sys-devices-virtual-tty-tty9.device' '-.mount' 'dev-hugepages.mount' 'dev-mqueue.mount' 'home-nk-secured.mount' 'home.mount' 'media-sdb.mount' 'media-sdb1.mount' 'media-sdb2.mount' 'media-sdb3.mount' 'media-sdc.mount' 'media-sdc1.mount' 'media-sdc2.mount' 'media-sdc3.mount' 'media-sdd.mount' 'media-sdd1.mount' 'media-sdd2.mount' 'media-sdd3.mount' 'media.mount' 'proc-sys-fs-binfmt_misc.mount' 'sys-fs-fuse-connections.mount' 'sys-kernel-config.mount' 'sys-kernel-debug.mount' 'sys-kernel-security.mount' 'tmp.mount' 'var-lock.mount' 'var-run.mount' 'systemd-ask-password-console.path' 'systemd-ask-password-wall.path' 'acpid.service' 'alsa-restore.service' 'alsa-store.service' 'arch-persistent-settings.service' 'auditd.service' 'chrony.service' 'crond.service' 'dbus.service' 'emergency.service' 'fsck-root.service' 'fsck@dev-volg1-HOME.service' 'fsck@dev-volg1-SECURED.service' 'getty@tty1.service' 'halt.service' 'hwclock.service' 'ifplugd.service' 'laptop-mode.service' 'network.service' 'plymouth-quit-wait.service' 'plymouth-start.service' 'poweroff.service' 'pulseaudio.service' 'rc-local.service' 'reboot.service' 'remount-rootfs.service' 'rescue.service' 'sshd.service' 'sshdgenkeys.service' 'syslog-ng.service' 'syslog.service' 'systemd-ask-password-console.service' 'systemd-ask-password-wall.service' 'systemd-binfmt.service' 'systemd-initctl.service' 'systemd-journald.service' 'systemd-logind.service' 'systemd-modules-load.service' 'systemd-random-seed-load.service' 'systemd-random-seed-save.service' 'systemd-readahead-collect.service' 'systemd-readahead-done.service' 'systemd-readahead-replay.service' 'systemd-remount-api-vfs.service' 'systemd-shutdownd.service' 'systemd-sysctl.service' 'systemd-tmpfiles-clean.service' 'systemd-tmpfiles-setup.service' 'systemd-update-utmp-runlevel.service' 'systemd-update-utmp-shutdown.service' 'systemd-user-sessions.service' 'systemd-vconsole-setup.service' 'tor.service' 'udev-trigger.service' 'udev.service' 'acpid.socket' 'dbus.socket' 'syslog.socket' 'systemd-initctl.socket' 'systemd-journald.socket' 'systemd-shutdownd.socket' 'udev-control.socket' 'udev-kernel.socket' 'dev-disk-by\x2did-dm\x2dname\x2dvolg1\x2dSWAP.swap' 'dev-disk-by\x2did-dm\x2duuid\x2dLVM\x2dn2OTZ4x7Q2CjW2s2onrZtcKbxJxL6xj1Jwm2pw1f9WJ82g8mFmoCBybWyWqNm31N.swap' 'dev-disk-by\x2dlabel-SWAP.swap' 'dev-disk-by\x2duuid-25f1437e\x2d1814\x2d4f57\x2d9aee\x2db05629fda29c.swap' 'dev-dm\x2d2.swap' 'dev-mapper-volg1\x2dSWAP.swap' 'dev-volg1-SWAP.swap' 'arch-daemons.target' 'basic.target' 'cryptsetup.target' 'emergency.target' 'final.target' 'getty.target' 'graphical.target' 'local-fs-pre.target' 'local-fs.target' 'multi-user.target' 'network.target' 'remote-fs.target' 'rescue.target' 'shutdown.target' 'sockets.target' 'sound.target' 'swap.target' 'sysinit.target' 'syslog.target' 'umount.target' 'systemd-readahead-done.timer' 'systemd-tmpfiles-clean.timer' ) diff --git a/dot.zsh/completion_cache/modules-2.6.38-ARCH b/dot.zsh/completion_cache/modules-2.6.38-ARCH deleted file mode 100644 index f6e6f3c..0000000 --- a/dot.zsh/completion_cache/modules-2.6.38-ARCH +++ /dev/null @@ -1 +0,0 @@ -modules=( ) diff --git a/dot.zsh/completion_cache/modules-3.1.5-1-ARCH b/dot.zsh/completion_cache/modules-3.1.5-1-ARCH deleted file mode 100644 index 6960c7b..0000000 --- a/dot.zsh/completion_cache/modules-3.1.5-1-ARCH +++ /dev/null @@ -1 +0,0 @@ -modules=( '3c574_cs' '3c589_cs' '3c59x' '3w-9xxx' '3w-sas' '3w-xxxx' '8021q' '8139cp' '8139too' '8255' '8390' '9p' '9pnet' '9pnet_virtio' 'a100u2w' 'a3d' 'aacraid' 'ab8500-ponkey' 'ab8500-usb' 'abituguru' 'abituguru3' 'ac' 'ac97_bus' 'acard-ahci' 'acecad' 'acenic' 'acerhdf' 'acer-wmi' 'acpi-cpufreq' 'acpi_ipmi' 'acpi_memhotplug' 'acpi_pad' 'acpiphp' 'acpiphp_ibm' 'acpi_power_meter' 'acquirewdt' 'act200l-sir' 'act_csum' 'act_gact' 'act_ipt' 'actisys-sir' 'act_mirred' 'act_nat' 'act_pedit' 'act_police' 'act_simple' 'act_skbedit' 'ad525x_dpot' 'ad525x_dpot-i2c' 'ad525x_dpot-spi' 'ad5398' 'ad714x' 'ad714x-i2c' 'ad714x-spi' 'ad7414' 'ad7418' 'ad7877' 'ad7879' 'ad7879-i2c' 'ad7879-spi' 'adcxx' 'addi_apci_035' 'addi_apci_1032' 'addi_apci_1500' 'addi_apci_1516' 'addi_apci_1564' 'addi_apci_16xx' 'addi_apci_2016' 'addi_apci_2032' 'addi_apci_2200' 'addi_apci_3001' 'addi_apci_3120' 'addi_apci_3501' 'addi_apci_3xxx' 'adi' 'adl_pci6208' 'adl_pci7230' 'adl_pci7296' 'adl_pci7432' 'adl_pci8164' 'adl_pci9111' 'adl_pci9118' 'adm1021' 'adm1025' 'adm1026' 'adm1029' 'adm1031' 'adm1275' 'adm8211' 'adm9240' 'adp1653' 'adp5588-keys' 'adp5589-keys' 'adp8860_bl' 'adp8870_bl' 'ads1015' 'ads7828' 'ads7846' 'ads7871' 'adt7411' 'adt7462' 'adt7470' 'adt7475' 'adutux' 'adv7170' 'adv7175' 'adv7180' 'adv7343' 'advansys' 'advantechwdt' 'adv_pci1710' 'adv_pci1723' 'adv_pci_dio' 'adxl34x' 'adxl34x-i2c' 'adxl34x-spi' 'aes_generic' 'aesni-intel' 'aes-x86_64' 'af_802154' 'af9013' 'af_alg' 'affs' 'af_key' 'af-rxrpc' 'ah4' 'ah6' 'aha152x_cs' 'ahci' 'ahci_platform' 'aic79xx' 'aic7xxx' 'aic94xx' 'aiptek' 'aircable' 'airo' 'airo_cs' 'ak881x' 'alauda' 'algif_hash' 'algif_skcipher' 'ali-ircc' 'alim1535_wdt' 'alim7101_wdt' 'altera-ci' 'altera_jtaguart' 'altera_ps2' 'altera-stapl' 'altera_uart' 'ambassador' 'amc6821' 'amd5536udc' 'amd64_edac_mod' 'amd8111e' 'amd-rng' 'amplc_dio200' 'amplc_pc236' 'amplc_pc263' 'amplc_pci224' 'amplc_pci230' 'ams369fg06' 'analog' 'ansi_cprng' 'anubis' 'aoe' 'apanel' 'apds9802als' 'apds990x' 'apple_bl' 'appledisplay' 'applesmc' 'appletalk' 'appletouch' 'applicom' 'ar7part' 'arc4' 'arcmsr' 'ark3116' 'arptable_filter' 'arp_tables' 'arpt_mangle' 'as5011' 'asb100' 'asc7621' 'asix' 'asus_acpi' 'asus_atk0110' 'asus-laptop' 'asus-nb-wmi' 'asus_oled' 'asus-wmi' 'async_memcpy' 'async_pq' 'async_raid6_recov' 'async_tx' 'async_xor' 'at24' 'at25' 'at76c50x-usb' 'ata_generic' 'ata_piix' 'atbm8830' 'ath' 'ath3k' 'ath5k' 'ath6kl' 'ath9k' 'ath9k_common' 'ath9k_htc' 'ath9k_hw' 'ati_remote' 'ati_remote2' 'atl1' 'atl1c' 'atl1e' 'atl2' 'atlas_btns' 'atm' 'atmel' 'atmel_cs' 'atmel_mxt_ts' 'atmel_pci' 'atmtcp' 'atp' 'atp870u' 'atxp1' 'aty128fb' 'atyfb' 'au0828' 'au8522' 'authenc' 'authencesn' 'auth_rpcgss' 'autofs4' 'avma1_cs' 'avm_cs' 'avmfritz' 'axnet_cs' 'b1' 'b1dma' 'b1pci' 'b1pcmcia' 'b2c2-flexcop' 'b2c2-flexcop-pci' 'b2c2-flexcop-usb' 'b43' 'b43legacy' 'b44' 'bas_gigaset' 'batman-adv' 'battery' 'bcm203x' 'bcm3510' 'bcm5974' 'bcma' 'bcm_wimax' 'be2iscsi' 'be2net' 'befs' 'belkin_sa' 'bfa' 'bfusb' 'bh1770glc' 'bh1780gli' 'block2mtd' 'blowfish' 'bluecard_cs' 'bluetooth' 'bmp085' 'bna' 'bnep' 'bnx2' 'bnx2fc' 'bnx2i' 'bnx2x' 'bonding' 'bpa10x' 'bq20z75' 'bq24022' 'bq27x00_battery' 'br2684' 'brcmsmac' 'brcmutil' 'brd' 'bridge' 'broadcom' 'bsd_comp' 'bt3c_cs' 'bt819' 'bt856' 'bt866' 'bt878' 'btcx-risc' 'btmrvl' 'btmrvl_sdio' 'btrfs' 'btsdio' 'bttv' 'btuart_cs' 'btusb' 'btwilink' 'bu21013_ts' 'budget' 'budget-av' 'budget-ci' 'budget-core' 'budget-patch' 'BusLogic' 'button' 'bw-qcam' 'c2port-duramar2150' 'c4' 'c67x00' 'cachefiles' 'cafe_ccic' 'caif' 'caif_hsi' 'caif_serial' 'caif_socket' 'camellia' 'capi' 'capidrv' 'carl9170' 'cassini' 'cast5' 'cast6' 'catc' 'cb710' 'cb710-mmc' 'cbc' 'cb_das16_cs' 'cb_pcidas' 'cb_pcidas64' 'cb_pcidda' 'cb_pcidio' 'cb_pcimdas' 'cb_pcimdda' 'cciss' 'ccm' 'cdc-acm' 'cdc_eem' 'cdc_ether' 'cdc_ncm' 'cdc-phonet' 'cdc_subset' 'cdc-wdm' 'cdrom' 'ceph' 'cfag12864b' 'cfag12864bfb' 'cfg80211' 'cfi_cmdset_0001' 'cfi_cmdset_0002' 'cfi_cmdset_0020' 'cfi_probe' 'cfi_util' 'cfspi_slave' 'ch' 'ch341' 'ch7006' 'chipreg' 'chnl_net' 'ci13xxx_pci' 'cicada' 'cifs' 'cirrusfb' 'classmate-laptop' 'clearpad_tm1217' 'clip' 'cls_basic' 'cls_flow' 'cls_fw' 'cls_route' 'cls_rsvp' 'cls_rsvp6' 'cls_tcindex' 'cls_u32' 'cm109' 'cm4000_cs' 'cm4040_cs' 'cma3000_d0x' 'cma3000_d0x_i2c' 'cn' 'cnic' 'cobra' 'coda' 'comedi' 'comedi_bond' 'comedi_fc' 'comedi_parport' 'comedi_test' 'compal-laptop' 'configfs' 'container' 'contec_pci_dio' 'cordic' 'core' 'coretemp' 'cp210x' 'cpcihp_generic' 'cpcihp_zt5550' 'cpia2' 'cpqarray' 'cpu5wdt' 'cpufreq_conservative' 'cpufreq_ondemand' 'cpufreq_powersave' 'cpufreq_stats' 'cpufreq_userspace' 'cpuid' 'cpu-notifier-error-inject' 'c-qcam' 'cramfs' 'cr_bllcd' 'crc16' 'crc32c' 'crc32c-intel' 'crc7' 'crc8' 'crc-ccitt' 'crc-itu-t' 'crc-t10dif' 'crvml' 'cryptd' 'cryptoloop' 'crypto_null' 'crystalhd' 'cs5345' 'cs53l32a' 'cs5535-clockevt' 'cs5535-mfd' 'cs5535-mfgpt' 'ct82c710' 'ctr' 'cts' 'cuse' 'custom_method' 'cx18' 'cx18-alsa' 'cx22700' 'cx22702' 'cx231xx' 'cx231xx-alsa' 'cx231xx-dvb' 'cx2341x' 'cx23885' 'cx24110' 'cx24113' 'cx24116' 'cx24123' 'cx25821' 'cx25821-alsa' 'cx25840' 'cx82310_eth' 'cx8800' 'cx8802' 'cx88-alsa' 'cx88-blackbird' 'cx88-dvb' 'cx88-vp3054-i2c' 'cx88xx' 'cxacru' 'cxd2099' 'cxd2820r' 'cxgb' 'cxgb3' 'cxgb3i' 'cxgb4' 'cxgb4i' 'cxgb4vf' 'cy8ctmg110_ts' 'cyber2000fb' 'cyberjack' 'cyclades' 'cypress_cy7c63' 'cypress_m8' 'cytherm' 'DAC960' 'daqboard2000' 'das08' 'das08_cs' 'davicom' 'db9' 'dc395x' 'dca' 'dccp' 'dccp_diag' 'dccp_ipv4' 'dccp_ipv6' 'dcdbas' 'ddbridge' 'de2104x' 'de4x5' 'de600' 'de620' 'deflate' 'dell-laptop' 'dell-led' 'dell_rbu' 'dell-wmi' 'dell-wmi-aio' 'des_generic' 'dib0070' 'dib0090' 'dib3000mb' 'dib3000mc' 'dib7000m' 'dib7000p' 'dib8000' 'dibx000_common' 'digi_acceleport' 'diskonchip' 'display' 'divacapi' 'divadidd' 'diva_idi' 'diva_mnt' 'divas' 'dl2k' 'dlm' 'dm1105' 'dm9601' 'dm-crypt' 'dm-delay' 'dme1737' 'dmfe' 'dm-flakey' 'dmi-sysfs' 'dm-log' 'dm-log-userspace' 'dm-mirror' 'dm-mod' 'dm-multipath' 'dm-queue-length' 'dm-raid' 'dm-region-hash' 'dm-round-robin' 'dm-service-time' 'dm-snapshot' 'dmx3191d' 'dm-zero' 'dnet' 'dp83640' 'dpt_i2o' 'drbd' 'drm' 'drm_kms_helper' 'drxd' 'drxk' 'ds1621' 'ds1682' 'ds1wm' 'ds2482' 'ds2490' 'ds2760_battery' 'ds2780_battery' 'ds2782_battery' 'ds3000' 'ds620' 'dsbr100' 'dss1_divert' 'dst' 'dst_ca' 'dt3000' 'dt3155v4l' 'dt9812' 'dtl1_cs' 'dummy' 'dummy_hcd' 'dvb-bt8xx' 'dvb-core' 'dvb-pll' 'dvb-ttpci' 'dvb-ttusb-budget' 'dvb-usb' 'dvb-usb-a800' 'dvb-usb-af9005' 'dvb-usb-af9005-remote' 'dvb-usb-af9015' 'dvb-usb-anysee' 'dvb-usb-au6610' 'dvb-usb-az6027' 'dvb-usb-ce6230' 'dvb-usb-cinergyT2' 'dvb-usb-cxusb' 'dvb-usb-dib0700' 'dvb-usb-dibusb-common' 'dvb-usb-dibusb-mb' 'dvb-usb-dibusb-mc' 'dvb-usb-digitv' 'dvb-usb-dtt200u' 'dvb-usb-dtv5100' 'dvb-usb-dw2102' 'dvb-usb-ec168' 'dvb-usb-friio' 'dvb-usb-gl861' 'dvb-usb-gp8psk' 'dvb-usb-lmedm04' 'dvb-usb-m920x' 'dvb-usb-nova-t-usb2' 'dvb-usb-opera' 'dvb-usb-technisat-usb2' 'dvb-usb-ttusb2' 'dvb-usb-umt-010' 'dvb-usb-vp702x' 'dvb-usb-vp7045' 'dyna_pci10xx' 'dynapro' 'e100' 'e1000' 'e1000e' 'e752x_edac' 'earth-pt1' 'easycap' 'eata' 'ebt_802_3' 'ebtable_broute' 'ebtable_filter' 'ebtable_nat' 'ebtables' 'ebt_among' 'ebt_arp' 'ebt_arpreply' 'ebt_dnat' 'ebt_ip' 'ebt_ip6' 'ebt_limit' 'ebt_log' 'ebt_mark' 'ebt_mark_m' 'ebt_nflog' 'ebt_pkttype' 'ebt_redirect' 'ebt_snat' 'ebt_stp' 'ebt_ulog' 'ebt_vlan' 'ec100' 'ecb' 'echo' 'ecryptfs' 'ecryptfs_format' 'ec_sys' 'edac_core' 'edac_mce_amd' 'edd' 'eeepc-laptop' 'eeepc-wmi' 'eeprom' 'eeprom_93cx6' 'eeprom_93xx46' 'eeti_ts' 'efivars' 'ehci-hcd' 'einj' 'elo' 'elsa_cs' 'em28xx' 'em28xx-alsa' 'em28xx-dvb' 'emc1403' 'emc2103' 'emc6w201' 'emi26' 'emi62' 'empeg' 'emu10k1-gp' 'enc28j60' 'enclosure' 'encrypted' 'ene_ir' 'eni' 'enic' 'epic100' 'eql' 'erst-dbg' 'esi-sir' 'esp4' 'esp6' 'et1011c' 'et131x' 'et61x251' 'ethoc' 'eurotechwdt' 'evdev' 'exofs' 'exportfs' 'ext2' 'ext3' 'ext4' 'f71805f' 'f71808e_wdt' 'f71882fg' 'f75375s' 'fakehard' 'fakephp' 'fam15h_power' 'fan' 'fat' 'faulty' 'fb_ddc' 'fb_sys_fops' 'fcoe' 'fcrypt' 'fdomain' 'fdomain_cs' 'fealnx' 'ff-memless' 'fintek-cir' 'firedtv' 'firestream' 'firewire-core' 'firewire-net' 'firewire-ohci' 'firewire-sbp2' 'fixed' 'floppy' 'fm801-gp' 'fm_drv' 'fmvj18x_cs' 'fnic' 'forcedeth' 'fore_200e' 'freq_table' 'fsa9480' 'fscache' 'fschmd' 'ft1000' 'ft1000_pcmcia' 'ftdi-elan' 'ftdi_sio' 'ftl' 'fujitsu-laptop' 'fujitsu_ts' 'funsoft' 'fuse' 'g760a' 'gadgetfs' 'gamecon' 'gameport' 'garmin_gps' 'g_audio' 'gcm' 'g_dbgp' 'gdth' 'generic_bl' 'gen_probe' 'geodewdt' 'g_ether' 'gf128mul' 'gf2k' 'g_ffs' 'g_file_storage' 'gfs2' 'ghash-clmulni-intel' 'ghash-generic' 'g_hid' 'gigaset' 'girbil-sir' 'gl518sm' 'gl520sm' 'gl620a' 'g_midi' 'g_ncm' 'go7007' 'go7007-usb' 'goku_udc' 'gpio-74x164' 'gpio-adp5588' 'gpio-charger' 'gpio-cs5535' 'gpio-fan' 'gpio-generic' 'gpio-i2cmux' 'gpio-it8761e' 'gpio-janz-ttl' 'gpio_keys' 'gpio_keys_polled' 'gpio-max7300' 'gpio-max7301' 'gpio-max730x' 'gpio-max732x' 'gpio-mc33880' 'gpio-mcp23s08' 'gpio-ml-ioh' 'gpio_mouse' 'gpio-pca953x' 'gpio-pcf857x' 'gpio-pch' 'gpio-rdc321x' 'gpio-sch' 'gpio-tps65912' 'gpio_vbus' 'gpio-vx855' 'gpio-wm831x' 'g_printer' 'gre' 'grip' 'grip_mp' 'gsc_hpdi' 'g_serial' 'gspca_benq' 'gspca_conex' 'gspca_cpia1' 'gspca_etoms' 'gspca_finepix' 'gspca_gl860' 'gspca_jeilinj' 'gspca_kinect' 'gspca_konica' 'gspca_m5602' 'gspca_main' 'gspca_mars' 'gspca_mr97310a' 'gspca_nw80x' 'gspca_ov519' 'gspca_ov534' 'gspca_ov534_9' 'gspca_pac207' 'gspca_pac7302' 'gspca_pac7311' 'gspca_se401' 'gspca_sn9c2028' 'gspca_sn9c20x' 'gspca_sonixb' 'gspca_sonixj' 'gspca_spca1528' 'gspca_spca500' 'gspca_spca501' 'gspca_spca505' 'gspca_spca506' 'gspca_spca508' 'gspca_spca561' 'gspca_sq905' 'gspca_sq905c' 'gspca_sq930x' 'gspca_stk014' 'gspca_stv0680' 'gspca_stv06xx' 'gspca_sunplus' 'gspca_t613' 'gspca_tv8532' 'gspca_vc032x' 'gspca_vicam' 'gspca_xirlink_cit' 'gspca_zc3xx' 'gtco' 'guillemot' 'gunze' 'g_webcam' 'hamachi' 'hampshire' 'hangcheck-timer' 'hanwang' 'hci_uart' 'hci_vhci' 'hdaps' 'hdpvr' 'he' 'hexium_gemini' 'hexium_orion' 'hfc4s8s_l1' 'hfcmulti' 'hfcpci' 'hfcsusb' 'hfc_usb' 'hfs' 'hfsplus' 'hid' 'hid-a4tech' 'hid-apple' 'hid-axff' 'hid-belkin' 'hid-cherry' 'hid-chicony' 'hid-cypress' 'hid-dr' 'hid-elecom' 'hid-emsff' 'hid-ezkey' 'hid-gaff' 'hid-gyration' 'hid-holtekff' 'hid-kensington' 'hid-keytouch' 'hid-kye' 'hid-lcpower' 'hid-logitech' 'hid-magicmouse' 'hid-microsoft' 'hid-monterey' 'hid-multitouch' 'hid-ntrig' 'hid-ortek' 'hidp' 'hid-petalynx' 'hid-picolcd' 'hid-pl' 'hid-prodikeys' 'hid-quanta' 'hid-roccat' 'hid-roccat-arvo' 'hid-roccat-common' 'hid-roccat-kone' 'hid-roccat-koneplus' 'hid-roccat-kovaplus' 'hid-roccat-pyra' 'hid-samsung' 'hid-sjoy' 'hid-sony' 'hid-speedlink' 'hid-sunplus' 'hid-tmff' 'hid-topseed' 'hid-twinhan' 'hid-uclogic' 'hid-wacom' 'hid-waltop' 'hid-wiimote' 'hid-zpff' 'hid-zydacron' 'hifn_795x' 'hisax' 'hisax_fcpcipnp' 'hisax_isac' 'hisax_st5481' 'hmac' 'hmc6352' 'hopper' 'horizon' 'hostap' 'hostap_cs' 'hostap_pci' 'hostap_plx' 'hp100' 'hp4x' 'hp_accel' 'hpilo' 'hpsa' 'hptiop' 'hpwdt' 'hp-wmi' 'hso' 'htc-pasic3' 'hv_blkvsc' 'hv_mouse' 'hv_netvsc' 'hv_storvsc' 'hv_timesource' 'hv_utils' 'hv_vmbus' 'hwa-hc' 'hwa-rc' 'hwmon-vid' 'hwpoison-inject' 'hysdn' 'i1480-dfu-usb' 'i1480-est' 'i2400m' 'i2400m-sdio' 'i2400m-usb' 'i2c-algo-bit' 'i2c-algo-pca' 'i2c-ali1535' 'i2c-ali1563' 'i2c-ali15x3' 'i2c-amd756' 'i2c-amd756-s4882' 'i2c-amd8111' 'i2c-core' 'i2c-dev' 'i2c-diolan-u2c' 'i2c-eg20t' 'i2c-gpio' 'i2c-i801' 'i2c-intel-mid' 'i2c-isch' 'i2c-mux' 'i2c-nforce2' 'i2c-nforce2-s4985' 'i2c-ocores' 'i2c-parport' 'i2c-parport-light' 'i2c-pca-platform' 'i2c-piix4' 'i2c-scmi' 'i2c-simtec' 'i2c-sis5595' 'i2c-sis630' 'i2c-sis96x' 'i2c-smbus' 'i2c-taos-evm' 'i2c-tiny-usb' 'i2c-via' 'i2c-viapro' 'i2c-xiic' 'i2o_block' 'i2o_bus' 'i2o_config' 'i2o_core' 'i2o_proc' 'i2o_scsi' 'i3000_edac' 'i3200_edac' 'i5000_edac' 'i5100_edac' 'i5400_edac' 'i5k_amb' 'i6300esb' 'i7300_edac' 'i7300_idle' 'i7core_edac' 'i82092' 'i82975x_edac' 'i8k' 'i915' 'ia32_aout' 'ib700wdt' 'ibmaem' 'ibmasr' 'ibmpex' 'ibm_rtl' 'icplus' 'icp_multi' 'ics932s401' 'ideapad-laptop' 'idmouse' 'idt77252' 'ieee802154' 'ifb' 'iforce' 'ifx6x60' 'igb' 'igbvf' 'ii_pci20kc' 'ili9320' 'imm' 'imon' 'imx074' 'inexio' 'inftl' 'initio' 'input-polldev' 'int51x1' 'intel-agp' 'intel-gtt' 'intel_ips' 'intel_menlow' 'intel_mid_dma' 'intel_oaktrail' 'intel-rng' 'interact' 'ioatdma' 'ioc4' 'io_edgeport' 'io_ti' 'iowarrior' 'ip6_queue' 'ip6table_filter' 'ip6table_mangle' 'ip6table_raw' 'ip6_tables' 'ip6table_security' 'ip6t_ah' 'ip6t_eui64' 'ip6t_frag' 'ip6t_hbh' 'ip6t_ipv6header' 'ip6t_LOG' 'ip6t_mh' 'ip6t_REJECT' 'ip6t_rt' 'ip6_tunnel' 'ipaq' 'ipcomp' 'ipcomp6' 'ipddp' 'ipg' 'ip_gre' 'iphase' 'ipheth' 'ipip' 'ipmi_devintf' 'ipmi_msghandler' 'ipmi_poweroff' 'ipmi_si' 'ipmi_watchdog' 'ip_queue' 'ipr' 'ips' 'ip_set' 'ip_set_bitmap_ip' 'ip_set_bitmap_ipmac' 'ip_set_bitmap_port' 'ip_set_hash_ip' 'ip_set_hash_ipport' 'ip_set_hash_ipportip' 'ip_set_hash_ipportnet' 'ip_set_hash_net' 'ip_set_hash_netiface' 'ip_set_hash_netport' 'ip_set_list_set' 'iptable_filter' 'iptable_mangle' 'iptable_nat' 'iptable_raw' 'ip_tables' 'iptable_security' 'ipt_ah' 'ipt_CLUSTERIP' 'ipt_ecn' 'ipt_ECN' 'ipt_LOG' 'ipt_MASQUERADE' 'ipt_NETMAP' 'ipt_REDIRECT' 'ipt_REJECT' 'ipt_ULOG' 'ipv6' 'ip_vs' 'ip_vs_dh' 'ip_vs_ftp' 'ip_vs_lblc' 'ip_vs_lblcr' 'ip_vs_lc' 'ip_vs_nq' 'ip_vs_pe_sip' 'ip_vs_rr' 'ip_vs_sed' 'ip_vs_sh' 'ip_vs_wlc' 'ip_vs_wrr' 'ipw' 'ipw2100' 'ipw2200' 'ipwireless' 'ipx' 'ircomm' 'ircomm-tty' 'irda' 'irda-usb' 'ir-jvc-decoder' 'ir-kbd-i2c' 'irlan' 'ir-lirc-codec' 'ir-mce_kbd-decoder' 'ir-nec-decoder' 'irnet' 'ir-rc5-decoder' 'ir-rc5-sz-decoder' 'ir-rc6-decoder' 'ir-sony-decoder' 'irtty-sir' 'ir-usb' 'isci' 'iscsi_boot_sysfs' 'iscsi_target_mod' 'iscsi_tcp' 'isdn' 'isdn_bsdcomp' 'isdnhdlc' 'isight_firmware' 'isl29003' 'isl29020' 'isl6271a-regulator' 'isl6405' 'isl6421' 'isl6423' 'isofs' 'isp116x-hcd' 'isp1362-hcd' 'isp1704_charger' 'isp1760' 'it87' 'it8712f_wdt' 'it87_wdt' 'iTCO_vendor_support' 'iTCO_wdt' 'itd1000' 'ite-cir' 'iuu_phoenix' 'ivtv' 'ivtvfb' 'iwl3945' 'iwl4965' 'iwlagn' 'iwl-legacy' 'iwmc3200top' 'iwmc3200wifi' 'ix2505v' 'ixgb' 'ixgbe' 'ixgbevf' 'janz-cmodio' 'jbd' 'jbd2' 'jc42' 'jedec_probe' 'jffs2' 'jfs' 'jmb38x_ms' 'jme' 'joydev' 'joydump' 'jr3_pci' 'jsm' 'k10temp' 'k8temp' 'kafs' 'kalmia' 'kaweth' 'kb3886_bl' 'kbtab' 'kcomedilib' 'ke_counter' 'kernelcapi' 'keucr' 'keyspan' 'keyspan_pda' 'keyspan_remote' 'khazad' 'kingsun-sir' 'kl5kusb105' 'kobil_sct' 'ks0108' 'ks0127' 'ks8842' 'ks8851' 'ks8851_mll' 'ks959-sir' 'ksdazzle-sir' 'ksz884x' 'kvm' 'kvm-amd' 'kvm-intel' 'kxtj9' 'kyrofb' 'l1oip' 'l2tp_core' 'l2tp_eth' 'l2tp_ip' 'l2tp_netlink' 'l2tp_ppp' 'l4f00242t03' 'l64781' 'lanai' 'lcd' 'ld9040' 'ldusb' 'lec' 'leds-alix2' 'leds-bd2802' 'leds-clevo-mail' 'leds-dac124s085' 'leds-gpio' 'leds-lm3530' 'leds-lp3944' 'leds-lp5521' 'leds-lp5523' 'leds-lt3593' 'leds-mc13783' 'leds-net5501' 'leds-pca9532' 'leds-pca955x' 'leds-regulator' 'leds-ss4200' 'leds-wm831x-status' 'ledtrig-backlight' 'ledtrig-default-on' 'ledtrig-gpio' 'ledtrig-heartbeat' 'ledtrig-timer' 'legousbtower' 'lgdt3305' 'lgdt330x' 'lgs8gxx' 'lg-vl600' 'lib80211' 'lib80211_crypt_ccmp' 'lib80211_crypt_tkip' 'lib80211_crypt_wep' 'libahci' 'libata' 'libceph' 'libcrc32c' 'libcxgbi' 'libertas' 'libertas_cs' 'libertas_sdio' 'libertas_spi' 'libertas_tf' 'libertas_tf_usb' 'libfc' 'libfcoe' 'libipw' 'libiscsi' 'libiscsi_tcp' 'libosd' 'libphy' 'libsas' 'libsrp' 'lightning' 'line6usb' 'lineage-pem' 'linear' 'lirc_bt829' 'lirc_dev' 'lirc_igorplugusb' 'lirc_imon' 'lirc_parallel' 'lirc_sasem' 'lirc_serial' 'lirc_sir' 'lirc_ttusbir' 'lirc_zilog' 'lis3lv02d' 'lis3lv02d_i2c' 'litelink-sir' 'lkdtm' 'llc' 'llc2' 'lm25066' 'lm63' 'lm70' 'lm73' 'lm75' 'lm77' 'lm78' 'lm80' 'lm83' 'lm85' 'lm87' 'lm90' 'lm92' 'lm93' 'lm95241' 'lm95245' 'lms283gf05' 'lnbp21' 'lockd' 'logfs' 'loop' 'lp' 'lp3971' 'lp3972' 'lpc_sch' 'lpddr_cmds' 'lpfc' 'lru_cache' 'lrw' 'ltc4151' 'ltc4215' 'ltc4245' 'ltc4261' 'ltv350qv' 'lxt' 'lzo' 'm52790' 'm5mols' 'm66592-udc' 'ma600-sir' 'mac80211' 'machzwd' 'macmodes' 'macvlan' 'macvtap' 'magellan' 'mantis' 'mantis_core' 'map_absent' 'map_funcs' 'map_ram' 'map_rom' 'marvell' 'matrix_keypad' 'matrox_w1' 'max1111' 'max11801_ts' 'max1586' 'max16064' 'max16065' 'max1619' 'max1668' 'max17040_battery' 'max17042_battery' 'max2165' 'max3100' 'max3107' 'max34440' 'max6639' 'max6642' 'max6650' 'max6875' 'max8649' 'max8660' 'max8688' 'max8903_charger' 'max8952' 'mb86a16' 'mb86a20s' 'mbcache' 'mc13783-adc' 'mc13783-regulator' 'mc13783_ts' 'mc13892-regulator' 'mc13xxx-core' 'mc13xxx-regulator-core' 'mc44s803' 'mce_amd_inj' 'mceusb' 'mcp2120-sir' 'mcs5000_ts' 'mcs7780' 'mcs7830' 'mcs_touchkey' 'mct_u232' 'md4' 'md5' 'mdc800' 'mdio' 'md-mod' 'me4000' 'me_daq' 'media' 'megaraid' 'megaraid_mbox' 'megaraid_mm' 'megaraid_sas' 'mei' 'mem2mem_testdev' 'memstick' 'meye' 'mfd' 'mga' 'michael_mic' 'micrel' 'microcode' 'microtek' 'mii' 'mip6' 'mISDN_core' 'mISDN_dsp' 'mISDNinfineon' 'mISDNipac' 'mISDNisar' 'mite' 'mk712' 'mlx4_core' 'mlx4_en' 'mma8450' 'mmc_block' 'mmc_core' 'mmc_spi' 'mos7720' 'mos7840' 'moto_modem' 'mperf' 'mpoa' 'mpr121_touchkey' 'mpt2sas' 'mptbase' 'mptctl' 'mptfc' 'mptsas' 'mptscsih' 'mptspi' 'mpu3050' 'msdos' 'msi-laptop' 'msi-wmi' 'msp3400' 'mspro_block' 'msr' 'mt2060' 'mt20xx' 'mt2131' 'mt2266' 'mt312' 'mt352' 'mt9m001' 'mt9m111' 'mt9t031' 'mt9t112' 'mt9v011' 'mt9v022' 'mt9v032' 'mtd' 'mtd_blkdevs' 'mtdblock' 'mtdblock_ro' 'mtdchar' 'mtd_nandecctest' 'mtd_oobtest' 'mtdoops' 'mtd_pagetest' 'mtdram' 'mtd_readtest' 'mtd_speedtest' 'mtd_stresstest' 'mtd_subpagetest' 'mtdswap' 'mtd_torturetest' 'mtouch' 'multipath' 'mvsas' 'mwave' 'mwifiex' 'mwifiex_sdio' 'mwl8k' 'mxb' 'mxl5005s' 'mxl5007t' 'mxm-wmi' 'myri10ge' 'nand' 'nand_ecc' 'nand_ids' 'nandsim' 'national' 'natsemi' 'navman' 'nbd' 'ncpfs' 'ndiswrapper' 'ne2k-pci' 'neofb' 'net1080' 'net2272' 'net2280' 'netconsole' 'netjet' 'netsc520' 'netxen_nic' 'nfc' 'nf_conntrack' 'nf_conntrack_amanda' 'nf_conntrack_broadcast' 'nf_conntrack_ftp' 'nf_conntrack_h323' 'nf_conntrack_ipv4' 'nf_conntrack_ipv6' 'nf_conntrack_irc' 'nf_conntrack_netbios_ns' 'nf_conntrack_netlink' 'nf_conntrack_pptp' 'nf_conntrack_proto_dccp' 'nf_conntrack_proto_gre' 'nf_conntrack_proto_sctp' 'nf_conntrack_proto_udplite' 'nf_conntrack_sane' 'nf_conntrack_sip' 'nf_conntrack_snmp' 'nf_conntrack_tftp' 'nf_defrag_ipv4' 'nf_defrag_ipv6' 'nf_nat' 'nf_nat_amanda' 'nf_nat_ftp' 'nf_nat_h323' 'nf_nat_irc' 'nf_nat_pptp' 'nf_nat_proto_dccp' 'nf_nat_proto_gre' 'nf_nat_proto_sctp' 'nf_nat_proto_udplite' 'nf_nat_sip' 'nf_nat_snmp_basic' 'nf_nat_tftp' 'nfnetlink' 'nfnetlink_log' 'nfnetlink_queue' 'nfs' 'nfs_acl' 'nfsd' 'nftl' 'nf_tproxy_core' 'ngene' 'n_gsm' 'n_hdlc' 'ni_6527' 'ni_65xx' 'ni_660x' 'ni_670x' 'nicstar' 'ni_daq_700' 'ni_daq_dio24' 'ni_labpc' 'ni_labpc_cs' 'nilfs2' 'ni_mio_cs' 'ni_pcidio' 'ni_pcimio' 'ni_tio' 'ni_tiocmd' 'niu' 'nls_ascii' 'nls_cp1250' 'nls_cp1251' 'nls_cp1255' 'nls_cp437' 'nls_cp737' 'nls_cp775' 'nls_cp850' 'nls_cp852' 'nls_cp855' 'nls_cp857' 'nls_cp860' 'nls_cp861' 'nls_cp862' 'nls_cp863' 'nls_cp864' 'nls_cp865' 'nls_cp866' 'nls_cp869' 'nls_cp874' 'nls_cp932' 'nls_cp936' 'nls_cp949' 'nls_cp950' 'nls_euc-jp' 'nls_iso8859-13' 'nls_iso8859-14' 'nls_iso8859-15' 'nls_iso8859-2' 'nls_iso8859-3' 'nls_iso8859-4' 'nls_iso8859-5' 'nls_iso8859-6' 'nls_iso8859-7' 'nls_iso8859-9' 'nls_koi8-r' 'nls_koi8-ru' 'nls_koi8-u' 'nls_utf8' 'nmclan_cs' 'noon010pc30' 'nop-usb-xceiv' 'nosy' 'nouveau' 'nozomi' 'n_r3964' 'ns558' 'ns83820' 'nsc-ircc' 'ntc_thermistor' 'ntfs' 'n_tracerouter' 'n_tracesink' 'nuvoton-cir' 'nvidiafb' 'nvram' 'nv_tco' 'nxt200x' 'nxt6000' 'ocfs2' 'ocfs2_dlm' 'ocfs2_dlmfs' 'ocfs2_nodemanager' 'ocfs2_stackglue' 'ocfs2_stack_o2cb' 'ocfs2_stack_user' 'ohci-hcd' 'old_belkin-sir' 'omfs' 'omninet' 'oprofile' 'opticon' 'option' 'or51132' 'or51211' 'ore' 'orinoco' 'orinoco_cs' 'orinoco_nortel' 'orinoco_pci' 'orinoco_plx' 'orinoco_tmd' 'orinoco_usb' 'osd' 'osdblk' 'osst' 'oti6858' 'output' 'ov2640' 'ov5642' 'ov6650' 'ov7670' 'ov772x' 'ov9640' 'ov9740' 'oxu210hp-hcd' 'p4-clockmod' 'p54common' 'p54pci' 'p54spi' 'p54usb' 'p8022' 'p8023' 'padlock-aes' 'padlock-sha' 'panasonic-laptop' 'parkbd' 'parport' 'parport_ax88796' 'parport_cs' 'parport_pc' 'parport_serial' 'pata_acpi' 'pata_ali' 'pata_amd' 'pata_arasan_cf' 'pata_artop' 'pata_atiixp' 'pata_atp867x' 'pata_cmd640' 'pata_cmd64x' 'pata_cs5520' 'pata_cs5530' 'pata_cs5536' 'pata_cypress' 'pata_efar' 'pata_hpt366' 'pata_hpt37x' 'pata_hpt3x2n' 'pata_hpt3x3' 'pata_it8213' 'pata_it821x' 'pata_jmicron' 'pata_legacy' 'pata_marvell' 'pata_mpiix' 'pata_netcell' 'pata_ninja32' 'pata_ns87410' 'pata_ns87415' 'pata_oldpiix' 'pata_opti' 'pata_optidma' 'pata_pcmcia' 'pata_pdc2027x' 'pata_pdc202xx_old' 'pata_piccolo' 'pata_radisys' 'pata_rdc' 'pata_rz1000' 'pata_sc1200' 'pata_sch' 'pata_serverworks' 'pata_sil680' 'pata_sis' 'pata_sl82c105' 'pata_triflex' 'pata_via' 'pc87360' 'pc87413_wdt' 'pc87427' 'pca9541' 'pca954x' 'pcap-regulator' 'pcap_ts' 'pcbc' 'pcc-cpufreq' 'pcf50633' 'pcf50633-adc' 'pcf50633-backlight' 'pcf50633-charger' 'pcf50633-gpio' 'pcf50633-input' 'pcf50633-regulator' 'pcf8574_keypad' 'pcf8591' 'pch_dma' 'pch_gbe' 'pch_phub' 'pch_uart' 'pch_udc' 'pci' 'pciehp' 'pci_hotplug' 'pcips2' 'pci_slot' 'pci-stub' 'pcmcia' 'pcmcia_core' 'pcmcia_rsrc' 'pcm_common' 'pcnet32' 'pcnet_cs' 'pcrypt' 'pcspkr' 'pcwd_pci' 'pcwd_usb' 'pd6729' 'pda_power' 'pdc_adma' 'pegasus' 'penmount' 'phantom' 'phison' 'phonet' 'phram' 'pktcdvd' 'pktgen' 'pl2303' 'platform_lcd' 'plat-ram' 'plip' 'plusb' 'pluto2' 'pm2fb' 'pm8001' 'pmbus' 'pmbus_core' 'pmc551' 'pmcraid' 'pn533' 'pn544' 'pn_pep' 'pohmelfs' 'poseidon' 'poulsbo' 'powermate' 'powernow-k8' 'ppa' 'ppdev' 'ppp_async' 'ppp_deflate' 'ppp_generic' 'ppp_mppe' 'pppoatm' 'pppoe' 'pppox' 'ppp_synctty' 'pps_core' 'pps-ktimer' 'pps-ldisc' 'pps_parport' 'pptp' 'prism2_usb' 'prism54' 'processor' 'progear_bl' 'ps2mult' 'psb_gfx' 'psmouse' 'psnap' 'pti' 'ptp' 'pvrusb2' 'pwc' 'qcaux' 'qcserial' 'qinfo_probe' 'qla1280' 'qla2xxx' 'qla3xxx' 'qla4xxx' 'qlcnic' 'qlge' 'qlogic_cs' 'qlogicfas408' 'qsemi' 'qt1010' 'qt1070' 'qt2160' 'quatech_daqp_cs' 'quatech_usb2' 'quickstart' 'quota_tree' 'quota_v1' 'quota_v2' 'r128' 'r592' 'r6040' 'r8169' 'r8187se' 'r8192e_pci' 'r8192u_usb' 'r852' 'r8712u' 'r8a66597-hcd' 'r8a66597-udc' 'radeon' 'radeonfb' 'radio-i2c-si470x' 'radio-maxiradio' 'radio-mr800' 'radio-si4713' 'radio-tea5764' 'radio-timb' 'radio-usb-si470x' 'radio-wl1273' 'raid0' 'raid1' 'raid10' 'raid456' 'raid6_pq' 'raid6test' 'raid_class' 'ramoops' 'ray_cs' 'rbd' 'rc-adstech-dvb-t-pci' 'rc-alink-dtu-m' 'rc-anysee' 'rc-apac-viewcomp' 'rc-asus-pc39' 'rc-ati-tv-wonder-hd-600' 'rc-avermedia' 'rc-avermedia-a16d' 'rc-avermedia-cardbus' 'rc-avermedia-dvbt' 'rc-avermedia-m135a' 'rc-avermedia-m733a-rm-k6' 'rc-avermedia-rm-ks' 'rc-avertv-303' 'rc-azurewave-ad-tu700' 'rc-behold' 'rc-behold-columbus' 'rc-budget-ci-old' 'rc-cinergy' 'rc-cinergy-1400' 'rc-core' 'rc-dib0700-nec' 'rc-dib0700-rc5' 'rc-digitalnow-tinytwin' 'rc-digittrade' 'rc-dm1105-nec' 'rc-dntv-live-dvb-t' 'rc-dntv-live-dvbt-pro' 'rc-em-terratec' 'rc-encore-enltv' 'rc-encore-enltv2' 'rc-encore-enltv-fm53' 'rc-evga-indtube' 'rc-eztv' 'rc-flydvb' 'rc-flyvideo' 'rc-fusionhdtv-mce' 'rc-gadmei-rm008z' 'rc-genius-tvgo-a11mce' 'rc-gotview7135' 'rc-hauppauge' 'rc-imon-mce' 'rc-imon-pad' 'rc-iodata-bctv7e' 'rc-kaiomy' 'rc-kworld-315u' 'rc-kworld-plus-tv-analog' 'rc-leadtek-y04g0051' 'rc-lirc' 'rc-lme2510' 'rc-loopback' 'rc-manli' 'rc-msi-digivox-ii' 'rc-msi-digivox-iii' 'rc-msi-tvanywhere' 'rc-msi-tvanywhere-plus' 'rc-nebula' 'rc-nec-terratec-cinergy-xs' 'rc-norwood' 'rc-npgtech' 'rc-pctv-sedna' 'rc-pinnacle-color' 'rc-pinnacle-grey' 'rc-pinnacle-pctv-hd' 'rc-pixelview' 'rc-pixelview-002t' 'rc-pixelview-mk12' 'rc-pixelview-new' 'rc-powercolor-real-angel' 'rc-proteus-2309' 'rc-purpletv' 'rc-pv951' 'rc-rc6-mce' 'rc-real-audio-220-32-keys' 'rc-streamzap' 'rc-tbs-nec' 'rc-technisat-usb2' 'rc-terratec-cinergy-xs' 'rc-terratec-slim' 'rc-terratec-slim-2' 'rc-tevii-nec' 'rc-tivo' 'rc-total-media-in-hand' 'rc-trekstor' 'rc-tt-1500' 'rc-twinhan1027' 'rc-videomate-m1f' 'rc-videomate-s350' 'rc-videomate-tv-pvr' 'rc-winfast' 'rc-winfast-usbii-deluxe' 'rdc321x-southbridge' 'realtek' 'redboot' 'redrat3' 'reed_solomon' 'regmap-i2c' 'reiserfs' 'rfcomm' 'rfd_ftl' 'rfkill' 'rfkill-regulator' 'ring_buffer_benchmark' 'rio500' 'rionet' 'rivafb' 'rj54n1cb0c' 'rmd128' 'rmd160' 'rmd256' 'rmd320' 'rndis_host' 'rndis_wlan' 'rocket' 'rotary_encoder' 'rpcsec_gss_krb5' 'rt2400pci' 'rt2500pci' 'rt2500usb' 'rt2800lib' 'rt2800pci' 'rt2800usb' 'rt2x00lib' 'rt2x00pci' 'rt2x00usb' 'rt61pci' 'rt73usb' 'rtc-ab8500' 'rtc-bq32k' 'rtc-bq4802' 'rtc-ds1286' 'rtc-ds1305' 'rtc-ds1307' 'rtc-ds1374' 'rtc-ds1390' 'rtc-ds1511' 'rtc-ds1553' 'rtc-ds1672' 'rtc-ds1742' 'rtc-ds3232' 'rtc-ds3234' 'rtc-em3027' 'rtc-fm3130' 'rtc-isl12022' 'rtc-isl1208' 'rtc-m41t80' 'rtc-m41t93' 'rtc-m41t94' 'rtc-m48t35' 'rtc-m48t59' 'rtc-m48t86' 'rtc-max6900' 'rtc-max6902' 'rtc-mc13xxx' 'rtc-msm6242' 'rtc-pcf2123' 'rtc-pcf50633' 'rtc-pcf8563' 'rtc-pcf8583' 'rtc-r9701' 'rtc-rp5c01' 'rtc-rs5c348' 'rtc-rs5c372' 'rtc-rv3029c2' 'rtc-rx8025' 'rtc-rx8581' 'rtc-s35390a' 'rtc-stk17ta8' 'rtc-test' 'rtc-v3020' 'rtc-wm831x' 'rtc-x1205' 'rtd520' 'rtl8150' 'rtl8180' 'rtl8187' 'rtl8192c-common' 'rtl8192ce' 'rtl8192cu' 'rtl8192de' 'rtl8192se' 'rtlwifi' 'rts_pstor' 'rxkad' 's2255drv' 's2io' 's3fb' 's526' 's5h1409' 's5h1411' 's5h1420' 's626' 's6e63m0' 's921' 'saa6588' 'saa6752hs' 'saa7110' 'saa7115' 'saa7127' 'saa7134' 'saa7134-alsa' 'saa7134-dvb' 'saa7134-empress' 'saa7146' 'saa7146_vv' 'saa7164' 'saa717x' 'saa7185' 'saa7191' 'saa7706h' 'safe_serial' 'salsa20_generic' 'salsa20-x86_64' 'samsung-laptop' 'samsung-q10' 'sata_inic162x' 'sata_mv' 'sata_nv' 'sata_promise' 'sata_qstor' 'sata_sil' 'sata_sil24' 'sata_sis' 'sata_svw' 'sata_sx4' 'sata_uli' 'sata_via' 'sata_vsc' 'savage' 'savagefb' 'sb1000' 'sbc60xxwdt' 'sbc8360' 'sbc_epx_c3' 'sbc_fitpc2_wdt' 'sbs' 'sbshc' 'sc1200wdt' 'sc520cdp' 'sc520_wdt' 'sc92031' 'scb2_flash' 'sch311x_wdt' 'sch5627' 'sch5636' 'sch56xx-common' 'sch_atm' 'sch_cbq' 'sch_choke' 'sch_drr' 'sch_dsmark' 'sch_gred' 'sch_hfsc' 'sch_htb' 'sch_ingress' 'sch_mqprio' 'sch_multiq' 'sch_netem' 'sch_prio' 'sch_qfq' 'sch_red' 'sch_sfb' 'sch_sfq' 'sch_tbf' 'sch_teql' 'scsi_dh' 'scsi_dh_alua' 'scsi_dh_emc' 'scsi_dh_hp_sw' 'scsi_dh_rdac' 'scsi_mod' 'scsi_tgt' 'scsi_transport_fc' 'scsi_transport_iscsi' 'scsi_transport_sas' 'scsi_transport_spi' 'scsi_transport_srp' 'scsi_wait_scan' 'sctp' 'sdhci' 'sdhci-pci' 'sdhci-pltfm' 'sdio_uart' 'sd_mod' 'sdricoh_cs' 'sedlbauer_cs' 'seed' 'sep_driver' 'seqiv' 'ser_gigaset' 'serial2002' 'serial_cs' 'serio_raw' 'serpent' 'serport' 'serqt_usb2' 'ses' 'sfc' 'sg' 'sha1_generic' 'sha256_generic' 'sha512_generic' 'shpchp' 'sht15' 'sht21' 'si21xx' 'si4713-i2c' 'sidewinder' 'siemens_mpi' 'sierra' 'sierra_net' 'sigma' 'sil164' 'sir-dev' 'sis' 'sis190' 'sis5595' 'sis900' 'sis-agp' 'sisfb' 'sisusbvga' 'sit' 'skel' 'skge' 'sky2' 'sl811_cs' 'sl811-hcd' 'slhc' 'slicoss' 'slip' 'sm501' 'sm7xx' 'smc91c92_cs' 'sm_common' 'smm665' 'smsc' 'smsc37b787_wdt' 'smsc47b397' 'smsc47m1' 'smsc47m192' 'smsc75xx' 'smsc9420' 'smsc95xx' 'smsc-ircc2' 'smsdvb' 'smsmdtv' 'smssdio' 'smsusb' 'sn9c102' 'snd' 'snd-ac97-codec' 'snd-ad1889' 'snd-ak4113' 'snd-ak4114' 'snd-ak4117' 'snd-ak4xxx-adda' 'snd-ali5451' 'snd-aloop' 'snd-als300' 'snd-als4000' 'snd-asihpi' 'snd-atiixp' 'snd-atiixp-modem' 'snd-au8810' 'snd-au8820' 'snd-au8830' 'snd-aw2' 'snd-azt3328' 'snd-bt87x' 'snd-ca0106' 'snd-cmipci' 'snd-cs4281' 'snd-cs46xx' 'snd-cs5530' 'snd-cs5535audio' 'snd-cs8427' 'snd-ctxfi' 'snd-darla20' 'snd-darla24' 'snd-dummy' 'snd-echo3g' 'snd-emu10k1' 'snd-emu10k1-synth' 'snd-emu10k1x' 'snd-emux-synth' 'snd-ens1370' 'snd-ens1371' 'snd-es1938' 'snd-es1968' 'snd-firewire-lib' 'snd-firewire-speakers' 'snd-fm801' 'snd-gina20' 'snd-gina24' 'snd-hda-codec' 'snd-hda-codec-analog' 'snd-hda-codec-ca0110' 'snd-hda-codec-ca0132' 'snd-hda-codec-cirrus' 'snd-hda-codec-cmedia' 'snd-hda-codec-conexant' 'snd-hda-codec-hdmi' 'snd-hda-codec-idt' 'snd-hda-codec-realtek' 'snd-hda-codec-si3054' 'snd-hda-codec-via' 'snd-hda-intel' 'snd-hdsp' 'snd-hdspm' 'snd-hrtimer' 'snd-hwdep' 'snd-i2c' 'snd-ice1712' 'snd-ice1724' 'snd-ice17xx-ak4xxx' 'snd-indigo' 'snd-indigodj' 'snd-indigodjx' 'snd-indigoio' 'snd-indigoiox' 'snd-intel8x0' 'snd-intel8x0m' 'snd-isight' 'snd-korg1212' 'snd-layla20' 'snd-layla24' 'snd-lola' 'snd-lx6464es' 'snd-maestro3' 'snd-mia' 'snd-mixart' 'snd-mixer-oss' 'snd-mona' 'snd-mpu401' 'snd-mpu401-uart' 'snd-mtpav' 'snd-mts64' 'snd-nm256' 'snd-opl3-lib' 'snd-opl3-synth' 'snd-oxygen' 'snd-oxygen-lib' 'snd-page-alloc' 'snd-pcm' 'snd-pcm-oss' 'snd-pcxhr' 'snd-pdaudiocf' 'snd-portman2x4' 'snd-pt2258' 'snd-rawmidi' 'snd-riptide' 'snd-rme32' 'snd-rme96' 'snd-rme9652' 'snd-sb16-dsp' 'snd-sb-common' 'snd-seq' 'snd-seq-device' 'snd-seq-dummy' 'snd-seq-midi' 'snd-seq-midi-emul' 'snd-seq-midi-event' 'snd-seq-oss' 'snd-seq-virmidi' 'snd-serial-u16550' 'snd-soc-core' 'snd-sonicvibes' 'snd-tea575x-tuner' 'snd-timer' 'snd-trident' 'snd-ua101' 'snd-usb-6fire' 'snd-usb-audio' 'snd-usb-caiaq' 'snd-usbmidi-lib' 'snd-usb-us122l' 'snd-usb-usx2y' 'snd-util-mem' 'snd-via82xx' 'snd-via82xx-modem' 'snd-virmidi' 'snd-virtuoso' 'snd-vx222' 'snd-vx-lib' 'snd-vxpocket' 'snd-ymfpci' 'soc_camera' 'soc_camera_platform' 'soc_mediabus' 'softdog' 'solo6x10' 'solos-pci' 'sony-laptop' 'soundcore' 'sp5100_tco' 'sp8870' 'sp887x' 'spaceball' 'spaceorb' 'sparse-keymap' 'spcp8x5' 'speakup' 'speakup_acntpc' 'speakup_acntsa' 'speakup_apollo' 'speakup_audptr' 'speakup_bns' 'speakup_decext' 'speakup_decpc' 'speakup_dectlk' 'speakup_dtlk' 'speakup_dummy' 'speakup_keypc' 'speakup_ltlk' 'speakup_soft' 'speakup_spkout' 'speakup_txprt' 'spectrum_cs' 'speedfax' 'speedstep-lib' 'speedtch' 'spi-altera' 'spi-bitbang' 'spi-butterfly' 'spidev' 'spi-gpio' 'spi-lm70llp' 'spi-oc-tiny' 'spi-tle62x0' 'spi-topcliff-pch' 'spi-xilinx' 'squashfs' 'sr030pc30' 'sr_mod' 'ssb' 'ssfdc' 'sstfb' 'ssu100' 'ssv_dnp' 'st' 'st1232' 'starfire' 'stb0899' 'stb6000' 'stb6100' 'st_drv' 'ste10Xp' 'stex' 'stinger' 'stir4200' 'stkwebcam' 'stmmac' 'stp' 'streamzap' 'stv0288' 'stv0297' 'stv0299' 'stv0367' 'stv0900' 'stv090x' 'stv6110' 'stv6110x' 'sundance' 'sungem' 'sungem_phy' 'sunhme' 'suni' 'sunrpc' 'svgalib' 'sx8' 'sym53c500_cs' 'sym53c8xx' 'symbolserial' 'synaptics_i2c' 'synaptics_i2c_rmi4' 'synclink' 'synclink_cs' 'synclinkmp' 'syscopyarea' 'sysfillrect' 'sysimgblt' 't1pci' 'target_core_file' 'target_core_iblock' 'target_core_mod' 'target_core_pscsi' 'tca6416-keypad' 'tcm825x' 'tcm_fc' 'tcm_loop' 'tcp_bic' 'tcp_highspeed' 'tcp_htcp' 'tcp_hybla' 'tcp_illinois' 'tcp_lp' 'tcp_scalable' 'tcp_vegas' 'tcp_veno' 'tcp_westwood' 'tcp_yeah' 'tcrypt' 'tda10021' 'tda10023' 'tda10048' 'tda1004x' 'tda10086' 'tda18212' 'tda18218' 'tda18271' 'tda18271c2dd' 'tda665x' 'tda7432' 'tda8083' 'tda8261' 'tda826x' 'tda827x' 'tda8290' 'tda9840' 'tda9887' 'tdfx' 'tdfxfb' 'tdo24m' 'tea' 'tea5761' 'tea5767' 'tea6415c' 'tea6420' 'tef6862' 'tehuti' 'tekram-sir' 'teles_cs' 'test-kstrtox' 'test_power' 'tg3' 'tgr192' 'thermal' 'thinkpad_acpi' 'thmc50' 'ths7303' 'ti_dac7512' 'tifm_7xx1' 'tifm_core' 'tifm_ms' 'tifm_sd' 'timb_dma' 'timberdale' 'timblogiw' 'timbuart' 'timeriomem-rng' 'ti_usb_3410_5052' 'tlan' 'tlclk' 'tlv320aic23b' 'tm6000' 'tm6000-alsa' 'tm6000-dvb' 'tmdc' 'tmp102' 'tmp401' 'tmp421' 'tmscsim' 'toim3232-sir' 'topstar-laptop' 'toshiba_acpi' 'toshiba_bluetooth' 'touchit213' 'touchright' 'touchwin' 'tpm' 'tpm_atmel' 'tpm_bios' 'tpm_infineon' 'tpm_nsc' 'tpm_tis' 'tps6105x' 'tps6105x-regulator' 'tps65010' 'tps65023-regulator' 'tps6507x' 'tps6507x-regulator' 'tps6507x-ts' 'tps6524x-regulator' 'tps65912-regulator' 'trancevibrator' 'tridentfb' 'trusted' 'ts5500_flash' 'ts_bm' 'tsc2005' 'tsc2007' 'ts_fsm' 'ts_kmp' 'tsl2550' 'ttm' 'ttpci-eeprom' 'ttusb_dec' 'ttusbdecfe' 'tua6100' 'tulip' 'tun' 'tuner' 'tuner-simple' 'tuner-types' 'tuner-xc2028' 'tunnel4' 'tunnel6' 'turbografx' 'tvaudio' 'tveeprom' 'tvp514x' 'tvp5150' 'tvp7002' 'tw9910' 'twidjoy' 'twofish_common' 'twofish_generic' 'twofish-x86_64' 'typhoon' 'u132-hcd' 'uartlite' 'uas' 'ubi' 'ubifs' 'ucb1400_core' 'ucb1400_ts' 'ucd9000' 'ucd9200' 'udc-core' 'udf' 'udlfb' 'ueagle-atm' 'ufs' 'uhci-hcd' 'uinput' 'uio' 'uio_aec' 'uio_cif' 'uio_netx' 'uio_pci_generic' 'uio_pdrv' 'uio_pdrv_genirq' 'uio_sercos3' 'uli526x' 'umc' 'ums-alauda' 'ums-cypress' 'ums-datafab' 'ums-eneub6250' 'ums-freecom' 'ums-isd200' 'ums-jumpshot' 'ums-karma' 'ums-onetouch' 'ums-realtek' 'ums-sddr09' 'ums-sddr55' 'ums-usbat' 'unioxx5' 'upd64031a' 'upd64083' 'uPD98402' 'usb8xxx' 'usbatm' 'usbcore' 'usbdux' 'usbduxfast' 'usb_gigaset' 'usbhid' 'usbip-core' 'usbip-host' 'usblcd' 'usbled' 'usblp' 'usbmon' 'usbnet' 'usbserial' 'usbsevseg' 'usb-storage' 'usbtest' 'usbtmc' 'usbtouchscreen' 'usbvision' 'usb_wwan' 'userspace-consumer' 'ushc' 'uss720' 'uvcvideo' 'uvesafb' 'uwb' 'v4l2-common' 'v4l2-compat-ioctl32' 'v4l2-int-device' 'v4l2-mem2mem' 'ves1820' 'ves1x93' 'veth' 'vfat' 'vgastate' 'vgg2432a4' 'vhci-hcd' 'vhost_net' 'via' 'via686a' 'via-agp' 'via-camera' 'via-cputemp' 'viafb' 'via-ircc' 'via-rhine' 'via-rng' 'via-sdmmc' 'via-velocity' 'video' 'videobuf2-core' 'videobuf2-dma-contig' 'videobuf2-memops' 'videobuf2-vmalloc' 'videobuf-core' 'videobuf-dma-contig' 'videobuf-dma-sg' 'videobuf-dvb' 'videobuf-vmalloc' 'videocodec' 'videodev' 'virtio' 'virtio_balloon' 'virtio_blk' 'virtio_console' 'virtio_net' 'virtio_pci' 'virtio_ring' 'virtio-rng' 'virtual' 'visor' 'vitesse' 'vivi' 'vivopay-serial' 'vlsi_ir' 'vmac' 'vmk80xx' 'vmlfb' 'vmw_balloon' 'vmwgfx' 'vmw_pvscsi' 'vmxnet3' 'vp27smpx' 'vpx3220' 'vsxxxaa' 'vt1211' 'vt6655_stage' 'vt6656_stage' 'vt8231' 'vt8623fb' 'vub300' 'vx855' 'vxge' 'w1_bq27000' 'w1_ds2408' 'w1_ds2423' 'w1_ds2431' 'w1_ds2433' 'w1_ds2760' 'w1_ds2780' 'w1-gpio' 'w1_smem' 'w1_therm' 'w35und' 'w6692' 'w83627ehf' 'w83627hf' 'w83627hf_wdt' 'w83697hf_wdt' 'w83697ug_wdt' 'w83781d' 'w83791d' 'w83792d' 'w83793' 'w83795' 'w83877f_wdt' 'w83977af_ir' 'w83977f_wdt' 'w83l785ts' 'w83l786ng' 'w9966' 'wacom' 'wacom_w8001' 'wafer5823wdt' 'walkera0701' 'warrior' 'wbsd' 'wdt_pci' 'whci' 'whci-hcd' 'whc-rc' 'whiteheat' 'wimax' 'winbond-840' 'winbond-cir' 'wire' 'wis-ov7640' 'wis-saa7113' 'wis-saa7115' 'wis-sony-tuner' 'wis-tw2804' 'wis-tw9903' 'wis-uda1342' 'wl1251' 'wl1251_sdio' 'wl1251_spi' 'wl1273-core' 'wl12xx' 'wl12xx_sdio' 'wl12xx_sdio_test' 'wl12xx_spi' 'wl3501_cs' 'wlags49_h25_cs' 'wlags49_h2_cs' 'wm831x_backup' 'wm831x_bl' 'wm831x-dcdc' 'wm831x-hwmon' 'wm831x-isink' 'wm831x-ldo' 'wm831x-on' 'wm831x_power' 'wm831x-ts' 'wm831x_wdt' 'wm8400-core' 'wm8400-regulator' 'wm8739' 'wm8775' 'wm97xx-ts' 'wmi' 'wp512' 'wusb-cbaf' 'wusbcore' 'wusb-wa' 'x38_edac' 'xc4000' 'xc5000' 'xcbc' 'xen-blkback' 'xen-blkfront' 'xenbus_probe_frontend' 'xen-evtchn' 'xen-fbfront' 'xenfs' 'xen-gntalloc' 'xen-gntdev' 'xen-kbdfront' 'xen-netback' 'xen-netfront' 'xen-pciback' 'xen-pcifront' 'xen-platform-pci' 'xen_wdt' 'xfrm4_mode_beet' 'xfrm4_mode_transport' 'xfrm4_mode_tunnel' 'xfrm4_tunnel' 'xfrm6_mode_beet' 'xfrm6_mode_ro' 'xfrm6_mode_transport' 'xfrm6_mode_tunnel' 'xfrm6_tunnel' 'xfrm_ipcomp' 'xfrm_user' 'xfs' 'xgifb' 'xhci-hcd' 'xilinx_uartps' 'xirc2ps_cs' 'xircom_cb' 'xo15-ebook' 'xor' 'xpad' 'x_tables' 'xt_addrtype' 'xt_AUDIT' 'xt_CHECKSUM' 'xt_CLASSIFY' 'xt_cluster' 'xt_comment' 'xt_connbytes' 'xt_connlimit' 'xt_connmark' 'xt_CONNSECMARK' 'xt_conntrack' 'xt_cpu' 'xt_CT' 'xt_dccp' 'xt_devgroup' 'xt_dscp' 'xt_DSCP' 'xt_esp' 'xt_hashlimit' 'xt_helper' 'xt_hl' 'xt_HL' 'xt_IDLETIMER' 'xt_iprange' 'xt_ipvs' 'xt_LED' 'xt_length' 'xt_limit' 'xt_mac' 'xt_mark' 'xt_multiport' 'xt_NFLOG' 'xt_NFQUEUE' 'xt_NOTRACK' 'xt_osf' 'xt_owner' 'xt_physdev' 'xt_pkttype' 'xt_policy' 'xt_quota' 'xt_rateest' 'xt_RATEEST' 'xt_realm' 'xt_recent' 'xts' 'xt_sctp' 'xt_SECMARK' 'xt_set' 'xt_socket' 'xt_state' 'xt_statistic' 'xt_string' 'xt_tcpmss' 'xt_TCPMSS' 'xt_TCPOPTSTRIP' 'xt_tcpudp' 'xt_TEE' 'xt_time' 'xt_TPROXY' 'xt_TRACE' 'xt_u32' 'xusbatm' 'yealink' 'yellowfin' 'yenta_socket' 'yurex' 'zatm' 'zaurus' 'zcache' 'zd1201' 'zd1211rw' 'zhenhua' 'zio' 'zl10036' 'zl10039' 'zl10353' 'zlib' 'zlib_deflate' 'zr36016' 'zr36050' 'zr36060' 'zr36067' 'zr364xx' 'zram' ) diff --git a/dot.zsh/completion_cache/modules-3.2.11-1-ARCH b/dot.zsh/completion_cache/modules-3.2.11-1-ARCH deleted file mode 100644 index a4ff1f1..0000000 --- a/dot.zsh/completion_cache/modules-3.2.11-1-ARCH +++ /dev/null @@ -1 +0,0 @@ -modules=( '3c574_cs' '3c589_cs' '3c59x' '3w-9xxx' '3w-sas' '3w-xxxx' '6lowpan' '8021q' '8139cp' '8139too' '8255' '8390' '9p' '9pnet' '9pnet_virtio' 'a100u2w' 'a3d' 'a8293' 'aacraid' 'ab8500-ponkey' 'ab8500-usb' 'abituguru' 'abituguru3' 'ac' 'ac97_bus' 'acard-ahci' 'acecad' 'acenic' 'acerhdf' 'acer-wmi' 'acpi-cpufreq' 'acpi_ipmi' 'acpi_memhotplug' 'acpi_pad' 'acpiphp' 'acpiphp_ibm' 'acpi_power_meter' 'acquirewdt' 'act200l-sir' 'act_csum' 'act_gact' 'act_ipt' 'actisys-sir' 'act_mirred' 'act_nat' 'act_pedit' 'act_police' 'act_simple' 'act_skbedit' 'ad525x_dpot' 'ad525x_dpot-i2c' 'ad525x_dpot-spi' 'ad5398' 'ad714x' 'ad714x-i2c' 'ad714x-spi' 'ad7314' 'ad7414' 'ad7418' 'ad7877' 'ad7879' 'ad7879-i2c' 'ad7879-spi' 'adcxx' 'addi_apci_035' 'addi_apci_1032' 'addi_apci_1500' 'addi_apci_1516' 'addi_apci_1564' 'addi_apci_16xx' 'addi_apci_2016' 'addi_apci_2032' 'addi_apci_2200' 'addi_apci_3001' 'addi_apci_3120' 'addi_apci_3501' 'addi_apci_3xxx' 'adi' 'adl_pci6208' 'adl_pci7230' 'adl_pci7296' 'adl_pci7432' 'adl_pci8164' 'adl_pci9111' 'adl_pci9118' 'adm1021' 'adm1025' 'adm1026' 'adm1029' 'adm1031' 'adm1275' 'adm8211' 'adm9240' 'adp1653' 'adp5588-keys' 'adp5589-keys' 'adp8860_bl' 'adp8870_bl' 'ads1015' 'ads7828' 'ads7846' 'ads7871' 'adt7411' 'adt7462' 'adt7470' 'adt7475' 'adutux' 'adv7170' 'adv7175' 'adv7180' 'adv7343' 'advansys' 'advantechwdt' 'adv_pci1710' 'adv_pci1723' 'adv_pci_dio' 'adxl34x' 'adxl34x-i2c' 'adxl34x-spi' 'aes_generic' 'aesni-intel' 'aes-x86_64' 'af_802154' 'af9013' 'af_alg' 'affs' 'af_key' 'af-rxrpc' 'ah4' 'ah6' 'aha152x_cs' 'ahci' 'ahci_platform' 'aic79xx' 'aic7xxx' 'aic94xx' 'aiptek' 'aircable' 'airo' 'airo_cs' 'ak881x' 'alauda' 'algif_hash' 'algif_skcipher' 'ali-ircc' 'alim1535_wdt' 'alim7101_wdt' 'altera-ci' 'altera_jtaguart' 'altera_ps2' 'altera-stapl' 'altera_uart' 'ambassador' 'amc6821' 'amd5536udc' 'amd64_edac_mod' 'amd8111e' 'amd-rng' 'amplc_dio200' 'amplc_pc236' 'amplc_pc263' 'amplc_pci224' 'amplc_pci230' 'ams369fg06' 'analog' 'ansi_cprng' 'anubis' 'aoe' 'apanel' 'apds9802als' 'apds990x' 'apple_bl' 'appledisplay' 'applesmc' 'appletalk' 'appletouch' 'applicom' 'ar7part' 'arc4' 'arcmsr' 'ark3116' 'arptable_filter' 'arp_tables' 'arpt_mangle' 'as5011' 'asb100' 'asc7621' 'asix' 'asus_acpi' 'asus_atk0110' 'asus-laptop' 'asus-nb-wmi' 'asus_oled' 'asus-wmi' 'async_memcpy' 'async_pq' 'async_raid6_recov' 'async_tx' 'async_xor' 'at24' 'at25' 'at76c50x-usb' 'ata_generic' 'ata_piix' 'atbm8830' 'ath' 'ath3k' 'ath5k' 'ath6kl' 'ath9k' 'ath9k_common' 'ath9k_htc' 'ath9k_hw' 'ati_remote' 'ati_remote2' 'atl1' 'atl1c' 'atl1e' 'atl2' 'atlas_btns' 'atm' 'atmel' 'atmel_cs' 'atmel_mxt_ts' 'atmel_pci' 'atmtcp' 'atp' 'atp870u' 'atxp1' 'au0828' 'au8522' 'authenc' 'authencesn' 'auth_rpcgss' 'autofs4' 'avma1_cs' 'avm_cs' 'avmfritz' 'axnet_cs' 'b1' 'b1dma' 'b1pci' 'b1pcmcia' 'b2c2-flexcop' 'b2c2-flexcop-pci' 'b2c2-flexcop-usb' 'b43' 'b43legacy' 'b44' 'bas_gigaset' 'batman-adv' 'battery' 'bcm203x' 'bcm3510' 'bcm5974' 'bcm_wimax' 'be2iscsi' 'be2net' 'befs' 'belkin_sa' 'bfa' 'bfusb' 'bh1770glc' 'bh1780gli' 'block2mtd' 'blowfish_common' 'blowfish_generic' 'blowfish-x86_64' 'bluecard_cs' 'bluetooth' 'bma150' 'bmp085' 'bna' 'bnep' 'bnx2' 'bnx2fc' 'bnx2i' 'bnx2x' 'bonding' 'bpa10x' 'bq20z75' 'bq24022' 'bq27x00_battery' 'br2684' 'brcmfmac' 'brcmsmac' 'brcmutil' 'brd' 'bridge' 'broadcom' 'bsd_comp' 'bt3c_cs' 'bt819' 'bt856' 'bt866' 'bt878' 'btcx-risc' 'btmrvl' 'btmrvl_sdio' 'btrfs' 'btsdio' 'bttv' 'btuart_cs' 'btusb' 'btwilink' 'bu21013_ts' 'budget' 'budget-av' 'budget-ci' 'budget-core' 'budget-patch' 'BusLogic' 'button' 'bw-qcam' 'c2port-duramar2150' 'c4' 'c67x00' 'cachefiles' 'cafe_ccic' 'caif' 'caif_hsi' 'caif_serial' 'caif_socket' 'camellia' 'capi' 'capidrv' 'carl9170' 'cassini' 'cast5' 'cast6' 'catc' 'cb710' 'cb710-mmc' 'cbc' 'cb_das16_cs' 'cb_pcidas' 'cb_pcidas64' 'cb_pcidda' 'cb_pcidio' 'cb_pcimdas' 'cb_pcimdda' 'cciss' 'ccm' 'cdc-acm' 'cdc_eem' 'cdc_ether' 'cdc_ncm' 'cdc-phonet' 'cdc_subset' 'cdc-wdm' 'cdrom' 'ceph' 'cfag12864b' 'cfag12864bfb' 'cfg80211' 'cfi_cmdset_0001' 'cfi_cmdset_0002' 'cfi_cmdset_0020' 'cfi_probe' 'cfi_util' 'cfspi_slave' 'ch' 'ch341' 'ch7006' 'chipreg' 'chnl_net' 'ci13xxx_pci' 'cicada' 'cifs' 'classmate-laptop' 'clearpad_tm1217' 'clip' 'cls_basic' 'cls_flow' 'cls_fw' 'cls_route' 'cls_rsvp' 'cls_rsvp6' 'cls_tcindex' 'cls_u32' 'cm109' 'cm4000_cs' 'cm4040_cs' 'cma3000_d0x' 'cma3000_d0x_i2c' 'cnic' 'cobra' 'coda' 'comedi' 'comedi_bond' 'comedi_fc' 'comedi_parport' 'comedi_test' 'compal-laptop' 'configfs' 'container' 'contec_pci_dio' 'cordic' 'core' 'coretemp' 'cp210x' 'cpcihp_generic' 'cpcihp_zt5550' 'cpia2' 'cpqarray' 'cpu5wdt' 'cpufreq_conservative' 'cpufreq_ondemand' 'cpufreq_powersave' 'cpufreq_stats' 'cpufreq_userspace' 'cpuid' 'cpu-notifier-error-inject' 'c-qcam' 'cramfs' 'crc16' 'crc32c' 'crc32c-intel' 'crc7' 'crc8' 'crc-ccitt' 'crc-itu-t' 'crc-t10dif' 'cryptd' 'cryptoloop' 'crypto_null' 'crypto_user' 'crystalhd' 'cs5345' 'cs53l32a' 'cs5535-clockevt' 'cs5535-mfd' 'cs5535-mfgpt' 'ct82c710' 'ctr' 'cts' 'cuse' 'custom_method' 'cx18' 'cx18-alsa' 'cx22700' 'cx22702' 'cx231xx' 'cx231xx-alsa' 'cx231xx-dvb' 'cx2341x' 'cx23885' 'cx24110' 'cx24113' 'cx24116' 'cx24123' 'cx25821' 'cx25821-alsa' 'cx25840' 'cx82310_eth' 'cx8800' 'cx8802' 'cx88-alsa' 'cx88-blackbird' 'cx88-dvb' 'cx88-vp3054-i2c' 'cx88xx' 'cxacru' 'cxd2099' 'cxd2820r' 'cxgb' 'cxgb3' 'cxgb3i' 'cxgb4' 'cxgb4i' 'cxgb4vf' 'cy8ctmg110_ts' 'cyberjack' 'cyclades' 'cypress_cy7c63' 'cypress_m8' 'cytherm' 'DAC960' 'daqboard2000' 'das08' 'das08_cs' 'davicom' 'db9' 'dc395x' 'dca' 'dccp' 'dccp_diag' 'dccp_ipv4' 'dccp_ipv6' 'dcdbas' 'ddbridge' 'de2104x' 'de4x5' 'de600' 'de620' 'deflate' 'dell-laptop' 'dell-led' 'dell_rbu' 'dell-wmi' 'dell-wmi-aio' 'des_generic' 'dib0070' 'dib0090' 'dib3000mb' 'dib3000mc' 'dib7000m' 'dib7000p' 'dib8000' 'dibx000_common' 'digi_acceleport' 'diskonchip' 'display' 'divacapi' 'divadidd' 'diva_idi' 'diva_mnt' 'divas' 'dl2k' 'dlm' 'dm1105' 'dm9601' 'dm-bufio' 'dm-crypt' 'dm-delay' 'dme1737' 'dmfe' 'dm-flakey' 'dmi-sysfs' 'dm-log' 'dm-log-userspace' 'dm-mirror' 'dm-mod' 'dm-multipath' 'dm-persistent-data' 'dm-queue-length' 'dm-raid' 'dm-region-hash' 'dm-round-robin' 'dm-service-time' 'dm-snapshot' 'dm-thin-pool' 'dmx3191d' 'dm-zero' 'dnet' 'docg3' 'dp83640' 'dpt_i2o' 'drbd' 'drm' 'drm_kms_helper' 'drxd' 'drxk' 'ds1621' 'ds1682' 'ds1wm' 'ds2482' 'ds2490' 'ds2760_battery' 'ds2780_battery' 'ds2782_battery' 'ds3000' 'ds620' 'dsbr100' 'dss1_divert' 'dst' 'dst_ca' 'dt3000' 'dt3155v4l' 'dt9812' 'dtl1_cs' 'dummy' 'dummy_hcd' 'dvb-as102' 'dvb-bt8xx' 'dvb-core' 'dvb-pll' 'dvb-ttpci' 'dvb-ttusb-budget' 'dvb-usb' 'dvb-usb-a800' 'dvb-usb-af9005' 'dvb-usb-af9005-remote' 'dvb-usb-af9015' 'dvb-usb-anysee' 'dvb-usb-au6610' 'dvb-usb-az6027' 'dvb-usb-ce6230' 'dvb-usb-cinergyT2' 'dvb-usb-cxusb' 'dvb-usb-dib0700' 'dvb-usb-dibusb-common' 'dvb-usb-dibusb-mb' 'dvb-usb-dibusb-mc' 'dvb-usb-digitv' 'dvb-usb-dtt200u' 'dvb-usb-dtv5100' 'dvb-usb-dw2102' 'dvb-usb-ec168' 'dvb-usb-friio' 'dvb-usb-gl861' 'dvb-usb-gp8psk' 'dvb-usb-it913x' 'dvb-usb-lmedm04' 'dvb-usb-m920x' 'dvb-usb-mxl111sf' 'dvb-usb-nova-t-usb2' 'dvb-usb-opera' 'dvb-usb-pctv452e' 'dvb-usb-technisat-usb2' 'dvb-usb-ttusb2' 'dvb-usb-umt-010' 'dvb-usb-vp702x' 'dvb-usb-vp7045' 'dwc3' 'dwc3-omap' 'dwc3-pci' 'dyna_pci10xx' 'dynapro' 'e100' 'e1000' 'e1000e' 'e752x_edac' 'earth-pt1' 'easycap' 'eata' 'ebt_802_3' 'ebtable_broute' 'ebtable_filter' 'ebtable_nat' 'ebtables' 'ebt_among' 'ebt_arp' 'ebt_arpreply' 'ebt_dnat' 'ebt_ip' 'ebt_ip6' 'ebt_limit' 'ebt_log' 'ebt_mark' 'ebt_mark_m' 'ebt_nflog' 'ebt_pkttype' 'ebt_redirect' 'ebt_snat' 'ebt_stp' 'ebt_ulog' 'ebt_vlan' 'ec100' 'ecb' 'echo' 'ecryptfs' 'ec_sys' 'edac_core' 'edac_mce_amd' 'edd' 'eeepc-laptop' 'eeepc-wmi' 'eeprom' 'eeprom_93cx6' 'eeprom_93xx46' 'eeti_ts' 'efivars' 'ehci-hcd' 'einj' 'elo' 'elsa_cs' 'em28xx' 'em28xx-alsa' 'em28xx-dvb' 'emc1403' 'emc2103' 'emc6w201' 'emi26' 'emi62' 'empeg' 'emu10k1-gp' 'enc28j60' 'enclosure' 'encrypted-keys' 'ene_ir' 'eni' 'enic' 'epic100' 'eql' 'erst-dbg' 'esi-sir' 'esp4' 'esp6' 'et1011c' 'et131x' 'et61x251' 'ethoc' 'eurotechwdt' 'evdev' 'exofs' 'exportfs' 'ext4' 'f71805f' 'f71808e_wdt' 'f71882fg' 'f75375s' 'fakehard' 'fakephp' 'fam15h_power' 'fan' 'fat' 'faulty' 'fb_sys_fops' 'fcoe' 'fcrypt' 'fdomain' 'fdomain_cs' 'fealnx' 'ff-memless' 'fintek-cir' 'firedtv' 'firestream' 'firewire-core' 'firewire-net' 'firewire-ohci' 'firewire-sbp2' 'fixed' 'floppy' 'fm801-gp' 'fm_drv' 'fmvj18x_cs' 'fnic' 'forcedeth' 'fore_200e' 'freq_table' 'fsa9480' 'fscache' 'fschmd' 'ft1000' 'ft1000_pcmcia' 'ftdi-elan' 'ftdi_sio' 'ftl' 'fujitsu-laptop' 'fujitsu_ts' 'funsoft' 'fuse' 'g760a' 'gadgetfs' 'gamecon' 'gameport' 'garmin_gps' 'g_audio' 'gcm' 'g_dbgp' 'gdth' 'generic_bl' 'gen_probe' 'geodewdt' 'g_ether' 'gf128mul' 'gf2k' 'g_ffs' 'g_file_storage' 'gfs2' 'ghash-clmulni-intel' 'ghash-generic' 'g_hid' 'gigaset' 'girbil-sir' 'gl518sm' 'gl520sm' 'gl620a' 'g_midi' 'g_ncm' 'go7007' 'go7007-usb' 'goku_udc' 'gpio-74x164' 'gpio-adp5588' 'gpio-charger' 'gpio-cs5535' 'gpio-fan' 'gpio-generic' 'gpio-i2cmux' 'gpio-it8761e' 'gpio-janz-ttl' 'gpio_keys' 'gpio_keys_polled' 'gpio-max7300' 'gpio-max7301' 'gpio-max730x' 'gpio-max732x' 'gpio-mc33880' 'gpio-mcp23s08' 'gpio-ml-ioh' 'gpio_mouse' 'gpio-pca953x' 'gpio-pcf857x' 'gpio-pch' 'gpio-rdc321x' 'gpio-regulator' 'gpio-sch' 'gpio-tps65912' 'gpio_vbus' 'gpio-vx855' 'gpio-wm831x' 'g_printer' 'gre' 'grip' 'grip_mp' 'gsc_hpdi' 'g_serial' 'gspca_benq' 'gspca_conex' 'gspca_cpia1' 'gspca_etoms' 'gspca_finepix' 'gspca_gl860' 'gspca_jeilinj' 'gspca_kinect' 'gspca_konica' 'gspca_m5602' 'gspca_main' 'gspca_mars' 'gspca_mr97310a' 'gspca_nw80x' 'gspca_ov519' 'gspca_ov534' 'gspca_ov534_9' 'gspca_pac207' 'gspca_pac7302' 'gspca_pac7311' 'gspca_se401' 'gspca_sn9c2028' 'gspca_sn9c20x' 'gspca_sonixb' 'gspca_sonixj' 'gspca_spca1528' 'gspca_spca500' 'gspca_spca501' 'gspca_spca505' 'gspca_spca506' 'gspca_spca508' 'gspca_spca561' 'gspca_sq905' 'gspca_sq905c' 'gspca_sq930x' 'gspca_stk014' 'gspca_stv0680' 'gspca_stv06xx' 'gspca_sunplus' 'gspca_t613' 'gspca_topro' 'gspca_tv8532' 'gspca_vc032x' 'gspca_vicam' 'gspca_xirlink_cit' 'gspca_zc3xx' 'gtco' 'guillemot' 'gunze' 'g_webcam' 'hamachi' 'hampshire' 'hangcheck-timer' 'hanwang' 'hci_uart' 'hci_vhci' 'hdaps' 'hdpvr' 'he' 'hexium_gemini' 'hexium_orion' 'hfc4s8s_l1' 'hfcmulti' 'hfcpci' 'hfcsusb' 'hfc_usb' 'hfs' 'hfsplus' 'hid' 'hid-a4tech' 'hid-apple' 'hid-axff' 'hid-belkin' 'hid-cherry' 'hid-chicony' 'hid-cypress' 'hid-dr' 'hid-elecom' 'hid-emsff' 'hid-ezkey' 'hid-gaff' 'hid-gyration' 'hid-holtekff' 'hid-kensington' 'hid-keytouch' 'hid-kye' 'hid-lcpower' 'hid-logitech' 'hid-logitech-dj' 'hid-magicmouse' 'hid-microsoft' 'hid-monterey' 'hid-multitouch' 'hid-ntrig' 'hid-ortek' 'hidp' 'hid-petalynx' 'hid-picolcd' 'hid-pl' 'hid-primax' 'hid-prodikeys' 'hid-quanta' 'hid-roccat' 'hid-roccat-arvo' 'hid-roccat-common' 'hid-roccat-kone' 'hid-roccat-koneplus' 'hid-roccat-kovaplus' 'hid-roccat-pyra' 'hid-samsung' 'hid-sjoy' 'hid-sony' 'hid-speedlink' 'hid-sunplus' 'hid-tmff' 'hid-topseed' 'hid-twinhan' 'hid-uclogic' 'hid-wacom' 'hid-waltop' 'hid-wiimote' 'hid-zpff' 'hid-zydacron' 'hisax' 'hisax_fcpcipnp' 'hisax_isac' 'hisax_st5481' 'hmac' 'hmc6352' 'hopper' 'horizon' 'hostap' 'hostap_cs' 'hostap_pci' 'hostap_plx' 'hp100' 'hp4x' 'hp_accel' 'hpilo' 'hpsa' 'hptiop' 'hpwdt' 'hp-wmi' 'hso' 'htc-pasic3' 'hv_mouse' 'hv_netvsc' 'hv_storvsc' 'hv_utils' 'hv_vmbus' 'hwa-hc' 'hwa-rc' 'hwmon-vid' 'hwpoison-inject' 'hysdn' 'i1480-dfu-usb' 'i1480-est' 'i2400m' 'i2400m-sdio' 'i2400m-usb' 'i2c-algo-bit' 'i2c-algo-pca' 'i2c-ali1535' 'i2c-ali1563' 'i2c-ali15x3' 'i2c-amd756' 'i2c-amd756-s4882' 'i2c-amd8111' 'i2c-core' 'i2c-designware-pci' 'i2c-dev' 'i2c-diolan-u2c' 'i2c-eg20t' 'i2c-gpio' 'i2c-i801' 'i2c-intel-mid' 'i2c-isch' 'i2c-mux' 'i2c-nforce2' 'i2c-nforce2-s4985' 'i2c-ocores' 'i2c-parport' 'i2c-parport-light' 'i2c-pca-platform' 'i2c-piix4' 'i2c-scmi' 'i2c-simtec' 'i2c-sis5595' 'i2c-sis630' 'i2c-sis96x' 'i2c-smbus' 'i2c-taos-evm' 'i2c-tiny-usb' 'i2c-via' 'i2c-viapro' 'i2c-xiic' 'i2o_block' 'i2o_bus' 'i2o_config' 'i2o_core' 'i2o_proc' 'i2o_scsi' 'i3000_edac' 'i3200_edac' 'i5000_edac' 'i5100_edac' 'i5400_edac' 'i5k_amb' 'i6300esb' 'i7300_edac' 'i7300_idle' 'i7core_edac' 'i82092' 'i82975x_edac' 'i8k' 'i915' 'ia32_aout' 'ib700wdt' 'ibmaem' 'ibmasr' 'ibmpex' 'ibm_rtl' 'icplus' 'icp_multi' 'ics932s401' 'ideapad-laptop' 'idmouse' 'idt77252' 'ieee802154' 'ifb' 'iforce' 'ifx6x60' 'igb' 'igbvf' 'ii_pci20kc' 'ili9320' 'imm' 'imon' 'imx074' 'inexio' 'inftl' 'initio' 'input-polldev' 'int51x1' 'intel-agp' 'intel-gtt' 'intel_ips' 'intel_menlow' 'intel_mid_dma' 'intel_oaktrail' 'intel-rng' 'interact' 'ioatdma' 'ioc4' 'io_edgeport' 'io_ti' 'iowarrior' 'ip6_queue' 'ip6table_filter' 'ip6table_mangle' 'ip6table_raw' 'ip6_tables' 'ip6table_security' 'ip6t_ah' 'ip6t_eui64' 'ip6t_frag' 'ip6t_hbh' 'ip6t_ipv6header' 'ip6t_LOG' 'ip6t_mh' 'ip6t_REJECT' 'ip6t_rt' 'ip6_tunnel' 'ipaq' 'ipcomp' 'ipcomp6' 'ipddp' 'ipg' 'ip_gre' 'iphase' 'ipheth' 'ipip' 'ipmi_devintf' 'ipmi_msghandler' 'ipmi_poweroff' 'ipmi_si' 'ipmi_watchdog' 'ip_queue' 'ipr' 'ips' 'ip_set' 'ip_set_bitmap_ip' 'ip_set_bitmap_ipmac' 'ip_set_bitmap_port' 'ip_set_hash_ip' 'ip_set_hash_ipport' 'ip_set_hash_ipportip' 'ip_set_hash_ipportnet' 'ip_set_hash_net' 'ip_set_hash_netiface' 'ip_set_hash_netport' 'ip_set_list_set' 'iptable_filter' 'iptable_mangle' 'iptable_nat' 'iptable_raw' 'ip_tables' 'iptable_security' 'ipt_ah' 'ipt_CLUSTERIP' 'ipt_ecn' 'ipt_ECN' 'ipt_LOG' 'ipt_MASQUERADE' 'ipt_NETMAP' 'ipt_REDIRECT' 'ipt_REJECT' 'ipt_ULOG' 'ip_vs' 'ip_vs_dh' 'ip_vs_ftp' 'ip_vs_lblc' 'ip_vs_lblcr' 'ip_vs_lc' 'ip_vs_nq' 'ip_vs_pe_sip' 'ip_vs_rr' 'ip_vs_sed' 'ip_vs_sh' 'ip_vs_wlc' 'ip_vs_wrr' 'ipw' 'ipw2100' 'ipw2200' 'ipwireless' 'ipx' 'ircomm' 'ircomm-tty' 'irda' 'irda-usb' 'ir-jvc-decoder' 'ir-kbd-i2c' 'irlan' 'ir-lirc-codec' 'ir-mce_kbd-decoder' 'ir-nec-decoder' 'irnet' 'ir-rc5-decoder' 'ir-rc5-sz-decoder' 'ir-rc6-decoder' 'ir-sony-decoder' 'irtty-sir' 'ir-usb' 'isci' 'iscsi_boot_sysfs' 'iscsi_target_mod' 'iscsi_tcp' 'isdn' 'isdn_bsdcomp' 'isdnhdlc' 'isight_firmware' 'isl29003' 'isl29020' 'isl6271a-regulator' 'isl6405' 'isl6421' 'isl6423' 'isofs' 'isp116x-hcd' 'isp1362-hcd' 'isp1704_charger' 'isp1760' 'it87' 'it8712f_wdt' 'it87_wdt' 'it913x-fe' 'iTCO_vendor_support' 'iTCO_wdt' 'itd1000' 'ite-cir' 'iuu_phoenix' 'ivtv' 'ivtvfb' 'iwl3945' 'iwl4965' 'iwl-legacy' 'iwlwifi' 'iwmc3200top' 'iwmc3200wifi' 'ix2505v' 'ixgb' 'ixgbe' 'ixgbevf' 'janz-cmodio' 'jbd2' 'jc42' 'jedec_probe' 'jffs2' 'jfs' 'jmb38x_ms' 'jme' 'joydev' 'joydump' 'jr3_pci' 'jsm' 'k10temp' 'k8temp' 'kafs' 'kalmia' 'kaweth' 'kb3886_bl' 'kbtab' 'kcomedilib' 'ke_counter' 'kernelcapi' 'keucr' 'keyspan' 'keyspan_pda' 'keyspan_remote' 'khazad' 'kingsun-sir' 'kl5kusb105' 'kobil_sct' 'ks0108' 'ks0127' 'ks8842' 'ks8851' 'ks8851_mll' 'ks959-sir' 'ksdazzle-sir' 'ksz884x' 'kvm' 'kvm-amd' 'kvm-intel' 'kxtj9' 'l1oip' 'l2tp_core' 'l2tp_eth' 'l2tp_ip' 'l2tp_netlink' 'l2tp_ppp' 'l4f00242t03' 'l64781' 'lanai' 'lcd' 'ld9040' 'ldusb' 'lec' 'leds-bd2802' 'leds-clevo-mail' 'leds-dac124s085' 'leds-gpio' 'leds-lm3530' 'leds-lp3944' 'leds-lp5521' 'leds-lp5523' 'leds-lt3593' 'leds-mc13783' 'leds-net5501' 'leds-pca9532' 'leds-pca955x' 'leds-regulator' 'leds-ss4200' 'leds-wm831x-status' 'ledtrig-backlight' 'ledtrig-default-on' 'ledtrig-gpio' 'ledtrig-heartbeat' 'ledtrig-timer' 'legousbtower' 'lgdt3305' 'lgdt330x' 'lgs8gxx' 'lg-vl600' 'lib80211' 'lib80211_crypt_ccmp' 'lib80211_crypt_tkip' 'lib80211_crypt_wep' 'libahci' 'libata' 'libceph' 'libcrc32c' 'libcxgbi' 'libertas' 'libertas_cs' 'libertas_sdio' 'libertas_spi' 'libertas_tf' 'libertas_tf_usb' 'libfc' 'libfcoe' 'libipw' 'libiscsi' 'libiscsi_tcp' 'libore' 'libosd' 'libphy' 'libsas' 'libsrp' 'lightning' 'line6usb' 'lineage-pem' 'linear' 'lirc_bt829' 'lirc_dev' 'lirc_igorplugusb' 'lirc_imon' 'lirc_parallel' 'lirc_sasem' 'lirc_serial' 'lirc_sir' 'lirc_ttusbir' 'lirc_zilog' 'lis3lv02d' 'lis3lv02d_i2c' 'litelink-sir' 'lkdtm' 'llc' 'llc2' 'lm25066' 'lm63' 'lm70' 'lm73' 'lm75' 'lm77' 'lm78' 'lm80' 'lm83' 'lm85' 'lm87' 'lm90' 'lm92' 'lm93' 'lm95241' 'lm95245' 'lms283gf05' 'lnbp21' 'lnbp22' 'lockd' 'logfs' 'loop' 'lp' 'lp3971' 'lp3972' 'lpc_sch' 'lpddr_cmds' 'lpfc' 'lru_cache' 'lrw' 'ltc2978' 'ltc4151' 'ltc4215' 'ltc4245' 'ltc4261' 'ltv350qv' 'lxt' 'lzo' 'm52790' 'm5mols' 'm66592-udc' 'ma600-sir' 'mac80211' 'machzwd' 'macvlan' 'macvtap' 'magellan' 'mantis' 'mantis_core' 'map_absent' 'map_funcs' 'map_ram' 'map_rom' 'marvell' 'matrix_keypad' 'matrox_w1' 'max1111' 'max11801_ts' 'max1586' 'max16064' 'max16065' 'max1619' 'max1668' 'max17040_battery' 'max17042_battery' 'max2165' 'max3100' 'max3107' 'max34440' 'max6639' 'max6642' 'max6650' 'max6875' 'max8649' 'max8660' 'max8688' 'max8903_charger' 'max8952' 'mb86a16' 'mb86a20s' 'mbcache' 'mc13783-adc' 'mc13783-pwrbutton' 'mc13783-regulator' 'mc13783_ts' 'mc13892-regulator' 'mc13xxx-core' 'mc13xxx-regulator-core' 'mc44s803' 'mce_amd_inj' 'mceusb' 'mcp2120-sir' 'mcs5000_ts' 'mcs7780' 'mcs7830' 'mcs_touchkey' 'mct_u232' 'md4' 'md5' 'mdc800' 'mdio' 'md-mod' 'me4000' 'me_daq' 'media' 'megaraid' 'megaraid_mbox' 'megaraid_mm' 'megaraid_sas' 'mei' 'mem2mem_testdev' 'memstick' 'meye' 'mfd' 'mga' 'michael_mic' 'micrel' 'microcode' 'microtek' 'mii' 'minix' 'mip6' 'mISDN_core' 'mISDN_dsp' 'mISDNinfineon' 'mISDNipac' 'mISDNisar' 'mite' 'mk712' 'mlx4_core' 'mlx4_en' 'mma8450' 'mmc_block' 'mmc_core' 'mmc_spi' 'mos7720' 'mos7840' 'moto_modem' 'mperf' 'mpoa' 'mpr121_touchkey' 'mpt2sas' 'mptbase' 'mptctl' 'mptfc' 'mptsas' 'mptscsih' 'mptspi' 'mpu3050' 'msdos' 'msi-laptop' 'msi-wmi' 'msp3400' 'mspro_block' 'msr' 'mt2060' 'mt20xx' 'mt2131' 'mt2266' 'mt312' 'mt352' 'mt9m001' 'mt9m111' 'mt9p031' 'mt9t001' 'mt9t031' 'mt9t112' 'mt9v011' 'mt9v022' 'mt9v032' 'mtd' 'mtd_blkdevs' 'mtdblock' 'mtdblock_ro' 'mtdchar' 'mtd_nandecctest' 'mtd_oobtest' 'mtdoops' 'mtd_pagetest' 'mtdram' 'mtd_readtest' 'mtd_speedtest' 'mtd_stresstest' 'mtd_subpagetest' 'mtdswap' 'mtd_torturetest' 'mtouch' 'multipath' 'mvsas' 'mvumi' 'mwave' 'mwifiex' 'mwifiex_pcie' 'mwifiex_sdio' 'mwl8k' 'mxb' 'mxl111sf-demod' 'mxl111sf-tuner' 'mxl5005s' 'mxl5007t' 'mxm-wmi' 'myri10ge' 'nand' 'nand_ecc' 'nand_ids' 'nandsim' 'national' 'natsemi' 'navman' 'nbd' 'nci' 'ncpfs' 'ne2k-pci' 'net1080' 'net2272' 'net2280' 'netconsole' 'netjet' 'netsc520' 'netxen_nic' 'nfc' 'nf_conntrack' 'nf_conntrack_amanda' 'nf_conntrack_broadcast' 'nf_conntrack_ftp' 'nf_conntrack_h323' 'nf_conntrack_ipv4' 'nf_conntrack_ipv6' 'nf_conntrack_irc' 'nf_conntrack_netbios_ns' 'nf_conntrack_netlink' 'nf_conntrack_pptp' 'nf_conntrack_proto_dccp' 'nf_conntrack_proto_gre' 'nf_conntrack_proto_sctp' 'nf_conntrack_proto_udplite' 'nf_conntrack_sane' 'nf_conntrack_sip' 'nf_conntrack_snmp' 'nf_conntrack_tftp' 'nfcwilink' 'nf_defrag_ipv4' 'nf_defrag_ipv6' 'nf_nat' 'nf_nat_amanda' 'nf_nat_ftp' 'nf_nat_h323' 'nf_nat_irc' 'nf_nat_pptp' 'nf_nat_proto_dccp' 'nf_nat_proto_gre' 'nf_nat_proto_sctp' 'nf_nat_proto_udplite' 'nf_nat_sip' 'nf_nat_snmp_basic' 'nf_nat_tftp' 'nfnetlink' 'nfnetlink_log' 'nfnetlink_queue' 'nfs' 'nfs_acl' 'nfsd' 'nftl' 'nf_tproxy_core' 'ngene' 'n_gsm' 'n_hdlc' 'ni_6527' 'ni_65xx' 'ni_660x' 'ni_670x' 'nicstar' 'ni_daq_700' 'ni_daq_dio24' 'ni_labpc' 'ni_labpc_cs' 'nilfs2' 'ni_mio_cs' 'ni_pcidio' 'ni_pcimio' 'ni_tio' 'ni_tiocmd' 'niu' 'nls_ascii' 'nls_cp1250' 'nls_cp1251' 'nls_cp1255' 'nls_cp437' 'nls_cp737' 'nls_cp775' 'nls_cp850' 'nls_cp852' 'nls_cp855' 'nls_cp857' 'nls_cp860' 'nls_cp861' 'nls_cp862' 'nls_cp863' 'nls_cp864' 'nls_cp865' 'nls_cp866' 'nls_cp869' 'nls_cp874' 'nls_cp932' 'nls_cp936' 'nls_cp949' 'nls_cp950' 'nls_euc-jp' 'nls_iso8859-13' 'nls_iso8859-14' 'nls_iso8859-15' 'nls_iso8859-2' 'nls_iso8859-3' 'nls_iso8859-4' 'nls_iso8859-5' 'nls_iso8859-6' 'nls_iso8859-7' 'nls_iso8859-9' 'nls_koi8-r' 'nls_koi8-ru' 'nls_koi8-u' 'nls_utf8' 'nmclan_cs' 'noon010pc30' 'nop-usb-xceiv' 'nosy' 'nouveau' 'nozomi' 'n_r3964' 'ns558' 'ns83820' 'nsc-ircc' 'ntc_thermistor' 'ntfs' 'n_tracerouter' 'n_tracesink' 'nuvoton-cir' 'nvram' 'nv_tco' 'nxt200x' 'nxt6000' 'ocfs2' 'ocfs2_dlm' 'ocfs2_dlmfs' 'ocfs2_nodemanager' 'ocfs2_stackglue' 'ocfs2_stack_o2cb' 'ocfs2_stack_user' 'ohci-hcd' 'old_belkin-sir' 'omfs' 'omninet' 'oprofile' 'opticon' 'option' 'or51132' 'or51211' 'orinoco' 'orinoco_cs' 'orinoco_nortel' 'orinoco_pci' 'orinoco_plx' 'orinoco_tmd' 'orinoco_usb' 'osd' 'osdblk' 'oss_ali5455' 'oss_atiaudio' 'oss_audigyls' 'oss_audioloop' 'oss_audiopci' 'oss_cmi878x' 'oss_cmpci' 'osscore' 'oss_cs4281' 'oss_cs461x' 'oss_digi96' 'oss_emu10k1x' 'oss_envy24' 'oss_envy24ht' 'oss_fmedia' 'oss_geode' 'oss_hdaudio' 'oss_ich' 'oss_imux' 'oss_madi' 'oss_midiloop' 'oss_midimix' 'oss_sblive' 'oss_sbpci' 'oss_sbxfi' 'oss_solo' 'osst' 'oss_trident' 'oss_usb' 'oss_userdev' 'oss_via823x' 'oss_via97' 'oss_ymf7xx' 'oti6858' 'output' 'ov2640' 'ov5642' 'ov6650' 'ov7670' 'ov772x' 'ov9640' 'ov9740' 'oxu210hp-hcd' 'p4-clockmod' 'p54common' 'p54pci' 'p54spi' 'p54usb' 'p8022' 'p8023' 'padlock-aes' 'padlock-sha' 'panasonic-laptop' 'parkbd' 'parport' 'parport_ax88796' 'parport_cs' 'parport_pc' 'parport_serial' 'pata_acpi' 'pata_ali' 'pata_amd' 'pata_arasan_cf' 'pata_artop' 'pata_atiixp' 'pata_atp867x' 'pata_cmd640' 'pata_cmd64x' 'pata_cs5520' 'pata_cs5530' 'pata_cs5536' 'pata_cypress' 'pata_efar' 'pata_hpt366' 'pata_hpt37x' 'pata_hpt3x2n' 'pata_hpt3x3' 'pata_it8213' 'pata_it821x' 'pata_jmicron' 'pata_legacy' 'pata_marvell' 'pata_mpiix' 'pata_netcell' 'pata_ninja32' 'pata_ns87410' 'pata_ns87415' 'pata_oldpiix' 'pata_opti' 'pata_optidma' 'pata_pcmcia' 'pata_pdc2027x' 'pata_pdc202xx_old' 'pata_piccolo' 'pata_radisys' 'pata_rdc' 'pata_rz1000' 'pata_sc1200' 'pata_sch' 'pata_serverworks' 'pata_sil680' 'pata_sis' 'pata_sl82c105' 'pata_triflex' 'pata_via' 'pc87360' 'pc87413_wdt' 'pc87427' 'pca9541' 'pca954x' 'pcap-regulator' 'pcap_ts' 'pcbc' 'pcc-cpufreq' 'pcf50633' 'pcf50633-adc' 'pcf50633-backlight' 'pcf50633-charger' 'pcf50633-gpio' 'pcf50633-input' 'pcf50633-regulator' 'pcf8574_keypad' 'pcf8591' 'pch_dma' 'pch_gbe' 'pch_phub' 'pch_uart' 'pch_udc' 'pci' 'pciehp' 'pci_hotplug' 'pcips2' 'pci_slot' 'pci-stub' 'pcmcia' 'pcmcia_core' 'pcmcia_rsrc' 'pcm_common' 'pcnet32' 'pcnet_cs' 'pcrypt' 'pcspkr' 'pcwd_pci' 'pcwd_usb' 'pd6729' 'pda_power' 'pdc_adma' 'pegasus' 'penmount' 'phantom' 'phison' 'phonet' 'phram' 'pktcdvd' 'pktgen' 'pl2303' 'platform_lcd' 'plat-ram' 'plip' 'plusb' 'pluto2' 'pm8001' 'pmbus' 'pmbus_core' 'pmc551' 'pmcraid' 'pn533' 'pn544' 'pn_pep' 'pohmelfs' 'poseidon' 'poulsbo' 'powermate' 'powernow-k8' 'ppa' 'ppdev' 'ppp_async' 'ppp_deflate' 'ppp_generic' 'ppp_mppe' 'pppoatm' 'pppoe' 'pppox' 'ppp_synctty' 'pps_core' 'pps-gpio' 'pps-ktimer' 'pps-ldisc' 'pps_parport' 'pptp' 'prism2_usb' 'prism54' 'processor' 'progear_bl' 'ps2mult' 'psb_gfx' 'psmouse' 'psnap' 'pti' 'ptp' 'pvrusb2' 'pwc' 'qcaux' 'qcserial' 'qinfo_probe' 'qla1280' 'qla2xxx' 'qla3xxx' 'qla4xxx' 'qlcnic' 'qlge' 'qlogic_cs' 'qlogicfas408' 'qsemi' 'qt1010' 'qt1070' 'qt2160' 'quatech_daqp_cs' 'quatech_usb2' 'quickstart' 'quota_tree' 'quota_v1' 'quota_v2' 'r128' 'r592' 'r6040' 'r8169' 'r8187se' 'r8192e_pci' 'r8192u_usb' 'r852' 'r8712u' 'r8a66597-hcd' 'r8a66597-udc' 'radeon' 'radio-i2c-si470x' 'radio-maxiradio' 'radio-mr800' 'radio-si4713' 'radio-tea5764' 'radio-timb' 'radio-usb-si470x' 'radio-wl1273' 'raid0' 'raid1' 'raid10' 'raid456' 'raid6_pq' 'raid6test' 'raid_class' 'ramoops' 'ray_cs' 'rbd' 'rc-adstech-dvb-t-pci' 'rc-alink-dtu-m' 'rc-anysee' 'rc-apac-viewcomp' 'rc-asus-pc39' 'rc-ati-tv-wonder-hd-600' 'rc-ati-x10' 'rc-avermedia' 'rc-avermedia-a16d' 'rc-avermedia-cardbus' 'rc-avermedia-dvbt' 'rc-avermedia-m135a' 'rc-avermedia-m733a-rm-k6' 'rc-avermedia-rm-ks' 'rc-avertv-303' 'rc-azurewave-ad-tu700' 'rc-behold' 'rc-behold-columbus' 'rc-budget-ci-old' 'rc-cinergy' 'rc-cinergy-1400' 'rc-core' 'rc-dib0700-nec' 'rc-dib0700-rc5' 'rc-digitalnow-tinytwin' 'rc-digittrade' 'rc-dm1105-nec' 'rc-dntv-live-dvb-t' 'rc-dntv-live-dvbt-pro' 'rc-em-terratec' 'rc-encore-enltv' 'rc-encore-enltv2' 'rc-encore-enltv-fm53' 'rc-evga-indtube' 'rc-eztv' 'rc-flydvb' 'rc-flyvideo' 'rc-fusionhdtv-mce' 'rc-gadmei-rm008z' 'rc-genius-tvgo-a11mce' 'rc-gotview7135' 'rc-hauppauge' 'rc-imon-mce' 'rc-imon-pad' 'rc-iodata-bctv7e' 'rc-kaiomy' 'rc-kworld-315u' 'rc-kworld-plus-tv-analog' 'rc-leadtek-y04g0051' 'rc-lirc' 'rc-lme2510' 'rc-loopback' 'rc-manli' 'rc-medion-x10' 'rc-msi-digivox-ii' 'rc-msi-digivox-iii' 'rc-msi-tvanywhere' 'rc-msi-tvanywhere-plus' 'rc-nebula' 'rc-nec-terratec-cinergy-xs' 'rc-norwood' 'rc-npgtech' 'rc-pctv-sedna' 'rc-pinnacle-color' 'rc-pinnacle-grey' 'rc-pinnacle-pctv-hd' 'rc-pixelview' 'rc-pixelview-002t' 'rc-pixelview-mk12' 'rc-pixelview-new' 'rc-powercolor-real-angel' 'rc-proteus-2309' 'rc-purpletv' 'rc-pv951' 'rc-rc6-mce' 'rc-real-audio-220-32-keys' 'rc-snapstream-firefly' 'rc-streamzap' 'rc-tbs-nec' 'rc-technisat-usb2' 'rc-terratec-cinergy-xs' 'rc-terratec-slim' 'rc-terratec-slim-2' 'rc-tevii-nec' 'rc-tivo' 'rc-total-media-in-hand' 'rc-trekstor' 'rc-tt-1500' 'rc-twinhan1027' 'rc-videomate-m1f' 'rc-videomate-s350' 'rc-videomate-tv-pvr' 'rc-winfast' 'rc-winfast-usbii-deluxe' 'rdc321x-southbridge' 'realtek' 'redboot' 'redrat3' 'reed_solomon' 'regmap-i2c' 'reiserfs' 'renesas_usbhs' 'rfcomm' 'rfd_ftl' 'rfkill' 'rfkill-regulator' 'ring_buffer_benchmark' 'rio500' 'rionet' 'rj54n1cb0c' 'rmd128' 'rmd160' 'rmd256' 'rmd320' 'rndis_host' 'rndis_wlan' 'rocket' 'rotary_encoder' 'rpcsec_gss_krb5' 'rt2400pci' 'rt2500pci' 'rt2500usb' 'rt2800lib' 'rt2800pci' 'rt2800usb' 'rt2x00lib' 'rt2x00pci' 'rt2x00usb' 'rt61pci' 'rt73usb' 'rtc-ab8500' 'rtc-bq32k' 'rtc-bq4802' 'rtc-ds1286' 'rtc-ds1305' 'rtc-ds1307' 'rtc-ds1374' 'rtc-ds1390' 'rtc-ds1511' 'rtc-ds1553' 'rtc-ds1672' 'rtc-ds1742' 'rtc-ds3232' 'rtc-ds3234' 'rtc-em3027' 'rtc-fm3130' 'rtc-isl12022' 'rtc-isl1208' 'rtc-m41t80' 'rtc-m41t93' 'rtc-m41t94' 'rtc-m48t35' 'rtc-m48t59' 'rtc-m48t86' 'rtc-max6900' 'rtc-max6902' 'rtc-mc13xxx' 'rtc-msm6242' 'rtc-pcf2123' 'rtc-pcf50633' 'rtc-pcf8563' 'rtc-pcf8583' 'rtc-r9701' 'rtc-rp5c01' 'rtc-rs5c348' 'rtc-rs5c372' 'rtc-rv3029c2' 'rtc-rx8025' 'rtc-rx8581' 'rtc-s35390a' 'rtc-stk17ta8' 'rtc-test' 'rtc-v3020' 'rtc-wm831x' 'rtc-x1205' 'rtd520' 'rtl8150' 'rtl8180' 'rtl8187' 'rtl8192c-common' 'rtl8192ce' 'rtl8192cu' 'rtl8192de' 'rtl8192se' 'rtlwifi' 'rts5139' 'rts_pstor' 'rxkad' 's2255drv' 's2io' 's526' 's5h1409' 's5h1411' 's5h1420' 's5k6aa' 's626' 's6e63m0' 's921' 'saa6588' 'saa6752hs' 'saa7110' 'saa7115' 'saa7127' 'saa7134' 'saa7134-alsa' 'saa7134-dvb' 'saa7134-empress' 'saa7146' 'saa7146_vv' 'saa7164' 'saa717x' 'saa7185' 'saa7191' 'saa7706h' 'safe_serial' 'salsa20_generic' 'salsa20-x86_64' 'samsung-laptop' 'samsung-q10' 'sata_inic162x' 'sata_mv' 'sata_nv' 'sata_promise' 'sata_qstor' 'sata_sil' 'sata_sil24' 'sata_sis' 'sata_svw' 'sata_sx4' 'sata_uli' 'sata_via' 'sata_vsc' 'savage' 'sb1000' 'sbc60xxwdt' 'sbc8360' 'sbc_epx_c3' 'sbc_fitpc2_wdt' 'sb_edac' 'sbs' 'sbshc' 'sc1200wdt' 'sc520cdp' 'sc520_wdt' 'sc92031' 'scb2_flash' 'sch311x_wdt' 'sch5627' 'sch5636' 'sch56xx-common' 'sch_atm' 'sch_cbq' 'sch_choke' 'sch_drr' 'sch_dsmark' 'sch_gred' 'sch_hfsc' 'sch_htb' 'sch_ingress' 'sch_mqprio' 'sch_multiq' 'sch_netem' 'sch_prio' 'sch_qfq' 'sch_red' 'sch_sfb' 'sch_sfq' 'sch_tbf' 'sch_teql' 'scsi_dh' 'scsi_dh_alua' 'scsi_dh_emc' 'scsi_dh_hp_sw' 'scsi_dh_rdac' 'scsi_mod' 'scsi_tgt' 'scsi_transport_fc' 'scsi_transport_iscsi' 'scsi_transport_sas' 'scsi_transport_spi' 'scsi_transport_srp' 'scsi_wait_scan' 'sctp' 'sdhci' 'sdhci-pci' 'sdhci-pltfm' 'sdio_uart' 'sd_mod' 'sdricoh_cs' 'sedlbauer_cs' 'seed' 'seeq8005' 'sep_driver' 'seqiv' 'ser_gigaset' 'serial2002' 'serial_cs' 'serio_raw' 'serpent' 'serport' 'serqt_usb2' 'ses' 'sfc' 'sg' 'sha1_generic' 'sha1-ssse3' 'sha256_generic' 'sha512_generic' 'shpchp' 'sht15' 'sht21' 'si21xx' 'si4713-i2c' 'sidewinder' 'siemens_mpi' 'sierra' 'sierra_net' 'sigma' 'sil164' 'sir-dev' 'sis' 'sis190' 'sis5595' 'sis900' 'sis-agp' 'sisusbvga' 'sit' 'skel' 'skge' 'sky2' 'sl811_cs' 'sl811-hcd' 'slhc' 'slicoss' 'slip' 'sm501' 'sm7xx' 'smc91c92_cs' 'sm_common' 'smm665' 'smsc' 'smsc37b787_wdt' 'smsc47b397' 'smsc47m1' 'smsc47m192' 'smsc75xx' 'smsc9420' 'smsc95xx' 'smsc-ircc2' 'smsdvb' 'smsmdtv' 'smssdio' 'smsusb' 'sn9c102' 'snd' 'snd-ac97-codec' 'snd-ad1889' 'snd-ak4113' 'snd-ak4114' 'snd-ak4117' 'snd-ak4xxx-adda' 'snd-ali5451' 'snd-aloop' 'snd-als300' 'snd-als4000' 'snd-asihpi' 'snd-atiixp' 'snd-atiixp-modem' 'snd-au8810' 'snd-au8820' 'snd-au8830' 'snd-aw2' 'snd-azt3328' 'snd-bt87x' 'snd-ca0106' 'snd-cmipci' 'snd-cs4281' 'snd-cs46xx' 'snd-cs5530' 'snd-cs5535audio' 'snd-cs8427' 'snd-ctxfi' 'snd-darla20' 'snd-darla24' 'snd-dummy' 'snd-echo3g' 'snd-emu10k1' 'snd-emu10k1-synth' 'snd-emu10k1x' 'snd-emux-synth' 'snd-ens1370' 'snd-ens1371' 'snd-es1938' 'snd-es1968' 'snd-firewire-lib' 'snd-firewire-speakers' 'snd-fm801' 'snd-gina20' 'snd-gina24' 'snd-hda-codec' 'snd-hda-codec-analog' 'snd-hda-codec-ca0110' 'snd-hda-codec-ca0132' 'snd-hda-codec-cirrus' 'snd-hda-codec-cmedia' 'snd-hda-codec-conexant' 'snd-hda-codec-hdmi' 'snd-hda-codec-idt' 'snd-hda-codec-realtek' 'snd-hda-codec-si3054' 'snd-hda-codec-via' 'snd-hda-intel' 'snd-hdsp' 'snd-hdspm' 'snd-hrtimer' 'snd-hwdep' 'snd-i2c' 'snd-ice1712' 'snd-ice1724' 'snd-ice17xx-ak4xxx' 'snd-indigo' 'snd-indigodj' 'snd-indigodjx' 'snd-indigoio' 'snd-indigoiox' 'snd-intel8x0' 'snd-intel8x0m' 'snd-isight' 'snd-korg1212' 'snd-layla20' 'snd-layla24' 'snd-lola' 'snd-lx6464es' 'snd-maestro3' 'snd-mia' 'snd-mixart' 'snd-mixer-oss' 'snd-mona' 'snd-mpu401' 'snd-mpu401-uart' 'snd-mtpav' 'snd-mts64' 'snd-nm256' 'snd-opl3-lib' 'snd-opl3-synth' 'snd-oxygen' 'snd-oxygen-lib' 'snd-page-alloc' 'snd-pcm' 'snd-pcm-oss' 'snd-pcxhr' 'snd-pdaudiocf' 'snd-portman2x4' 'snd-pt2258' 'snd-rawmidi' 'snd-riptide' 'snd-rme32' 'snd-rme96' 'snd-rme9652' 'snd-sb16-dsp' 'snd-sb-common' 'snd-seq' 'snd-seq-device' 'snd-seq-dummy' 'snd-seq-midi' 'snd-seq-midi-emul' 'snd-seq-midi-event' 'snd-seq-oss' 'snd-seq-virmidi' 'snd-serial-u16550' 'snd-soc-core' 'snd-sonicvibes' 'snd-tea575x-tuner' 'snd-timer' 'snd-trident' 'snd-ua101' 'snd-usb-6fire' 'snd-usb-audio' 'snd-usb-caiaq' 'snd-usbmidi-lib' 'snd-usb-us122l' 'snd-usb-usx2y' 'snd-util-mem' 'snd-via82xx' 'snd-via82xx-modem' 'snd-virmidi' 'snd-virtuoso' 'snd-vx222' 'snd-vx-lib' 'snd-vxpocket' 'snd-ymfpci' 'soc_camera' 'soc_camera_platform' 'soc_mediabus' 'softdog' 'solo6x10' 'solos-pci' 'sony-laptop' 'soundcore' 'sp5100_tco' 'sp8870' 'sp887x' 'spaceball' 'spaceorb' 'sparse-keymap' 'spcp8x5' 'speakup' 'speakup_acntpc' 'speakup_acntsa' 'speakup_apollo' 'speakup_audptr' 'speakup_bns' 'speakup_decext' 'speakup_decpc' 'speakup_dectlk' 'speakup_dtlk' 'speakup_dummy' 'speakup_keypc' 'speakup_ltlk' 'speakup_soft' 'speakup_spkout' 'speakup_txprt' 'spectrum_cs' 'speedfax' 'speedstep-lib' 'speedtch' 'spi-altera' 'spi-bitbang' 'spi-butterfly' 'spidev' 'spi-gpio' 'spi-lm70llp' 'spi-oc-tiny' 'spi-tle62x0' 'spi-topcliff-pch' 'spi-xilinx' 'squashfs' 'sr030pc30' 'sr_mod' 'ssb' 'ssfdc' 'sstfb' 'ssu100' 'ssv_dnp' 'st' 'st1232' 'starfire' 'stb0899' 'stb6000' 'stb6100' 'st_drv' 'ste10Xp' 'stex' 'stinger' 'stir4200' 'stkwebcam' 'stmmac' 'stp' 'streamzap' 'stv0288' 'stv0297' 'stv0299' 'stv0367' 'stv0900' 'stv090x' 'stv6110' 'stv6110x' 'sundance' 'sungem' 'sungem_phy' 'sunhme' 'suni' 'sunrpc' 'sx8' 'sym53c500_cs' 'sym53c8xx' 'symbolserial' 'synaptics_i2c' 'synaptics_i2c_rmi4' 'synclink' 'synclink_cs' 'synclinkmp' 'syscopyarea' 'sysfillrect' 'sysimgblt' 't1pci' 'target_core_file' 'target_core_iblock' 'target_core_mod' 'target_core_pscsi' 'tca6416-keypad' 'tcm825x' 'tcm_fc' 'tcm_loop' 'tcp_bic' 'tcp_highspeed' 'tcp_htcp' 'tcp_hybla' 'tcp_illinois' 'tcp_lp' 'tcp_scalable' 'tcp_vegas' 'tcp_veno' 'tcp_westwood' 'tcp_yeah' 'tcrypt' 'tda10021' 'tda10023' 'tda10048' 'tda1004x' 'tda10071' 'tda10086' 'tda18212' 'tda18218' 'tda18271' 'tda18271c2dd' 'tda665x' 'tda7432' 'tda8083' 'tda8261' 'tda826x' 'tda827x' 'tda8290' 'tda9840' 'tda9887' 'tdfx' 'tdo24m' 'tea' 'tea5761' 'tea5767' 'tea6415c' 'tea6420' 'tef6862' 'tehuti' 'tekram-sir' 'teles_cs' 'test-kstrtox' 'test_power' 'tg3' 'tgr192' 'thermal' 'thinkpad_acpi' 'thmc50' 'ths7303' 'ti_dac7512' 'tifm_7xx1' 'tifm_core' 'tifm_ms' 'tifm_sd' 'timb_dma' 'timberdale' 'timblogiw' 'timbuart' 'timeriomem-rng' 'ti_usb_3410_5052' 'tlan' 'tlclk' 'tlv320aic23b' 'tm6000' 'tm6000-alsa' 'tm6000-dvb' 'tmdc' 'tmp102' 'tmp401' 'tmp421' 'tmscsim' 'toim3232-sir' 'topstar-laptop' 'toshiba_acpi' 'toshiba_bluetooth' 'touchit213' 'touchright' 'touchwin' 'tpm' 'tpm_atmel' 'tpm_bios' 'tpm_infineon' 'tpm_nsc' 'tpm_tis' 'tps6105x' 'tps6105x-regulator' 'tps65010' 'tps65023-regulator' 'tps6507x' 'tps6507x-regulator' 'tps6507x-ts' 'tps6524x-regulator' 'tps65912-regulator' 'trancevibrator' 'trusted' 'ts5500_flash' 'ts_bm' 'tsc2005' 'tsc2007' 'tsc40' 'ts_fsm' 'ts_kmp' 'tsl2550' 'ttm' 'ttpci-eeprom' 'ttusb_dec' 'ttusbdecfe' 'tua6100' 'tulip' 'tun' 'tuner' 'tuner-simple' 'tuner-types' 'tuner-xc2028' 'tunnel4' 'tunnel6' 'turbografx' 'tvaudio' 'tveeprom' 'tvp514x' 'tvp5150' 'tvp7002' 'tw9910' 'twidjoy' 'twofish_common' 'twofish_generic' 'twofish-x86_64' 'twofish-x86_64-3way' 'typhoon' 'u132-hcd' 'uartlite' 'uas' 'ubi' 'ubifs' 'ucb1400_core' 'ucb1400_ts' 'ucd9000' 'ucd9200' 'udc-core' 'udf' 'udlfb' 'ueagle-atm' 'ufs' 'uhci-hcd' 'uinput' 'uio' 'uio_aec' 'uio_cif' 'uio_netx' 'uio_pci_generic' 'uio_pdrv' 'uio_pdrv_genirq' 'uio_sercos3' 'uli526x' 'umc' 'ums-alauda' 'ums-cypress' 'ums-datafab' 'ums-eneub6250' 'ums-freecom' 'ums-isd200' 'ums-jumpshot' 'ums-karma' 'ums-onetouch' 'ums-realtek' 'ums-sddr09' 'ums-sddr55' 'ums-usbat' 'unioxx5' 'upd64031a' 'upd64083' 'uPD98402' 'usb8xxx' 'usbatm' 'usb-common' 'usbcore' 'usbdux' 'usbduxfast' 'usbduxsigma' 'usb_gigaset' 'usbhid' 'usbip-core' 'usbip-host' 'usblcd' 'usbled' 'usblp' 'usbmon' 'usbnet' 'usbserial' 'usbsevseg' 'usb-storage' 'usbtest' 'usbtmc' 'usbtouchscreen' 'usbvision' 'usb_wwan' 'userspace-consumer' 'ushc' 'uss720' 'uvcvideo' 'uvesafb' 'uwb' 'v4l2-common' 'v4l2-compat-ioctl32' 'v4l2-int-device' 'v4l2-mem2mem' 'ves1820' 'ves1x93' 'veth' 'vfat' 'vfb' 'vga16fb' 'vgastate' 'vgg2432a4' 'vhci-hcd' 'vhost_net' 'via' 'via686a' 'via-agp' 'via-cputemp' 'via-ircc' 'via-rhine' 'via-rng' 'via-sdmmc' 'via-velocity' 'video' 'videobuf2-core' 'videobuf2-dma-contig' 'videobuf2-memops' 'videobuf2-vmalloc' 'videobuf-core' 'videobuf-dma-contig' 'videobuf-dma-sg' 'videobuf-dvb' 'videobuf-vmalloc' 'videocodec' 'videodev' 'virtio' 'virtio_balloon' 'virtio_blk' 'virtio_console' 'virtio_mmio' 'virtio_net' 'virtio_pci' 'virtio_ring' 'virtio-rng' 'virtual' 'visor' 'vitesse' 'vivi' 'vivopay-serial' 'vlsi_ir' 'vmac' 'vmk80xx' 'vmw_balloon' 'vmwgfx' 'vmw_pvscsi' 'vmxnet3' 'vp27smpx' 'vpx3220' 'vsxxxaa' 'vt1211' 'vt6655_stage' 'vt6656_stage' 'vt8231' 'vub300' 'vx855' 'vxge' 'w1_bq27000' 'w1_ds2408' 'w1_ds2423' 'w1_ds2431' 'w1_ds2433' 'w1_ds2760' 'w1_ds2780' 'w1-gpio' 'w1_smem' 'w1_therm' 'w35und' 'w6692' 'w83627ehf' 'w83627hf' 'w83627hf_wdt' 'w83697hf_wdt' 'w83697ug_wdt' 'w83781d' 'w83791d' 'w83792d' 'w83793' 'w83795' 'w83877f_wdt' 'w83977af_ir' 'w83977f_wdt' 'w83l785ts' 'w83l786ng' 'w9966' 'wacom' 'wacom_w8001' 'wafer5823wdt' 'walkera0701' 'warrior' 'wbsd' 'wdt_pci' 'whci' 'whci-hcd' 'whc-rc' 'whiteheat' 'wimax' 'winbond-840' 'winbond-cir' 'wire' 'wis-ov7640' 'wis-saa7113' 'wis-saa7115' 'wis-sony-tuner' 'wis-tw2804' 'wis-tw9903' 'wis-uda1342' 'wl1251' 'wl1251_sdio' 'wl1251_spi' 'wl1273-core' 'wl12xx' 'wl12xx_sdio' 'wl12xx_sdio_test' 'wl12xx_spi' 'wl3501_cs' 'wlags49_h25_cs' 'wlags49_h2_cs' 'wm831x_backup' 'wm831x_bl' 'wm831x-dcdc' 'wm831x-hwmon' 'wm831x-isink' 'wm831x-ldo' 'wm831x-on' 'wm831x_power' 'wm831x-ts' 'wm831x_wdt' 'wm8400-core' 'wm8400-regulator' 'wm8739' 'wm8775' 'wm97xx-ts' 'wmi' 'wp512' 'wusb-cbaf' 'wusbcore' 'wusb-wa' 'x38_edac' 'xc4000' 'xc5000' 'xcbc' 'xen-blkback' 'xen-blkfront' 'xenbus_probe_frontend' 'xen-evtchn' 'xen-fbfront' 'xenfs' 'xen-gntalloc' 'xen-gntdev' 'xen-kbdfront' 'xen-netback' 'xen-netfront' 'xen-pciback' 'xen-pcifront' 'xen_wdt' 'xfrm4_mode_beet' 'xfrm4_mode_transport' 'xfrm4_mode_tunnel' 'xfrm4_tunnel' 'xfrm6_mode_beet' 'xfrm6_mode_ro' 'xfrm6_mode_transport' 'xfrm6_mode_tunnel' 'xfrm6_tunnel' 'xfrm_ipcomp' 'xfrm_user' 'xfs' 'xgifb' 'xhci-hcd' 'xilinx_uartps' 'xirc2ps_cs' 'xircom_cb' 'xo15-ebook' 'xor' 'xpad' 'x_tables' 'xt_addrtype' 'xt_AUDIT' 'xt_CHECKSUM' 'xt_CLASSIFY' 'xt_cluster' 'xt_comment' 'xt_connbytes' 'xt_connlimit' 'xt_connmark' 'xt_CONNSECMARK' 'xt_conntrack' 'xt_cpu' 'xt_CT' 'xt_dccp' 'xt_devgroup' 'xt_dscp' 'xt_DSCP' 'xt_esp' 'xt_hashlimit' 'xt_helper' 'xt_hl' 'xt_HL' 'xt_IDLETIMER' 'xt_iprange' 'xt_ipvs' 'xt_LED' 'xt_length' 'xt_limit' 'xt_mac' 'xt_mark' 'xt_multiport' 'xt_NFLOG' 'xt_NFQUEUE' 'xt_NOTRACK' 'xt_osf' 'xt_owner' 'xt_physdev' 'xt_pkttype' 'xt_policy' 'xt_quota' 'xt_rateest' 'xt_RATEEST' 'xt_realm' 'xt_recent' 'xts' 'xt_sctp' 'xt_SECMARK' 'xt_set' 'xt_socket' 'xt_state' 'xt_statistic' 'xt_string' 'xt_tcpmss' 'xt_TCPMSS' 'xt_TCPOPTSTRIP' 'xt_tcpudp' 'xt_TEE' 'xt_time' 'xt_TPROXY' 'xt_TRACE' 'xt_u32' 'xusbatm' 'yealink' 'yellowfin' 'yenta_socket' 'yurex' 'zatm' 'zaurus' 'zcache' 'zd1201' 'zd1211rw' 'zhenhua' 'zio' 'zl10036' 'zl10039' 'zl10353' 'zl6100' 'zlib' 'zlib_deflate' 'znet' 'zr36016' 'zr36050' 'zr36060' 'zr36067' 'zr364xx' 'zram' ) diff --git a/dot.zsh/completion_cache/modules-3.2.13-1-ARCH b/dot.zsh/completion_cache/modules-3.2.13-1-ARCH deleted file mode 100644 index a4ff1f1..0000000 --- a/dot.zsh/completion_cache/modules-3.2.13-1-ARCH +++ /dev/null @@ -1 +0,0 @@ -modules=( '3c574_cs' '3c589_cs' '3c59x' '3w-9xxx' '3w-sas' '3w-xxxx' '6lowpan' '8021q' '8139cp' '8139too' '8255' '8390' '9p' '9pnet' '9pnet_virtio' 'a100u2w' 'a3d' 'a8293' 'aacraid' 'ab8500-ponkey' 'ab8500-usb' 'abituguru' 'abituguru3' 'ac' 'ac97_bus' 'acard-ahci' 'acecad' 'acenic' 'acerhdf' 'acer-wmi' 'acpi-cpufreq' 'acpi_ipmi' 'acpi_memhotplug' 'acpi_pad' 'acpiphp' 'acpiphp_ibm' 'acpi_power_meter' 'acquirewdt' 'act200l-sir' 'act_csum' 'act_gact' 'act_ipt' 'actisys-sir' 'act_mirred' 'act_nat' 'act_pedit' 'act_police' 'act_simple' 'act_skbedit' 'ad525x_dpot' 'ad525x_dpot-i2c' 'ad525x_dpot-spi' 'ad5398' 'ad714x' 'ad714x-i2c' 'ad714x-spi' 'ad7314' 'ad7414' 'ad7418' 'ad7877' 'ad7879' 'ad7879-i2c' 'ad7879-spi' 'adcxx' 'addi_apci_035' 'addi_apci_1032' 'addi_apci_1500' 'addi_apci_1516' 'addi_apci_1564' 'addi_apci_16xx' 'addi_apci_2016' 'addi_apci_2032' 'addi_apci_2200' 'addi_apci_3001' 'addi_apci_3120' 'addi_apci_3501' 'addi_apci_3xxx' 'adi' 'adl_pci6208' 'adl_pci7230' 'adl_pci7296' 'adl_pci7432' 'adl_pci8164' 'adl_pci9111' 'adl_pci9118' 'adm1021' 'adm1025' 'adm1026' 'adm1029' 'adm1031' 'adm1275' 'adm8211' 'adm9240' 'adp1653' 'adp5588-keys' 'adp5589-keys' 'adp8860_bl' 'adp8870_bl' 'ads1015' 'ads7828' 'ads7846' 'ads7871' 'adt7411' 'adt7462' 'adt7470' 'adt7475' 'adutux' 'adv7170' 'adv7175' 'adv7180' 'adv7343' 'advansys' 'advantechwdt' 'adv_pci1710' 'adv_pci1723' 'adv_pci_dio' 'adxl34x' 'adxl34x-i2c' 'adxl34x-spi' 'aes_generic' 'aesni-intel' 'aes-x86_64' 'af_802154' 'af9013' 'af_alg' 'affs' 'af_key' 'af-rxrpc' 'ah4' 'ah6' 'aha152x_cs' 'ahci' 'ahci_platform' 'aic79xx' 'aic7xxx' 'aic94xx' 'aiptek' 'aircable' 'airo' 'airo_cs' 'ak881x' 'alauda' 'algif_hash' 'algif_skcipher' 'ali-ircc' 'alim1535_wdt' 'alim7101_wdt' 'altera-ci' 'altera_jtaguart' 'altera_ps2' 'altera-stapl' 'altera_uart' 'ambassador' 'amc6821' 'amd5536udc' 'amd64_edac_mod' 'amd8111e' 'amd-rng' 'amplc_dio200' 'amplc_pc236' 'amplc_pc263' 'amplc_pci224' 'amplc_pci230' 'ams369fg06' 'analog' 'ansi_cprng' 'anubis' 'aoe' 'apanel' 'apds9802als' 'apds990x' 'apple_bl' 'appledisplay' 'applesmc' 'appletalk' 'appletouch' 'applicom' 'ar7part' 'arc4' 'arcmsr' 'ark3116' 'arptable_filter' 'arp_tables' 'arpt_mangle' 'as5011' 'asb100' 'asc7621' 'asix' 'asus_acpi' 'asus_atk0110' 'asus-laptop' 'asus-nb-wmi' 'asus_oled' 'asus-wmi' 'async_memcpy' 'async_pq' 'async_raid6_recov' 'async_tx' 'async_xor' 'at24' 'at25' 'at76c50x-usb' 'ata_generic' 'ata_piix' 'atbm8830' 'ath' 'ath3k' 'ath5k' 'ath6kl' 'ath9k' 'ath9k_common' 'ath9k_htc' 'ath9k_hw' 'ati_remote' 'ati_remote2' 'atl1' 'atl1c' 'atl1e' 'atl2' 'atlas_btns' 'atm' 'atmel' 'atmel_cs' 'atmel_mxt_ts' 'atmel_pci' 'atmtcp' 'atp' 'atp870u' 'atxp1' 'au0828' 'au8522' 'authenc' 'authencesn' 'auth_rpcgss' 'autofs4' 'avma1_cs' 'avm_cs' 'avmfritz' 'axnet_cs' 'b1' 'b1dma' 'b1pci' 'b1pcmcia' 'b2c2-flexcop' 'b2c2-flexcop-pci' 'b2c2-flexcop-usb' 'b43' 'b43legacy' 'b44' 'bas_gigaset' 'batman-adv' 'battery' 'bcm203x' 'bcm3510' 'bcm5974' 'bcm_wimax' 'be2iscsi' 'be2net' 'befs' 'belkin_sa' 'bfa' 'bfusb' 'bh1770glc' 'bh1780gli' 'block2mtd' 'blowfish_common' 'blowfish_generic' 'blowfish-x86_64' 'bluecard_cs' 'bluetooth' 'bma150' 'bmp085' 'bna' 'bnep' 'bnx2' 'bnx2fc' 'bnx2i' 'bnx2x' 'bonding' 'bpa10x' 'bq20z75' 'bq24022' 'bq27x00_battery' 'br2684' 'brcmfmac' 'brcmsmac' 'brcmutil' 'brd' 'bridge' 'broadcom' 'bsd_comp' 'bt3c_cs' 'bt819' 'bt856' 'bt866' 'bt878' 'btcx-risc' 'btmrvl' 'btmrvl_sdio' 'btrfs' 'btsdio' 'bttv' 'btuart_cs' 'btusb' 'btwilink' 'bu21013_ts' 'budget' 'budget-av' 'budget-ci' 'budget-core' 'budget-patch' 'BusLogic' 'button' 'bw-qcam' 'c2port-duramar2150' 'c4' 'c67x00' 'cachefiles' 'cafe_ccic' 'caif' 'caif_hsi' 'caif_serial' 'caif_socket' 'camellia' 'capi' 'capidrv' 'carl9170' 'cassini' 'cast5' 'cast6' 'catc' 'cb710' 'cb710-mmc' 'cbc' 'cb_das16_cs' 'cb_pcidas' 'cb_pcidas64' 'cb_pcidda' 'cb_pcidio' 'cb_pcimdas' 'cb_pcimdda' 'cciss' 'ccm' 'cdc-acm' 'cdc_eem' 'cdc_ether' 'cdc_ncm' 'cdc-phonet' 'cdc_subset' 'cdc-wdm' 'cdrom' 'ceph' 'cfag12864b' 'cfag12864bfb' 'cfg80211' 'cfi_cmdset_0001' 'cfi_cmdset_0002' 'cfi_cmdset_0020' 'cfi_probe' 'cfi_util' 'cfspi_slave' 'ch' 'ch341' 'ch7006' 'chipreg' 'chnl_net' 'ci13xxx_pci' 'cicada' 'cifs' 'classmate-laptop' 'clearpad_tm1217' 'clip' 'cls_basic' 'cls_flow' 'cls_fw' 'cls_route' 'cls_rsvp' 'cls_rsvp6' 'cls_tcindex' 'cls_u32' 'cm109' 'cm4000_cs' 'cm4040_cs' 'cma3000_d0x' 'cma3000_d0x_i2c' 'cnic' 'cobra' 'coda' 'comedi' 'comedi_bond' 'comedi_fc' 'comedi_parport' 'comedi_test' 'compal-laptop' 'configfs' 'container' 'contec_pci_dio' 'cordic' 'core' 'coretemp' 'cp210x' 'cpcihp_generic' 'cpcihp_zt5550' 'cpia2' 'cpqarray' 'cpu5wdt' 'cpufreq_conservative' 'cpufreq_ondemand' 'cpufreq_powersave' 'cpufreq_stats' 'cpufreq_userspace' 'cpuid' 'cpu-notifier-error-inject' 'c-qcam' 'cramfs' 'crc16' 'crc32c' 'crc32c-intel' 'crc7' 'crc8' 'crc-ccitt' 'crc-itu-t' 'crc-t10dif' 'cryptd' 'cryptoloop' 'crypto_null' 'crypto_user' 'crystalhd' 'cs5345' 'cs53l32a' 'cs5535-clockevt' 'cs5535-mfd' 'cs5535-mfgpt' 'ct82c710' 'ctr' 'cts' 'cuse' 'custom_method' 'cx18' 'cx18-alsa' 'cx22700' 'cx22702' 'cx231xx' 'cx231xx-alsa' 'cx231xx-dvb' 'cx2341x' 'cx23885' 'cx24110' 'cx24113' 'cx24116' 'cx24123' 'cx25821' 'cx25821-alsa' 'cx25840' 'cx82310_eth' 'cx8800' 'cx8802' 'cx88-alsa' 'cx88-blackbird' 'cx88-dvb' 'cx88-vp3054-i2c' 'cx88xx' 'cxacru' 'cxd2099' 'cxd2820r' 'cxgb' 'cxgb3' 'cxgb3i' 'cxgb4' 'cxgb4i' 'cxgb4vf' 'cy8ctmg110_ts' 'cyberjack' 'cyclades' 'cypress_cy7c63' 'cypress_m8' 'cytherm' 'DAC960' 'daqboard2000' 'das08' 'das08_cs' 'davicom' 'db9' 'dc395x' 'dca' 'dccp' 'dccp_diag' 'dccp_ipv4' 'dccp_ipv6' 'dcdbas' 'ddbridge' 'de2104x' 'de4x5' 'de600' 'de620' 'deflate' 'dell-laptop' 'dell-led' 'dell_rbu' 'dell-wmi' 'dell-wmi-aio' 'des_generic' 'dib0070' 'dib0090' 'dib3000mb' 'dib3000mc' 'dib7000m' 'dib7000p' 'dib8000' 'dibx000_common' 'digi_acceleport' 'diskonchip' 'display' 'divacapi' 'divadidd' 'diva_idi' 'diva_mnt' 'divas' 'dl2k' 'dlm' 'dm1105' 'dm9601' 'dm-bufio' 'dm-crypt' 'dm-delay' 'dme1737' 'dmfe' 'dm-flakey' 'dmi-sysfs' 'dm-log' 'dm-log-userspace' 'dm-mirror' 'dm-mod' 'dm-multipath' 'dm-persistent-data' 'dm-queue-length' 'dm-raid' 'dm-region-hash' 'dm-round-robin' 'dm-service-time' 'dm-snapshot' 'dm-thin-pool' 'dmx3191d' 'dm-zero' 'dnet' 'docg3' 'dp83640' 'dpt_i2o' 'drbd' 'drm' 'drm_kms_helper' 'drxd' 'drxk' 'ds1621' 'ds1682' 'ds1wm' 'ds2482' 'ds2490' 'ds2760_battery' 'ds2780_battery' 'ds2782_battery' 'ds3000' 'ds620' 'dsbr100' 'dss1_divert' 'dst' 'dst_ca' 'dt3000' 'dt3155v4l' 'dt9812' 'dtl1_cs' 'dummy' 'dummy_hcd' 'dvb-as102' 'dvb-bt8xx' 'dvb-core' 'dvb-pll' 'dvb-ttpci' 'dvb-ttusb-budget' 'dvb-usb' 'dvb-usb-a800' 'dvb-usb-af9005' 'dvb-usb-af9005-remote' 'dvb-usb-af9015' 'dvb-usb-anysee' 'dvb-usb-au6610' 'dvb-usb-az6027' 'dvb-usb-ce6230' 'dvb-usb-cinergyT2' 'dvb-usb-cxusb' 'dvb-usb-dib0700' 'dvb-usb-dibusb-common' 'dvb-usb-dibusb-mb' 'dvb-usb-dibusb-mc' 'dvb-usb-digitv' 'dvb-usb-dtt200u' 'dvb-usb-dtv5100' 'dvb-usb-dw2102' 'dvb-usb-ec168' 'dvb-usb-friio' 'dvb-usb-gl861' 'dvb-usb-gp8psk' 'dvb-usb-it913x' 'dvb-usb-lmedm04' 'dvb-usb-m920x' 'dvb-usb-mxl111sf' 'dvb-usb-nova-t-usb2' 'dvb-usb-opera' 'dvb-usb-pctv452e' 'dvb-usb-technisat-usb2' 'dvb-usb-ttusb2' 'dvb-usb-umt-010' 'dvb-usb-vp702x' 'dvb-usb-vp7045' 'dwc3' 'dwc3-omap' 'dwc3-pci' 'dyna_pci10xx' 'dynapro' 'e100' 'e1000' 'e1000e' 'e752x_edac' 'earth-pt1' 'easycap' 'eata' 'ebt_802_3' 'ebtable_broute' 'ebtable_filter' 'ebtable_nat' 'ebtables' 'ebt_among' 'ebt_arp' 'ebt_arpreply' 'ebt_dnat' 'ebt_ip' 'ebt_ip6' 'ebt_limit' 'ebt_log' 'ebt_mark' 'ebt_mark_m' 'ebt_nflog' 'ebt_pkttype' 'ebt_redirect' 'ebt_snat' 'ebt_stp' 'ebt_ulog' 'ebt_vlan' 'ec100' 'ecb' 'echo' 'ecryptfs' 'ec_sys' 'edac_core' 'edac_mce_amd' 'edd' 'eeepc-laptop' 'eeepc-wmi' 'eeprom' 'eeprom_93cx6' 'eeprom_93xx46' 'eeti_ts' 'efivars' 'ehci-hcd' 'einj' 'elo' 'elsa_cs' 'em28xx' 'em28xx-alsa' 'em28xx-dvb' 'emc1403' 'emc2103' 'emc6w201' 'emi26' 'emi62' 'empeg' 'emu10k1-gp' 'enc28j60' 'enclosure' 'encrypted-keys' 'ene_ir' 'eni' 'enic' 'epic100' 'eql' 'erst-dbg' 'esi-sir' 'esp4' 'esp6' 'et1011c' 'et131x' 'et61x251' 'ethoc' 'eurotechwdt' 'evdev' 'exofs' 'exportfs' 'ext4' 'f71805f' 'f71808e_wdt' 'f71882fg' 'f75375s' 'fakehard' 'fakephp' 'fam15h_power' 'fan' 'fat' 'faulty' 'fb_sys_fops' 'fcoe' 'fcrypt' 'fdomain' 'fdomain_cs' 'fealnx' 'ff-memless' 'fintek-cir' 'firedtv' 'firestream' 'firewire-core' 'firewire-net' 'firewire-ohci' 'firewire-sbp2' 'fixed' 'floppy' 'fm801-gp' 'fm_drv' 'fmvj18x_cs' 'fnic' 'forcedeth' 'fore_200e' 'freq_table' 'fsa9480' 'fscache' 'fschmd' 'ft1000' 'ft1000_pcmcia' 'ftdi-elan' 'ftdi_sio' 'ftl' 'fujitsu-laptop' 'fujitsu_ts' 'funsoft' 'fuse' 'g760a' 'gadgetfs' 'gamecon' 'gameport' 'garmin_gps' 'g_audio' 'gcm' 'g_dbgp' 'gdth' 'generic_bl' 'gen_probe' 'geodewdt' 'g_ether' 'gf128mul' 'gf2k' 'g_ffs' 'g_file_storage' 'gfs2' 'ghash-clmulni-intel' 'ghash-generic' 'g_hid' 'gigaset' 'girbil-sir' 'gl518sm' 'gl520sm' 'gl620a' 'g_midi' 'g_ncm' 'go7007' 'go7007-usb' 'goku_udc' 'gpio-74x164' 'gpio-adp5588' 'gpio-charger' 'gpio-cs5535' 'gpio-fan' 'gpio-generic' 'gpio-i2cmux' 'gpio-it8761e' 'gpio-janz-ttl' 'gpio_keys' 'gpio_keys_polled' 'gpio-max7300' 'gpio-max7301' 'gpio-max730x' 'gpio-max732x' 'gpio-mc33880' 'gpio-mcp23s08' 'gpio-ml-ioh' 'gpio_mouse' 'gpio-pca953x' 'gpio-pcf857x' 'gpio-pch' 'gpio-rdc321x' 'gpio-regulator' 'gpio-sch' 'gpio-tps65912' 'gpio_vbus' 'gpio-vx855' 'gpio-wm831x' 'g_printer' 'gre' 'grip' 'grip_mp' 'gsc_hpdi' 'g_serial' 'gspca_benq' 'gspca_conex' 'gspca_cpia1' 'gspca_etoms' 'gspca_finepix' 'gspca_gl860' 'gspca_jeilinj' 'gspca_kinect' 'gspca_konica' 'gspca_m5602' 'gspca_main' 'gspca_mars' 'gspca_mr97310a' 'gspca_nw80x' 'gspca_ov519' 'gspca_ov534' 'gspca_ov534_9' 'gspca_pac207' 'gspca_pac7302' 'gspca_pac7311' 'gspca_se401' 'gspca_sn9c2028' 'gspca_sn9c20x' 'gspca_sonixb' 'gspca_sonixj' 'gspca_spca1528' 'gspca_spca500' 'gspca_spca501' 'gspca_spca505' 'gspca_spca506' 'gspca_spca508' 'gspca_spca561' 'gspca_sq905' 'gspca_sq905c' 'gspca_sq930x' 'gspca_stk014' 'gspca_stv0680' 'gspca_stv06xx' 'gspca_sunplus' 'gspca_t613' 'gspca_topro' 'gspca_tv8532' 'gspca_vc032x' 'gspca_vicam' 'gspca_xirlink_cit' 'gspca_zc3xx' 'gtco' 'guillemot' 'gunze' 'g_webcam' 'hamachi' 'hampshire' 'hangcheck-timer' 'hanwang' 'hci_uart' 'hci_vhci' 'hdaps' 'hdpvr' 'he' 'hexium_gemini' 'hexium_orion' 'hfc4s8s_l1' 'hfcmulti' 'hfcpci' 'hfcsusb' 'hfc_usb' 'hfs' 'hfsplus' 'hid' 'hid-a4tech' 'hid-apple' 'hid-axff' 'hid-belkin' 'hid-cherry' 'hid-chicony' 'hid-cypress' 'hid-dr' 'hid-elecom' 'hid-emsff' 'hid-ezkey' 'hid-gaff' 'hid-gyration' 'hid-holtekff' 'hid-kensington' 'hid-keytouch' 'hid-kye' 'hid-lcpower' 'hid-logitech' 'hid-logitech-dj' 'hid-magicmouse' 'hid-microsoft' 'hid-monterey' 'hid-multitouch' 'hid-ntrig' 'hid-ortek' 'hidp' 'hid-petalynx' 'hid-picolcd' 'hid-pl' 'hid-primax' 'hid-prodikeys' 'hid-quanta' 'hid-roccat' 'hid-roccat-arvo' 'hid-roccat-common' 'hid-roccat-kone' 'hid-roccat-koneplus' 'hid-roccat-kovaplus' 'hid-roccat-pyra' 'hid-samsung' 'hid-sjoy' 'hid-sony' 'hid-speedlink' 'hid-sunplus' 'hid-tmff' 'hid-topseed' 'hid-twinhan' 'hid-uclogic' 'hid-wacom' 'hid-waltop' 'hid-wiimote' 'hid-zpff' 'hid-zydacron' 'hisax' 'hisax_fcpcipnp' 'hisax_isac' 'hisax_st5481' 'hmac' 'hmc6352' 'hopper' 'horizon' 'hostap' 'hostap_cs' 'hostap_pci' 'hostap_plx' 'hp100' 'hp4x' 'hp_accel' 'hpilo' 'hpsa' 'hptiop' 'hpwdt' 'hp-wmi' 'hso' 'htc-pasic3' 'hv_mouse' 'hv_netvsc' 'hv_storvsc' 'hv_utils' 'hv_vmbus' 'hwa-hc' 'hwa-rc' 'hwmon-vid' 'hwpoison-inject' 'hysdn' 'i1480-dfu-usb' 'i1480-est' 'i2400m' 'i2400m-sdio' 'i2400m-usb' 'i2c-algo-bit' 'i2c-algo-pca' 'i2c-ali1535' 'i2c-ali1563' 'i2c-ali15x3' 'i2c-amd756' 'i2c-amd756-s4882' 'i2c-amd8111' 'i2c-core' 'i2c-designware-pci' 'i2c-dev' 'i2c-diolan-u2c' 'i2c-eg20t' 'i2c-gpio' 'i2c-i801' 'i2c-intel-mid' 'i2c-isch' 'i2c-mux' 'i2c-nforce2' 'i2c-nforce2-s4985' 'i2c-ocores' 'i2c-parport' 'i2c-parport-light' 'i2c-pca-platform' 'i2c-piix4' 'i2c-scmi' 'i2c-simtec' 'i2c-sis5595' 'i2c-sis630' 'i2c-sis96x' 'i2c-smbus' 'i2c-taos-evm' 'i2c-tiny-usb' 'i2c-via' 'i2c-viapro' 'i2c-xiic' 'i2o_block' 'i2o_bus' 'i2o_config' 'i2o_core' 'i2o_proc' 'i2o_scsi' 'i3000_edac' 'i3200_edac' 'i5000_edac' 'i5100_edac' 'i5400_edac' 'i5k_amb' 'i6300esb' 'i7300_edac' 'i7300_idle' 'i7core_edac' 'i82092' 'i82975x_edac' 'i8k' 'i915' 'ia32_aout' 'ib700wdt' 'ibmaem' 'ibmasr' 'ibmpex' 'ibm_rtl' 'icplus' 'icp_multi' 'ics932s401' 'ideapad-laptop' 'idmouse' 'idt77252' 'ieee802154' 'ifb' 'iforce' 'ifx6x60' 'igb' 'igbvf' 'ii_pci20kc' 'ili9320' 'imm' 'imon' 'imx074' 'inexio' 'inftl' 'initio' 'input-polldev' 'int51x1' 'intel-agp' 'intel-gtt' 'intel_ips' 'intel_menlow' 'intel_mid_dma' 'intel_oaktrail' 'intel-rng' 'interact' 'ioatdma' 'ioc4' 'io_edgeport' 'io_ti' 'iowarrior' 'ip6_queue' 'ip6table_filter' 'ip6table_mangle' 'ip6table_raw' 'ip6_tables' 'ip6table_security' 'ip6t_ah' 'ip6t_eui64' 'ip6t_frag' 'ip6t_hbh' 'ip6t_ipv6header' 'ip6t_LOG' 'ip6t_mh' 'ip6t_REJECT' 'ip6t_rt' 'ip6_tunnel' 'ipaq' 'ipcomp' 'ipcomp6' 'ipddp' 'ipg' 'ip_gre' 'iphase' 'ipheth' 'ipip' 'ipmi_devintf' 'ipmi_msghandler' 'ipmi_poweroff' 'ipmi_si' 'ipmi_watchdog' 'ip_queue' 'ipr' 'ips' 'ip_set' 'ip_set_bitmap_ip' 'ip_set_bitmap_ipmac' 'ip_set_bitmap_port' 'ip_set_hash_ip' 'ip_set_hash_ipport' 'ip_set_hash_ipportip' 'ip_set_hash_ipportnet' 'ip_set_hash_net' 'ip_set_hash_netiface' 'ip_set_hash_netport' 'ip_set_list_set' 'iptable_filter' 'iptable_mangle' 'iptable_nat' 'iptable_raw' 'ip_tables' 'iptable_security' 'ipt_ah' 'ipt_CLUSTERIP' 'ipt_ecn' 'ipt_ECN' 'ipt_LOG' 'ipt_MASQUERADE' 'ipt_NETMAP' 'ipt_REDIRECT' 'ipt_REJECT' 'ipt_ULOG' 'ip_vs' 'ip_vs_dh' 'ip_vs_ftp' 'ip_vs_lblc' 'ip_vs_lblcr' 'ip_vs_lc' 'ip_vs_nq' 'ip_vs_pe_sip' 'ip_vs_rr' 'ip_vs_sed' 'ip_vs_sh' 'ip_vs_wlc' 'ip_vs_wrr' 'ipw' 'ipw2100' 'ipw2200' 'ipwireless' 'ipx' 'ircomm' 'ircomm-tty' 'irda' 'irda-usb' 'ir-jvc-decoder' 'ir-kbd-i2c' 'irlan' 'ir-lirc-codec' 'ir-mce_kbd-decoder' 'ir-nec-decoder' 'irnet' 'ir-rc5-decoder' 'ir-rc5-sz-decoder' 'ir-rc6-decoder' 'ir-sony-decoder' 'irtty-sir' 'ir-usb' 'isci' 'iscsi_boot_sysfs' 'iscsi_target_mod' 'iscsi_tcp' 'isdn' 'isdn_bsdcomp' 'isdnhdlc' 'isight_firmware' 'isl29003' 'isl29020' 'isl6271a-regulator' 'isl6405' 'isl6421' 'isl6423' 'isofs' 'isp116x-hcd' 'isp1362-hcd' 'isp1704_charger' 'isp1760' 'it87' 'it8712f_wdt' 'it87_wdt' 'it913x-fe' 'iTCO_vendor_support' 'iTCO_wdt' 'itd1000' 'ite-cir' 'iuu_phoenix' 'ivtv' 'ivtvfb' 'iwl3945' 'iwl4965' 'iwl-legacy' 'iwlwifi' 'iwmc3200top' 'iwmc3200wifi' 'ix2505v' 'ixgb' 'ixgbe' 'ixgbevf' 'janz-cmodio' 'jbd2' 'jc42' 'jedec_probe' 'jffs2' 'jfs' 'jmb38x_ms' 'jme' 'joydev' 'joydump' 'jr3_pci' 'jsm' 'k10temp' 'k8temp' 'kafs' 'kalmia' 'kaweth' 'kb3886_bl' 'kbtab' 'kcomedilib' 'ke_counter' 'kernelcapi' 'keucr' 'keyspan' 'keyspan_pda' 'keyspan_remote' 'khazad' 'kingsun-sir' 'kl5kusb105' 'kobil_sct' 'ks0108' 'ks0127' 'ks8842' 'ks8851' 'ks8851_mll' 'ks959-sir' 'ksdazzle-sir' 'ksz884x' 'kvm' 'kvm-amd' 'kvm-intel' 'kxtj9' 'l1oip' 'l2tp_core' 'l2tp_eth' 'l2tp_ip' 'l2tp_netlink' 'l2tp_ppp' 'l4f00242t03' 'l64781' 'lanai' 'lcd' 'ld9040' 'ldusb' 'lec' 'leds-bd2802' 'leds-clevo-mail' 'leds-dac124s085' 'leds-gpio' 'leds-lm3530' 'leds-lp3944' 'leds-lp5521' 'leds-lp5523' 'leds-lt3593' 'leds-mc13783' 'leds-net5501' 'leds-pca9532' 'leds-pca955x' 'leds-regulator' 'leds-ss4200' 'leds-wm831x-status' 'ledtrig-backlight' 'ledtrig-default-on' 'ledtrig-gpio' 'ledtrig-heartbeat' 'ledtrig-timer' 'legousbtower' 'lgdt3305' 'lgdt330x' 'lgs8gxx' 'lg-vl600' 'lib80211' 'lib80211_crypt_ccmp' 'lib80211_crypt_tkip' 'lib80211_crypt_wep' 'libahci' 'libata' 'libceph' 'libcrc32c' 'libcxgbi' 'libertas' 'libertas_cs' 'libertas_sdio' 'libertas_spi' 'libertas_tf' 'libertas_tf_usb' 'libfc' 'libfcoe' 'libipw' 'libiscsi' 'libiscsi_tcp' 'libore' 'libosd' 'libphy' 'libsas' 'libsrp' 'lightning' 'line6usb' 'lineage-pem' 'linear' 'lirc_bt829' 'lirc_dev' 'lirc_igorplugusb' 'lirc_imon' 'lirc_parallel' 'lirc_sasem' 'lirc_serial' 'lirc_sir' 'lirc_ttusbir' 'lirc_zilog' 'lis3lv02d' 'lis3lv02d_i2c' 'litelink-sir' 'lkdtm' 'llc' 'llc2' 'lm25066' 'lm63' 'lm70' 'lm73' 'lm75' 'lm77' 'lm78' 'lm80' 'lm83' 'lm85' 'lm87' 'lm90' 'lm92' 'lm93' 'lm95241' 'lm95245' 'lms283gf05' 'lnbp21' 'lnbp22' 'lockd' 'logfs' 'loop' 'lp' 'lp3971' 'lp3972' 'lpc_sch' 'lpddr_cmds' 'lpfc' 'lru_cache' 'lrw' 'ltc2978' 'ltc4151' 'ltc4215' 'ltc4245' 'ltc4261' 'ltv350qv' 'lxt' 'lzo' 'm52790' 'm5mols' 'm66592-udc' 'ma600-sir' 'mac80211' 'machzwd' 'macvlan' 'macvtap' 'magellan' 'mantis' 'mantis_core' 'map_absent' 'map_funcs' 'map_ram' 'map_rom' 'marvell' 'matrix_keypad' 'matrox_w1' 'max1111' 'max11801_ts' 'max1586' 'max16064' 'max16065' 'max1619' 'max1668' 'max17040_battery' 'max17042_battery' 'max2165' 'max3100' 'max3107' 'max34440' 'max6639' 'max6642' 'max6650' 'max6875' 'max8649' 'max8660' 'max8688' 'max8903_charger' 'max8952' 'mb86a16' 'mb86a20s' 'mbcache' 'mc13783-adc' 'mc13783-pwrbutton' 'mc13783-regulator' 'mc13783_ts' 'mc13892-regulator' 'mc13xxx-core' 'mc13xxx-regulator-core' 'mc44s803' 'mce_amd_inj' 'mceusb' 'mcp2120-sir' 'mcs5000_ts' 'mcs7780' 'mcs7830' 'mcs_touchkey' 'mct_u232' 'md4' 'md5' 'mdc800' 'mdio' 'md-mod' 'me4000' 'me_daq' 'media' 'megaraid' 'megaraid_mbox' 'megaraid_mm' 'megaraid_sas' 'mei' 'mem2mem_testdev' 'memstick' 'meye' 'mfd' 'mga' 'michael_mic' 'micrel' 'microcode' 'microtek' 'mii' 'minix' 'mip6' 'mISDN_core' 'mISDN_dsp' 'mISDNinfineon' 'mISDNipac' 'mISDNisar' 'mite' 'mk712' 'mlx4_core' 'mlx4_en' 'mma8450' 'mmc_block' 'mmc_core' 'mmc_spi' 'mos7720' 'mos7840' 'moto_modem' 'mperf' 'mpoa' 'mpr121_touchkey' 'mpt2sas' 'mptbase' 'mptctl' 'mptfc' 'mptsas' 'mptscsih' 'mptspi' 'mpu3050' 'msdos' 'msi-laptop' 'msi-wmi' 'msp3400' 'mspro_block' 'msr' 'mt2060' 'mt20xx' 'mt2131' 'mt2266' 'mt312' 'mt352' 'mt9m001' 'mt9m111' 'mt9p031' 'mt9t001' 'mt9t031' 'mt9t112' 'mt9v011' 'mt9v022' 'mt9v032' 'mtd' 'mtd_blkdevs' 'mtdblock' 'mtdblock_ro' 'mtdchar' 'mtd_nandecctest' 'mtd_oobtest' 'mtdoops' 'mtd_pagetest' 'mtdram' 'mtd_readtest' 'mtd_speedtest' 'mtd_stresstest' 'mtd_subpagetest' 'mtdswap' 'mtd_torturetest' 'mtouch' 'multipath' 'mvsas' 'mvumi' 'mwave' 'mwifiex' 'mwifiex_pcie' 'mwifiex_sdio' 'mwl8k' 'mxb' 'mxl111sf-demod' 'mxl111sf-tuner' 'mxl5005s' 'mxl5007t' 'mxm-wmi' 'myri10ge' 'nand' 'nand_ecc' 'nand_ids' 'nandsim' 'national' 'natsemi' 'navman' 'nbd' 'nci' 'ncpfs' 'ne2k-pci' 'net1080' 'net2272' 'net2280' 'netconsole' 'netjet' 'netsc520' 'netxen_nic' 'nfc' 'nf_conntrack' 'nf_conntrack_amanda' 'nf_conntrack_broadcast' 'nf_conntrack_ftp' 'nf_conntrack_h323' 'nf_conntrack_ipv4' 'nf_conntrack_ipv6' 'nf_conntrack_irc' 'nf_conntrack_netbios_ns' 'nf_conntrack_netlink' 'nf_conntrack_pptp' 'nf_conntrack_proto_dccp' 'nf_conntrack_proto_gre' 'nf_conntrack_proto_sctp' 'nf_conntrack_proto_udplite' 'nf_conntrack_sane' 'nf_conntrack_sip' 'nf_conntrack_snmp' 'nf_conntrack_tftp' 'nfcwilink' 'nf_defrag_ipv4' 'nf_defrag_ipv6' 'nf_nat' 'nf_nat_amanda' 'nf_nat_ftp' 'nf_nat_h323' 'nf_nat_irc' 'nf_nat_pptp' 'nf_nat_proto_dccp' 'nf_nat_proto_gre' 'nf_nat_proto_sctp' 'nf_nat_proto_udplite' 'nf_nat_sip' 'nf_nat_snmp_basic' 'nf_nat_tftp' 'nfnetlink' 'nfnetlink_log' 'nfnetlink_queue' 'nfs' 'nfs_acl' 'nfsd' 'nftl' 'nf_tproxy_core' 'ngene' 'n_gsm' 'n_hdlc' 'ni_6527' 'ni_65xx' 'ni_660x' 'ni_670x' 'nicstar' 'ni_daq_700' 'ni_daq_dio24' 'ni_labpc' 'ni_labpc_cs' 'nilfs2' 'ni_mio_cs' 'ni_pcidio' 'ni_pcimio' 'ni_tio' 'ni_tiocmd' 'niu' 'nls_ascii' 'nls_cp1250' 'nls_cp1251' 'nls_cp1255' 'nls_cp437' 'nls_cp737' 'nls_cp775' 'nls_cp850' 'nls_cp852' 'nls_cp855' 'nls_cp857' 'nls_cp860' 'nls_cp861' 'nls_cp862' 'nls_cp863' 'nls_cp864' 'nls_cp865' 'nls_cp866' 'nls_cp869' 'nls_cp874' 'nls_cp932' 'nls_cp936' 'nls_cp949' 'nls_cp950' 'nls_euc-jp' 'nls_iso8859-13' 'nls_iso8859-14' 'nls_iso8859-15' 'nls_iso8859-2' 'nls_iso8859-3' 'nls_iso8859-4' 'nls_iso8859-5' 'nls_iso8859-6' 'nls_iso8859-7' 'nls_iso8859-9' 'nls_koi8-r' 'nls_koi8-ru' 'nls_koi8-u' 'nls_utf8' 'nmclan_cs' 'noon010pc30' 'nop-usb-xceiv' 'nosy' 'nouveau' 'nozomi' 'n_r3964' 'ns558' 'ns83820' 'nsc-ircc' 'ntc_thermistor' 'ntfs' 'n_tracerouter' 'n_tracesink' 'nuvoton-cir' 'nvram' 'nv_tco' 'nxt200x' 'nxt6000' 'ocfs2' 'ocfs2_dlm' 'ocfs2_dlmfs' 'ocfs2_nodemanager' 'ocfs2_stackglue' 'ocfs2_stack_o2cb' 'ocfs2_stack_user' 'ohci-hcd' 'old_belkin-sir' 'omfs' 'omninet' 'oprofile' 'opticon' 'option' 'or51132' 'or51211' 'orinoco' 'orinoco_cs' 'orinoco_nortel' 'orinoco_pci' 'orinoco_plx' 'orinoco_tmd' 'orinoco_usb' 'osd' 'osdblk' 'oss_ali5455' 'oss_atiaudio' 'oss_audigyls' 'oss_audioloop' 'oss_audiopci' 'oss_cmi878x' 'oss_cmpci' 'osscore' 'oss_cs4281' 'oss_cs461x' 'oss_digi96' 'oss_emu10k1x' 'oss_envy24' 'oss_envy24ht' 'oss_fmedia' 'oss_geode' 'oss_hdaudio' 'oss_ich' 'oss_imux' 'oss_madi' 'oss_midiloop' 'oss_midimix' 'oss_sblive' 'oss_sbpci' 'oss_sbxfi' 'oss_solo' 'osst' 'oss_trident' 'oss_usb' 'oss_userdev' 'oss_via823x' 'oss_via97' 'oss_ymf7xx' 'oti6858' 'output' 'ov2640' 'ov5642' 'ov6650' 'ov7670' 'ov772x' 'ov9640' 'ov9740' 'oxu210hp-hcd' 'p4-clockmod' 'p54common' 'p54pci' 'p54spi' 'p54usb' 'p8022' 'p8023' 'padlock-aes' 'padlock-sha' 'panasonic-laptop' 'parkbd' 'parport' 'parport_ax88796' 'parport_cs' 'parport_pc' 'parport_serial' 'pata_acpi' 'pata_ali' 'pata_amd' 'pata_arasan_cf' 'pata_artop' 'pata_atiixp' 'pata_atp867x' 'pata_cmd640' 'pata_cmd64x' 'pata_cs5520' 'pata_cs5530' 'pata_cs5536' 'pata_cypress' 'pata_efar' 'pata_hpt366' 'pata_hpt37x' 'pata_hpt3x2n' 'pata_hpt3x3' 'pata_it8213' 'pata_it821x' 'pata_jmicron' 'pata_legacy' 'pata_marvell' 'pata_mpiix' 'pata_netcell' 'pata_ninja32' 'pata_ns87410' 'pata_ns87415' 'pata_oldpiix' 'pata_opti' 'pata_optidma' 'pata_pcmcia' 'pata_pdc2027x' 'pata_pdc202xx_old' 'pata_piccolo' 'pata_radisys' 'pata_rdc' 'pata_rz1000' 'pata_sc1200' 'pata_sch' 'pata_serverworks' 'pata_sil680' 'pata_sis' 'pata_sl82c105' 'pata_triflex' 'pata_via' 'pc87360' 'pc87413_wdt' 'pc87427' 'pca9541' 'pca954x' 'pcap-regulator' 'pcap_ts' 'pcbc' 'pcc-cpufreq' 'pcf50633' 'pcf50633-adc' 'pcf50633-backlight' 'pcf50633-charger' 'pcf50633-gpio' 'pcf50633-input' 'pcf50633-regulator' 'pcf8574_keypad' 'pcf8591' 'pch_dma' 'pch_gbe' 'pch_phub' 'pch_uart' 'pch_udc' 'pci' 'pciehp' 'pci_hotplug' 'pcips2' 'pci_slot' 'pci-stub' 'pcmcia' 'pcmcia_core' 'pcmcia_rsrc' 'pcm_common' 'pcnet32' 'pcnet_cs' 'pcrypt' 'pcspkr' 'pcwd_pci' 'pcwd_usb' 'pd6729' 'pda_power' 'pdc_adma' 'pegasus' 'penmount' 'phantom' 'phison' 'phonet' 'phram' 'pktcdvd' 'pktgen' 'pl2303' 'platform_lcd' 'plat-ram' 'plip' 'plusb' 'pluto2' 'pm8001' 'pmbus' 'pmbus_core' 'pmc551' 'pmcraid' 'pn533' 'pn544' 'pn_pep' 'pohmelfs' 'poseidon' 'poulsbo' 'powermate' 'powernow-k8' 'ppa' 'ppdev' 'ppp_async' 'ppp_deflate' 'ppp_generic' 'ppp_mppe' 'pppoatm' 'pppoe' 'pppox' 'ppp_synctty' 'pps_core' 'pps-gpio' 'pps-ktimer' 'pps-ldisc' 'pps_parport' 'pptp' 'prism2_usb' 'prism54' 'processor' 'progear_bl' 'ps2mult' 'psb_gfx' 'psmouse' 'psnap' 'pti' 'ptp' 'pvrusb2' 'pwc' 'qcaux' 'qcserial' 'qinfo_probe' 'qla1280' 'qla2xxx' 'qla3xxx' 'qla4xxx' 'qlcnic' 'qlge' 'qlogic_cs' 'qlogicfas408' 'qsemi' 'qt1010' 'qt1070' 'qt2160' 'quatech_daqp_cs' 'quatech_usb2' 'quickstart' 'quota_tree' 'quota_v1' 'quota_v2' 'r128' 'r592' 'r6040' 'r8169' 'r8187se' 'r8192e_pci' 'r8192u_usb' 'r852' 'r8712u' 'r8a66597-hcd' 'r8a66597-udc' 'radeon' 'radio-i2c-si470x' 'radio-maxiradio' 'radio-mr800' 'radio-si4713' 'radio-tea5764' 'radio-timb' 'radio-usb-si470x' 'radio-wl1273' 'raid0' 'raid1' 'raid10' 'raid456' 'raid6_pq' 'raid6test' 'raid_class' 'ramoops' 'ray_cs' 'rbd' 'rc-adstech-dvb-t-pci' 'rc-alink-dtu-m' 'rc-anysee' 'rc-apac-viewcomp' 'rc-asus-pc39' 'rc-ati-tv-wonder-hd-600' 'rc-ati-x10' 'rc-avermedia' 'rc-avermedia-a16d' 'rc-avermedia-cardbus' 'rc-avermedia-dvbt' 'rc-avermedia-m135a' 'rc-avermedia-m733a-rm-k6' 'rc-avermedia-rm-ks' 'rc-avertv-303' 'rc-azurewave-ad-tu700' 'rc-behold' 'rc-behold-columbus' 'rc-budget-ci-old' 'rc-cinergy' 'rc-cinergy-1400' 'rc-core' 'rc-dib0700-nec' 'rc-dib0700-rc5' 'rc-digitalnow-tinytwin' 'rc-digittrade' 'rc-dm1105-nec' 'rc-dntv-live-dvb-t' 'rc-dntv-live-dvbt-pro' 'rc-em-terratec' 'rc-encore-enltv' 'rc-encore-enltv2' 'rc-encore-enltv-fm53' 'rc-evga-indtube' 'rc-eztv' 'rc-flydvb' 'rc-flyvideo' 'rc-fusionhdtv-mce' 'rc-gadmei-rm008z' 'rc-genius-tvgo-a11mce' 'rc-gotview7135' 'rc-hauppauge' 'rc-imon-mce' 'rc-imon-pad' 'rc-iodata-bctv7e' 'rc-kaiomy' 'rc-kworld-315u' 'rc-kworld-plus-tv-analog' 'rc-leadtek-y04g0051' 'rc-lirc' 'rc-lme2510' 'rc-loopback' 'rc-manli' 'rc-medion-x10' 'rc-msi-digivox-ii' 'rc-msi-digivox-iii' 'rc-msi-tvanywhere' 'rc-msi-tvanywhere-plus' 'rc-nebula' 'rc-nec-terratec-cinergy-xs' 'rc-norwood' 'rc-npgtech' 'rc-pctv-sedna' 'rc-pinnacle-color' 'rc-pinnacle-grey' 'rc-pinnacle-pctv-hd' 'rc-pixelview' 'rc-pixelview-002t' 'rc-pixelview-mk12' 'rc-pixelview-new' 'rc-powercolor-real-angel' 'rc-proteus-2309' 'rc-purpletv' 'rc-pv951' 'rc-rc6-mce' 'rc-real-audio-220-32-keys' 'rc-snapstream-firefly' 'rc-streamzap' 'rc-tbs-nec' 'rc-technisat-usb2' 'rc-terratec-cinergy-xs' 'rc-terratec-slim' 'rc-terratec-slim-2' 'rc-tevii-nec' 'rc-tivo' 'rc-total-media-in-hand' 'rc-trekstor' 'rc-tt-1500' 'rc-twinhan1027' 'rc-videomate-m1f' 'rc-videomate-s350' 'rc-videomate-tv-pvr' 'rc-winfast' 'rc-winfast-usbii-deluxe' 'rdc321x-southbridge' 'realtek' 'redboot' 'redrat3' 'reed_solomon' 'regmap-i2c' 'reiserfs' 'renesas_usbhs' 'rfcomm' 'rfd_ftl' 'rfkill' 'rfkill-regulator' 'ring_buffer_benchmark' 'rio500' 'rionet' 'rj54n1cb0c' 'rmd128' 'rmd160' 'rmd256' 'rmd320' 'rndis_host' 'rndis_wlan' 'rocket' 'rotary_encoder' 'rpcsec_gss_krb5' 'rt2400pci' 'rt2500pci' 'rt2500usb' 'rt2800lib' 'rt2800pci' 'rt2800usb' 'rt2x00lib' 'rt2x00pci' 'rt2x00usb' 'rt61pci' 'rt73usb' 'rtc-ab8500' 'rtc-bq32k' 'rtc-bq4802' 'rtc-ds1286' 'rtc-ds1305' 'rtc-ds1307' 'rtc-ds1374' 'rtc-ds1390' 'rtc-ds1511' 'rtc-ds1553' 'rtc-ds1672' 'rtc-ds1742' 'rtc-ds3232' 'rtc-ds3234' 'rtc-em3027' 'rtc-fm3130' 'rtc-isl12022' 'rtc-isl1208' 'rtc-m41t80' 'rtc-m41t93' 'rtc-m41t94' 'rtc-m48t35' 'rtc-m48t59' 'rtc-m48t86' 'rtc-max6900' 'rtc-max6902' 'rtc-mc13xxx' 'rtc-msm6242' 'rtc-pcf2123' 'rtc-pcf50633' 'rtc-pcf8563' 'rtc-pcf8583' 'rtc-r9701' 'rtc-rp5c01' 'rtc-rs5c348' 'rtc-rs5c372' 'rtc-rv3029c2' 'rtc-rx8025' 'rtc-rx8581' 'rtc-s35390a' 'rtc-stk17ta8' 'rtc-test' 'rtc-v3020' 'rtc-wm831x' 'rtc-x1205' 'rtd520' 'rtl8150' 'rtl8180' 'rtl8187' 'rtl8192c-common' 'rtl8192ce' 'rtl8192cu' 'rtl8192de' 'rtl8192se' 'rtlwifi' 'rts5139' 'rts_pstor' 'rxkad' 's2255drv' 's2io' 's526' 's5h1409' 's5h1411' 's5h1420' 's5k6aa' 's626' 's6e63m0' 's921' 'saa6588' 'saa6752hs' 'saa7110' 'saa7115' 'saa7127' 'saa7134' 'saa7134-alsa' 'saa7134-dvb' 'saa7134-empress' 'saa7146' 'saa7146_vv' 'saa7164' 'saa717x' 'saa7185' 'saa7191' 'saa7706h' 'safe_serial' 'salsa20_generic' 'salsa20-x86_64' 'samsung-laptop' 'samsung-q10' 'sata_inic162x' 'sata_mv' 'sata_nv' 'sata_promise' 'sata_qstor' 'sata_sil' 'sata_sil24' 'sata_sis' 'sata_svw' 'sata_sx4' 'sata_uli' 'sata_via' 'sata_vsc' 'savage' 'sb1000' 'sbc60xxwdt' 'sbc8360' 'sbc_epx_c3' 'sbc_fitpc2_wdt' 'sb_edac' 'sbs' 'sbshc' 'sc1200wdt' 'sc520cdp' 'sc520_wdt' 'sc92031' 'scb2_flash' 'sch311x_wdt' 'sch5627' 'sch5636' 'sch56xx-common' 'sch_atm' 'sch_cbq' 'sch_choke' 'sch_drr' 'sch_dsmark' 'sch_gred' 'sch_hfsc' 'sch_htb' 'sch_ingress' 'sch_mqprio' 'sch_multiq' 'sch_netem' 'sch_prio' 'sch_qfq' 'sch_red' 'sch_sfb' 'sch_sfq' 'sch_tbf' 'sch_teql' 'scsi_dh' 'scsi_dh_alua' 'scsi_dh_emc' 'scsi_dh_hp_sw' 'scsi_dh_rdac' 'scsi_mod' 'scsi_tgt' 'scsi_transport_fc' 'scsi_transport_iscsi' 'scsi_transport_sas' 'scsi_transport_spi' 'scsi_transport_srp' 'scsi_wait_scan' 'sctp' 'sdhci' 'sdhci-pci' 'sdhci-pltfm' 'sdio_uart' 'sd_mod' 'sdricoh_cs' 'sedlbauer_cs' 'seed' 'seeq8005' 'sep_driver' 'seqiv' 'ser_gigaset' 'serial2002' 'serial_cs' 'serio_raw' 'serpent' 'serport' 'serqt_usb2' 'ses' 'sfc' 'sg' 'sha1_generic' 'sha1-ssse3' 'sha256_generic' 'sha512_generic' 'shpchp' 'sht15' 'sht21' 'si21xx' 'si4713-i2c' 'sidewinder' 'siemens_mpi' 'sierra' 'sierra_net' 'sigma' 'sil164' 'sir-dev' 'sis' 'sis190' 'sis5595' 'sis900' 'sis-agp' 'sisusbvga' 'sit' 'skel' 'skge' 'sky2' 'sl811_cs' 'sl811-hcd' 'slhc' 'slicoss' 'slip' 'sm501' 'sm7xx' 'smc91c92_cs' 'sm_common' 'smm665' 'smsc' 'smsc37b787_wdt' 'smsc47b397' 'smsc47m1' 'smsc47m192' 'smsc75xx' 'smsc9420' 'smsc95xx' 'smsc-ircc2' 'smsdvb' 'smsmdtv' 'smssdio' 'smsusb' 'sn9c102' 'snd' 'snd-ac97-codec' 'snd-ad1889' 'snd-ak4113' 'snd-ak4114' 'snd-ak4117' 'snd-ak4xxx-adda' 'snd-ali5451' 'snd-aloop' 'snd-als300' 'snd-als4000' 'snd-asihpi' 'snd-atiixp' 'snd-atiixp-modem' 'snd-au8810' 'snd-au8820' 'snd-au8830' 'snd-aw2' 'snd-azt3328' 'snd-bt87x' 'snd-ca0106' 'snd-cmipci' 'snd-cs4281' 'snd-cs46xx' 'snd-cs5530' 'snd-cs5535audio' 'snd-cs8427' 'snd-ctxfi' 'snd-darla20' 'snd-darla24' 'snd-dummy' 'snd-echo3g' 'snd-emu10k1' 'snd-emu10k1-synth' 'snd-emu10k1x' 'snd-emux-synth' 'snd-ens1370' 'snd-ens1371' 'snd-es1938' 'snd-es1968' 'snd-firewire-lib' 'snd-firewire-speakers' 'snd-fm801' 'snd-gina20' 'snd-gina24' 'snd-hda-codec' 'snd-hda-codec-analog' 'snd-hda-codec-ca0110' 'snd-hda-codec-ca0132' 'snd-hda-codec-cirrus' 'snd-hda-codec-cmedia' 'snd-hda-codec-conexant' 'snd-hda-codec-hdmi' 'snd-hda-codec-idt' 'snd-hda-codec-realtek' 'snd-hda-codec-si3054' 'snd-hda-codec-via' 'snd-hda-intel' 'snd-hdsp' 'snd-hdspm' 'snd-hrtimer' 'snd-hwdep' 'snd-i2c' 'snd-ice1712' 'snd-ice1724' 'snd-ice17xx-ak4xxx' 'snd-indigo' 'snd-indigodj' 'snd-indigodjx' 'snd-indigoio' 'snd-indigoiox' 'snd-intel8x0' 'snd-intel8x0m' 'snd-isight' 'snd-korg1212' 'snd-layla20' 'snd-layla24' 'snd-lola' 'snd-lx6464es' 'snd-maestro3' 'snd-mia' 'snd-mixart' 'snd-mixer-oss' 'snd-mona' 'snd-mpu401' 'snd-mpu401-uart' 'snd-mtpav' 'snd-mts64' 'snd-nm256' 'snd-opl3-lib' 'snd-opl3-synth' 'snd-oxygen' 'snd-oxygen-lib' 'snd-page-alloc' 'snd-pcm' 'snd-pcm-oss' 'snd-pcxhr' 'snd-pdaudiocf' 'snd-portman2x4' 'snd-pt2258' 'snd-rawmidi' 'snd-riptide' 'snd-rme32' 'snd-rme96' 'snd-rme9652' 'snd-sb16-dsp' 'snd-sb-common' 'snd-seq' 'snd-seq-device' 'snd-seq-dummy' 'snd-seq-midi' 'snd-seq-midi-emul' 'snd-seq-midi-event' 'snd-seq-oss' 'snd-seq-virmidi' 'snd-serial-u16550' 'snd-soc-core' 'snd-sonicvibes' 'snd-tea575x-tuner' 'snd-timer' 'snd-trident' 'snd-ua101' 'snd-usb-6fire' 'snd-usb-audio' 'snd-usb-caiaq' 'snd-usbmidi-lib' 'snd-usb-us122l' 'snd-usb-usx2y' 'snd-util-mem' 'snd-via82xx' 'snd-via82xx-modem' 'snd-virmidi' 'snd-virtuoso' 'snd-vx222' 'snd-vx-lib' 'snd-vxpocket' 'snd-ymfpci' 'soc_camera' 'soc_camera_platform' 'soc_mediabus' 'softdog' 'solo6x10' 'solos-pci' 'sony-laptop' 'soundcore' 'sp5100_tco' 'sp8870' 'sp887x' 'spaceball' 'spaceorb' 'sparse-keymap' 'spcp8x5' 'speakup' 'speakup_acntpc' 'speakup_acntsa' 'speakup_apollo' 'speakup_audptr' 'speakup_bns' 'speakup_decext' 'speakup_decpc' 'speakup_dectlk' 'speakup_dtlk' 'speakup_dummy' 'speakup_keypc' 'speakup_ltlk' 'speakup_soft' 'speakup_spkout' 'speakup_txprt' 'spectrum_cs' 'speedfax' 'speedstep-lib' 'speedtch' 'spi-altera' 'spi-bitbang' 'spi-butterfly' 'spidev' 'spi-gpio' 'spi-lm70llp' 'spi-oc-tiny' 'spi-tle62x0' 'spi-topcliff-pch' 'spi-xilinx' 'squashfs' 'sr030pc30' 'sr_mod' 'ssb' 'ssfdc' 'sstfb' 'ssu100' 'ssv_dnp' 'st' 'st1232' 'starfire' 'stb0899' 'stb6000' 'stb6100' 'st_drv' 'ste10Xp' 'stex' 'stinger' 'stir4200' 'stkwebcam' 'stmmac' 'stp' 'streamzap' 'stv0288' 'stv0297' 'stv0299' 'stv0367' 'stv0900' 'stv090x' 'stv6110' 'stv6110x' 'sundance' 'sungem' 'sungem_phy' 'sunhme' 'suni' 'sunrpc' 'sx8' 'sym53c500_cs' 'sym53c8xx' 'symbolserial' 'synaptics_i2c' 'synaptics_i2c_rmi4' 'synclink' 'synclink_cs' 'synclinkmp' 'syscopyarea' 'sysfillrect' 'sysimgblt' 't1pci' 'target_core_file' 'target_core_iblock' 'target_core_mod' 'target_core_pscsi' 'tca6416-keypad' 'tcm825x' 'tcm_fc' 'tcm_loop' 'tcp_bic' 'tcp_highspeed' 'tcp_htcp' 'tcp_hybla' 'tcp_illinois' 'tcp_lp' 'tcp_scalable' 'tcp_vegas' 'tcp_veno' 'tcp_westwood' 'tcp_yeah' 'tcrypt' 'tda10021' 'tda10023' 'tda10048' 'tda1004x' 'tda10071' 'tda10086' 'tda18212' 'tda18218' 'tda18271' 'tda18271c2dd' 'tda665x' 'tda7432' 'tda8083' 'tda8261' 'tda826x' 'tda827x' 'tda8290' 'tda9840' 'tda9887' 'tdfx' 'tdo24m' 'tea' 'tea5761' 'tea5767' 'tea6415c' 'tea6420' 'tef6862' 'tehuti' 'tekram-sir' 'teles_cs' 'test-kstrtox' 'test_power' 'tg3' 'tgr192' 'thermal' 'thinkpad_acpi' 'thmc50' 'ths7303' 'ti_dac7512' 'tifm_7xx1' 'tifm_core' 'tifm_ms' 'tifm_sd' 'timb_dma' 'timberdale' 'timblogiw' 'timbuart' 'timeriomem-rng' 'ti_usb_3410_5052' 'tlan' 'tlclk' 'tlv320aic23b' 'tm6000' 'tm6000-alsa' 'tm6000-dvb' 'tmdc' 'tmp102' 'tmp401' 'tmp421' 'tmscsim' 'toim3232-sir' 'topstar-laptop' 'toshiba_acpi' 'toshiba_bluetooth' 'touchit213' 'touchright' 'touchwin' 'tpm' 'tpm_atmel' 'tpm_bios' 'tpm_infineon' 'tpm_nsc' 'tpm_tis' 'tps6105x' 'tps6105x-regulator' 'tps65010' 'tps65023-regulator' 'tps6507x' 'tps6507x-regulator' 'tps6507x-ts' 'tps6524x-regulator' 'tps65912-regulator' 'trancevibrator' 'trusted' 'ts5500_flash' 'ts_bm' 'tsc2005' 'tsc2007' 'tsc40' 'ts_fsm' 'ts_kmp' 'tsl2550' 'ttm' 'ttpci-eeprom' 'ttusb_dec' 'ttusbdecfe' 'tua6100' 'tulip' 'tun' 'tuner' 'tuner-simple' 'tuner-types' 'tuner-xc2028' 'tunnel4' 'tunnel6' 'turbografx' 'tvaudio' 'tveeprom' 'tvp514x' 'tvp5150' 'tvp7002' 'tw9910' 'twidjoy' 'twofish_common' 'twofish_generic' 'twofish-x86_64' 'twofish-x86_64-3way' 'typhoon' 'u132-hcd' 'uartlite' 'uas' 'ubi' 'ubifs' 'ucb1400_core' 'ucb1400_ts' 'ucd9000' 'ucd9200' 'udc-core' 'udf' 'udlfb' 'ueagle-atm' 'ufs' 'uhci-hcd' 'uinput' 'uio' 'uio_aec' 'uio_cif' 'uio_netx' 'uio_pci_generic' 'uio_pdrv' 'uio_pdrv_genirq' 'uio_sercos3' 'uli526x' 'umc' 'ums-alauda' 'ums-cypress' 'ums-datafab' 'ums-eneub6250' 'ums-freecom' 'ums-isd200' 'ums-jumpshot' 'ums-karma' 'ums-onetouch' 'ums-realtek' 'ums-sddr09' 'ums-sddr55' 'ums-usbat' 'unioxx5' 'upd64031a' 'upd64083' 'uPD98402' 'usb8xxx' 'usbatm' 'usb-common' 'usbcore' 'usbdux' 'usbduxfast' 'usbduxsigma' 'usb_gigaset' 'usbhid' 'usbip-core' 'usbip-host' 'usblcd' 'usbled' 'usblp' 'usbmon' 'usbnet' 'usbserial' 'usbsevseg' 'usb-storage' 'usbtest' 'usbtmc' 'usbtouchscreen' 'usbvision' 'usb_wwan' 'userspace-consumer' 'ushc' 'uss720' 'uvcvideo' 'uvesafb' 'uwb' 'v4l2-common' 'v4l2-compat-ioctl32' 'v4l2-int-device' 'v4l2-mem2mem' 'ves1820' 'ves1x93' 'veth' 'vfat' 'vfb' 'vga16fb' 'vgastate' 'vgg2432a4' 'vhci-hcd' 'vhost_net' 'via' 'via686a' 'via-agp' 'via-cputemp' 'via-ircc' 'via-rhine' 'via-rng' 'via-sdmmc' 'via-velocity' 'video' 'videobuf2-core' 'videobuf2-dma-contig' 'videobuf2-memops' 'videobuf2-vmalloc' 'videobuf-core' 'videobuf-dma-contig' 'videobuf-dma-sg' 'videobuf-dvb' 'videobuf-vmalloc' 'videocodec' 'videodev' 'virtio' 'virtio_balloon' 'virtio_blk' 'virtio_console' 'virtio_mmio' 'virtio_net' 'virtio_pci' 'virtio_ring' 'virtio-rng' 'virtual' 'visor' 'vitesse' 'vivi' 'vivopay-serial' 'vlsi_ir' 'vmac' 'vmk80xx' 'vmw_balloon' 'vmwgfx' 'vmw_pvscsi' 'vmxnet3' 'vp27smpx' 'vpx3220' 'vsxxxaa' 'vt1211' 'vt6655_stage' 'vt6656_stage' 'vt8231' 'vub300' 'vx855' 'vxge' 'w1_bq27000' 'w1_ds2408' 'w1_ds2423' 'w1_ds2431' 'w1_ds2433' 'w1_ds2760' 'w1_ds2780' 'w1-gpio' 'w1_smem' 'w1_therm' 'w35und' 'w6692' 'w83627ehf' 'w83627hf' 'w83627hf_wdt' 'w83697hf_wdt' 'w83697ug_wdt' 'w83781d' 'w83791d' 'w83792d' 'w83793' 'w83795' 'w83877f_wdt' 'w83977af_ir' 'w83977f_wdt' 'w83l785ts' 'w83l786ng' 'w9966' 'wacom' 'wacom_w8001' 'wafer5823wdt' 'walkera0701' 'warrior' 'wbsd' 'wdt_pci' 'whci' 'whci-hcd' 'whc-rc' 'whiteheat' 'wimax' 'winbond-840' 'winbond-cir' 'wire' 'wis-ov7640' 'wis-saa7113' 'wis-saa7115' 'wis-sony-tuner' 'wis-tw2804' 'wis-tw9903' 'wis-uda1342' 'wl1251' 'wl1251_sdio' 'wl1251_spi' 'wl1273-core' 'wl12xx' 'wl12xx_sdio' 'wl12xx_sdio_test' 'wl12xx_spi' 'wl3501_cs' 'wlags49_h25_cs' 'wlags49_h2_cs' 'wm831x_backup' 'wm831x_bl' 'wm831x-dcdc' 'wm831x-hwmon' 'wm831x-isink' 'wm831x-ldo' 'wm831x-on' 'wm831x_power' 'wm831x-ts' 'wm831x_wdt' 'wm8400-core' 'wm8400-regulator' 'wm8739' 'wm8775' 'wm97xx-ts' 'wmi' 'wp512' 'wusb-cbaf' 'wusbcore' 'wusb-wa' 'x38_edac' 'xc4000' 'xc5000' 'xcbc' 'xen-blkback' 'xen-blkfront' 'xenbus_probe_frontend' 'xen-evtchn' 'xen-fbfront' 'xenfs' 'xen-gntalloc' 'xen-gntdev' 'xen-kbdfront' 'xen-netback' 'xen-netfront' 'xen-pciback' 'xen-pcifront' 'xen_wdt' 'xfrm4_mode_beet' 'xfrm4_mode_transport' 'xfrm4_mode_tunnel' 'xfrm4_tunnel' 'xfrm6_mode_beet' 'xfrm6_mode_ro' 'xfrm6_mode_transport' 'xfrm6_mode_tunnel' 'xfrm6_tunnel' 'xfrm_ipcomp' 'xfrm_user' 'xfs' 'xgifb' 'xhci-hcd' 'xilinx_uartps' 'xirc2ps_cs' 'xircom_cb' 'xo15-ebook' 'xor' 'xpad' 'x_tables' 'xt_addrtype' 'xt_AUDIT' 'xt_CHECKSUM' 'xt_CLASSIFY' 'xt_cluster' 'xt_comment' 'xt_connbytes' 'xt_connlimit' 'xt_connmark' 'xt_CONNSECMARK' 'xt_conntrack' 'xt_cpu' 'xt_CT' 'xt_dccp' 'xt_devgroup' 'xt_dscp' 'xt_DSCP' 'xt_esp' 'xt_hashlimit' 'xt_helper' 'xt_hl' 'xt_HL' 'xt_IDLETIMER' 'xt_iprange' 'xt_ipvs' 'xt_LED' 'xt_length' 'xt_limit' 'xt_mac' 'xt_mark' 'xt_multiport' 'xt_NFLOG' 'xt_NFQUEUE' 'xt_NOTRACK' 'xt_osf' 'xt_owner' 'xt_physdev' 'xt_pkttype' 'xt_policy' 'xt_quota' 'xt_rateest' 'xt_RATEEST' 'xt_realm' 'xt_recent' 'xts' 'xt_sctp' 'xt_SECMARK' 'xt_set' 'xt_socket' 'xt_state' 'xt_statistic' 'xt_string' 'xt_tcpmss' 'xt_TCPMSS' 'xt_TCPOPTSTRIP' 'xt_tcpudp' 'xt_TEE' 'xt_time' 'xt_TPROXY' 'xt_TRACE' 'xt_u32' 'xusbatm' 'yealink' 'yellowfin' 'yenta_socket' 'yurex' 'zatm' 'zaurus' 'zcache' 'zd1201' 'zd1211rw' 'zhenhua' 'zio' 'zl10036' 'zl10039' 'zl10353' 'zl6100' 'zlib' 'zlib_deflate' 'znet' 'zr36016' 'zr36050' 'zr36060' 'zr36067' 'zr364xx' 'zram' ) diff --git a/dot.zsh/completion_cache/modules-3.5.4-1-ARCH b/dot.zsh/completion_cache/modules-3.5.4-1-ARCH deleted file mode 100644 index f67bc62..0000000 --- a/dot.zsh/completion_cache/modules-3.5.4-1-ARCH +++ /dev/null @@ -1 +0,0 @@ -modules=( '3c574_cs' '3c589_cs' '3c59x' '3w-9xxx' '3w-sas' '3w-xxxx' '6lowpan' '6pack' '8021q' '8139cp' '8139too' '8255' '8390' '9p' '9pnet' '9pnet_virtio' 'a100u2w' 'a3d' 'a8293' 'aacraid' 'abituguru' 'abituguru3' 'ac' 'ac97_bus' 'acard-ahci' 'acecad' 'acenic' 'acerhdf' 'acer-wmi' 'acpi-cpufreq' 'acpi_ipmi' 'acpi_memhotplug' 'acpi_pad' 'acpiphp' 'acpiphp_ibm' 'acpi_power_meter' 'acquirewdt' 'act200l-sir' 'act_csum' 'act_gact' 'act_ipt' 'actisys-sir' 'act_mirred' 'act_nat' 'act_pedit' 'act_police' 'act_simple' 'act_skbedit' 'ad525x_dpot' 'ad525x_dpot-i2c' 'ad714x' 'ad714x-i2c' 'ad7414' 'ad7418' 'ad7879' 'ad7879-i2c' 'addi_apci_035' 'addi_apci_1032' 'addi_apci_1500' 'addi_apci_1516' 'addi_apci_1564' 'addi_apci_16xx' 'addi_apci_2016' 'addi_apci_2032' 'addi_apci_2200' 'addi_apci_3001' 'addi_apci_3120' 'addi_apci_3501' 'addi_apci_3xxx' 'adi' 'adl_pci6208' 'adl_pci7230' 'adl_pci7296' 'adl_pci7432' 'adl_pci8164' 'adl_pci9111' 'adl_pci9118' 'adm1021' 'adm1025' 'adm1026' 'adm1029' 'adm1031' 'adm1275' 'adm8211' 'adm9240' 'adp1653' 'adp5588-keys' 'adp5589-keys' 'ads1015' 'ads7828' 'adt7411' 'adt7462' 'adt7470' 'adt7475' 'adutux' 'adv7170' 'adv7175' 'adv7180' 'adv7183' 'adv7343' 'advansys' 'advantechwdt' 'adv_pci1710' 'adv_pci1723' 'adv_pci_dio' 'adxl34x' 'adxl34x-i2c' 'aes_generic' 'aesni-intel' 'aes-x86_64' 'af_802154' 'af9013' 'af9033' 'af_alg' 'affs' 'af_key' 'af-rxrpc' 'ah4' 'ah6' 'aha152x_cs' 'ahci' 'ahci_platform' 'aic79xx' 'aic7xxx' 'aic94xx' 'aiptek' 'aircable' 'airo' 'airo_cs' 'ak881x' 'alauda' 'algif_hash' 'algif_skcipher' 'ali-ircc' 'alim1535_wdt' 'alim7101_wdt' 'altera-ci' 'altera_jtaguart' 'altera_ps2' 'altera-stapl' 'altera_uart' 'ambassador' 'amc6821' 'amd' 'amd5536udc' 'amd64_edac_mod' 'amd8111e' 'amd_iommu_v2' 'amd-rng' 'amilo-rfkill' 'amplc_dio200' 'amplc_pc236' 'amplc_pc263' 'amplc_pci224' 'amplc_pci230' 'analog' 'ansi_cprng' 'anubis' 'aoe' 'apanel' 'apds9802als' 'apds990x' 'apple_bl' 'appledisplay' 'apple-gmux' 'applesmc' 'appletalk' 'appletouch' 'applicom' 'aptina-pll' 'ar7part' 'arc4' 'arcmsr' 'ark3116' 'arptable_filter' 'arp_tables' 'arpt_mangle' 'as3645a' 'as5011' 'asb100' 'asc7621' 'asix' 'ast' 'asus_atk0110' 'asus-laptop' 'asus-nb-wmi' 'asus_oled' 'asus-wmi' 'async_memcpy' 'async_pq' 'async_raid6_recov' 'async_tx' 'async_xor' 'at24' 'at76c50x-usb' 'ata_generic' 'ata_piix' 'atbm8830' 'ath' 'ath3k' 'ath5k' 'ath6kl_core' 'ath6kl_sdio' 'ath6kl_usb' 'ath9k' 'ath9k_common' 'ath9k_htc' 'ath9k_hw' 'ati_remote' 'ati_remote2' 'atl1' 'atl1c' 'atl1e' 'atl2' 'atlas_btns' 'atm' 'atmel' 'atmel_cs' 'atmel_mxt_ts' 'atmel_pci' 'atmtcp' 'atp' 'atp870u' 'atxp1' 'au0828' 'au8522_common' 'au8522_decoder' 'au8522_dig' 'auo-pixcir-ts' 'authenc' 'authencesn' 'auth_rpcgss' 'autofs4' 'avma1_cs' 'avm_cs' 'avmfritz' 'ax25' 'axnet_cs' 'b1' 'b1dma' 'b1pci' 'b1pcmcia' 'b2c2-flexcop' 'b2c2-flexcop-pci' 'b2c2-flexcop-usb' 'b43' 'b43legacy' 'b44' 'bas_gigaset' 'batman-adv' 'battery' 'baycom_par' 'baycom_ser_fdx' 'baycom_ser_hdx' 'bch' 'bcm203x' 'bcm3510' 'bcm5974' 'bcma' 'bcm_wimax' 'be2iscsi' 'be2net' 'befs' 'belkin_sa' 'bfa' 'bfusb' 'bgrt' 'bh1770glc' 'bh1780gli' 'block2mtd' 'blowfish_common' 'blowfish_generic' 'blowfish-x86_64' 'bluecard_cs' 'bluetooth' 'bma150' 'bmp085-i2c' 'bna' 'bnep' 'bnx2' 'bnx2fc' 'bnx2i' 'bnx2x' 'bonding' 'bpa10x' 'bpqether' 'br2684' 'brcmfmac' 'brcmsmac' 'brcmutil' 'brd' 'bridge' 'broadcom' 'bsd_comp' 'bt3c_cs' 'bt819' 'bt856' 'bt866' 'bt878' 'btcx-risc' 'btmrvl' 'btmrvl_sdio' 'btrfs' 'btsdio' 'bttv' 'btuart_cs' 'btusb' 'btwilink' 'bu21013_ts' 'budget' 'budget-av' 'budget-ci' 'budget-core' 'budget-patch' 'BusLogic' 'button' 'c2port-duramar2150' 'c4' 'c67x00' 'cachefiles' 'caif' 'caif_hsi' 'caif_serial' 'caif_socket' 'caif_usb' 'camellia_generic' 'camellia-x86_64' 'capi' 'capidrv' 'carl9170' 'cassini' 'cast5' 'cast6' 'catc' 'cb710' 'cb710-mmc' 'cbc' 'cb_das16_cs' 'cb_pcidas' 'cb_pcidas64' 'cb_pcidda' 'cb_pcidio' 'cb_pcimdas' 'cb_pcimdda' 'cciss' 'ccm' 'cdc-acm' 'cdc_eem' 'cdc_ether' 'cdc_ncm' 'cdc-phonet' 'cdc_subset' 'cdc-wdm' 'cdrom' 'ceph' 'cfag12864b' 'cfag12864bfb' 'cfg80211' 'cfi_cmdset_0001' 'cfi_cmdset_0002' 'cfi_cmdset_0020' 'cfi_probe' 'cfi_util' 'cfspi_slave' 'ch' 'ch341' 'ch7006' 'chipreg' 'chnl_net' 'ci13xxx_pci' 'cicada' 'cifs' 'ci_hdrc' 'cirrus' 'classmate-laptop' 'clearpad_tm1217' 'clip' 'cls_basic' 'cls_flow' 'cls_fw' 'cls_route' 'cls_rsvp' 'cls_rsvp6' 'cls_tcindex' 'cls_u32' 'cm109' 'cm4000_cs' 'cm4040_cs' 'cma3000_d0x' 'cma3000_d0x_i2c' 'cnic' 'cobra' 'coda' 'comedi' 'comedi_bond' 'comedi_fc' 'comedi_parport' 'comedi_test' 'compal-laptop' 'configfs' 'container' 'contec_pci_dio' 'cordic' 'core' 'coretemp' 'cp210x' 'cpcihp_generic' 'cpcihp_zt5550' 'cpia2' 'cpqarray' 'cpu5wdt' 'cpufreq_conservative' 'cpufreq_powersave' 'cpufreq_stats' 'cpufreq_userspace' 'cpuid' 'cpu-notifier-error-inject' 'cramfs' 'crc16' 'crc32c' 'crc32c-intel' 'crc7' 'crc8' 'crc-ccitt' 'crc-itu-t' 'crc-t10dif' 'cryptd' 'cryptoloop' 'crypto_null' 'crypto_user' 'crystalhd' 'cs5345' 'cs53l32a' 'cs5535-clockevt' 'cs5535-mfd' 'cs5535-mfgpt' 'ct82c710' 'ctr' 'cts' 'cuse' 'custom_method' 'cx18' 'cx18-alsa' 'cx22700' 'cx22702' 'cx231xx' 'cx231xx-alsa' 'cx231xx-dvb' 'cx2341x' 'cx23885' 'cx24110' 'cx24113' 'cx24116' 'cx24123' 'cx25821' 'cx25821-alsa' 'cx25840' 'cx82310_eth' 'cx8800' 'cx8802' 'cx88-alsa' 'cx88-blackbird' 'cx88-dvb' 'cx88-vp3054-i2c' 'cx88xx' 'cxacru' 'cxd2099' 'cxd2820r' 'cxgb' 'cxgb3' 'cxgb3i' 'cxgb4' 'cxgb4i' 'cxgb4vf' 'cy8ctmg110_ts' 'cyberjack' 'cyclades' 'cypress_cy7c63' 'cypress_m8' 'cytherm' 'cyttsp_core' 'cyttsp_i2c' 'DAC960' 'daqboard2000' 'das08' 'das08_cs' 'davicom' 'db9' 'dc395x' 'dca' 'dccp' 'dccp_diag' 'dccp_ipv4' 'dccp_ipv6' 'dccp_probe' 'dcdbas' 'ddbridge' 'de2104x' 'de4x5' 'de600' 'de620' 'deflate' 'dell-laptop' 'dell-led' 'dell_rbu' 'dell-wmi' 'dell-wmi-aio' 'des_generic' 'dib0070' 'dib0090' 'dib3000mb' 'dib3000mc' 'dib7000m' 'dib7000p' 'dib8000' 'dibx000_common' 'digi_acceleport' 'diskonchip' 'divacapi' 'divadidd' 'diva_idi' 'diva_mnt' 'divas' 'dl2k' 'dlm' 'dm1105' 'dm9601' 'dm-bufio' 'dm-crypt' 'dm-delay' 'dme1737' 'dmfe' 'dm-flakey' 'dmi-sysfs' 'dm-log' 'dm-log-userspace' 'dm-mirror' 'dm-mod' 'dm-multipath' 'dm-persistent-data' 'dm-queue-length' 'dm-raid' 'dm-region-hash' 'dm-round-robin' 'dm-service-time' 'dm-snapshot' 'dm-thin-pool' 'dm-verity' 'dmx3191d' 'dm-zero' 'dnet' 'docg3' 'docg4' 'dp83640' 'dpt_i2o' 'drbd' 'drm' 'drm_kms_helper' 'drm_usb' 'drxd' 'drxk' 'ds1621' 'ds1682' 'ds3000' 'ds620' 'dsbr100' 'dss1_divert' 'dst' 'dst_ca' 'dt3000' 'dt3155v4l' 'dt9812' 'dtl1_cs' 'dummy' 'dummy_hcd' 'dvb-as102' 'dvb-bt8xx' 'dvb-core' 'dvb-pll' 'dvb-ttpci' 'dvb-ttusb-budget' 'dvb-usb' 'dvb-usb-a800' 'dvb-usb-af9005' 'dvb-usb-af9005-remote' 'dvb-usb-af9015' 'dvb-usb-af9035' 'dvb-usb-anysee' 'dvb-usb-au6610' 'dvb-usb-az6007' 'dvb-usb-az6027' 'dvb-usb-ce6230' 'dvb-usb-cinergyT2' 'dvb-usb-cxusb' 'dvb-usb-dib0700' 'dvb-usb-dibusb-common' 'dvb-usb-dibusb-mb' 'dvb-usb-dibusb-mc' 'dvb-usb-digitv' 'dvb-usb-dtt200u' 'dvb-usb-dtv5100' 'dvb-usb-dw2102' 'dvb-usb-ec168' 'dvb-usb-friio' 'dvb-usb-gl861' 'dvb-usb-gp8psk' 'dvb-usb-it913x' 'dvb-usb-lmedm04' 'dvb-usb-m920x' 'dvb-usb-mxl111sf' 'dvb-usb-nova-t-usb2' 'dvb-usb-opera' 'dvb-usb-pctv452e' 'dvb-usb-rtl28xxu' 'dvb-usb-technisat-usb2' 'dvb-usb-ttusb2' 'dvb-usb-umt-010' 'dvb-usb-vp702x' 'dvb-usb-vp7045' 'dyna_pci10xx' 'dynapro' 'e100' 'e1000' 'e1000e' 'e752x_edac' 'earth-pt1' 'easycap' 'eata' 'ebt_802_3' 'ebtable_broute' 'ebtable_filter' 'ebtable_nat' 'ebtables' 'ebt_among' 'ebt_arp' 'ebt_arpreply' 'ebt_dnat' 'ebt_ip' 'ebt_ip6' 'ebt_limit' 'ebt_log' 'ebt_mark' 'ebt_mark_m' 'ebt_nflog' 'ebt_pkttype' 'ebt_redirect' 'ebt_snat' 'ebt_stp' 'ebt_ulog' 'ebt_vlan' 'ec100' 'ecb' 'echo' 'ecryptfs' 'ec_sys' 'edac_core' 'edac_mce_amd' 'edd' 'eeepc-laptop' 'eeepc-wmi' 'eeprom' 'eeprom_93cx6' 'eeti_ts' 'efivars' 'egalax_ts' 'ehci-hcd' 'einj' 'elo' 'elsa_cs' 'em28xx' 'em28xx-alsa' 'em28xx-dvb' 'em28xx-rc' 'emc1403' 'emc2103' 'emc6w201' 'emi26' 'emi62' 'empeg' 'emu10k1-gp' 'enclosure' 'encrypted-keys' 'ene_ir' 'eni' 'enic' 'epic100' 'eql' 'erst-dbg' 'esi-sir' 'esp4' 'esp6' 'et1011c' 'et131x' 'ethoc' 'eurotechwdt' 'evdev' 'exofs' 'ext4' 'extcon_class' 'extcon_gpio' 'f71805f' 'f71808e_wdt' 'f71882fg' 'f75375s' 'f81232' 'fakehard' 'fakelb' 'fakephp' 'fam15h_power' 'fan' 'fat' 'faulty' 'fb_sys_fops' 'fc0011' 'fcoe' 'fcrypt' 'fdomain' 'fdomain_cs' 'fealnx' 'ff-memless' 'fintek-cir' 'firedtv' 'firestream' 'firewire-core' 'firewire-net' 'firewire-ohci' 'firewire-sbp2' 'floppy' 'fm801-gp' 'fm_drv' 'fmvj18x_cs' 'fnic' 'forcedeth' 'fore_200e' 'fsa9480' 'fscache' 'fschmd' 'ft1000' 'ft1000_pcmcia' 'ftdi-elan' 'ftdi_sio' 'ftl' 'fujitsu-laptop' 'fujitsu-tablet' 'fujitsu_ts' 'funsoft' 'fuse' 'g760a' 'gadgetfs' 'gamecon' 'gameport' 'garmin_gps' 'g_audio' 'gcm' 'g_dbgp' 'gdmwm' 'gdth' 'gen_probe' 'geodewdt' 'g_ether' 'gf128mul' 'gf2k' 'g_ffs' 'g_file_storage' 'gfs2' 'ghash-clmulni-intel' 'ghash-generic' 'g_hid' 'gigaset' 'girbil-sir' 'gl518sm' 'gl520sm' 'gl620a' 'gma500_gfx' 'g_midi' 'g_ncm' 'go7007' 'go7007-usb' 'goku_udc' 'gp2ap002a00f' 'gpio-cs5535' 'gpio-ich' 'gpio-ir-recv' 'gpio-sch' 'g_printer' 'gre' 'grip' 'grip_mp' 'gsc_hpdi' 'g_serial' 'gspca_benq' 'gspca_conex' 'gspca_cpia1' 'gspca_etoms' 'gspca_finepix' 'gspca_gl860' 'gspca_jeilinj' 'gspca_jl2005bcd' 'gspca_kinect' 'gspca_konica' 'gspca_m5602' 'gspca_main' 'gspca_mars' 'gspca_mr97310a' 'gspca_nw80x' 'gspca_ov519' 'gspca_ov534' 'gspca_ov534_9' 'gspca_pac207' 'gspca_pac7302' 'gspca_pac7311' 'gspca_se401' 'gspca_sn9c2028' 'gspca_sn9c20x' 'gspca_sonixb' 'gspca_sonixj' 'gspca_spca1528' 'gspca_spca500' 'gspca_spca501' 'gspca_spca505' 'gspca_spca506' 'gspca_spca508' 'gspca_spca561' 'gspca_sq905' 'gspca_sq905c' 'gspca_sq930x' 'gspca_stk014' 'gspca_stv0680' 'gspca_stv06xx' 'gspca_sunplus' 'gspca_t613' 'gspca_topro' 'gspca_tv8532' 'gspca_vc032x' 'gspca_vicam' 'gspca_xirlink_cit' 'gspca_zc3xx' 'gtco' 'guillemot' 'gunze' 'g_webcam' 'hamachi' 'hampshire' 'hangcheck-timer' 'hanwang' 'hci' 'hci_uart' 'hci_vhci' 'hdaps' 'hdaps' 'hdlcdrv' 'hdpvr' 'he' 'hexium_gemini' 'hexium_orion' 'hfc4s8s_l1' 'hfcmulti' 'hfcpci' 'hfcsusb' 'hfc_usb' 'hfs' 'hfsplus' 'hid' 'hid-a4tech' 'hid-apple' 'hid-aureal' 'hid-axff' 'hid-belkin' 'hid-cherry' 'hid-chicony' 'hid-cypress' 'hid-dr' 'hid-elecom' 'hid-emsff' 'hid-ezkey' 'hid-gaff' 'hid-generic' 'hid-gyration' 'hid-holtekff' 'hid-hyperv' 'hid-kensington' 'hid-keytouch' 'hid-kye' 'hid-lcpower' 'hid-logitech' 'hid-logitech-dj' 'hid-magicmouse' 'hid-microsoft' 'hid-monterey' 'hid-multitouch' 'hid-ntrig' 'hid-ortek' 'hidp' 'hid-petalynx' 'hid-picolcd' 'hid-pl' 'hid-primax' 'hid-prodikeys' 'hid-roccat' 'hid-roccat-arvo' 'hid-roccat-common' 'hid-roccat-isku' 'hid-roccat-kone' 'hid-roccat-koneplus' 'hid-roccat-kovaplus' 'hid-roccat-pyra' 'hid-saitek' 'hid-samsung' 'hid-sjoy' 'hid-sony' 'hid-speedlink' 'hid-sunplus' 'hid-tivo' 'hid-tmff' 'hid-topseed' 'hid-twinhan' 'hid-uclogic' 'hid-wacom' 'hid-waltop' 'hid-wiimote' 'hid-zpff' 'hid-zydacron' 'hisax' 'hisax_fcpcipnp' 'hisax_isac' 'hisax_st5481' 'hmac' 'hmc6352' 'hopper' 'horizon' 'hostap' 'hostap_cs' 'hostap_pci' 'hostap_plx' 'hp100' 'hp4x' 'hp_accel' 'hpilo' 'hpsa' 'hptiop' 'hpwdt' 'hp-wmi' 'hso' 'htc-pasic3' 'hv_netvsc' 'hv_storvsc' 'hv_utils' 'hv_vmbus' 'hwa-hc' 'hwa-rc' 'hwmon-vid' 'hwpoison-inject' 'hysdn' 'i1480-dfu-usb' 'i1480-est' 'i2400m' 'i2400m-sdio' 'i2400m-usb' 'i2c-algo-bit' 'i2c-algo-pca' 'i2c-ali1535' 'i2c-ali1563' 'i2c-ali15x3' 'i2c-amd756' 'i2c-amd756-s4882' 'i2c-amd8111' 'i2c-core' 'i2c-designware-core' 'i2c-designware-pci' 'i2c-dev' 'i2c-diolan-u2c' 'i2c-eg20t' 'i2c-i801' 'i2c-intel-mid' 'i2c-isch' 'i2c-nforce2' 'i2c-nforce2-s4985' 'i2c-ocores' 'i2c-parport' 'i2c-parport-light' 'i2c-pca-platform' 'i2c-piix4' 'i2c-scmi' 'i2c-simtec' 'i2c-sis5595' 'i2c-sis630' 'i2c-sis96x' 'i2c-smbus' 'i2c-taos-evm' 'i2c-tiny-usb' 'i2c-via' 'i2c-viapro' 'i2c-xiic' 'i2o_block' 'i2o_bus' 'i2o_config' 'i2o_core' 'i2o_proc' 'i2o_scsi' 'i3000_edac' 'i3200_edac' 'i5000_edac' 'i5100_edac' 'i5400_edac' 'i5k_amb' 'i6300esb' 'i7300_edac' 'i7300_idle' 'i7core_edac' 'i82092' 'i82975x_edac' 'i8k' 'i915' 'ia32_aout' 'ib700wdt' 'ibmaem' 'ibmasr' 'ibmpex' 'ibm_rtl' 'icplus' 'icp_multi' 'ics932s401' 'ideapad-laptop' 'idmouse' 'idt77252' 'ie6xx_wdt' 'ieee802154' 'ifb' 'iforce' 'igb' 'igbvf' 'ii_pci20kc' 'ili210x' 'imm' 'imon' 'ina2xx' 'inexio' 'inftl' 'initio' 'input-polldev' 'int51x1' 'intel-agp' 'intel-gtt' 'intel_ips' 'intel_menlow' 'intel_mid_dma' 'intel_oaktrail' 'intel-rng' 'interact' 'ioatdma' 'ioc4' 'io_edgeport' 'io_ti' 'iowarrior' 'ip6table_filter' 'ip6table_mangle' 'ip6table_raw' 'ip6_tables' 'ip6table_security' 'ip6t_ah' 'ip6t_eui64' 'ip6t_frag' 'ip6t_hbh' 'ip6t_ipv6header' 'ip6t_mh' 'ip6t_REJECT' 'ip6t_rpfilter' 'ip6t_rt' 'ip6_tunnel' 'ipack' 'ipaq' 'ipcomp' 'ipcomp6' 'ipddp' 'ipg' 'ip_gre' 'iphase' 'ipheth' 'ipip' 'ipmi_devintf' 'ipmi_msghandler' 'ipmi_poweroff' 'ipmi_si' 'ipmi_watchdog' 'ipoctal' 'ipr' 'ips' 'ip_set' 'ip_set_bitmap_ip' 'ip_set_bitmap_ipmac' 'ip_set_bitmap_port' 'ip_set_hash_ip' 'ip_set_hash_ipport' 'ip_set_hash_ipportip' 'ip_set_hash_ipportnet' 'ip_set_hash_net' 'ip_set_hash_netiface' 'ip_set_hash_netport' 'ip_set_list_set' 'iptable_filter' 'iptable_mangle' 'iptable_nat' 'iptable_raw' 'ip_tables' 'iptable_security' 'ipt_ah' 'ipt_CLUSTERIP' 'ipt_ECN' 'ipt_MASQUERADE' 'ipt_NETMAP' 'ipt_REDIRECT' 'ipt_REJECT' 'ipt_rpfilter' 'ipt_ULOG' 'ip_vs' 'ip_vs_dh' 'ip_vs_ftp' 'ip_vs_lblc' 'ip_vs_lblcr' 'ip_vs_lc' 'ip_vs_nq' 'ip_vs_pe_sip' 'ip_vs_rr' 'ip_vs_sed' 'ip_vs_sh' 'ip_vs_wlc' 'ip_vs_wrr' 'ipw' 'ipw2100' 'ipw2200' 'ipwireless' 'ipx' 'ircomm' 'ircomm-tty' 'irda' 'irda-usb' 'ir-jvc-decoder' 'ir-kbd-i2c' 'irlan' 'ir-lirc-codec' 'ir-mce_kbd-decoder' 'ir-nec-decoder' 'irnet' 'ir-rc5-decoder' 'ir-rc5-sz-decoder' 'ir-rc6-decoder' 'ir-sanyo-decoder' 'ir-sony-decoder' 'irtty-sir' 'ir-usb' 'isci' 'iscsi_boot_sysfs' 'iscsi_ibft' 'iscsi_target_mod' 'iscsi_tcp' 'isdn' 'isdn_bsdcomp' 'isdnhdlc' 'isight_firmware' 'isl29003' 'isl29020' 'isl6405' 'isl6421' 'isl6423' 'isofs' 'isp116x-hcd' 'isp1301' 'isp1362-hcd' 'isp1760' 'it87' 'it8712f_wdt' 'it87_wdt' 'it913x-fe' 'iTCO_vendor_support' 'iTCO_wdt' 'itd1000' 'ite-cir' 'iuu_phoenix' 'ivtv' 'ivtvfb' 'iwl3945' 'iwl4965' 'iwlegacy' 'iwlwifi' 'iwmc3200top' 'iwmc3200wifi' 'ix2505v' 'ixgb' 'ixgbe' 'ixgbevf' 'jbd2' 'jc42' 'jedec_probe' 'jffs2' 'jfs' 'jmb38x_ms' 'jme' 'joydev' 'joydump' 'jr3_pci' 'jsm' 'k10temp' 'k8temp' 'kafs' 'kalmia' 'kaweth' 'kbtab' 'kcomedilib' 'ke_counter' 'kernelcapi' 'keucr' 'keyspan' 'keyspan_pda' 'keyspan_remote' 'khazad' 'kingsun-sir' 'kl5kusb105' 'kobil_sct' 'ks0108' 'ks0127' 'ks8842' 'ks8851_mll' 'ks959-sir' 'ksdazzle-sir' 'ksz884x' 'kvm' 'kvm-amd' 'kvm-intel' 'kxtj9' 'l1oip' 'l2tp_core' 'l2tp_eth' 'l2tp_ip' 'l2tp_ip6' 'l2tp_netlink' 'l2tp_ppp' 'l64781' 'lanai' 'lcd' 'ldusb' 'lec' 'leds-bd2802' 'leds-clevo-mail' 'leds-lm3530' 'leds-lm3533' 'leds-lp3944' 'leds-lp5521' 'leds-lp5523' 'leds-lt3593' 'leds-mc13783' 'leds-ot200' 'leds-pca9532' 'leds-pca955x' 'leds-pca9633' 'leds-ss4200' 'leds-tca6507' 'ledtrig-backlight' 'ledtrig-default-on' 'ledtrig-gpio' 'ledtrig-heartbeat' 'ledtrig-timer' 'ledtrig-transient' 'legousbtower' 'lg2160' 'lgdt3305' 'lgdt330x' 'lgs8gxx' 'lg-vl600' 'lib80211' 'lib80211_crypt_ccmp' 'lib80211_crypt_tkip' 'lib80211_crypt_wep' 'libahci' 'libata' 'libceph' 'libcrc32c' 'libcxgbi' 'libertas' 'libertas_cs' 'libertas_sdio' 'libertas_tf' 'libertas_tf_usb' 'libfc' 'libfcoe' 'libipw' 'libiscsi' 'libiscsi_tcp' 'libore' 'libosd' 'libphy' 'libsas' 'libsrp' 'lightning' 'line6usb' 'lineage-pem' 'linear' 'lirc_bt829' 'lirc_dev' 'lirc_igorplugusb' 'lirc_imon' 'lirc_parallel' 'lirc_sasem' 'lirc_serial' 'lirc_sir' 'lirc_ttusbir' 'lirc_zilog' 'lis3lv02d' 'lis3lv02d_i2c' 'litelink-sir' 'lkdtm' 'llc' 'llc2' 'lm25066' 'lm3533_bl' 'lm3533-core' 'lm3533-ctrlbank' 'lm63' 'lm73' 'lm75' 'lm77' 'lm78' 'lm80' 'lm83' 'lm8333' 'lm85' 'lm87' 'lm90' 'lm92' 'lm93' 'lm95241' 'lm95245' 'lnbp21' 'lnbp22' 'lockd' 'logfs' 'loop' 'lp' 'lpc_ich' 'lpc_sch' 'lpddr_cmds' 'lpfc' 'lru_cache' 'lrw' 'ltc2978' 'ltc4151' 'ltc4215' 'ltc4245' 'ltc4261' 'lxt' 'm52790' 'm5mols' 'm66592-udc' 'm88rs2000' 'ma600-sir' 'mac80211' 'mac802154' 'mac-celtic' 'mac-centeuro' 'mac-croatian' 'mac-cyrillic' 'mac-gaelic' 'mac-greek' 'machzwd' 'mac-iceland' 'mac-inuit' 'mac-roman' 'mac-romanian' 'mac-turkish' 'macvlan' 'macvtap' 'magellan' 'mantis' 'mantis_core' 'map_absent' 'map_funcs' 'map_ram' 'map_rom' 'marvell' 'matrix-keymap' 'matrix_keypad' 'max11801_ts' 'max16064' 'max16065' 'max1619' 'max1668' 'max2165' 'max34440' 'max6639' 'max6642' 'max6650' 'max6875' 'max8688' 'mb86a16' 'mb86a20s' 'mbcache' 'mc13783-adc' 'mc13783-pwrbutton' 'mc13783_ts' 'mc13xxx-core' 'mc13xxx-i2c' 'mc44s803' 'mce_amd_inj' 'mceusb' 'mcp2120-sir' 'mcp3021' 'mcs5000_ts' 'mcs7780' 'mcs7830' 'mcs_touchkey' 'mct_u232' 'md4' 'md5' 'mdc800' 'mdio' 'md-mod' 'me4000' 'me_daq' 'media' 'megaraid' 'megaraid_mbox' 'megaraid_mm' 'megaraid_sas' 'mei' 'mem2mem_testdev' 'memstick' 'metro-usb' 'meye' 'mfd' 'mfd-core' 'mga' 'mgag200' 'michael_mic' 'micrel' 'microcode' 'microtek' 'mii' 'minix' 'mip6' 'mISDN_core' 'mISDN_dsp' 'mISDNinfineon' 'mISDNipac' 'mISDNisar' 'mite' 'mk712' 'mkiss' 'mlx4_core' 'mlx4_en' 'mma8450' 'mmc_block' 'mmc_core' 'mos7720' 'mos7840' 'moto_modem' 'mperf' 'mpoa' 'mpr121_touchkey' 'mpt2sas' 'mptbase' 'mptctl' 'mptfc' 'mptsas' 'mptscsih' 'mptspi' 'mpu3050' 'msdos' 'msi-laptop' 'msi-wmi' 'msp3400' 'mspro_block' 'msr' 'mt2060' 'mt2063' 'mt20xx' 'mt2131' 'mt2266' 'mt312' 'mt352' 'mt9m032' 'mt9p031' 'mt9t001' 'mt9v011' 'mt9v032' 'mtd' 'mtd_blkdevs' 'mtdblock' 'mtdblock_ro' 'mtdchar' 'mtd_nandecctest' 'mtd_oobtest' 'mtdoops' 'mtd_pagetest' 'mtdram' 'mtd_readtest' 'mtd_speedtest' 'mtd_stresstest' 'mtd_subpagetest' 'mtdswap' 'mtd_torturetest' 'mtip32xx' 'mtouch' 'multipath' 'musb_hdrc' 'mvsas' 'mv_udc' 'mvumi' 'mwave' 'mwifiex' 'mwifiex_pcie' 'mwifiex_sdio' 'mwifiex_usb' 'mwl8k' 'mxb' 'mxl111sf-demod' 'mxl111sf-tuner' 'mxl5005s' 'mxl5007t' 'mxm-wmi' 'myri10ge' 'nand' 'nand_ecc' 'nand_ids' 'nandsim' 'national' 'natsemi' 'navman' 'nbd' 'nci' 'ncpfs' 'ne2k-pci' 'net1080' 'net2272' 'net2280' 'netconsole' 'netjet' 'netprio_cgroup' 'netrom' 'netsc520' 'netxen_nic' 'nfc' 'nf_conntrack' 'nf_conntrack_amanda' 'nf_conntrack_broadcast' 'nf_conntrack_ftp' 'nf_conntrack_h323' 'nf_conntrack_ipv4' 'nf_conntrack_ipv6' 'nf_conntrack_irc' 'nf_conntrack_netbios_ns' 'nf_conntrack_netlink' 'nf_conntrack_pptp' 'nf_conntrack_proto_dccp' 'nf_conntrack_proto_gre' 'nf_conntrack_proto_sctp' 'nf_conntrack_proto_udplite' 'nf_conntrack_sane' 'nf_conntrack_sip' 'nf_conntrack_snmp' 'nf_conntrack_tftp' 'nfcwilink' 'nf_defrag_ipv4' 'nf_defrag_ipv6' 'nf_nat' 'nf_nat_amanda' 'nf_nat_ftp' 'nf_nat_h323' 'nf_nat_irc' 'nf_nat_pptp' 'nf_nat_proto_dccp' 'nf_nat_proto_gre' 'nf_nat_proto_sctp' 'nf_nat_proto_udplite' 'nf_nat_sip' 'nf_nat_snmp_basic' 'nf_nat_tftp' 'nfnetlink' 'nfnetlink_acct' 'nfnetlink_cttimeout' 'nfnetlink_log' 'nfnetlink_queue' 'nfs' 'nfs_acl' 'nfsd' 'nftl' 'nf_tproxy_core' 'ngene' 'n_gsm' 'n_hdlc' 'ni_6527' 'ni_65xx' 'ni_660x' 'ni_670x' 'nicstar' 'ni_daq_700' 'ni_daq_dio24' 'ni_labpc' 'ni_labpc_cs' 'nilfs2' 'ni_mio_cs' 'ni_pcidio' 'ni_pcimio' 'ni_tio' 'ni_tiocmd' 'niu' 'nls_ascii' 'nls_cp1250' 'nls_cp1251' 'nls_cp1255' 'nls_cp437' 'nls_cp737' 'nls_cp775' 'nls_cp850' 'nls_cp852' 'nls_cp855' 'nls_cp857' 'nls_cp860' 'nls_cp861' 'nls_cp862' 'nls_cp863' 'nls_cp864' 'nls_cp865' 'nls_cp866' 'nls_cp869' 'nls_cp874' 'nls_cp932' 'nls_cp936' 'nls_cp949' 'nls_cp950' 'nls_euc-jp' 'nls_iso8859-13' 'nls_iso8859-14' 'nls_iso8859-15' 'nls_iso8859-2' 'nls_iso8859-3' 'nls_iso8859-4' 'nls_iso8859-5' 'nls_iso8859-6' 'nls_iso8859-7' 'nls_iso8859-9' 'nls_koi8-r' 'nls_koi8-ru' 'nls_koi8-u' 'nls_utf8' 'nmclan_cs' 'noon010pc30' 'nop-usb-xceiv' 'nosy' 'nouveau' 'nozomi' 'n_r3964' 'ns558' 'ns83820' 'nsc-ircc' 'ntc_thermistor' 'ntfs' 'n_tracerouter' 'n_tracesink' 'nuvoton-cir' 'nvme' 'nvram' 'nv_tco' 'nxt200x' 'nxt6000' 'ocfs2' 'ocfs2_dlm' 'ocfs2_dlmfs' 'ocfs2_nodemanager' 'ocfs2_stackglue' 'ocfs2_stack_o2cb' 'ocfs2_stack_user' 'ohci-hcd' 'old_belkin-sir' 'omfs' 'omninet' 'openvswitch' 'oprofile' 'opticon' 'option' 'or51132' 'or51211' 'orinoco' 'orinoco_cs' 'orinoco_nortel' 'orinoco_pci' 'orinoco_plx' 'orinoco_tmd' 'orinoco_usb' 'osd' 'osdblk' 'oss_ali5455' 'oss_atiaudio' 'oss_audigyls' 'oss_audioloop' 'oss_audiopci' 'oss_cmi878x' 'oss_cmpci' 'osscore' 'oss_cs4281' 'oss_cs461x' 'oss_digi96' 'oss_emu10k1x' 'oss_envy24' 'oss_envy24ht' 'oss_fmedia' 'oss_geode' 'oss_hdaudio' 'oss_ich' 'oss_imux' 'oss_madi' 'oss_midiloop' 'oss_midimix' 'oss_sblive' 'oss_sbpci' 'oss_sbxfi' 'oss_solo' 'osst' 'oss_trident' 'oss_usb' 'oss_userdev' 'oss_via823x' 'oss_via97' 'oss_ymf7xx' 'oti6858' 'output' 'ov7670' 'oxu210hp-hcd' 'ozwpan' 'p4-clockmod' 'p54common' 'p54pci' 'p54usb' 'p8022' 'p8023' 'padlock-aes' 'padlock-sha' 'panasonic-laptop' 'parkbd' 'parport' 'parport_ax88796' 'parport_cs' 'parport_pc' 'parport_serial' 'pata_acpi' 'pata_ali' 'pata_amd' 'pata_arasan_cf' 'pata_artop' 'pata_atiixp' 'pata_atp867x' 'pata_cmd640' 'pata_cmd64x' 'pata_cs5520' 'pata_cs5530' 'pata_cs5536' 'pata_cypress' 'pata_efar' 'pata_hpt366' 'pata_hpt37x' 'pata_hpt3x2n' 'pata_hpt3x3' 'pata_it8213' 'pata_it821x' 'pata_jmicron' 'pata_legacy' 'pata_marvell' 'pata_mpiix' 'pata_netcell' 'pata_ninja32' 'pata_ns87410' 'pata_ns87415' 'pata_oldpiix' 'pata_opti' 'pata_optidma' 'pata_pcmcia' 'pata_pdc2027x' 'pata_pdc202xx_old' 'pata_piccolo' 'pata_radisys' 'pata_rdc' 'pata_rz1000' 'pata_sc1200' 'pata_sch' 'pata_serverworks' 'pata_sil680' 'pata_sis' 'pata_sl82c105' 'pata_triflex' 'pata_via' 'pc87360' 'pc87413_wdt' 'pc87427' 'pcbc' 'pcc-cpufreq' 'pcf50633' 'pcf50633-adc' 'pcf50633-backlight' 'pcf50633-gpio' 'pcf50633-input' 'pcf8574_keypad' 'pcf8591' 'pch_dma' 'pch_gbe' 'pch_phub' 'pch_uart' 'pch_udc' 'pci' 'pciehp' 'pci_hotplug' 'pcips2' 'pci_slot' 'pci-stub' 'pcmcia' 'pcmcia_core' 'pcmcia_rsrc' 'pcm_common' 'pcnet32' 'pcnet_cs' 'pcrypt' 'pcspkr' 'pcwd_pci' 'pcwd_usb' 'pd6729' 'pda_power' 'pdc_adma' 'pegasus' 'penmount' 'phantom' 'phison' 'phonet' 'phram' 'pixcir_i2c_ts' 'pktcdvd' 'pktgen' 'pl2303' 'platform_lcd' 'plat-ram' 'plip' 'plusb' 'pluto2' 'pm8001' 'pmbus' 'pmbus_core' 'pmc551' 'pmcraid' 'pn533' 'pn544' 'pn_pep' 'poseidon' 'poulsbo' 'powermate' 'powernow-k8' 'ppa' 'ppdev' 'ppp_async' 'ppp_deflate' 'ppp_generic' 'ppp_mppe' 'pppoatm' 'pppoe' 'pppox' 'ppp_synctty' 'pps_core' 'pps-gpio' 'pps-ktimer' 'pps-ldisc' 'pps_parport' 'pptp' 'prism2_usb' 'prism54' 'processor' 'progear_bl' 'ps2mult' 'psmouse' 'psnap' 'pti' 'ptp' 'ptp_pch' 'pvrusb2' 'pwc' 'qcaux' 'qcserial' 'qinfo_probe' 'qla1280' 'qla2xxx' 'qla3xxx' 'qla4xxx' 'qlcnic' 'qlge' 'qlogic_cs' 'qlogicfas408' 'qmi_wwan' 'qsemi' 'qt1010' 'qt1070' 'qt2160' 'quatech2' 'quatech_daqp_cs' 'quickstart' 'quota_tree' 'quota_v1' 'quota_v2' 'r128' 'r592' 'r6040' 'r8169' 'r8187se' 'r8192e_pci' 'r8192u_usb' 'r852' 'r8712u' 'r8a66597-hcd' 'r8a66597-udc' 'radeon' 'radio-i2c-si470x' 'radio-keene' 'radio-maxiradio' 'radio-mr800' 'radio-si4713' 'radio-tea5764' 'radio-usb-si470x' 'radio-wl1273' 'raid0' 'raid1' 'raid10' 'raid456' 'raid6_pq' 'raid6test' 'raid_class' 'ramoops' 'ray_cs' 'rbd' 'rc-adstech-dvb-t-pci' 'rc-alink-dtu-m' 'rc-anysee' 'rc-apac-viewcomp' 'rc-asus-pc39' 'rc-asus-ps3-100' 'rc-ati-tv-wonder-hd-600' 'rc-ati-x10' 'rc-avermedia' 'rc-avermedia-a16d' 'rc-avermedia-cardbus' 'rc-avermedia-dvbt' 'rc-avermedia-m135a' 'rc-avermedia-m733a-rm-k6' 'rc-avermedia-rm-ks' 'rc-avertv-303' 'rc-azurewave-ad-tu700' 'rc-behold' 'rc-behold-columbus' 'rc-budget-ci-old' 'rc-cinergy' 'rc-cinergy-1400' 'rc-core' 'rc-dib0700-nec' 'rc-dib0700-rc5' 'rc-digitalnow-tinytwin' 'rc-digittrade' 'rc-dm1105-nec' 'rc-dntv-live-dvb-t' 'rc-dntv-live-dvbt-pro' 'rc-em-terratec' 'rc-encore-enltv' 'rc-encore-enltv2' 'rc-encore-enltv-fm53' 'rc-evga-indtube' 'rc-eztv' 'rc-flydvb' 'rc-flyvideo' 'rc-fusionhdtv-mce' 'rc-gadmei-rm008z' 'rc-genius-tvgo-a11mce' 'rc-gotview7135' 'rc-hauppauge' 'rc-imon-mce' 'rc-imon-pad' 'rc-iodata-bctv7e' 'rc-it913x-v1' 'rc-it913x-v2' 'rc-kaiomy' 'rc-kworld-315u' 'rc-kworld-pc150u' 'rc-kworld-plus-tv-analog' 'rc-leadtek-y04g0051' 'rc-lirc' 'rc-lme2510' 'rc-loopback' 'rc-manli' 'rc-medion-x10' 'rc-medion-x10-digitainer' 'rc-medion-x10-or2x' 'rc-msi-digivox-ii' 'rc-msi-digivox-iii' 'rc-msi-tvanywhere' 'rc-msi-tvanywhere-plus' 'rc-nebula' 'rc-nec-terratec-cinergy-xs' 'rc-norwood' 'rc-npgtech' 'rc-pctv-sedna' 'rc-pinnacle-color' 'rc-pinnacle-grey' 'rc-pinnacle-pctv-hd' 'rc-pixelview' 'rc-pixelview-002t' 'rc-pixelview-mk12' 'rc-pixelview-new' 'rc-powercolor-real-angel' 'rc-proteus-2309' 'rc-purpletv' 'rc-pv951' 'rc-rc6-mce' 'rc-real-audio-220-32-keys' 'rc-snapstream-firefly' 'rc-streamzap' 'rc-tbs-nec' 'rc-technisat-usb2' 'rc-terratec-cinergy-xs' 'rc-terratec-slim' 'rc-terratec-slim-2' 'rc-tevii-nec' 'rc-tivo' 'rc-total-media-in-hand' 'rc-trekstor' 'rc-tt-1500' 'rc-twinhan1027' 'rc-videomate-m1f' 'rc-videomate-s350' 'rc-videomate-tv-pvr' 'rc-winfast' 'rc-winfast-usbii-deluxe' 'rdc321x-southbridge' 'realtek' 'redboot' 'redrat3' 'reed_solomon' 'regmap-i2c' 'reiserfs' 'renesas_usbhs' 'rfcomm' 'rfd_ftl' 'rfkill' 'ring_buffer_benchmark' 'rio500' 'rionet' 'rmd128' 'rmd160' 'rmd256' 'rmd320' 'rndis_host' 'rndis_wlan' 'rocket' 'rose' 'rotary_encoder' 'rpcsec_gss_krb5' 'rt2400pci' 'rt2500pci' 'rt2500usb' 'rt2800lib' 'rt2800pci' 'rt2800usb' 'rt2x00lib' 'rt2x00pci' 'rt2x00usb' 'rt61pci' 'rt73usb' 'rtc-bq32k' 'rtc-bq4802' 'rtc-ds1286' 'rtc-ds1307' 'rtc-ds1374' 'rtc-ds1511' 'rtc-ds1553' 'rtc-ds1672' 'rtc-ds1742' 'rtc-ds3232' 'rtc-em3027' 'rtc-fm3130' 'rtc-isl12022' 'rtc-isl1208' 'rtc-m41t80' 'rtc-m48t35' 'rtc-m48t59' 'rtc-m48t86' 'rtc-max6900' 'rtc-mc13xxx' 'rtc-msm6242' 'rtc-pcf50633' 'rtc-pcf8563' 'rtc-pcf8583' 'rtc-rp5c01' 'rtc-rs5c372' 'rtc-rv3029c2' 'rtc-rx8025' 'rtc-rx8581' 'rtc-s35390a' 'rtc-stk17ta8' 'rtc-test' 'rtc-v3020' 'rtc-x1205' 'rtd520' 'rtl2830' 'rtl8150' 'rtl8180' 'rtl8187' 'rtl8192c-common' 'rtl8192ce' 'rtl8192cu' 'rtl8192de' 'rtl8192se' 'rtllib' 'rtllib_crypt_ccmp' 'rtllib_crypt_tkip' 'rtllib_crypt_wep' 'rtlwifi' 'rts5139' 'rts_pstor' 'rxkad' 's2255drv' 's2io' 's526' 's5h1409' 's5h1411' 's5h1420' 's5k6aa' 's626' 's921' 'saa6588' 'saa6752hs' 'saa7110' 'saa7115' 'saa7127' 'saa7134' 'saa7134-alsa' 'saa7134-dvb' 'saa7134-empress' 'saa7146' 'saa7146_vv' 'saa7164' 'saa717x' 'saa7185' 'saa7191' 'saa7706h' 'safe_serial' 'salsa20_generic' 'salsa20-x86_64' 'samsung-laptop' 'samsung-q10' 'sata_inic162x' 'sata_mv' 'sata_nv' 'sata_promise' 'sata_qstor' 'sata_sil' 'sata_sil24' 'sata_sis' 'sata_svw' 'sata_sx4' 'sata_uli' 'sata_via' 'sata_vsc' 'savage' 'sb1000' 'sbc60xxwdt' 'sbc8360' 'sbc_epx_c3' 'sbc_fitpc2_wdt' 'sb_edac' 'sbp_target' 'sbs' 'sbshc' 'sc1200wdt' 'sc520cdp' 'sc520_wdt' 'sc92031' 'scb2_flash' 'sch311x_wdt' 'sch5627' 'sch5636' 'sch56xx-common' 'sch_atm' 'sch_cbq' 'sch_choke' 'sch_codel' 'sch_drr' 'sch_dsmark' 'sch_fq_codel' 'sch_gred' 'sch_hfsc' 'sch_htb' 'sch_ingress' 'sch_mqprio' 'sch_multiq' 'sch_netem' 'sch_plug' 'sch_prio' 'sch_qfq' 'sch_red' 'sch_sfb' 'sch_sfq' 'sch_tbf' 'sch_teql' 'scsi_dh' 'scsi_dh_alua' 'scsi_dh_emc' 'scsi_dh_hp_sw' 'scsi_dh_rdac' 'scsi_mod' 'scsi_tgt' 'scsi_transport_fc' 'scsi_transport_iscsi' 'scsi_transport_sas' 'scsi_transport_spi' 'scsi_transport_srp' 'scsi_wait_scan' 'sctp' 'sctp_probe' 'sdhci' 'sdhci-pci' 'sdhci-pltfm' 'sdio_uart' 'sd_mod' 'sdricoh_cs' 'sedlbauer_cs' 'seed' 'seeq8005' 'sep_driver' 'seqiv' 'ser_gigaset' 'serial2002' 'serial_cs' 'serio_raw' 'serpent_generic' 'serpent-sse2-x86_64' 'serport' 'serqt_usb2' 'ses' 'sfc' 'sg' 'sha1_generic' 'sha1-ssse3' 'sha256_generic' 'sha512_generic' 'shpchp' 'sht15' 'sht21' 'si21xx' 'si4713-i2c' 'sidewinder' 'siemens_mpi' 'sierra' 'sierra_net' 'sil164' 'sir-dev' 'sis' 'sis190' 'sis5595' 'sis900' 'sis-agp' 'sisusbvga' 'sit' 'skel' 'skge' 'sky2' 'sl811_cs' 'sl811-hcd' 'slhc' 'slicoss' 'slip' 'sm501' 'sm7xx' 'smc91c92_cs' 'sm_common' 'smm665' 'smsc' 'smsc37b787_wdt' 'smsc47b397' 'smsc47m1' 'smsc47m192' 'smsc75xx' 'smsc9420' 'smsc95xx' 'smsc-ircc2' 'smsdvb' 'smsmdtv' 'smssdio' 'smsusb' 'sn9c102' 'snd' 'snd-ac97-codec' 'snd-ad1889' 'snd-ak4113' 'snd-ak4114' 'snd-ak4117' 'snd-ak4xxx-adda' 'snd-ali5451' 'snd-aloop' 'snd-als300' 'snd-als4000' 'snd-asihpi' 'snd-atiixp' 'snd-atiixp-modem' 'snd-au8810' 'snd-au8820' 'snd-au8830' 'snd-aw2' 'snd-azt3328' 'snd-bt87x' 'snd-ca0106' 'snd-cmipci' 'snd-cs4281' 'snd-cs46xx' 'snd-cs5530' 'snd-cs5535audio' 'snd-cs8427' 'snd-ctxfi' 'snd-darla20' 'snd-darla24' 'snd-dummy' 'snd-echo3g' 'snd-emu10k1' 'snd-emu10k1-synth' 'snd-emu10k1x' 'snd-emux-synth' 'snd-ens1370' 'snd-ens1371' 'snd-es1938' 'snd-es1968' 'snd-firewire-lib' 'snd-firewire-speakers' 'snd-fm801' 'snd-gina20' 'snd-gina24' 'snd-hda-codec' 'snd-hda-codec-analog' 'snd-hda-codec-ca0110' 'snd-hda-codec-ca0132' 'snd-hda-codec-cirrus' 'snd-hda-codec-cmedia' 'snd-hda-codec-conexant' 'snd-hda-codec-hdmi' 'snd-hda-codec-idt' 'snd-hda-codec-realtek' 'snd-hda-codec-si3054' 'snd-hda-codec-via' 'snd-hda-intel' 'snd-hdsp' 'snd-hdspm' 'snd-hrtimer' 'snd-hwdep' 'snd-i2c' 'snd-ice1712' 'snd-ice1724' 'snd-ice17xx-ak4xxx' 'snd-indigo' 'snd-indigodj' 'snd-indigodjx' 'snd-indigoio' 'snd-indigoiox' 'snd-intel8x0' 'snd-intel8x0m' 'snd-isight' 'snd-korg1212' 'snd-layla20' 'snd-layla24' 'snd-lola' 'snd-lx6464es' 'snd-maestro3' 'snd-mia' 'snd-mixart' 'snd-mixer-oss' 'snd-mona' 'snd-mpu401' 'snd-mpu401-uart' 'snd-mtpav' 'snd-mts64' 'snd-nm256' 'snd-opl3-lib' 'snd-opl3-synth' 'snd-oxygen' 'snd-oxygen-lib' 'snd-page-alloc' 'snd-pcm' 'snd-pcm-oss' 'snd-pcxhr' 'snd-pdaudiocf' 'snd-portman2x4' 'snd-pt2258' 'snd-rawmidi' 'snd-riptide' 'snd-rme32' 'snd-rme96' 'snd-rme9652' 'snd-sb16-dsp' 'snd-sb-common' 'snd-seq' 'snd-seq-device' 'snd-seq-dummy' 'snd-seq-midi' 'snd-seq-midi-emul' 'snd-seq-midi-event' 'snd-seq-oss' 'snd-seq-virmidi' 'snd-serial-u16550' 'snd-sonicvibes' 'snd-tea575x-tuner' 'snd-timer' 'snd-trident' 'snd-ua101' 'snd-usb-6fire' 'snd-usb-audio' 'snd-usb-caiaq' 'snd-usbmidi-lib' 'snd-usb-us122l' 'snd-usb-usx2y' 'snd-util-mem' 'snd-via82xx' 'snd-via82xx-modem' 'snd-virmidi' 'snd-virtuoso' 'snd-vx222' 'snd-vx-lib' 'snd-vxpocket' 'snd-ymfpci' 'softdog' 'solo6x10' 'solos-pci' 'sony-laptop' 'soundcore' 'sp5100_tco' 'sp8870' 'sp887x' 'spaceball' 'spaceorb' 'sparse-keymap' 'spcp8x5' 'speakup' 'speakup_acntpc' 'speakup_acntsa' 'speakup_apollo' 'speakup_audptr' 'speakup_bns' 'speakup_decext' 'speakup_decpc' 'speakup_dectlk' 'speakup_dtlk' 'speakup_dummy' 'speakup_keypc' 'speakup_ltlk' 'speakup_soft' 'speakup_spkout' 'speakup_txprt' 'spectrum_cs' 'speedfax' 'speedstep-lib' 'speedtch' 'squashfs' 'sr030pc30' 'sr_mod' 'ssb' 'ssfdc' 'sstfb' 'ssu100' 'ssv_dnp' 'st' 'st1232' 'starfire' 'stb0899' 'stb6000' 'stb6100' 'st_drv' 'ste10Xp' 'stex' 'stinger' 'stir4200' 'stkwebcam' 'stmmac' 'stp' 'streamzap' 'stv0288' 'stv0297' 'stv0299' 'stv0367' 'stv0900' 'stv090x' 'stv6110' 'stv6110x' 'sundance' 'sungem' 'sungem_phy' 'sunhme' 'suni' 'sunrpc' 'sx8' 'sym53c500_cs' 'sym53c8xx' 'symbolserial' 'synaptics_i2c' 'synaptics_i2c_rmi4' 'synaptics_usb' 'synclink' 'synclink_cs' 'synclinkmp' 'syscopyarea' 'sysfillrect' 'sysimgblt' 't1pci' 'target_core_file' 'target_core_iblock' 'target_core_mod' 'target_core_pscsi' 'tca6416-keypad' 'tca8418_keypad' 'tcm825x' 'tcm_fc' 'tcm_loop' 'tcm_qla2xxx' 'tcm_usb_gadget' 'tcp_bic' 'tcp_highspeed' 'tcp_htcp' 'tcp_hybla' 'tcp_illinois' 'tcp_lp' 'tcp_probe' 'tcp_scalable' 'tcp_vegas' 'tcp_veno' 'tcp_westwood' 'tcp_yeah' 'tcrypt' 'tda10021' 'tda10023' 'tda10048' 'tda1004x' 'tda10071' 'tda10086' 'tda18212' 'tda18218' 'tda18271' 'tda18271c2dd' 'tda665x' 'tda7432' 'tda8083' 'tda8261' 'tda826x' 'tda827x' 'tda8290' 'tda9840' 'tda9887' 'tdfx' 'tea' 'tea5761' 'tea5767' 'tea6415c' 'tea6420' 'team' 'team_mode_activebackup' 'team_mode_loadbalance' 'team_mode_roundrobin' 'tef6862' 'tehuti' 'tekram-sir' 'teles_cs' 'test-kstrtox' 'test_power' 'tg3' 'tgr192' 'thermal' 'thinkpad_acpi' 'thinkpad_ec' 'thmc50' 'ths7303' 'tifm_7xx1' 'tifm_core' 'tifm_ms' 'tifm_sd' 'timb_dma' 'timeriomem-rng' 'ti_usb_3410_5052' 'tlan' 'tlclk' 'tlv320aic23b' 'tm6000' 'tm6000-alsa' 'tm6000-dvb' 'tmdc' 'tmp102' 'tmp401' 'tmp421' 'tmscsim' 'toim3232-sir' 'topstar-laptop' 'toshiba_acpi' 'toshiba_bluetooth' 'touchit213' 'touchright' 'touchwin' 'tpci200' 'tpm' 'tpm_atmel' 'tpm_bios' 'tpm_infineon' 'tpm_nsc' 'tpm_tis' 'tps65010' 'tps6507x' 'tps6507x-ts' 'tps65217' 'tp_smapi' 'trancevibrator' 'trusted' 'ts5500_flash' 'ts_bm' 'tsc2007' 'tsc40' 'ts_fsm' 'ts_kmp' 'tsl2550' 'ttm' 'ttpci-eeprom' 'ttusb_dec' 'ttusbdecfe' 'tua6100' 'tua9001' 'tulip' 'tun' 'tuner' 'tuner-simple' 'tuner-types' 'tuner-xc2028' 'tunnel4' 'tunnel6' 'turbografx' 'tusb6010' 'tvaudio' 'tveeprom' 'tvp514x' 'tvp5150' 'tvp7002' 'twidjoy' 'twofish_common' 'twofish_generic' 'twofish-x86_64' 'twofish-x86_64-3way' 'typhoon' 'u132-hcd' 'uas' 'ubi' 'ubifs' 'ucb1400_core' 'ucb1400_ts' 'ucd9000' 'ucd9200' 'udc-core' 'udf' 'udl' 'udlfb' 'udp_diag' 'ueagle-atm' 'ufs' 'ufshcd' 'uhci-hcd' 'uinput' 'uio' 'uio_aec' 'uio_cif' 'uio_netx' 'uio_pci_generic' 'uio_pdrv' 'uio_pdrv_genirq' 'uio_sercos3' 'uli526x' 'umc' 'ums-alauda' 'ums-cypress' 'ums-datafab' 'ums-eneub6250' 'ums-freecom' 'ums-isd200' 'ums-jumpshot' 'ums-karma' 'ums-onetouch' 'ums-realtek' 'ums-sddr09' 'ums-sddr55' 'ums-usbat' 'unioxx5' 'unix_diag' 'upd64031a' 'upd64083' 'uPD98402' 'usb8xxx' 'usbatm' 'usb-common' 'usbcore' 'usbdux' 'usbduxfast' 'usbduxsigma' 'usb_gigaset' 'usbhid' 'usbip-core' 'usbip-host' 'usblcd' 'usbled' 'usblp' 'usbmon' 'usbnet' 'usbserial' 'usbsevseg' 'usb-storage' 'usbtest' 'usbtmc' 'usbtouchscreen' 'usbvision' 'usb_wwan' 'ushc' 'uss720' 'uvcvideo' 'uvesafb' 'uwb' 'v4l2-common' 'v4l2-int-device' 'v4l2-mem2mem' 'ves1820' 'ves1x93' 'veth' 'vfat' 'vfb' 'vga16fb' 'vgastate' 'vhci-hcd' 'vhost_net' 'via' 'via686a' 'via-agp' 'via-cputemp' 'viafb' 'via-ircc' 'via-rhine' 'via-rng' 'via-sdmmc' 'via-velocity' 'via_wdt' 'video' 'videobuf2-core' 'videobuf2-dma-contig' 'videobuf2-memops' 'videobuf2-vmalloc' 'videobuf-core' 'videobuf-dma-sg' 'videobuf-dvb' 'videobuf-vmalloc' 'videocodec' 'videodev' 'virtio' 'virtio_balloon' 'virtio_blk' 'virtio_console' 'virtio_mmio' 'virtio_net' 'virtio_pci' 'virtio_ring' 'virtio-rng' 'virtio_scsi' 'visor' 'vitesse' 'vivi' 'vivopay-serial' 'vlsi_ir' 'vmac' 'vmk80xx' 'vmw_balloon' 'vmwgfx' 'vmw_pvscsi' 'vmxnet3' 'vp27smpx' 'vpx3220' 'vs6624' 'vsxxxaa' 'vt1211' 'vt6655_stage' 'vt6656_stage' 'vt8231' 'vub300' 'vx855' 'vxge' 'w35und' 'w5100' 'w5300' 'w6692' 'w83627ehf' 'w83627hf' 'w83627hf_wdt' 'w83697hf_wdt' 'w83697ug_wdt' 'w83781d' 'w83791d' 'w83792d' 'w83793' 'w83795' 'w83877f_wdt' 'w83977af_ir' 'w83977f_wdt' 'w83l785ts' 'w83l786ng' 'wacom' 'wacom_i2c' 'wacom_w8001' 'wafer5823wdt' 'walkera0701' 'warrior' 'wbsd' 'wdt_pci' 'whci' 'whci-hcd' 'whc-rc' 'whiteheat' 'wimax' 'winbond-840' 'winbond-cir' 'wis-ov7640' 'wis-saa7113' 'wis-saa7115' 'wis-sony-tuner' 'wis-tw2804' 'wis-tw9903' 'wis-uda1342' 'wl1251' 'wl1251_sdio' 'wl1273-core' 'wl12xx' 'wl3501_cs' 'wlags49_h25_cs' 'wlags49_h2_cs' 'wlcore' 'wlcore_sdio' 'wm8739' 'wm8775' 'wm97xx-ts' 'wmi' 'wp512' 'wusb-cbaf' 'wusbcore' 'wusb-wa' 'x38_edac' 'xc4000' 'xc5000' 'xcbc' 'xen-acpi-processor' 'xen-blkback' 'xen-blkfront' 'xen-evtchn' 'xen-fbfront' 'xenfs' 'xen-gntalloc' 'xen-gntdev' 'xen-kbdfront' 'xen-netback' 'xen-netfront' 'xen-pciback' 'xen-pcifront' 'xen-privcmd' 'xen_wdt' 'xfrm4_mode_beet' 'xfrm4_mode_transport' 'xfrm4_mode_tunnel' 'xfrm4_tunnel' 'xfrm6_mode_beet' 'xfrm6_mode_ro' 'xfrm6_mode_transport' 'xfrm6_mode_tunnel' 'xfrm6_tunnel' 'xfrm_algo' 'xfrm_ipcomp' 'xfrm_user' 'xfs' 'xgifb' 'xgmac' 'xhci-hcd' 'xilinx_uartps' 'xirc2ps_cs' 'xircom_cb' 'xo15-ebook' 'xor' 'xpad' 'x_tables' 'xt_addrtype' 'xt_AUDIT' 'xt_CHECKSUM' 'xt_CLASSIFY' 'xt_cluster' 'xt_comment' 'xt_connbytes' 'xt_connlimit' 'xt_connmark' 'xt_CONNSECMARK' 'xt_conntrack' 'xt_cpu' 'xt_CT' 'xt_dccp' 'xt_devgroup' 'xt_dscp' 'xt_DSCP' 'xt_ecn' 'xt_esp' 'xt_hashlimit' 'xt_helper' 'xt_hl' 'xt_HL' 'xt_HMARK' 'xt_IDLETIMER' 'xt_iprange' 'xt_ipvs' 'xt_LED' 'xt_length' 'xt_limit' 'xt_LOG' 'xt_mac' 'xt_mark' 'xt_multiport' 'xt_nfacct' 'xt_NFLOG' 'xt_NFQUEUE' 'xt_NOTRACK' 'xt_osf' 'xt_owner' 'xt_physdev' 'xt_pkttype' 'xt_policy' 'xt_quota' 'xt_rateest' 'xt_RATEEST' 'xt_realm' 'xt_recent' 'xts' 'xt_sctp' 'xt_SECMARK' 'xt_set' 'xt_socket' 'xt_state' 'xt_statistic' 'xt_string' 'xt_tcpmss' 'xt_TCPMSS' 'xt_TCPOPTSTRIP' 'xt_tcpudp' 'xt_TEE' 'xt_time' 'xt_TPROXY' 'xt_TRACE' 'xt_u32' 'xusbatm' 'yam' 'yealink' 'yellowfin' 'yenta_socket' 'yurex' 'zatm' 'zaurus' 'zd1201' 'zd1211rw' 'zhenhua' 'zio' 'zl10036' 'zl10039' 'zl10353' 'zl6100' 'zlib' 'zlib_deflate' 'znet' 'zr36016' 'zr36050' 'zr36060' 'zr36067' 'zr364xx' 'zram' ) diff --git a/dot.zsh/env b/dot.zsh/env deleted file mode 100644 index cb687a0..0000000 --- a/dot.zsh/env +++ /dev/null @@ -1,25 +0,0 @@ -export LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mng=01;35:*.pcx=01;35:*.yuv=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;32:*.doc=00;32:*.flac=01;35:*.mp3=01;35:*.mpc=00;36:*.ogg=00;36:*.wav=00;36:*.mid=00;36:*.midi=00;36:*.au=00;36:*.flac=00;36:*.aac=00;36:*.ra=01;36:*.mka=01;36:" - -# library path for wxpython -export LD_LIBRARY_PATH=$HOME/packages/lib - -# {{{ history -export HISTSIZE=5000 -export HISTFILE=~/.history_zsh -export SAVEHIST=4000 -export TMP=~/.tmp -export TMPDIR=$TMP -export NULLCMD=: -export PATH=$PATH":/opt/java/bin:/home/nk/.gem/ruby/1.9.1/bin:/home/nk/.gem/ruby/1.8/bin/:/home/nk/packages/bin:/home/nk/.npm/bin" -# }}} - -export BROWSER="/usr/bin/firefox" -export PAGER="/usr/bin/vimpager" -export EDITOR="/usr/bin/vim" -export LANG="de_DE.utf8" -export LC_ALL="de_DE.utf8" - -export GOROOT=$HOME/devel/go/repo -export GOARCH=amd64 -export GOOS=linux -export GOBIN=/usr/local/bin diff --git a/dot.zsh/find-next-arg.awk b/dot.zsh/find-next-arg.awk deleted file mode 100755 index b189a63..0000000 --- a/dot.zsh/find-next-arg.awk +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/awk -f - -BEGIN { - curpos = 5 # predefined cursor position for testing - z = 0 - len = 0 # the current length - arg = "hans im glueck" - orig = arg - - #while ( z < ARGC || ( len < curpos )) { - arg = substr(arg, curpos); - if ( substr(arg, 1, 1) == " " ) arg = substr(arg, 2); - curpos += index(arg, " "); - print curpos; - print orig; - while ( z < curpos ) { - printf("%d", z); - z++; - } - print "\n"; -} diff --git a/dot.zsh/functions/chpwd_update_git_vars b/dot.zsh/functions/chpwd_update_git_vars deleted file mode 100644 index 3ac7d56..0000000 --- a/dot.zsh/functions/chpwd_update_git_vars +++ /dev/null @@ -1,2 +0,0 @@ -update_current_git_vars - diff --git a/dot.zsh/functions/precmd_update_git_vars b/dot.zsh/functions/precmd_update_git_vars deleted file mode 100644 index 4db6cd4..0000000 --- a/dot.zsh/functions/precmd_update_git_vars +++ /dev/null @@ -1,5 +0,0 @@ -if [ -n "$__EXECUTED_GIT_COMMAND" ]; then - update_current_git_vars - unset __EXECUTED_GIT_COMMAND -fi - diff --git a/dot.zsh/functions/preexec_update_git_vars b/dot.zsh/functions/preexec_update_git_vars deleted file mode 100644 index 83b0e88..0000000 --- a/dot.zsh/functions/preexec_update_git_vars +++ /dev/null @@ -1,6 +0,0 @@ -case "$1" in - git*) - __EXECUTED_GIT_COMMAND=1 - ;; -esac - diff --git a/dot.zsh/functions/prompt_git_info b/dot.zsh/functions/prompt_git_info deleted file mode 100644 index 48807f8..0000000 --- a/dot.zsh/functions/prompt_git_info +++ /dev/null @@ -1,22 +0,0 @@ -if [ -n "$__CURRENT_GIT_BRANCH" ]; then - local p="" - local s="" - p+="$__CURRENT_GIT_BRANCH" - case "$__CURRENT_GIT_BRANCH_STATUS" in - ahead) - s+="↑" - ;; - diverged) - s+="↕" - ;; - behind) - s+="↓" - ;; - esac - if [ -n "$__CURRENT_GIT_BRANCH_IS_DIRTY" ]; then - s+="⚡" - fi - - printf "(%s%s)" "%{${fg[yellow]}%} $p %{${PR_LIGHT_RED}%}" "$s%{${terminfo[sgr0]}%}" -fi - diff --git a/dot.zsh/functions/update_current_git_vars b/dot.zsh/functions/update_current_git_vars deleted file mode 100644 index 36e315f..0000000 --- a/dot.zsh/functions/update_current_git_vars +++ /dev/null @@ -1,30 +0,0 @@ -unset __CURRENT_GIT_BRANCH -unset __CURRENT_GIT_BRANCH_STATUS -unset __CURRENT_GIT_BRANCH_IS_DIRTY - -local st="$(LC_ALL=C git status 2>/dev/null)" -if [[ -n "$st" ]]; then - local -a arr - arr=(${(f)st}) - - if [[ $arr[1] =~ 'Not currently on any branch.' ]]; then - __CURRENT_GIT_BRANCH='no-branch' - else - __CURRENT_GIT_BRANCH="${arr[1][(w)4]}"; - fi - - if [[ $arr[2] =~ 'Your branch is' ]]; then - if [[ $arr[2] =~ 'ahead' ]]; then - __CURRENT_GIT_BRANCH_STATUS='ahead' - elif [[ $arr[2] =~ 'diverged' ]]; then - __CURRENT_GIT_BRANCH_STATUS='diverged' - else - __CURRENT_GIT_BRANCH_STATUS='behind' - fi - fi - - if [[ ! $st =~ 'nothing to commit' ]]; then - __CURRENT_GIT_BRANCH_IS_DIRTY='1' - fi -fi - diff --git a/dot.zsh/prompt b/dot.zsh/prompt deleted file mode 100644 index a997362..0000000 --- a/dot.zsh/prompt +++ /dev/null @@ -1,150 +0,0 @@ -function precmd { - - local TERMWIDTH - (( TERMWIDTH = ${COLUMNS} - 1 )) - - - ### - # Truncate the path if it's too long. - - PR_FILLBAR="" - PR_PWDLEN="" - - local promptsize=${#${(%):---(%n@%m:%l)---()--}} - local pwdsize=${#${(%):-%~}} - - if [[ "$promptsize + $pwdsize" -gt $TERMWIDTH ]]; then - ((PR_PWDLEN=$TERMWIDTH - $promptsize)) - else - PR_FILLBAR="\${(l.(($TERMWIDTH - ($promptsize + $pwdsize)))..${PR_HBAR}.)}" - fi -} - - -setopt extended_glob -preexec () { - if [[ "$TERM" == "screen" ]]; then - local CMD=${1[(wr)^(*=*|sudo|-*)]} - echo -n "\ek$CMD\e\\" - fi -} - - -setprompt () { - # Allow for functions in the prompt. - setopt prompt_subst - - # See if we can use colors. - autoload colors zsh/terminfo - if [[ "$terminfo[colors]" -ge 8 ]]; then - colors - fi - for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE; do - eval PR_$color='%{$terminfo[bold]$fg[${(L)color}]%}' - eval PR_LIGHT_$color='%{$fg[${(L)color}]%}' - (( count = $count + 1 )) - done - PR_NO_COLOUR="%{$terminfo[sgr0]%}" - - # Autoload zsh functions. - fpath=(~/.zsh/functions $fpath) - autoload -U ~/.zsh/functions/*(:t) - - # Enable auto-execution of functions. - typeset -ga preexec_functions - typeset -ga precmd_functions - typeset -ga chpwd_functions - - # Append git functions needed for prompt. - preexec_functions+='preexec_update_git_vars' - precmd_functions+='precmd_update_git_vars' - chpwd_functions+='chpwd_update_git_vars' - - - ### - # See if we can use extended characters to look nicer. - - typeset -A altchar - set -A altchar ${(s..)terminfo[acsc]} - PR_SET_CHARSET="%{$terminfo[enacs]%}" - PR_SHIFT_IN="%{$terminfo[smacs]%}" - PR_SHIFT_OUT="%{$terminfo[rmacs]%}" - PR_HBAR=${altchar[q]:--} - PR_ULCORNER=${altchar[l]:--} - PR_LLCORNER=${altchar[m]:--} - PR_LRCORNER=${altchar[j]:--} - PR_URCORNER=${altchar[k]:--} - - - ### - # Decide if we need to set titlebar text. - - case $TERM in - ?term*|screen) - PR_TITLEBAR=$'%{\e]0;%(!.-=*[ROOT]*=- | .)%n@%m:%~ | ${COLUMNS}x${LINES} | %y\a%}' - ;; - screeningplopp) - PR_TITLEBAR=$'%{\e_screen \005 (\005t) | %(!.-=[ROOT]=- | .)%n@%m:%~ | ${COLUMNS}x${LINES} | %y\e\\%}' - ;; - *) - PR_TITLEBAR='' - ;; - esac - - - ### - # Decide whether to set a screen title - if [[ "$TERM" == "screen" ]]; then - PR_STITLE=$'%{\ekzsh\e\\%}' - else - PR_STITLE='' - fi - - - ### - # APM detection - - if which ibam > /dev/null; then - PR_APM='$PR_RED${${PR_APM_RESULT[(f)1]}[(w)-2]}%%(${${PR_APM_RESULT[(f)3]}[(w)-1]})$PR_LIGHT_BLUE:' - elif which apm > /dev/null; then - PR_APM='$PR_RED${PR_APM_RESULT[(w)5,(w)6]/\% /%%}$PR_LIGHT_BLUE:' - else - PR_APM='' - fi - - - ### - # Finally, the prompt. - -# PROMPT='$PR_SET_CHARSET$PR_STITLE${(e)PR_TITLEBAR}\ -# $PR_CYAN$PR_SHIFT_IN$PR_ULCORNER$PR_BLUE$PR_HBAR$PR_SHIFT_OUT(\ -# $PR_GREEN%(!.$PR_RED%SROOT%s.%n)$PR_GREEN@%m:%l\ -# $PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_CYAN$PR_HBAR${(e)PR_FILLBAR}$PR_BLUE$PR_HBAR$PR_SHIFT_OUT(\ -# $PR_MAGENTA%$PR_PWDLEN<...<%~%<<\ -# $PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_CYAN$PR_URCORNER$PR_SHIFT_OUT\ -# -# $PR_CYAN$PR_SHIFT_IN$PR_LLCORNER$PR_BLUE$PR_HBAR$PR_SHIFT_OUT(\ -# %(?..$PR_LIGHT_RED%?$PR_BLUE:)\ -# ${(e)PR_APM}$PR_YELLOW%D{%H:%M}\ -# $PR_LIGHT_BLUE:%(!.$PR_RED.$PR_WHITE)%#$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\ -# $PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\ -# $PR_NO_COLOUR ' -# -# RPROMPT=' $PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_BLUE$PR_HBAR$PR_SHIFT_OUT\ -#($PR_YELLOW%D{%a,%b%d}$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_CYAN$PR_LRCORNER$PR_SHIFT_OUT$PR_NO_COLOUR' - - - PROMPT='$PR_SET_CHARSET$PR_NO_COLOUR\ -%(?..($PR_LIGHT_RED%?$PR_NO_COLOUR%))\ -%(!.$PR_RED.$PR_GREEN)%n$PR_GREEN@%m \ -%(!.$PR_RED.$PR_NO_COLOUR)$(prompt_git_info)\ -$PR_NO_COLOUR%#$PR_BLUE>\ -$PR_NO_COLOUR ' - - RPROMPT=' ($PR_WHITE%$PR_PWDLEN<...<%~%<<$PR_NO_COLOUR)' - - #PS2='$PR_WHITE%_>$PR_NO_COLOUR ' - PS2='$PR_NO_COLOUR%_$PR_WHITE> ' -} - -setprompt diff --git a/dot.zsh/prompt.old b/dot.zsh/prompt.old deleted file mode 100644 index dbdd612..0000000 --- a/dot.zsh/prompt.old +++ /dev/null @@ -1,89 +0,0 @@ - -function precmd { - -# See if we can use colors. - -# Must have the zsh/termcap module loaded for this -if [[ $terminfo[colors] -ge 8 ]]; then - local RED="%{%}" - local LIGHT_RED="%{%}" - local CYAN="%{%}" - local LIGHT_CYAN="%{%}" - local BLUE="%{%}" - local LIGHT_BLUE="%{%}" - local GREEN="%{%}" - local LIGHT_GREEN="%{%}" - local MAGENTA="%{%}" - local LIGHT_MAGENTA="%{%}" - local YELLOW="%{%}" - local LIGHT_YELLOW="%{%}" - local GRAY="%{%}" - local LIGHT_GRAY="%{%}" - local WHITE="%{%}" - local NO_COLOUR="%{%}" - local BEGINNING_OF_LINE="%{%}" -else - local RED="" - local LIGHT_RED="" - local CYAN="" - local LIGHT_CYAN="" - local BLUE="" - local LIGHT_BLUE="" - local GREEN="" - local LIGHT_GREEN="" - local MAGENTA="" - local LIGHT_MAGENTA="" - local YELLOW="" - local LIGHT_YELLOW="" - local GRAY="" - local LIGHT_GRAY="" - local WHITE="" - local NO_COLOUR="" - local BEGINNING_OF_LINE="" -fi - -### -# Decide whether to set a screen title -if [[ "$STY" != "" ]]; then - local STITLE='%{kzsh\%}' -else - local STITLE='' -fi - -### -# Decide if we need to set titlebar text. -case $TERM in - xterm*) - local TITLEBAR='%{]0;%n@%m:%~%}' - ;; - screen) - local TITLEBAR='%{]0;screen  (t) %n@%m:%~%}' - ;; - *) - local TITLEBAR="" - ;; -esac - -PROMPT="%n@%m%(!|%{$fg[yellow]%}|%{$fg_bold[black]%})%(?.>.%{$fg[red]%} [%?]>)%{$fg_no_bold[default]%} " -RPROMPT="$GRAY%~$NO_COLOUR" - -} - -preexec () { - if [[ "$STY" != "" ]]; then - local CMD=`echo $1 | sed 's/^sudo //; s/ .*//'` - echo -n "k$CMD\\" - fi -} - -## Some stuff which does not work... -# FIXXME - does not work, try to remove all "not necessary tags" -# leoorg () { T=~/.tmp/dict_leo_"$1".html; lynx -source "http://dict.leo.org/?search="$1"" > $T ; lynx "$T" } -# vim `l\s -t * | head -1 ` } -# -# FIXXME - does not work :-( -# alias en1='lynx -source "http://dictionaries.travlang.com/ItalianGerman/dict.cgi?query="$1""' -#\!^" ' -#sed -n "//,/<\/pre>/p" | grep -v "pre>" ' - -################ END OF FILE ################################################### diff --git a/dot.zsh/zshrc_beispiel b/dot.zsh/zshrc_beispiel deleted file mode 100644 index b081e0d..0000000 --- a/dot.zsh/zshrc_beispiel +++ /dev/null @@ -1,733 +0,0 @@ -# $Id: .zshrc,v 1.57 2006/12/17 06:33:18 han Exp $ - -# Below are the color init strings for the basic file types. A color init -# string consists of one or more of the following numeric codes: -# Attribute codes: -# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed -# Text color codes: -# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white -# Background color codes: -# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white - - -# Show the TODO file -[ -e ~/*.please ] && < ~/*.please - -# Pathes -path=( - /sbin - /usr/sbin - /bin - /usr/bin - /usr/X11R6/bin - /usr/local/sbin - /usr/local/bin -) - -manpath=( - /usr/man - /usr/share/man - /usr/X11R6/man - /usr/local/man - /var/qmail/man -) - -# Don't wanna know I got new mail :P -unset mailpath MAILCHECK -# mailpath=( "/usr/spool/mail/$LOGNAME?You inexplicably have new mail in /usr/spool/mail/$LOGNAME" -# "~/Mail/inbox?You have new mail in ~/Mail/inbox" -# "~/Mail/junk?You have junk mail in ~/Mail/junk" ) - -# Add local directory to the completer path -# fpath=($fpath ~/nfs/software) - -# automatically remove duplicates from these arrays -typeset -U path cdpath fpath manpath - - -# Functions - -saneperms() -{ - find . -type d -print0| xargs -0 chmod 755 - find . -type f -print0| xargs -0 chmod ${1:=644} -} - - -ur() -{ - if [ "$#" -eq 0 ]; then - nice -n 19 unrar x *02.rar || nice -n 19 unrar x *.r01 - else - nice -n 19 unrar x $@ - fi -} - -tempwatch() -{ - while : ; do - date "+%H:%M:%S $(sysctl hw.sensors.9|awk '{print $3}')C" - sleep 60 - done -} - -mencode() -{ - -# mencoder "$@" -vf pp=hb/vb/dr/al -oac copy -ovc xvid -xvidencopts pass=1:bitrate=700:turbo -o /dev/null -# mencoder "$@" -vf pp=hb/vb/dr/al -oac copy -ovc xvid -xvidencopts pass=2:bitrate=700 -o ${@%.*}.avi -# mencoder "$1" -vf pp=h1/v1/dr/tn/ci -oac copy -ovc xvid -xvidencopts pass=1:bitrate=${2:=700}:turbo -o /dev/null -# mencoder "$1" -vf pp=h1/v1/dr/tn/ci -oac copy -ovc xvid -xvidencopts pass=2:bitrate=${2:=700} -o ${1%.*}.avi - mencoder "$1" -vf pp=al/c -oac copy -ovc xvid -xvidencopts pass=1:bitrate=${2:=700}:turbo -o /dev/null - mencoder "$1" -vf pp=al/c -oac copy -ovc xvid -xvidencopts pass=2:bitrate=${2:=700} -o ${1%.*}.avi -} - -viewlatex() -{ - doc=${1%%.tex} - latex $doc.tex && latex $doc.tex && xdvi $doc.pdf - rm -f $doc.(dvi|aux|log|toc) -} - -removeallspaces() -{ - find . -maxdepth 1 ! -name .| while read name; do - noname=${name##*/} - ext=${noname##*.} - [[ $noname == ${noname// /} ]] && continue - if [[ $ext == $noname ]]; then - namecap=${(C)noname} - else - noname=${noname%.*} - namecap=${(C)noname}.$ext - fi - namewos=${namecap// /} - [[ $namewos != $noname ]] && - [[ $namecap != $namewos ]] && - mv -i $name $namewos - done -} - -# Display path in titlebar of terms. -chpwd() -{ - [[ -t 1 ]] || return 0 - case $TERM in - *xterm*|rxvt|(dt|k|E)term) - print -Pn "\e]2;%~\a" - ;; - esac -} - - -backup_and_edit() -{ - if [ $# -ne 1 ]; then - echo 'What?' - return 1 - fi - [[ -r $1 && -f $1 ]] || { - echo "${0##*/}: $1: no access to that file." >&2 - return 1 - } - [ ! -r $1.orig ] && cp $1{,.orig} - $EDITOR $1 -} - -doit() -{ - doithome=~/.doit - if [ ! -d $doithome ]; then - mkdir $doithome - fi - PWD_REAL=$(readlink -f $PWD) - PWD_underscore=${PWD_REAL//\//_} - unset doit_subdir - for i in $doithome/*_SUBDIR(N); do - h=${i#$doithome/} - j=${h%_SUBDIR} - if [[ ${PWD_underscore#$j} != $PWD_underscore ]]; then - PWD_underscore=$h - break - fi - done - case $1 in - delete) - echo 'Removing the doit for this dir' - rm -f $doithome/$PWD_underscore - ;; - edit) - $EDITOR $doithome/$PWD_underscore - ;; - show) - cat $doithome/$PWD_underscore - ;; - add) - shift - if [[ -z $1 ]]; then - echo 'add requires an argument.' - return 1 - fi - echo "$@" >>! $doithome/$PWD_underscore - ;; - replace) - shift - if [[ -z $1 ]]; then - echo 'add requires an argument.' - return 1 - fi - echo "$@" >! $doithome/$PWD_underscore - ;; - subdir) - if [[ -e $doithome/$PWD_underscore ]]; then - cat << EOF -$doithome/$PWD_underscore already exists, just use the normal doit -commands here. - -EOF - else - PWD_underscore=${PWD_underscore}_SUBDIR - echo 'What do you want to do in these subdirs? ;)' - $EDITOR $doithome/$PWD_underscore - echo 'Yes, lets doit again! :D' - fi - ;; - help) - cat << EOF -doit [edit|subdir|show|add|replace|delete|help] [your_doit_options] - -doit creates a script which performs all the tasks you alway have -to perform in this specific directory or directorytree - -EOF - ;; - *) - if [[ -e $doithome/$PWD_underscore ]]; then - echo 'Yes, lets do it! :)' - # zsh error detection and follow up. - TRAPZERR() - { - echo 'Bah! >:(' >&2 - return 1 - } - case $1 in - log) - rm -f .doit_logfile - source $doithome/$PWD_underscore $@ >& .doit_logfile - ;; - *) - source $doithome/$PWD_underscore $@ - ;; - esac - [ $? -eq 0 ] && echo 'Hurray! :D' - TRAPZERR() {} - else - echo 'What do you want to do in this dir? ;)' - $EDITOR $doithome/$PWD_underscore - echo 'Yes, lets doit again! :D' - fi - - ;; - esac -} - - -viewmanpage() -{ - nroff -mandoc $1 | w3m -} - - -uptodate() -{ - wget --no-remove-listing $1 && cat .listing && rm .listing index.html -} - - -gnoort() -{ - # set -x - PATH="/bin:/sbin:/usr/bin:/usr/local/bin" - SUDO="sudo" - FILENAME="$(readlink -f $1)" - # Files may contain spaces, but they never contain a `#' - # Sometimes \# but that's another story. - - # load the stat module for portability - zmodload -a -i zsh/stat stat - - if [[ $UID -eq 0 ]]; then - echo "gnoort: Don't run this script as root dummy :D" >&2 - return 1 - fi - if [[ -z $EDITOR ]]; then - echo "gnoort: env var \$EDITOR not set." - fi - - if [[ -z $FILENAME ]]; then - echo "gnoort: You want to bore me to death or what? :D" >&2 - return 1 - fi - - if [[ ! -f $FILENAME ]]; then - echo "gnoort: $FILENAME does not exist." >&2 - return 1 - fi - - DIRNAME=${FILENAME:h} - - if [[ ! -d $DIRNAME ]]; then - echo "gnoort: directory $DIRNAME does not exist." >&2 - return 1 - fi - - if [[ $(stat +uid $DIRNAME) -ne 0 ]]; then - echo "gnoort: directory $DIRNAME isn't owned by root." >&2 - return 1 - fi - - if [[ $(stat +uid $FILENAME) -ne 0 ]]; then - echo "gnoort: file $FILENAME isn't owned by root." >&2 - return 1 - fi - - TRAPEXIT() - { - $SUDO chown root "$FILENAME" - - echo gnoort: Original permissions on $FILENAME \ - restored. You can no longer edit it. - return 1 - } - - if ! $SUDO chown $UID "$FILENAME"; then - echo "gnoort: Can't chown $FILENAME back to your \$UID." >&2 - return 1 - fi - - $EDITOR "$FILENAME" - - $SUDO chown root "$FILENAME" - - TRAPEXIT(){} - # set +x - # unload this annoying module - zmodload -u -i zsh/stat stat - return 0 -} - -# insert-quote-magic - -# If you now paste a url it will be magically quoted! -# But it only works on 4.2.0 and later. -if [ ${ZSH_VERSION//\./} -ge 420 ]; then - autoload -U url-quote-magic - zle -N self-insert url-quote-magic -fi - - - - -# Settings. - -# set w3m as the pager and manpager if it exists -if which w3m &> /dev/null; then - export PAGER=w3m - # set to xterm to enable mousesupport in screen - alias w3m='TERM=xterm LC_ALL= w3m' - alias less='TERM=xterm LC_ALL= w3m' - alias man='TERM=xterm LC_ALL= w3mman' -fi - -umask 022 - -# This is default; change for other hosts. -editors=(Emacs editorwrapper emacs qe mg jed zile) - -# OS specific settings -local PromptColor=$(echo '%{\e[3'$(($RANDOM%7))'m%}%{\e[01m%}') -case $OSTYPE in - openbsd*) - case $HOST in - haddock*) - editors=(emacsclient emacs mg) - local PromptColor=$(echo '%{\e[36m%}') - alias mutt='mutt -y' - #alias mc='mccolor' - export CVSROOT='/var/www/cvsroot' - export QMAILHOST='mijncomputer.nl' - alias spamstat="grep '===.*spam' ~/.Maildroplog|sort|uniq -c" - alias burnaudiocd='sudo cdrecord dev=/dev/rcd1c:1,0,0 speed=24 -dao -pad -v *.wav' - eject() - { - if [ $# -eq 0 ]; then - /bin/eject /dev/cd1c - else - /bin/eject $* - fi - } - c4osync() - { - ( - TRAPINT() - { - print "Caught SIGINT, aborting." - return 1 - } - cd /usr/cruxports - find . -name core|xargs rm - zgrep '^[^l]....w....' **/.footprint.gz | egrep -v '(qmail)' && return 1 - zgrep '^[^l].......w.' **/.footprint.gz | egrep -v '(qmail)' && return 1 - tar czf cruxports_for_openbsd.tar.gz /usr/cruxports/core - chmod -R o+r * - if grep '# Maintainer: ' */*/Pkgfile|grep -v Boetes; then - echo 'fix that shit :-)' >&2 - return 1 - fi - tar czf cruxports_for_openbsd.tar.gz $(find /usr/cruxports/core /usr/cruxports/INSTALL -type f ! -name '*.html') - makeindexhtml - httpup-repgen - rsync -p -P -L --recursive --times \ - --delete \ - INSTALL PORTING REPO core cruxports_for_openbsd.tar.gz index.html maywork opt \ - xs4all:WWW/software/c4o - TRAPINT() {} - ) - } - ;; - diodontis*) - local PromptColor=$(echo '%{\e[01;35m%}') - ;; - phylon*) - local PromptColor=$(echo '%{\e[01;34m%}') - ;; - *) - local PromptColor="$HOST " - ;; - esac - # hard to remember. - ldd_forlibs() - { - readelf -ds $1|fgrep NEEDED - } - - alias nl='export CVSROOT=anoncvs@anoncvs.nl.openbsd.org:/cvs' - if which gls &> /dev/null; then - alias ls='gls --color=yes' - elif which colorls &> /dev/null; then - alias ls='colorls -FG' - fi - alias lsof='echo use fstat' - alias sh='sh -l' - alias ksh='ksh -l' - export PKG_PATH='ftp://ftp.openbsd.org/pub/OpenBSD/snapshots/packages/i386/' - ;; - - - linux*) - case $HOST in - marsupilami*) - cruxsync() - { - ( - TRAPINT() - { - print "Caught SIGINT, aborting." - return 1 - } - cd /usr/ports/mine - chmod -R o+r * - if grep '# Maintainer: ' */Pkgfile|grep -v Boetes; then - echo 'fix that shit :-)' >&2 - return 1 - fi - rm **/*~ - grep '^[^l]....w....' */.footprint | egrep -v '(pathological|gtkballs|qmail)' && return 1 - grep '^[^l].......w.' */.footprint | egrep -v '(qmail)' && return 1 - ~/nfs/software/makeindexhtml - portspage \ - --title= \ - --header=/mnt/nfs/etc/portsindex.html.header \ - --footer=/mnt/nfs/etc/portsindex.html.footer \ - /usr/ports/mine |\ - sed -e 's|/usr/ports/mine|han|' \ - >! index.html - httpup-repgen - rsync -p -P -L --recursive --times --delete . \ - xs4all:WWW/software/crux/han - TRAPINT() {} - ) - } - - ut_casa() - { - xsetkeylock num off - alsactl -f ~/.tmp/sound_settings store - alsactl -f ~/.q3a/sound_settings restore - botnames=( - Penguin Scarab Puma Boa Widow Chicken - Cockroach Cobra Cougar Goose Scorpion - Raven Python Tiger Mantis Cheetah - ) - opties=(+set fs_game q3ut3 +map ut_casa +set g_gametype 4) - no_bots=$#botnames - for (( i = 1; i <= 5; i++)); do - random=$((($(random_number) % $no_bots) + 1)) - bots=($bots +addbot $botnames[$random] 4 blue) - botnames[$random]=() - no_bots=$(($no_bots - 1)) - done - cd /usr/local/games/quake3 - ./quake3 $opties $bots - alsactl -f ~/.tmp/sound_settings restore - } - q4() - { - pkill unclutter - quake4 +disconnect - unclutter -idle 2 -jitter 10 -root &! - } - - easy() - { - find . -type f -exec chmod 644 {} \; - easytag . - id3v2 -s *.mp3 && normalize *.mp3 - vorbisgain -af *.ogg - metaflac --add-replay-gain *.flac - replaygain --auto *.mpc - find . -type f -exec chmod 444 {} \; - } - - local PromptColor=$(echo '%{\e[34m%}') - alias quake3='quake3 -h' - alias doom3='doom3' - alias ut='quake3 +set fs_game q3ut3 +connect ' - alias mc='mccolor' - alias grep='grep --color=auto' - alias mvt='mv ~/.tmp/*.torrent /mnt/cd/tmp' - alias ksh='mksh -l' - alias klassiek='mplayer http://150.135.250.53:9000' - export GNU_SECURE=~/.emacs.d/authorized_hosts - # nvidia settings - export __GL_FSAA_MODE=3 #or 4 - export __GL_DEFAULT_LOG_ANISO=1 - # export __GL_SYNC_TO_VBLANK=0 - # export MENUCONFIG_COLOR=alt - # Lilipond - # export TEXMF='{/usr/share/lilypond/2.4.1,/usr/share/texmf}' - ;; - lisa*) - local PromptColor=$(echo '%{\e[37m%}') - ;; - *) - local PromptColor="$HOST " - ;; - esac - alias ls='ls -pb --color=auto --time-style=local' - ;; - - freebsd*) - case $HOST in - *xs4all*) - editors=(emacs zile) - local PromptColor=$(echo '%{\e[33m%}') - ;; - esac - export PACKAGESITE='ftp://ftp.nluug.nl/pub/FreeBSD/ports/i386/packages-4.6-stable/All/' - if which gls &> /dev/null; then - alias ls='gls --color=yes' - elif which gnuls &> /dev/null; then - alias ls='gnuls --color=yes' - else - alias ls='ls -FG' - fi - ;; - - *) - local PromptColor="$HOST " - ;; - -esac - - -# Editors for root. -if [ $UID -eq 0 ]; then - editors=(mg qe jed zile jmacs emacs) -fi - -# Set the editor. -for editor in $editors; do - if which $editor >& /dev/null; then - export EDITOR==$editor - export VISUAL=$EDITOR - alias e=$EDITOR - break - fi -done -[[ -z $EDITOR ]] && echo 'No suitable editor found. Use tramp. :-}' - -alias vipw='EDITOR=sudoedit sudo vipw' - -# load colors -autoload -U colors -colors - -# Set the prompt. -prompt="$PromptColor%~%(!|%{$fg[yellow]%}|%{$fg_bold[black]%})%(?..%{$fg[red]%})%#%{$fg_no_bold[default]%} " - -# Special setting for inside emacs. -[[ $INSIDE_EMACS = t ]] && unsetopt zle - - -# Environment Variables. - -# Nice colors, this var is also used by gnu-ls so for consitency I prefer gnu-ls. -export LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;00:cd=40;33;00:or=40;31;00:ex=00;32:*.tar=00;31:*.tgz=00;31:*.rar=00;31:*.ace=00;31:*.zip=00;31:*.bz2=00;31:*.rpm=00;31:*.gz=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.png=00;35:*.tga=00;35:*.xpm=00;35:*.mpg=00;37:*.avi=00;37:*.mov=00;37:*.mp3=01;35:*.flac=01;35:*.ogg=01;35:*.mpc=01;35:*.wav=01;35:*.ape=01;35:*.core=00;33' -zstyle ':completion:*' list-colors $LS_COLORS - -# History -export HISTSIZE=5000 -export HISTFILE=~/.history_zsh -export SAVEHIST=4000 -export TMP=~/.tmp -export TMPDIR=$TMP -export NULLCMD=: -export PERL_BADLANG=0 -export LC_ALL=en_GB - -# This is for antialiasing for qt- and gtk-apps -export QT_XFT=1 -export GDK_USE_XFT=1 - -# We always want to use ssh for rsync. -export RSYNC_RSH=ssh -# And for ssh as well. -export CVS_RSH=ssh - -unset WORDCHARS - -# Aliases -alias rsync='rsync -prtvLP' -alias r="source ~/.zshrc" # my shells often last longer than the settings. - -# alias rm='rm -i' -alias mv='mv -i' -alias cp='cp -i' -alias p='cd -' -alias l='ls -lhA' -alias df='df -h' -alias cvsup='cvs -q up -PAd' -alias c='cd ~; clear' -alias par='parchive r *.((p|P)??|(par|PAR)2)' -alias rs=rsync -alias unrar='nice -n 19 unrar' -whence htop > /dev/null && alias top=htop - - -# Global aliases -- These do not have to be at the beginning of -# the command line. -alias -g L='|less' -alias -g G='|grep' -alias -g X='|xargs' -alias -g H='|head' -alias -g T='|tail' -alias -g U='|tai64nlocal' - - -# Limits. -# ulimit unlimited -# limit stack 8192 -limit core unlimited -# limit -s - - -# Set/unset shell options. -setopt \ - brace_ccl inc_append_history hist_ignore_space \ - hist_no_store hist_no_functions hist_ignore_all_dups \ - hist_expire_dups_first no_hup \ - no_check_jobs autocd autolist autopushd autoresume \ - cdablevars extendedglob globdots longlistjobs \ - noclobber notify pushdminus pushdsilent \ - pushdtohome rcquotes recexact sunkeyboardhack \ - complete_in_word - -# setopt autocd correct correctall -unsetopt bgnice autoparamslash cdablevars - -# Autoload zsh modules when they are referenced. -# zmodload -a zsh/zpty zpty -# zmodload -a zsh/zprof zprof -# zmodload -ap zsh/mapfile mapfile - - -# Completion Styles - -# Setup new style completion system. To see examples of the old -# style -- compctl based -- programmable completion, check -# Misc/compctl-examples in the zsh distribution. -autoload -U compinit -compinit - -# list of completers to use -zstyle ':completion:*::::' completer _expand _complete _ignored #_approximate - -# Insert all expansions for expand completer -zstyle ':completion:*:expand:*' tag-order all-expansions - -# Formatting and messages. -zstyle ':completion:*' verbose no #yes -zstyle ':completion:*:descriptions' format '%B%d%b' -zstyle ':completion:*:messages' format '%d' -zstyle ':completion:*:warnings' format 'No matches for: %d' -zstyle ':completion:*:corrections' format '%B%d (errors: %e)%b' - -# Offer indexes before parameters in subscripts -zstyle ':completion:*:*:-subscript-:*' tag-order indexes parameters - -# Command for process lists, the local web server details and host -# completion. -zstyle ':completion:*:processes' command 'ps x -o pid,nice,pcpu,tt,args' - -# Hosts to use for completion, see later zstyle. -zstyle '*' hosts $(awk '/^[^#]/ {print $3" "$4" "$5}' /etc/hosts) - -# Filename suffixes to ignore during completion, except after rm -# command. -zstyle ':completion:*:*:(^rm):*:*files' ignored-patterns \ - '*?.o' '*~' # '*?.orig' - -# Ignore completion functions, until the _ignored completer. -zstyle ':completion:*:functions' ignored-patterns '_*' - -# Disable unused completers. -compdef _default \ - apachectl apm apt apt-show-versions archie arp arping cvsup \ - debchange debfoster debpackages dict dictwords domains dpkg \ - dpkgsourceelm fetchmail figlet finger groups iconv imagemagick \ - ispell java lp mailboxes mail make-kpkg mplayer mysqldiff \ - mysqlutils ncftp nedit netscape newsgroups pine printers \ - print rlogin slrn spamassassin texi \ - texinfo tiff tin userathost users userson w3m yp urpmi rpm - -# Since w3mman is aliased to man... -compdef _man w3mman - - -# Keysbinds -# Use ^v to find out the keynames -bindkey '^[[2~' overwrite-mode -bindkey '^[[3~' delete-char -bindkey '^[[5~' up-line-or-history -bindkey '^[[6~' down-line-or-history -bindkey '^[[7~' beginning-of-line -bindkey '^[[8~' end-of-line -bindkey '^[,' insert-last-word # I always hit m-, instead if m-. for some reason - -bindkey -e # emacs key bindings -bindkey ' ' magic-space # also do history expansion on space -bindkey '^I' complete-word # complete on tab, leave expansion to _expand - -# Unbind c-s and c-q -stty -ixon diff --git a/dot.zsh/zshrc_grml b/dot.zsh/zshrc_grml deleted file mode 100644 index 1660021..0000000 --- a/dot.zsh/zshrc_grml +++ /dev/null @@ -1,879 +0,0 @@ -# Please notice: this file has been extracted from package grml-etc -# (see http://grml.org/repos/) and won't be updated regularly! -# Please also take a look at -# http://www.michael-prokop.at/computer/config/.zshrc.global - -# See /etc/zsh/zshrc for some general settings -# If you don't have write permissions to /etc/zsh/zshrc on your own -# copy the file to your $HOME as /.zshrc.global and we source it: - if [ -r ~/.zshrc.global ] ; then - . ~/.zshrc.global - fi - -# completion, some magic, prompt {{{ -# just make sure it is loaded in this file too - type compinit &>/dev/null || { autoload -U compinit && compinit } - if [ ${ZSH_VERSION//\./} -ge 420 ] - then - autoload -U url-quote-magic - zle -N self-insert url-quote-magic - fi - local gray=$(echo '%{\e[30m%}%{\e[01m%}') - local nocol=$(echo '%{\e[0m%}%{\e[01m%}') - #export prompt="$gray$USER@$HOST$nocol> " - export prompt="$PromptColor%~%(!|%{$fg[yellow]%}|%{$fg_bold[black]%})%(?..%{$fg[red]%})%#%{$fg_no_bold[default]%} " -# }}} - -## variables {{{ - -# set terminal property (used e.g. by msgid-chooser) - export COLORTERM="yes" - -# set default browser - (( ${+BROWSER} )) || export BROWSER="links2" - (( ${+PAGER} )) || export PAGER="less" - -# }}} - -## set options {{{ - -# Allow comments even in interactive shells i. e. -# $ uname # This command prints system informations -# zsh: bad pattern: # -# $ setopt interactivecomments -# $ uname # This command prints system informations -# Linux -# setopt interactivecomments - -# ctrl-s will no longer freeze the terminal. -# stty erase "^?" - -# }}} - -# {{{ global aliases -# These do not have to be at the beginning of the command line. -# Avoid typing cd ../../ for going two dirs down and so on -# Usage, e.g.: "$ cd ...' or just '$ ...' with 'setopt auto_cd' - alias -g '...'='../..' - alias -g '....'='../../..' -# Usage is "$ somecommand C (this pipes it into 'wc -l'): - alias -g BG='& exit' - alias -g C='|wc -l' - alias -g G='|grep' - alias -g H='|head' - alias -g Hl=' --help |& less -r' - alias -g K='|keep' - alias -g L='|less' - alias -g LL='|& less -r' - alias -g M='|most' - alias -g N='&>/dev/null' - alias -g R='| tr A-z N-za-m' - alias -g SL='| sort | less' - alias -g S='| sort' - alias -g T='|tail' - alias -g V='| vim -' -# }}} - -## aliases {{{ - -# Xterm resizing-fu. -# Based on http://svn.kitenet.net/trunk/home-full/.zshrc?rev=11710&view=log (by Joey Hess) - alias hide='echo -en "\033]50;nil2\007"' - alias tiny='echo -en "\033]50;-misc-fixed-medium-r-normal-*-*-80-*-*-c-*-iso8859-15\007"' - alias small='echo -en "\033]50;6x10\007"' - alias medium='echo -en "\033]50;-misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-15\007"' - alias default='echo -e "\033]50;-misc-fixed-medium-r-normal-*-*-140-*-*-c-*-iso8859-15\007"' - alias large='echo -en "\033]50;-misc-fixed-medium-r-normal-*-*-150-*-*-c-*-iso8859-15\007"' - alias huge='echo -en "\033]50;-misc-fixed-medium-r-normal-*-*-210-*-*-c-*-iso8859-15\007"' - alias smartfont='echo -en "\033]50;-artwiz-smoothansi-*-*-*-*-*-*-*-*-*-*-*-*\007"' - alias semifont='echo -en "\033]50;-misc-fixed-medium-r-semicondensed-*-*-120-*-*-*-*-iso8859-15\007"' -# if [ "$TERM" = "xterm" ] && [ "$LINES" -ge 50 ] && [ "$COLUMNS" -ge 100 ] && [ -z "$SSH_CONNECTION" ]; then -# large -# fi - -# general - alias da='du -sch' - alias j='jobs -l' -# alias u='translate -i' # translate - -# compile stuff - alias CO="./configure" - alias CH="./configure --help" - -# http://conkeror.mozdev.org/ -# alias conkeror='firefox -chrome chrome://conkeror/content' - -# arch/tla stuff -# alias ldiff='tla what-changed --diffs | less' -# alias tbp='tla-buildpackage' -# alias mirror='tla archive-mirror' -# alias commit='tla commit' -# alias merge='tla star-merge' - -# listing stuff - alias ls="ls --color=always" # ever show colors - alias dir="ls -lSrah" - alias lad='ls -d .*(/)' # only show dot-directories - alias lsa='ls -a .*(.)' # only show dot-files - alias lss='ls -l *(s,S,t)' # only files with setgid/setuid/sticky flag - alias lsl='ls -l *(@[1,10])' # only symlinks - alias lsx='ls -l *(*[1,10])' # only executables - alias lsw='ls -ld *(R,W,X.^ND/)' # world-{readable,writable,executable} files - alias lsbig="ls -flh *(.OL[1,10])" # display the biggest files - alias lsd='ls -d *(/)' # only show directories - alias lse='ls -d *(/^F)' # only show empty directories - alias lsnew="ls -rl *(D.om[1,10])" # display the newest files - alias lsold="ls -rtlh *(D.om[1,10])" # display the oldest files - alias lssmall="ls -Srl *(.oL[1,10])" # display the smallest files - -# chmod - alias rw-='chmod 600' - alias rwx='chmod 700' - alias r--='chmod 644' - alias r-x='chmod 755' - -# some useful aliases - alias md='mkdir -p' - -# console stuff -# alias cmplayer='mplayer -vo fbdev' -# alias fbmplayer='mplayer -vo fbdev' -# alias fblinks='links2 -driver fb' - -# ignore ~/.ssh/known_hosts entries -# alias insecssh='ssh -o "StrictHostKeyChecking=no" -o "UserKnownHostsFile=/dev/null" -o "PreferredAuthentications=keyboard-interactive"' -# alias insecssh='ssh -o "StrictHostKeyChecking=no" -o "UserKnownHostsFile=/dev/null"' - -# use colors when browsing man pages (if not using pinfo or PAGER=most) - [ -d ~/.terminfo/ ] && alias man='TERMINFO=~/.terminfo/ LESS=C TERM=mostlike PAGER=less man' - -# check whether Debian's package management (dpkg) is running -# alias check_dpkg_running="sudo dpkg_running" -# }}} - -## useful functions {{{ - -# functions without detailed explanation: - agoogle() { ${=BROWSER} "http://groups.google.com/groups?as_uauthors=$*" ; } - bk() { cp -b ${1} ${1}_`date --iso-8601=m` } - cdiff() { diff -crd "$*" | egrep -v "^Only in |^Binary files " } - cl() { cd $1 && ls -a } # cd && ls -# cvsa() { cvs add $* && cvs com -m 'initial checkin' $* } -# cvsd() { cvs diff -N $* |& $PAGER } -# cvsl() { cvs log $* |& $PAGER } -# cvsq() { cvs -nq update } -# cvsr() { rcs2log $* | $PAGER } -# cvss() { cvs status -v $* } -# debbug() { ${=BROWSER} "http://bugs.debian.org/$*" } -# debbugm() { bts show --mbox $1 } # provide bugnummer as $1 - disassemble(){ gcc -pipe -S -o - -O -g $* | as -aldh -o /dev/null } - dmoz() { ${=BROWSER} http://search.dmoz.org/cgi-bin/search\?search=${1// /_} } - wictide() { ${=BROWSER} http://de.wiktionary.org/wiki/${(C)1// /_} } - wictien() { ${=BROWSER} http://en.wiktionary.org/wiki/${(C)1// /_} } - fir() { firefox -a firefox -remote "openURL($1)" } -# ggogle() { ${=BROWSER} "http://groups.google.com/groups?q=$*" } - google() { ${=BROWSER} "http://www.google.com/search?&num=100&q=$*" } - mdiff() { diff -udrP "$1" "$2" > diff.`date "+%Y-%m-%d"`."$1" } -# memusage(){ ps aux | awk '{if (NR > 1) print $5; if (NR > 2) print "+"} END { print "p" }' | awk '{}' } -# mggogle() { ${=BROWSER} "http://groups.google.com/groups?selm=$*" } -# netcraft(){ ${=BROWSER} "http://toolbar.netcraft.com/site_report?url=$1" } - oleo() { ${=BROWSER} "http://dict.leo.org/?search=$*" } - shtar() { gunzip -c $1 | tar -tf - -- | $PAGER } - shtgz() { tar -ztf $1 | $PAGER } - shzip() { unzip -l $1 | $PAGER } -# sig() { agrep -d '^-- $' "$*" ~/.Signature } - swiki() { ${=BROWSER} http://de.wikipedia.org/wiki/Spezial:Search/${(C)1} } - udiff() { diff -urd $* | egrep -v "^Only in |^Binary files " } - viless() { vim --cmd 'let no_plugin_maps = 1' -c "so \$VIMRUNTIME/macros/less.vim" "${@:--}" } - wikide () { ${=BROWSER} http://de.wikipedia.org/wiki/"${(C)*}" } - wikien() { ${=BROWSER} http://en.wikipedia.org/wiki/"$*" } -# wodeb () { ${=BROWSER} "http://packages.debian.org/cgi-bin/search_contents.pl?word=$1&version=unstable" } - -# Function Usage: doc packagename - doc() { cd /usr/share/doc/$1 && ls } - _doc() { _files -W /usr/share/doc -/ } - compdef _doc doc - -# debian upgrade -# upgrade () { -# if [ -z $1 ] ; then -# sudo apt-get update -# sudo apt-get -u upgrade -# else -# ssh $1 sudo apt-get update -# # ask before the upgrade -# local dummy -# ssh $1 sudo apt-get --no-act upgrade -# echo -n "Process the upgrade ?" -# read -q dummy -# if [[ $dummy == "y" ]] ; then -# ssh $1 sudo apt-get -u upgrade --yes -# fi -# fi -# } - -# make screenshot of current desktop (use 'import' from ImageMagic) - sshot() { - [[ ! -d ~/media/pics/screenshots ]] && mkdir ~/media/pics/screenshots - #cd ~/shots ; sleep 5 ; import -window root -depth 8 -quality 80 `date "+%Y-%m-%d--%H:%M:%S"`.png - cd ~/media/pics/screenshots ; sleep 5; import -window root -depth 8 -quality 80 shot_`date --iso-8601=m`.png - } - - -# list images only - ls_img() { - local -a images - images=( *.{jpg,gif,png,xcf,xpm,svg}(.N) ) - if [[ $#images -eq 0 ]] ; then - print "No image files found" - else - ls "$@" "$images[@]" - fi - } - -# list videos only - ls_vids() { - local -a videos - videos=( *.{avi,mpg,mpeg,mpe,wmv}(.N) ) - if [[ $#videos -eq 0 ]] ; then - print "No video files found" - else - ls "$@" "$videos[@]" - fi - } - -# list music only - ls_music() { - local -a music - music=( *.{mp3,ogg,wma,asx,wav}(.N) ) - if [[ $#music -eq 0 ]] ; then - print "No music files found" - else - ls "$@" "$music[@]" - fi - } - -# create pdf file from source code - source2pdf() { - output=$1 - shift - a2ps --medium A4dj -E -o $output $* - ps2pdf $output - } - -# zsh with perl-regex - use it e.g. via: -# regcheck '\s\d\.\d{3}\.\d{3} Euro' ' 1.000.000 Euro' - regexp() { - zmodload -i zsh/pcre - pcre_compile $1 && \ - pcre_match $2 && echo "regex matches" || echo "regex does not match" - } -# list files which have been modified within the last x days - new() { print -l *(m-$1) } - -# grep the history - greph () { history 0 | grep $1 } - (grep --help 2>/dev/null |grep -- --color) >/dev/null && \ - alias grep='grep --color=auto' # use colors when GNU grep with color-support - alias GREP='grep -i --color=auto' - -# one blank line between each line - if [ -r ~/.terminfo/m/mostlike ] ; then -# alias man2='MANPAGER="sed -e G |less" TERMINFO=~/.terminfo TERM=mostlike /usr/bin/man' - man2() { PAGER='dash -c "sed G | /usr/bin/less"' TERM=mostlike /usr/bin/man "$@" ; } - fi - -# jump between directories -# Copyright 2005 Nikolai Weibull -# notice: option AUTO_PUSHD has to be set - d(){ - emulate -L zsh - autoload -U colors - local color=$fg_bold[blue] - integer i=0 - dirs -p | while read dir; do - local num="${$(printf "%-4d " $i)/ /.}" - printf " %s $color%s$reset_color\n" $num $dir - (( i++ )) - done - integer dir=-1 - read -r 'dir?Jump to directory: ' || return - (( dir == -1 )) && return - if (( dir < 0 || dir >= i )); then - echo d: no such directory stack entry: $dir - return 1 - fi - cd ~$dir - } - -# provide useful information on globbing - H-Glob() { - echo -e " - / directories - . plain files - @ symbolic links - = sockets - p named pipes (FIFOs) - * executable plain files (0100) - % device files (character or block special) - %b block special files - %c character special files - r owner-readable files (0400) - w owner-writable files (0200) - x owner-executable files (0100) - A group-readable files (0040) - I group-writable files (0020) - E group-executable files (0010) - R world-readable files (0004) - W world-writable files (0002) - X world-executable files (0001) - s setuid files (04000) - S setgid files (02000) - t files with the sticky bit (01000) - print *(m-1) # Dateien, die vor bis zu einem Tag modifiziert wurden. - print *(a1) # Dateien, auf die vor einem Tag zugegriffen wurde. - print *(@) # Nur Links - print *(Lk+50) # Dateien die ueber 50 Kilobytes grosz sind - print *(Lk-50) # Dateien die kleiner als 50 Kilobytes sind - print **/*.c # Alle *.c - Dateien unterhalb von \$PWD - print **/*.c~file.c # Alle *.c - Dateien, aber nicht 'file.c' - print (foo|bar).* # Alle Dateien mit 'foo' und / oder 'bar' am Anfang - print *~*.* # Nur Dateien ohne '.' in Namen - chmod 644 *(.^x) # make all non-executable files publically readable - print -l *(.c|.h) # Nur Dateien mit dem Suffix '.c' und / oder '.h' - print **/*(g:users:) # Alle Dateien/Verzeichnisse der Gruppe >users< - echo /proc/*/cwd(:h:t:s/self//) # Analog zu >ps ax | awk '{print $1}'<" - } - - lcheck() { - nm -go /usr/lib/lib*.a 2>/dev/null | grep ":[[:xdigit:]]\{8\} . .*$1"":[[:xdigit:]]\{8\} . .*$1" - } - -# clean up directory - purge() { - FILES=(*~(N) .*~(N) \#*\#(N) *.o(N) a.out(N) *.core(N) *.cmo(N) *.cmi(N) .*.swp(N)) - NBFILES=${#FILES} - if [[ $NBFILES > 0 ]]; then - print $FILES - local ans - echo -n "Remove this files? [y/n] " - read -q ans - if [[ $ans == "y" ]] - then - rm ${FILES} - echo ">> $PWD purged, $NBFILES files removed" - else - echo "Ok. .. than not.." - fi - fi - } - -# Translate DE<=>EN -# 'translate' looks up fot a word in a file with language-to-language -# translations (field separator should be " : "). A typical wordlist looks -# like at follows: -# | english-word : german-transmission -# It's also only possible to translate english to german but not reciprocal. -# Use the following oneliner to turn back the sort order: -# $ awk -F ':' '{ print $2" : "$1" "$3 }' \ -# /usr/local/lib/words/en-de.ISO-8859-1.vok > ~/.translate/de-en.ISO-8859-1.vok - trans() { - case "$1" in - -[dD]*) translate -l de-en $2 - ;; - -[eE]*) translate -l en-de $2 - ;; - *) - echo "Usage: $0 { -D | -E }" - echo " -D == German to English" - echo " -E == English to German" - esac - } - -# Some quick Perl-hacks aka /useful/ oneliner -# bew() { perl -le 'print unpack "B*","'$1'"' } -# web() { perl -le 'print pack "B*","'$1'"' } -# hew() { perl -le 'print unpack "H*","'$1'"' } -# weh() { perl -le 'print pack "H*","'$1'"' } -# pversion() { perl -M$1 -le "print $1->VERSION" } # i. e."pversion LWP -> 5.79" -# getlinks () { perl -ne 'while ( m/"((www|ftp|http):\/\/.*?)"/gc ) { print $1, "\n"; }' $* } -# gethrefs () { perl -ne 'while ( m/href="([^"]*)"/gc ) { print $1, "\n"; }' $* } -# getanames () { perl -ne 'while ( m/a name="([^"]*)"/gc ) { print $1, "\n"; }' $* } -# getforms () { perl -ne 'while ( m:(\):gic ) { print $1, "\n"; }' $* } -# getstrings () { perl -ne 'while ( m/"(.*?)"/gc ) { print $1, "\n"; }' $*} -# getanchors () { perl -ne 'while ( m/([^\n]+)/gc ) { print $1, "\n"; }' $* } -# showINC () { perl -e 'for (@INC) { printf "%d %s\n", $i++, $_ }' } -# vimpm () { vim `perldoc -l $1 | sed -e 's/pod$/pm/'` } -# vimhelp () { vim -c "help $1" -c on -c "au! VimEnter *" } - -# plap foo -- list all occurrences of program in the current PATH - plap() { - if [[ $# = 0 ]] - then - echo "Usage: $0 program" - echo "Example: $0 zsh" - echo "Lists all occurrences of program in the current PATH." - else - ls -l ${^path}/*$1*(*N) - fi - } - -# Found in the mailinglistarchive from Zsh (IIRC ~1996) - selhist() { - emulate -L zsh - local TAB=$'\t'; - (( $# < 1 )) && { - echo "Usage: $0 command" - return 1 - }; - cmd=(${(f)"$(grep -w $1 $HISTFILE | sort | uniq | pr -tn)"}) - print -l $cmd | less -F - echo -n "enter number of desired command [1 - $(( ${#cmd[@]} - 1 ))]: " - local answer - read answer - print -z "${cmd[$answer]#*$TAB}" - } - -# mkdir && cd - mcd() { mkdir -p "$@"; cd "$@" } # mkdir && cd - -# cd && ls - cl() { cd $1 && ls -a } - -# Use vim to convert plaintext to HTML - 2html() { vim -u NONE -n -c ':syntax on' -c ':so $VIMRUNTIME/syntax/2html.vim' -c ':wqa' $1 > /dev/null 2> /dev/null } - -# Usage: simple-extract -# Description: extracts archived files (maybe) - simple-extract () { - if [[ -f $1 ]] - then - case $1 in - *.tar.bz2) bzip2 -v -d $1 ;; - *.tar.gz) tar -xvzf $1 ;; - *.rar) unrar $1 ;; - *.deb) ar -x $1 ;; - *.bz2) bzip2 -d $1 ;; - *.lzh) lha x $1 ;; - *.gz) gunzip -d $1 ;; - *.tar) tar -xvf $1 ;; - *.tgz) gunzip -d $1 ;; - *.tbz2) tar -jxvf $1 ;; - *.zip) unzip $1 ;; - *.Z) uncompress $1 ;; - *) echo "'$1' Error. Please go away" ;; - esac - else - echo "'$1' is not a valid file" - fi - } - -# Usage: smartcompress () -# Description: compresses files or a directory. Defaults to tar.gz - smartcompress() { - if [ $2 ]; then - case $2 in - tgz | tar.gz) tar -zcvf$1.$2 $1 ;; - tbz2 | tar.bz2) tar -jcvf$1.$2 $1 ;; - tar.Z) tar -Zcvf$1.$2 $1 ;; - tar) tar -cvf$1.$2 $1 ;; - gz | gzip) gzip $1 ;; - bz2 | bzip2) bzip2 $1 ;; - *) - echo "Error: $2 is not a valid compression type" - ;; - esac - else - smartcompress $1 tar.gz - fi - } - -# Usage: show-archive -# Description: view archive without unpack - show-archive() { - if [[ -f $1 ]] - then - case $1 in - *.tar.gz) gunzip -c $1 | tar -tf - -- ;; - *.tar) tar -tf $1 ;; - *.tgz) tar -ztf $1 ;; - *.zip) unzip -l $1 ;; - *.bz2) bzless $1 ;; - *) echo "'$1' Error. Please go away" ;; - esac - else - echo "'$1' is not a valid archive" - fi - } - -# folsym() { -# if [[ -e $1 || -h $1 ]]; then -# file=$1 -# else -# file=`which $1` -# fi -# if [[ -e $file || -L $file ]]; then -# if [[ -L $file ]]; then -# echo `ls -ld $file | perl -ane 'print $F[7]'` '->' -# folsym `perl -le '$file = $ARGV[0]; -# $dest = readlink $file; -# if ($dest !~ m{^/}) { -# $file =~ s{(/?)[^/]*$}{$1$dest}; -# } else { -# $file = $dest; -# } -# $file =~ s{/{2,}}{/}g; -# while ($file =~ s{[^/]+/\.\./}{}) { -# ; -# } -# $file =~ s{^(/\.\.)+}{}; -# print $file' $file` -# else -# ls -d $file -# fi -# else -# echo $file -# fi -# } - -# Use 'view' to read manpages, if u want colors, regex - search, ... -# like vi(m). -# It's shameless stolen from - vman() { man $* | col -b | view -c 'set ft=man nomod nolist' - } - -# search for various types or README file in dir and display them in $PAGER -# function readme() { $PAGER -- (#ia3)readme* } - readme() { - local files - files=(./(#i)*(read*me|lue*m(in|)ut)*(ND)) - if (($#files)) - then $PAGER $files - else - print 'No README files.' - fi - } - -# find all suid files in $PATH -# suidfind() { ls -latg $path | grep '^...s' } - suidfind() { ls -latg $path/*(sN) } - -# See above but this is /better/ ... anywise .. -# Note: Add $USER and 'find' with "NOPASSWD" in your /etc/sudoers or run it -# as root (UID == 0) - findsuid() { - if [ UID != 0 ] ; then - print 'Not running as root. Trying to run via sudo...' - RUNASROOT=sudo - fi - print 'Output will be written to ~/suid_* ...' - $RUNASROOT find / -type f \( -perm -4000 -o -perm -2000 \) -ls > ~/suid_suidfiles.`date "+%Y-%m-%d"`.out 2>&1 - $RUNASROOT find / -type d \( -perm -4000 -o -perm -2000 \) -ls > ~/suid_suiddirs.`date "+%Y-%m-%d"`.out 2>&1 - $RUNASROOT find / -type f \( -perm -2 -o -perm -20 \) -ls > ~/suid_writefiles.`date "+%Y-%m-%d"`.out 2>&1 - $RUNASROOT find / -type d \( -perm -2 -o -perm -20 \) -ls > ~/suid_writedirs.`date "+%Y-%m-%d"`.out 2>&1 - print 'Finished' - } - -# Reload functions. - refunc() { - for func in $argv - do - unfunction $func - autoload $func - done - } - -# a small check to see which DIR is located on which server/partition. -# stolen and modified from Sven's zshrc.forall - dirspace() { - for dir in $path; - do - (cd $dir; echo "-<$dir>"; du -shx .; echo); - done - } - -# $ show_print `cat /etc/passwd` - slow_print() { - for argument in "${@}" - do - for ((i = 1; i <= ${#1} ;i++)) { - print -n "${argument[i]}" - sleep 0.08 - } - print -n " " - done - print "" - } - - status() { - print "" - print "Date..: "$(date "+%Y-%m-%d %H:%M:%S")"" - print "Shell.: Zsh $ZSH_VERSION (PID = $$, $SHLVL nests)" - print "Term..: $TTY ($TERM), $BAUD bauds, $COLUMNS x $LINES cars" - print "Login.: $LOGNAME (UID = $EUID) on $HOST" - print "System: $(cat /etc/[A-Za-z]*[_-][rv]e[lr]*)" - print "Uptime:$(uptime)" - print "" - } - - audiorip() { - rippingfolder="~/media/sound/freshripped" - mkdir -p $rippingfolder - cd $rippingfolder - cdrdao read-cd --device $DEVICE --driver generic-mmc audiocd.toc - cdrdao read-cddb --device $DEVICE --driver generic-mmc audiocd.toc -# echo " * Would you like to burn the cd now? (yes/no)" -# read input -# if -# [ "$input" = "yes" ]; then -# echo " ! Burning Audio CD" -# audioburn -# echo " * done." -# else -# echo " ! Invalid response." -# fi - echo "Done..." - } - - audioburn() { - rippingfolder="~/media/sound/freshripped" - cd $rippingfolder - cdrdao write --device $DEVICE --driver generic-mmc audiocd.toc - echo " * Should I remove the temporary files? (yes/no)" - read input - if [ "$input" = "yes" ]; then - echo " ! Removing Temporary Files." - cd ~ - rm -rf $rippingfolder - echo " * done." - else - echo " ! Invalid response." - fi - } - - mkaudiocd() { - rippingfolder="~/media/sound/freshripped" - cd $rippingfolder - for i in *.[Mm][Pp]3; do mv "$i" `echo $i | tr '[A-Z]' '[a-z]'`; done - for i in *.mp3; do mv "$i" `echo $i | tr ' ' '_'`; done - for i in *.mp3; do mpg123 -w `basename $i .mp3`.wav $i; done - normalize -m *.wav - for i in *.wav; do sox $i.wav -r 44100 $i.wav resample; done - } - - mkiso() { - echo " * Volume name " - read volume - echo " * ISO Name (ie. tmp.iso)" - read iso - echo " * Directory or File" - read files - mkisofs -o ~/$iso -A $volume -allow-multidot -J -R -iso-level 4 -V $volume -R $files - } - -# generate thumbnails ;) - genthumbs () { - rm -rf thumb-* index.html - echo " - - - Images - - " > index.html - for f in *.(gif|jpeg|jpg|png) - do - convert -size 100x200 "$f" -resize 100x200 thumb-"$f" - echo " " >> index.html - done - echo " - -" >> index.html - } - -# unset all limits (see zshbuiltins(1) /ulimit for details) - allulimit() { - ulimit -c unlimited - ulimit -d unlimited - ulimit -f unlimited - ulimit -l unlimited - ulimit -n unlimited - ulimit -s unlimited - ulimit -t unlimited - } - -# ogg2mp3 with bitrate of 192 - ogg2mp3_192() { - oggdec -o - ${1} | lame -b 192 - ${1:r}.mp3 - } - -# RFC 2396 URL encoding in Z-Shell - urlencode() { - setopt localoptions extendedglob - input=( ${(s::)1} ) - print ${(j::)input/(#b)([^A-Za-z0-9_.!~*\'\(\)-])/%$(([##16]#match))} - } - -# get x-lite voip software -# getxlite() { -# [ -d ~/tmp ] || mkdir ~/tmp -# cd ~/tmp -# echo "Downloading http://www.counterpath.com/download/X-Lite_Install.tar.gz and storing it in ~/tmp:" -# if wget http://www.counterpath.com/download/X-Lite_Install.tar.gz ; then -# unp X-Lite_Install.tar.gz && echo done || echo failed -# else -# echo "Error while downloading." ; return 1 -# fi -# if [ -x xten-xlite/xtensoftphone ] ; then -# echo "Execute xten-xlite/xtensoftphone to start xlite." -# fi -# } - -# get skype -# getskype() { -# echo "Downloading debian package of skype." -# echo "Notice: If you want to use a more recent skype version run 'getskypebeta'." -# wget http://www.skype.com/go/getskype-linux-deb -# mkdir skype.install -# dpkg-deb --extract skype_*.deb skype.install/ -# dpkg-deb --control skype_*.deb skype.install/DEBIAN -# sed -i 's/libqt3c102-mt/libqt3-mt/' skype.install/DEBIAN/control -# dpkg --build skype.install -# sudo dpkg -i skype.install.deb && echo "skype installed." -# } - -# get beta-version of skype -# getskypebeta() { -# echo "Downloading debian package of skype (beta version)." -# wget http://www.skype.com/go/getskype-linux-beta-deb -# sudo dpkg -i skype-beta*.deb && echo "skype installed." -# } - -# get gzimo (voicp software) -# getgizmo() { -# echo "gconf2-common and libgconf2-4 have to be available. Installing therefor." -# sudo apt-get update -# sudo apt-get install gconf2-common libgconf2-4 -# wget $(lynx --dump http://www.gizmoproject.com/download-linux.html | awk '/\.deb/ {print $2" "}' | tr -d '\n') -# sudo dpkg -i libsipphoneapi*.deb bonjour_*.deb gizmo-*.deb && echo "gizmo installed." -# } - -# get specific git commitdiff - git-get-diff() { - if [ -z $GITTREE ] ; then - GITTREE='linux/kernel/git/torvalds/linux-2.6.git' - fi - if ! [ -z $1 ] ; then - ${=BROWSER} "http://kernel.org/git/?p=$GITTREE;a=commitdiff;h=$1" - else - echo "Usage: git-get-diff " - fi - } - -# get specific git commit - git-get-commit() { - if [ -z $GITTREE ] ; then - GITTREE='linux/kernel/git/torvalds/linux-2.6.git' - fi - if ! [ -z $1 ] ; then - ${=BROWSER} "http://kernel.org/git/?p=$GITTREE;a=commit;h=$1" - else - echo "Usage: git-get-commit " - fi - } - -# get specific git diff - git-get-plaindiff() { - if [ -z $GITTREE ] ; then - GITTREE='linux/kernel/git/torvalds/linux-2.6.git' - fi - if ! [ -z $1 ] ; then - wget "http://kernel.org/git/?p=$GITTREE;a=commitdiff_plain;h=$1" -O $1.diff - else - echo 'Usage: git-get-plaindiff ' - fi - } - -# log 'make install' output -# http://strcat.de/blog/index.php?/archives/335-Software-sauber-deinstallieren...html - mmake() { - [[ ! -d ~/.errorlogs ]] && mkdir ~/.errorlogs - =make -n install > ~/.errorlogs/${PWD##*/}-makelog - } - -# indent source code - smart-indent() { - indent -npro -kr -i8 -ts8 -sob -l80 -ss -ncs $* - } - - -# rename pictures based on information found in exif headers - exirename() { - if [ $# -lt 1 ] ; then - echo 'Usage: jpgrename $FILES' >& 2 - return 1 - else - echo -n 'Checking for jhead with version newer than 1.9: ' - jhead_version=`jhead -h | grep 'used by most Digital Cameras. v.*' | awk '{print $6}' | tr -d v` - if [[ $jhead_version > '1.9' ]]; then - echo 'success - now running jhead.' - jhead -n%Y-%m-%d_%Hh%M_%f $* - else - echo 'failed - exiting.' - fi - fi - } - -# }}} - -# some useful commands often hard to remember - let's grep for them {{{ - -# Work around ion/xterm resize bug. -#if [ "$SHLVL" = 1 ]; then -# if [ -x `which resize 2>/dev/null` ]; then -# eval `resize Packages.gz -# dpkg-scansources . | gzip > Sources.gz -# grep-dctrl --field Maintainer $* /var/lib/apt/lists/* - -# other stuff: -# convert -geometry 200x200 -interlace LINE -verbose -# ldapsearch -x -b "OU=Bedienstete,O=tug" -h ldap.tugraz.at sn=$1 -# ps -ao user,pcpu,start,command -# gpg --keyserver blackhole.pca.dfn.de --recv-keys -# xterm -bg black -fg yellow -fn -misc-fixed-medium-r-normal--14-140-75-75-c-90-iso8859-15 -ah -# nc -vz $1 1-1024 # portscan via netcat -# wget --mirror --no-parent --convert-links -# pal -d `date +%d` -# autoload -U tetris; zle -N tetris; bindkey '...' ; echo "press ... for playing tennis" -# -# modify console cursor -# see http://www.tldp.org/HOWTO/Framebuffer-HOWTO-5.html -# print $'\e[?96;0;64c' -# }}} - -# finally source a local zshrc -# this allows us to stay in sync with /etc/skel/.zshrc -# through 'ln -s /etc/skel/.zshrc ~/.zshrc' and put own -# modifications in ~/.zshrc.local - if [ -r ~/.zshrc.local ] ; then - . ~/.zshrc.local - fi -## END OF FILE ################################################################# -# vim:foldmethod=marker diff --git a/dot.zshrc b/dot.zshrc index e77dd6c..4ef6977 100644 --- a/dot.zshrc +++ b/dot.zshrc @@ -1,91 +1,44 @@ -# zshrc (c)dec2006 - 2011 by pSy -# v0.2 +# Path to your oh-my-zsh configuration. +ZSH=$HOME/.oh-my-zsh +# Set name of the theme to load. +# Look in ~/.oh-my-zsh/themes/ +# Optionally, if you set this to "random", it'll load a random theme each +# time that oh-my-zsh is loaded. +ZSH_THEME="psy" -[ -f .zsh/prompt ] && source .zsh/prompt -[ -f .zsh/bindings ] && source .zsh/bindings -[ -f .zsh/env ] && source .zsh/env -[ -d .zsh/completion/ ] && source .zsh/completion/* +# Example aliases +# alias zshconfig="mate ~/.zshrc" +# alias ohmyzsh="mate ~/.oh-my-zsh" -# {{{ misc -# zmodload -i zsh/pcre -autoload -U colors -colors -#prompt="$USERNAME@$HOST% ~%(!|%{$fg[yellow]%}|%{$fg_bold[black]%})%(?..%{$fg[red]%})%#%{$fg_no_bold[default]%} " -# }}} +# Set to this to use case-sensitive completion +# CASE_SENSITIVE="true" -# {{{ Set/unset shell options. -setopt \ - brace_ccl inc_append_history hist_ignore_space \ - hist_no_store hist_no_functions hist_ignore_all_dups \ - hist_expire_dups_first no_hup menucomplete\ - no_check_jobs autocd autolist autopushd autoresume \ - cdablevars extendedglob globdots longlistjobs \ - noclobber notify pushdminus pushdsilent \ - pushdtohome rcquotes recexact sunkeyboardhack \ - complete_in_word ZLE +# Comment this out to disable bi-weekly auto-update checks +# DISABLE_AUTO_UPDATE="true" -unsetopt bgnice autoparamslash -# }}} +# Uncomment to change how many often would you like to wait before auto-updates occur? (in days) +# export UPDATE_ZSH_DAYS=13 -# {{{ Completion Styles -#menustyle selection -zmodload zsh/complist -zstyle ':completion:*' use-cache on -zstyle ':completion:*' cache-path ~/.zsh/completion_cache -zstyle ':completion:*' menu yes select -zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} +# Uncomment following line if you want to disable colors in ls +# DISABLE_LS_COLORS="true" -# autoquote urls (zshversion >4.2) -autoload -U url-quote-magic -zle -N self-insert url-quote-magic +# Uncomment following line if you want to disable autosetting terminal title. +# DISABLE_AUTO_TITLE="true" -# Setup new style completion system. To see examples of the old -# style -- compctl based -- programmable completion, check -# Misc/compctl-examples in the zsh distribution. -autoload -U compinit -compinit +# Uncomment following line if you want red dots to be displayed while waiting for completion +COMPLETION_WAITING_DOTS="true" -# list of completers to use -zstyle ':completion:*::::' completer _expand _complete _ignored _approximate +# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) +# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ +# Example format: plugins=(rails git textmate ruby lighthouse) +plugins=(git ruby archlinux bundler coffee compleat encode64 extract gem git-extras npm screen systemd urltools zsh-syntax-highlighting) -# Insert all expansions for expand completer -zstyle ':completion:*:expand:*' tag-order all-expansions +# Highlighters +ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets) -# Formatting and messages. -zstyle ':completion:*' verbose no #yes -zstyle ':completion:*:descriptions' format '%B%d%b' -zstyle ':completion:*:messages' format '%d' -zstyle ':completion:*:warnings' format 'No matches for: %d' -zstyle ':completion:*:corrections' format '%B%d (errors: %e)%b' - -# Offer indexes before parameters in subscripts -zstyle ':completion:*:*:-subscript-:*' tag-order indexes parameters - -# Command for process lists, the local web server details and host -# completion. -zstyle ':completion:*:processes' command 'ps x -o pid,nice,pcpu,tt,args' - -# Hosts to use for completion, see later zstyle. -zstyle '*' hosts $(awk '/^[^#]/ {print $3" "$4" "$5}' /etc/hosts) - -# Filename suffixes to ignore during completion, except after rm -# command. -zstyle ':completion:*:*:(^rm):*:*files' ignored-patterns \ - '*?.o' '*~' # '*?.orig' - -# Ignore completion functions, until the _ignored completer. -zstyle ':completion:*:functions' ignored-patterns '_*' - -# Disable unused completers. -compdef _default \ - apachectl apm apt apt-show-versions archie arp arping cvsup \ - debchange debfoster debpackages dictwords domains dpkg \ - dpkgsourceelm fetchmail figlet finger iconv \ - ispell java lp mailboxes mail make-kpkg mysqldiff \ - mysqlutils nedit netscape newsgroups pine printers \ - print rlogin slrn spamassassin texi \ - texinfo tiff tin userathost userson w3m yp urpmi rpm - -# }}} +source $ZSH/oh-my-zsh.sh +source $ZSH/lib/key-bindings.zsh +# Customize to your needs... +export PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/bin/core_perl:/home/nk/.gem/ruby/1.9.1/bin