* fzf: Fix shell directory for archlinux package
* fzf: Don't clutter PATH if fzf already available
* brew has it available via symlink in /usr/local/bin
* Fedora and Arch packages have it place in /usr/bin
* fzf: Fix archlinux guess by using release file
* fzf: unset leftover variables
Using the `jump` plugin, using the `marks` command will yield this output:
```
$ marks
desktop marks:printf:5: bad option: ->
dotfiles marks:printf:5: bad option: ->
home marks:printf:5: bad option: ->
```
the `marks` function uses `printf` with `->` and I believe `-` is used by `printf` for left-justification. changing this to `-- "->"` seems to render the appropriate output.
```
desktop -> /Users/uname/Desktop
dotfiles -> /Users/uname/.dotfiles
home -> /Users/uname
```
`firewall-cmd --get-active-zones` returns something like this:
```
dmz
sources: ipset:dmz-hosts
public
interfaces: eth0
```
if zone binding is based on source ips, so strings with `sources: ...` should be excluded along with `interfaces: ...` to get zones list.
* Add aliases for kubectl nodes
* change to have 'o' at the end.
My teammate noticed there's no namespacing shortcuts either and will be doing a PR on them with kgna.
* Fix for Composer's bin when Composer isn't global
When Composer isn't globally installed, the `composer global` call results in an error. This checks to see if Composer is available before making the call. When Composer isn't available, it will just manually set the directories.
* Fix Composer brackets in global bin directory
* composer: Apply feedback from ricpelo
This applies ricpelo's feedback at https://github.com/robbyrussell/oh-my-zsh/pull/6240#pullrequestreview-64253321
* composer: Fix path check syntax
* composer: test with $commands[] syntax
Initializes jenv and provides the jenv_prompt_info funtion to add
Java version information to prompts. This function is stubbed in
prompt_info_functions script to allow it to be safely called
regardless of whether or not the jenv plugin is loaded.
It also splits detection of the plugin/versions directory and bin directory
to suppport the way Homebrew splits the jenv bin and data directories
When Emacs and Vim are launched from outside of an interactive shell,
$TMUX and $STY are not set; check for Emacs and Vim environment
variables instead.
Per the [`go` command specification](https://golang.org/cmd/go/#hdr-Package_lists),
the `...` wildcard matches the empty string. This makes commands like
`go <action> . ./...` unnecessary: they should use `go <action> ./...`.
This also fixes a bug with the `gofa` shortcut, where it would emit an
error if called from a directory containing no go source files (but
having subdirectories that _did_ contain go files).
This adds support for ForkLift 3, which uses a different
application id and also uses a popover instead of a sheet for
entering the directory to go to.
This also improves the handling of different versions of ForkLift,
by first choosing any currently running instance, and if none is
running starting the newest available version.
Fixes#6565.
This means that if you have, for example, `alias rs='rails server'`, you can
run `be rs` and have it expanded to `bundle exec rails server`.
Fixes#5818
- Consolidates the switch-adding logic for readability.
- Replaces "[[ ... ]] && ..." with "if [[ ... ]]; then ..." in some
cases to avoid a spurious nonzero exit status from _zsh_tmux_plugin_run.
- Puts error message on stderr instead of stdout
When a commit has multiple tags associated to it, the git-prompt will
throw the following error:
git_super_status:[:4: integer expression expected: v0.21.x\ntags/v0.21.5,
git_super_status:[:7: integer expression expected: origin/v0.21.x,
git_super_status:[:11: integer expression expected: origin/v0.21.x,
git_super_status:[:14: integer expression expected: v0.21.x
git_super_status:[:23: integer expression expected: v0.21.x
This is due to the prompt expecting the tag field to be a single word
with no spaces in between but if there are multiple tags the python
script returns a string with ', ' space separated list of tags.
This throws off the parser. The solution is to ensure that the python
script returns a space-less string ensuring the git-prompt parser to
properly parse the data.
Signed-off-by: Thanh Ha <zxiiro@linux.com>
When invoking a shell as root using ```sudo -s```, the ssh-agent plugin
starts a new agent although it already exists.
The problem boils down to a check if ssh-agent is running using
```ps x```. If that is extended to ```ps ax``` for root, then the
existing ssh-agent will still work.
* Fix autojump sourcing on OSX with Macports
The last version of autojump available on Macports does not have
anymore different shell scripts (.sh, .zsh, .bash ...) to be sourced
but just one autojump.sh that takes care of that located at
/opt/local/etc/profile.d/autojump.sh
fix # 4625
* Fix bug with macports autojump on OSX.
According to #5003
if one exports EDITOR with parameters, say:
`export EDITOR='subl -w'`
running command:
`zshrc`
will result in:
`zsh: command not found: subl -w`
This can be fixed by updating common-aliases.plugin.zsh line 16 with:
`alias zshrc='${=EDITOR} ~/.zshrc' # Quick access to the ~/.zshrc file`
Fixes#5003
Use the same scheme as Darwin - sysctl instead of nproc, which doesn't exist in FreeBSD
Closes#2545
Co-authored-by: Daniel Bye <dbye@users.noreply.github.com>
This uses the default that virtualenvwrapper.sh would set if it was called. If the user
changes its value after the plugin is loaded, the plugin will work all the same.
Fixes#6882Closes#6870Closes#6883
* added a transfer.sh plugin
created a function to easily upload files to transfer.sh file sharing site
Usage : transfer file.txt
* added README for transfer.sh plugin
* replaced transfer function with @nl5887 version
* updated transfer README.md
* modified the script to use tar command instead of zip
* Update README formatting
Co-authored-by: Remco Verhoef <remco@dutchcoders.io>
If `EDITOR` variable contains arguments to an editor such as mine:
`export EDITOR=emacsclient -t -c --alternate-editor=''`
Then, the editor's arguments are passed on to `fasd`. To fix this, pass the EDITOR program in quotes.
The `virtualenvwrapper` script has been relocated to
`/usr/local/bin/virtualenvwrapper.sh`. Update the
plugin to look in the new location first. See:
http://virtualenvwrapper.readthedocs.io/en/latest/#introduction
to confirm the change in location for this script.
This addresses issue #3047 where the solution was to source this file
from your zshrc.
* New Feature:
Navigate directory hierarchy using ALT-UP and ALT-DOWN. (mac keybindings not yet implemented)
ALT-UP moves to higher hierarchy (cd ..)
ALT-DOWN moves into the first directory found in alphabetical order
Inside a fresh git repo, i.e. immediately after a `git init`, usually no
commit template exists yet. In this case, git renders a different
status message than "Initial commit on". We should consider this message
when attempting to parse out the branch name.
Fixes#6301
Deals with app error page, saving true error instead.
Upon app failure, Heroku returns HTML "Application Error" page.
Finding HTML page in .gitignore is confusing, so I replaced
`-s` with `-f` in curl calls, which cuts such output.
Replace instead of addition as no progress meter outputs either.
It is practically impossible to teach good programming style to students that have had prior exposure to BASIC. As potential programmers, they are mentally mutilated beyond hope of regeneration.
-- E. W. Dijkstra
Changes to be committed:
modified: dirhistory/dirhistory.plugin.zsh
New Feature:
Navigate directory hierarchy using ALT-UP and ALT-DOWN. (mac keybindings not yet implemented)
ALT-UP moves to higher hierarchy (cd ..)
ALT-DOWN moves into the first directory found in alphabetical order
NOTE: The scrapper was previously included, but due to the website it scrapped
being dead it's no longer useful. See #3642 for the code.
Co-authored-by: Marc Cornellà <marc.cornella@live.com>
`source ~/.zshrc` is a bad practice, it doesn't make sure that the full
zsh session is reloaded and it may have side effects.
Use `$SHELL` as the path to zsh if it exists (this will fix edge cases
where the zsh used is not the first on $PATH). Otherwise, use `zsh`.
* Always try and start gpg-agent, with --use-standard-socket it will try and use a standard socket directory. It won't start multiple agents if agent is already running. In addition, XDG_RUNTIME_DIR isn't always set
* ssh socket if broken if --daemon is run again, so onky start if we don't have a socket
* Removed unnecessary allocation of GPG_SSH_AUTH_SOCK
* Added trizen to the archlinux plugin
trizen is the recomended solution for using the Arch User Repository.
both yaourt and pacaur have some issues.
Signed-off by: Arthur Brainville (Ybalrid) <ybalrid@ybalrid.info>
* Add trizen aliases to the readme
Also fixed inconsistency in formatting on readme file.
(also added myself in the contributor list)
* Remove older shpotify code from the macOS plugin
* Add Shpotify 2.0.1 from the upstream repository at https://github.com/hnarayanan/shpotify/releases/tag/2.0.1
* Wrap the Shpotify script in a function and import into the macOS plugin
* Fix import path of the shpotify script
* Add shpotify permission notice in the macos plugin rREADME
* Merge with the upstream shpotify project
- Fix playlist playback
- Add a 'stop' command
* Fix the terraform function name
Current function name do worse. I always use `terr<TAB>` and before those prompt it was add space in the end. Now because we have multiple functions and binaries started with terraform there are no space.
* Updated terraform readme
Updated the name of new function name
`pacaur -Syua` only updated AUR pakcages, wihch is incompatible with semantics of `pacupg` and `yaupg`. Removing `-a` here it would work for both main repos and aur.
* Plugin for iTerm2 on OSX
iTerm2 is a popular terminal emulator for OSX (https://www.iterm2.com).
The plugin currently implements one function, iterm2_profile, which
allows easily changing the currently selected user settings profile,
without creating a new tab or window, just by calling the function.
For example, this is handy for switching from a dark to a light colored
profile without having to re-open anything.
In addition, it also works within tmux running inside iTerm2.
* iTerm2 Plugin: Run any iTerm2 command
Refactored the plugin so that it can run arbitrary iTerm2 commands.
Should work with any of the supported commands, see
https://iterm2.com/documentation-escape-codes.html
* iTerm2 Plugin: Add functions to change tab color
The gpg-agent plugin did not work for gpg versions above or equal to
2.1 because of the `--write-env-file` option deprecation. This new version
works fine and also enables the ssh-agent support only if it is enabled in the
gpg-agent config file.
This is the default behavior of rbenv and what users are expecting
most of the time.
It allows users to have their own set of rubies and gems. It also
prevents losing all rubies when rbenv is updated using Homebrew which
is not true when RBENV_ROOT is set to /usr/local/opt/rbenv.
Added playlist feature for the itunes command:
if a variable is passed and is valid - will play the playlist
if a variable is passed and is invalid(no such playlist) - will stop all playing
if no variable is passed will print all playlists available on the host
Add the proper config bin directory to `PATH` instead of the previously (incorrect) fixed `~/.composer/vendor/bin`. Nowadays the right config dir is `~/.config/composer/vendor/bin`.
* Improve UX for Spotify commands in osx plugin
Spotify command UX is a bit weak for people who live and work almost entirely in shells.
- `spotify quit` should not open Spotify if it is not already running. Should confirm that Spotify is indeed not running.
- `spotify quit` should not blow away the user's shell once Spotify is quit. This can be a disruption to work flow.
This PR looks to add a few little checks which will help improve this experience.
This PR also adds a space to line 477 between `break` and `;;` for consistency. Doesn't seem like a big enough change to put in its own PR.
* Rearranging output as per peer feedback
* osx plugin's spotify: change quitting w/ closing
Closing is more idiomatic English.
* Add a React Native alias, and one to start the web server
* Reorganise aliases in react-native plugin
* Update README for react-native plugin:
Fix format and add a brief description
Add missing aliases in react-native plugin README
Although `gaa` (git add --all) is cool, it stages every file, tracked or
not, if it is not on .gitignore.
Sometimes we want to just stage everything we are working on, that is
already tracked. For that reason, 'gau' can save us some time.
Currently, only tasks with complete subproject specifier are added to
.gradletasknamecache. Gradle commands can be called for all (sub-)projects
they are defined for, using their name as defined in the subproject, here
called "simple" task names. One example is "gradle clean".
This patch adds support for parsing out those "simple" task names from the list
of fully specified task names. The .gradletasknamecache file will contain
both the fully specified names, and the "simple" names for your autocompletion
pleasure.
PHP can be executed as CLI script but due to the automated attempt
to add browser support to that extension such ability is prevented
in certain circumstances.
This allows for the user to combine the jump command with something else. In my example cd and jump are now combined like this:
```bash
jumpcd() {
jump $1 > /dev/null || cd $1
}
alias cd="jumpcd"
```
Also:
- Changes `globes` (which doesn't exist) to `glob expressions`.
- Delete the `trigger autocompletion to your current aliases` use case, since that's not
really implemented.
* cp plugin: change cpv to function so that completion works
* cp plugin: show numbers in units of 1024 (K,M,G,T)
Use `-h` level (3): output numbers in units of 1024.
See the manpage of rsync for more information.
* cp plugin: add a README file
* cp plugin: recurse directories
* cp plugin: remove `--` to separate files from options
This has some undesired effects, like having `cpv --help` be a file
not found error.
Use `--` yourself if you need it (which you generally don't):
```zsh
cpv -- -some-file-with-hyphens.txt /tmp
```
Added this same info to the README.
This commit removes most of its contents: it just leaves the
contribution signature. The rest is obsolete and superseeded
by #5460, but the contribution is still valuable.
Related: #4263.
Signed-off-by: Marc Cornellà <marc.cornella@live.com>
The current list of directories to search for autoenv on misses the default location on Ubuntu systems if you just do a normal `pip install autoenv` - [it will place](https://github.com/kennethreitz/autoenv/blob/master/setup.py#L16) `activate.sh` in `/usr/local/bin` unless you manually override the `--prefix` or something.
The `/usr/local/opt/autoenv` is fine for macOS/homebrew installations but it would be nice not to have to manually patch on Linux :)
When making a WIP commit, we generally just want to save the state of the
current branch temporarily, maybe because we want to push our work for backup
purposes, or change branch to work on something else. Therefore, it's generally
undesirable to run Git hooks, which might do things like run linters, because
we probably don't care if our WIP has lint errors.
Adds the following aliases:
```zsh
alias dco='docker-compose'
alias dcr='docker-compose run'
alias dce='docker-compose exec'
```
And sorts the aliases similar to `docker-compose help` order
Add "-DgroupId= -DartifactId= -Dversion= -Dpackaging=jar -Dfile=" to options for
"install:install-file" for when you need install a local jar file.
Closes#5376.
* initial spotify control
* volume up/down added
* add info, share and status option
* add color echo
* change pause to play/pause
* add Search Option for album,artist and tracks
* add search option for playlist
* fix showStatus output
* complete help
* readme updated
* seach show Url of song
The command ‘rails console —sandbox’ loads our Rails application,
connects to the database and automatically starts a database
transaction. All database operations performed within this console
session are rolled back upon leaving the console. Reference -
https://www.codeschool.com/blog/2014/06/17/rails-console-sandbox/
* Improve gradle plugin task parsing
Added _gradle and _gradlew as symbolic links to gradle.plugin.zsh,
otherwise the plugin was not properly loaded.
Output from `gradlew tasks --all` is now parsed in two levels,
first we find segments between `------...` and a newline.
Second, all those lines are parsed and cleaned using awk
and added to .gradletasknamecache.
Tested on gradle 2.13, and gradlew 2.14.
* Remove .gradletasknamecache before regenerating it
Remove the .gradletasknamecache file to avoid having an unnecessary
newline at the top of the file when regenerating it.
* Improve gradle task parsing by writing .gradletasknamecache atomically
Previously the .gradletasknamecache file was written line by line inside a parsing loop,
which could cause errors such as half-written cache files if the process was aborted.
This also removes the need of deleting the .gradletasknamecache file before parsing.