Commit graph

509 commits

Author SHA1 Message Date
Gravemind 0d897cca74 Fix hyphen and underscore filename completion
This deletes the previous hack that allowed completing files with
the extension: e.g. `abcd.z` to `abcdefg.z`.

It is still possible to use `abcd[TAB].z`, and hyphens or underscores
are very much more important than this other trick.

Source:
https://github.com/robbyrussell/oh-my-zsh/issues/1398#issuecomment-169163149

Signed-off-by: Marc Cornellà <marc.cornella@live.com>
2016-09-22 00:43:30 +02:00
Yuichi Tanikawa 27fff27253 Fix git_prompt_status() not showing ahead/behind/diverged status correctly (#5388) 2016-09-08 00:23:04 +02:00
Marc Cornellà 71201ffd67 git: output nothing when no commits ahead or behind
This fixes old git_commits_ahead behavior and changes git_commits_behind
to have the same behavior.

Fixes #5355
2016-09-05 11:22:48 +02:00
Fredrik Fornwall 9772f8e10d Replace /bin/sh with sh for portability (#5291)
This makes things work even on system lacking /bin/sh, such as on
non-rooted Android systems.
2016-08-09 02:39:11 +02:00
Luke Childs a7de0fabd7 nvm plugin improvements (#5265)
* Export $NVM_DIR if it doesn't exist and use it when looking for nvm
* Use $NVM_DIR when looking for nvm for completion
* Use $NVM_DIR when looking for nvm in nvm_prompt_info
2016-08-07 19:36:44 +02:00
Steven 61981951b1 Updated git_commits_ahead function (#5247)
* Function wasn't returning correct value
* Updated underlying git command
* Kept echo command from previous function for backwards compatibility
* Kept function consistent with git_commits_behind
2016-08-01 17:48:46 +02:00
Steven 96a2092e37 lib/git.zsh: Added git_commits_behind function (#4450)
* Added git_commits_behind function
* Added 'command' to git_commits_behind function
* git_commits_behind code review changes
2016-07-15 11:05:39 +02:00
Marc Cornellà cc36063cfd Cleanup theme-and-appearance.zsh 2016-05-12 13:23:46 +02:00
Marc Cornellà ed484dfaf6 Delete cdablevars option by default
Fixes weird autocompletion of directories and named users.
Fix #4864
2016-05-12 13:22:27 +02:00
Aesop Wolf 69e1506ad9 Add git user profile functions for prompt display 2016-03-31 14:16:46 -07:00
Michele Bologna 87f8251388 Re-added $ZSH_THEME_GIT_PROMPT_EQUAL_REMOTE
Re-added $ZSH_THEME_GIT_PROMPT_EQUAL_REMOTE variable which was removed in 9f55213
2016-01-13 15:36:59 +01:00
Marc Cornellà 0842384987 Put local var declaration in its own line in lib/git.zsh
In places, the local statement will override the exit code and the written
command won't have the effect intended when it was written.

For example, when it's not inside a git repo the exit code won't be true,
but the local statement will make it true regardless. See #4708.
2015-12-17 18:37:49 +01:00
Andrew Janke 9f552130bd Move current_branch() from git plugin to core lib/git.zsh
Fixes #4085: core -> plugin dependency issue.
Rename it to git_current_branch for clarity that it's git-specific.
Update all plugins that were calling it to use new name.
Fix variable leaks by making more variables in lib/git.zsh local.
Have lib/git.zsh use [[ ]] instead of [ ] everywhere.
2015-12-14 20:28:37 -05:00
moyamo 71deb74552 Fix indentation 2015-12-14 13:05:51 +02:00
moyamo d779750341 Default to using terminfo to set the terminal title
Currently, the title is only set on supported terminals (i.e. xterm,
urxvt, screen etc.). Using terminfo entries to set the terminal title
adds support for many more terminals.
2015-12-14 12:59:04 +02:00
desrum_m 95aa9bd97b Better research history with arrow keys
This change enables UP-arrow and DOWN-arrow full-line history completion.
For example, if you write `git clone` and press UP:

- Before this change,
  it will use the last command that starts with `git`.

- After this change,
  it will use the last command that starts with `git clone`.
2015-12-14 01:08:55 +01:00
Marc Cornellà d54d896346 Merge pull request #3966 from apjanke/fix-spectrum-ls
Make spectrum_ls implementation consistent with $FG and spectrum_bls
2015-12-13 21:39:13 +01:00
Marc Cornellà 11de60fde9 Merge pull request #3965 from apjanke/spectrum-hide-codes
Hide spectrum.zsh var values to avoid junky output to terminal
2015-12-13 21:28:44 +01:00
Marc Cornellà 4fbfb149d3 Add back the - alias to go to the previous directory
The alias was removed in #3564. A couple of users were using
it, so I'm adding it back.
2015-12-13 20:36:31 +01:00
Marc Cornellà 4e306887c2 Cleanup update_terminalapp_cwd function 2015-12-01 14:05:38 +01:00
Marc Cornellà eca912e51a Quote all variables in if statements 2015-12-01 14:05:18 +01:00
Marc Cornellà 103eb32721 Use a case structure to id terminal types 2015-12-01 14:04:12 +01:00
Dawid Ferenczy 63d7500cf1 Added setting of the window title in Cygwin 2015-12-01 13:52:52 +01:00
Marc Cornellà b457ae2501 Merge pull request #4651 from ionelmc/patch-1
Add support for "putty" $TERM in termsupport.zsh
2015-12-01 00:05:17 +01:00
Ionel Cristian Mărieș d55111f200 Support all kinds of putty-like terminal strings. 2015-12-01 00:59:35 +02:00
Marc Cornellà 584e0a6ef9 Use shwordsplit in open_command() 2015-11-30 21:27:58 +01:00
Marc Cornellà afdfe2391e Add empty string parameter to start command
Otherwise `start` will confuse the first parameter as the title of
a new command prompt if the parameter contains whitespace. That is
because the command to be run will be:

    start "abc def"

which opens a new command prompt window with the title "abc def".
With the added empty string we force the start command to interpret
the passed parameter as the file / command:

    start "" "abc def"

which will be interpreted like `""` is the title and the rest is
the file or command to start.

-------

**NOTE:** this wouldn't be necessary if the start script in msys
was defined differently; that is, if it had the empty string
already incorporated in the script (/usr/bin/start), like so:

```diff
-cmd //c start "${@//&/^&}"
+cmd //c start "" "${@//&/^&}"
```

Notice however that this would make it impossible to use start
setting a different title, so it's probably best to leave it as is.

More info: http://sourceforge.net/p/msys2/tickets/14/

-------

The change `${(z)open_cmd}` is necessary to force zsh to split the
variable by the spaces and interpret it as separate words.

More info: http://zsh.sourceforge.net/FAQ/zshfaq03.html#l17
2015-11-30 21:21:28 +01:00
Mark Ingalls 0a79f1e836 make this work in the git-for-windows SDK
Added an option for the msys value of $OSTYPE
2015-11-30 21:01:15 +01:00
Ionel Cristian Mărieș 711c1bcb40 Add support for "putty" $TERM in termsupport.zsh 2015-11-30 15:16:47 +02:00
Marc Cornellà fea74b4b34 Fix open_command nohup call
There a syntax error if $cmd_var contains more than one word,
so we drop the current way to prepend nohup and use a simpler
if-else form.
2015-11-29 19:34:10 +01:00
Andrew Janke f0981d564a termsupport: protect subshell with quotes 2015-11-27 15:58:06 +01:00
Marc Cornellà ebfba0e539 Drop the use of nohup on OSX for tmux compatibility
Apparently `nohup` is not needed in OSX, and using it has the side
that it may break under tmux with the error

  nohup: can't detach from console: No such file or directory

For now, this commit only drops the use of `nohup` in OSX. But it
*may* not be necessary under other similar platforms.
2015-11-27 15:40:31 +01:00
Marc Cornellà 56345c26fb Merge pull request #4473 from apjanke/5_1_1-bracketed-paste-hack
Disable bracketed-paste-magic in zsh 5.1.1, where it is buggy
2015-10-20 08:26:15 +02:00
Robby Russell b28db6b475 Merge pull request #4475 from apjanke/diagdump-5.1-fix
diagnostics: fix for reserved-word changes in zsh 5.1
2015-10-13 18:01:52 -07:00
Robby Russell dc06e96e9c Merge pull request #4254 from apjanke/copyfile-portability
Cross-platform clipboard clipcopy() and clippaste()
2015-10-09 07:15:53 -07:00
Andrew Janke d15521d09d diagnostics: fix for reserved-word changes in zsh 5.1
Reference:
https://github.com/zsh-users/zsh/blob/zsh-5.1.1/NEWS#L20-L32
2015-10-08 22:31:39 -04:00
Andrew Janke 3551745792 Disable bracketed-paste-magic in zsh 5.1.1, where it is buggy
A bracketed-paste-magic bug breaks pasting of CJK and some other characters in zsh 5.1.1.
http://www.zsh.org/mla/workers/2015/msg02680.html
See #4434
2015-10-08 22:13:42 -04:00
Andrew Janke b6d78df62c clip*: add xsel support 2015-10-05 05:13:11 -04:00
Jeff Smith 2d9df4468f Fix 'ack-grep' bug for non-ubuntu users
Redirect STDERR along with STDOUT when looking for ack-grep
2015-10-03 18:39:41 -07:00
Robby Russell 5d24ba4228 Merge pull request #3165 from hbin/fix-alias-afind-osx
The executable command on Mac OSX is 'ack' rather than 'ack-grep'.
2015-10-03 14:33:10 -07:00
Andrew Janke e4fdb08365 Merge branch 'master' into copyfile-portability 2015-09-28 08:52:03 -04:00
Robby Russell b5a5bc9ae5 Merge pull request #4337 from iCross/master
fix url-quote-magic not working issue
2015-09-26 09:35:12 -07:00
Robby Russell f186b62704 Merge pull request #4387 from mbologna/fix_git_equal_remote
Uniform git prompt equal remote
2015-09-26 09:34:58 -07:00
shawn 7a636097f8 Correct repo dir
cvs's metadata is under CVS and not .cvs
2015-09-23 18:47:09 -04:00
Michele Bologna 12e99b5334 fix indentation 2015-09-23 11:14:14 +02:00
Michele Bologna 5323954c98 Uniform git prompt equal remote
Uniform git prompt equal remote to all others prompts, setting the correct symbol
(if applicable) to $git_remote_status, instead of echoing it.

It also solves the problem pointed out in #3911
2015-09-23 10:52:24 +02:00
Robby Russell 9bd88bb9aa Merge pull request #4251 from mcornella/fix-completion-dots
Fix completion waiting dots function
2015-09-19 09:01:55 -07:00
Robby Russell 0bb3e0188c Merge pull request #3940 from apjanke/diagnostic-dump-function
Add omz_diagnostic_dump() to help with bug reporting
2015-09-19 08:50:23 -07:00
Robby Russell 8cf88f2b04 Merge pull request #3911 from mbologna/git_remote_status_equal
added ZSH_THEME_GIT_PROMPT_EQUAL_REMOTE
2015-09-19 08:49:57 -07:00
Robby Russell 3c782f78f1 Merge pull request #3582 from apjanke/fold-terminalapp-plugin-into-termsupport
Fold terminalapp plugin in to lib/termsupport
2015-09-19 08:48:03 -07:00
Robby Russell 5e45c16701 Merge pull request #2751 from drm00/fix-openbsd-colorls
add check for colored ls on openbsd. (retry of #2225)
2015-09-19 08:46:13 -07:00
Robby Russell 56cdec7534 Merge pull request #3889 from leycec/compaudit
Repair `zsh` Path Permissions on `oh-my-zsh` Startup under Cygwin
2015-09-19 08:40:34 -07:00
iCross 19c0b185ad fix url-quote-magic not working issue
Incompatibilites between 5.0.8 and 5.1:
bracketed-paste-magic may also be necessary in order to apply url-quote-magic.

Reference: 
a9df6aaa70/Functions/Zle/url-quote-magic (L11)
2015-09-10 14:08:02 +08:00
Marc Cornellà b42efeb87e Switch off line wrapping in case dots occupy extra line
This commit uses the (hopefully) standard rmam and smam escape sequences
which toggle off and on line wrapping respectively.

This is so that extra dots that don't fit the current line won't be
displayed in the next line, which would in turn make the shell
display a new prompt on the next line after the dots are hidden.

I've added a check for $terminfo rmam and smam values to be sure we have
them before printing them out.

If this commit breaks something post an issue with your terminal
emulator and $TERM value and we'll figure out what went wrong.
2015-09-05 22:47:50 +02:00
Marc Cornellà 6a8d406eaa Use prompt expansion sequence to color red the output
This makes it clearer and possibly more portable for different
platforms.
2015-09-05 22:47:50 +02:00
Marc Cornellà 3976e04035 Use proper if comparison 2015-09-05 22:47:50 +02:00
Andrew Janke 46ddd88fe0 diagnostics: switch to shasum, filter sysinfo using lines
shasum seems more widely available than md5/md5sum, and we don't have to worry about dealing with the different signatures and output formats of md5 and md5sum then.

sysinfo outputs localized message labels, so we can't just grep for "OS Type". But OS is the first thing it outputs, so we can probably just grab those lines by line number. Switched to doing that.
2015-09-04 14:13:00 -04:00
Andrew Janke 5c8b0cc0c1 Add clipcopy() and clippaste() generic cross-platform CLI clipboard functions.
Change copydir, copyfile, and coffee plugins to use them, instead of the Mac-only `pbcopy` command.
2015-08-18 03:49:51 -04:00
Andrew Janke 00eb465830 Merge branch 'master' into fold-terminalapp-plugin-into-termsupport 2015-08-17 20:59:39 -04:00
Andrew Janke 47d19cc564 Add defensive emulate -L zsh to termsupport functions 2015-08-17 20:55:41 -04:00
Andrew Janke 96c34cebae Add a deprecation comment. 2015-08-17 20:51:41 -04:00
Robby Russell 7c60da9e1f Merge pull request #4233 from apjanke/apple-term-no-dupe-folder-in-title
termsupport: avoid repeated dir in window title in Terminal.app
2015-08-12 21:15:59 -07:00
Robby Russell b8dbd9bfba Merge pull request #4217 from mcornella/standard-open-command
Implement and use a standard, cross-platform open command
2015-08-12 21:14:27 -07:00
Robby Russell f6a2b97356 Merge pull request #4203 from apjanke/title-protect-promptsubst
termsupport: protect title() with `emulate -L zsh` for portability
2015-08-12 21:12:21 -07:00
Robby Russell d1ea849fdd Merge pull request #2106 from adepasquale/master
Added ssh-like mosh window title
2015-08-12 21:01:00 -07:00
Andrew Janke 14b4ba83c3 Move urlencode/urldecode functions to core lib 2015-08-09 16:28:47 -04:00
Andrew Janke 17da983442 termsupport: avoid repeated dir in window title in Terminal.app 2015-08-09 15:15:12 -04:00
Marc Cornellà 2d0bfcf818 Implement cross-platform open function open_command()
For now this supports:
- Mac OS X
- Linux (presumably works on all versions)
- Cygwin (Windows)
2015-08-05 00:27:51 +02:00
Andrew Janke 90ea67edf0 termsupport: protect title() with emulate -L zsh
This prevents it from malfunctioning when `setopt prompt_subst` is off.
2015-07-31 22:23:12 -04:00
Andrew Janke fa25445868 diagnostics: include output file name in dump output 2015-07-22 12:59:39 -04:00
leycec dcb175d430 Insecure completion handler added.
A new "lib/compfix.zsh" script defining a new handle_completion_insecurities()
function has been added, which handles insecure completion directories by
notifying users of said insecurities and moving away all existing completion
caches to a temporary directory. While intended to be called at startup, this
function is generally callable at any time (e.g., for testing).
2015-07-11 01:52:04 -04:00
Bin Huang 775ac3ad9f The executable command on Mac OSX is 'ack' rather than 'ack-grep'. 2015-07-11 09:32:05 +08:00
Andrew Janke bca720fa95 diagnostics: include detailed OS version info if possible 2015-07-09 21:18:11 -04:00
Andrew Janke 9813ff5f24 omz_diagnostic_dump: Add umask and $fpath listing.
This helps catch issues with compinit and insecure directories.
2015-06-28 18:00:47 -04:00
Michele Bologna 01e355fb1e In addition to the already existing variables ZSH_THEME_GIT_PROMPT for behind,
ahead and diverged remote, I added ZSH_THEME_GIT_PROMPT_EQUAL_REMOTE.
2015-06-15 10:15:22 +02:00
Ali Afshar f66a54fb78 Add missing space causing parse error. 2015-06-14 22:29:11 -07:00
Robby Russell 34d3680232 Merge pull request #3838 from forivall/hyphen-insensitive
Add hyphen insensitivity
2015-06-14 22:17:43 -07:00
Robby Russell 422db48e37 Merge pull request #3986 from evilhamsterman/master
Only load url-quote-magic if it is available.
2015-06-14 22:09:13 -07:00
Dan Mills 2fb326513a Only load url-quote-magic if it is available.
Partially fixes #3614
2015-06-10 15:49:47 -07:00
Adam Lindberg 2d40cc0bb3 Add git_prompt_behind and git_prompt_exists
This adds two new theme functions for git:
* `git_prompt_behind` works in a identical fashion to `git_prompt_ahead`
  and will output a format variable (`ZSH_THEME_GIT_PROMPT_BEHIND`) if
  the branch is behind.
* `git_prompt_remote` will output one format variable if the branch
  exists on remote (`ZSH_THEME_GIT_PROMPT_REMOTE_EXISTS`), and another
  if the branch is unpublished (`ZSH_THEME_GIT_PROMPT_REMOTE_MISSING`).

The old `git_prompt_ahead` has been changed. Using git log is subject
to formatting in .gitconfig, which can be overridden and will break
this function. Relying on rev-list is much more stable.
2015-06-10 14:36:55 +02:00
leif.hanack 70c4a27fd6 Added a possibility to display the remote branch and the number of commits you are ahead or behind 2015-06-10 14:36:54 +02:00
Tejas Bubane 1653545282 Recognize comments by default. 2015-06-10 14:36:54 +02:00
Andrew Janke 0bda651dfd Fix the spectrum_ls implementation in spectrum.zsh 2015-06-08 07:19:57 -04:00
Andrew Janke 8142261261 Hide spectrum.zsh var values to avoid junky "set" output to terminal 2015-06-08 07:07:45 -04:00
Andrew Janke af68165207 Fix name of backed-up zshrc 2015-06-06 11:50:05 -04:00
Andrew Janke afadb5a7fb diagnostics: add zstyle state to output 2015-06-06 11:04:14 -04:00
Andrew Janke 82c1288cb2 Include some bash rc files; improve formatting; more version info 2015-06-06 01:19:29 -04:00
Andrew Janke ea6adc5a0a Add omz_diagnostic_dump() to help with bug reports. 2015-05-29 23:22:07 -04:00
Jordan Klassen 66052e2d07 Add hyphen insensitivity 2015-04-29 15:37:39 -07:00
Robby Russell ff6ca9b856 Merge pull request #3538 from TheLinuxKitten/grep-if-color
Test if --color=auto is a valid option for grep
2015-02-22 10:17:16 -08:00
Robby Russell efd6d4d593 Merge pull request #3597 from apjanke/no-dot-in-cdpath
Remove '.' from $cdpath to avoid Cygwin breakage
2015-02-21 17:04:24 -08:00
Andrew Janke 88f42b6132 Add support for variant "utf8" locale suffix spelling. Fix dumb bug in iconv call that would cause it to hang. 2015-02-21 16:25:28 -05:00
Andrew Janke cb37c934c0 Remove unnecessary braces. 2015-02-21 16:00:40 -05:00
Andrew Janke 187cf07c91 For unspecified encodings, assume it's UTF-8 or compatible (e.g. ASCII) and muddle through without character encoding conversion. 2015-02-17 00:54:54 -05:00
Andrew Janke 702ff1ca91 Add support for non-UTF-8 encodings in caller's locale. 2015-02-17 00:49:53 -05:00
Andrew Janke 6ccf67a077 Do not put explicit dot in $cdpath, since it causes problems on Cygwin due to an underlying zsh bug. 2015-02-16 10:24:22 -05:00
Zhiming Wang 2790a5e565
Bring back -h option to ls variants
The -h options in l, ll, and la were lost in 25b1cd6. There's no reason
to remove them.
2015-02-15 11:37:28 -08:00
Andrew Janke 3a18c33f17 In termsupport, use LC_CTYPE instead of LANG to enable byte-by-byte text processing. LANG doesn't seem to actually work. 2015-02-14 20:30:03 -05:00
Andrew Janke a9e97e5d2d Remove terminalapp plugin and fold its implementation in to lib/termsupport.zsh. Replaces the redundant Terminal.app support that was recently added to termsupport. 2015-02-14 19:05:27 -05:00
Marc Cornellà 3704fbb71e Extract CWD notifier back out of auto-title hooks 2015-02-13 15:57:18 +01:00