The option '-F' causes 'less' to automatically quit if the contents fit
the screen and the option '-X' causes 'less' to not clear the screen after
quit. I think both options are generally useful for terminal applications.
They are in particular useful for Git as it runs all output through a
pager. Git will run 'less' with '-FRX' by default if the environment
variable $LESS is not defined [1]. Since oh-my-zsh used to set $LESS to
'-R', Git would not override this setting. Consequently, Git would
display even a single line of output in a pager and the user would need
to explicitly quit that pager (see mailing list discussion [2]).
Therefore, lets change the oh-my-zsh default value for $LESS to '-FRX'.
This would be useful for oh-my-zsh Git users and likely for users of
other applications that use 'less' too.
[1] 36438dc19d/Documentation/config.txt (L819-L821)
[2] https://public-inbox.org/git/2412A603-4382-4AF5-97D0-D16D5FAAFE28@eluvio.com/
- Add double quotes to command so that the next argument isn't
interpreted as the title for the start command.
- If the first argument is a valid path, convert it to Windows path
notation. If `wslpath` fails—because it's a path from inside WSL,
which cannot be converted to Windows path notation— fail with an
error code.
This last circumstance will show an error like so:
wslpath: path: Result not representable
This error message will give information on what exactly has happened
and how to either solve ownership and permissions or disable the check
entirely.
Also gets rid of the purge of compinit caches since with the current
logic insecure completion directories are ignored and therefore haven't
tainted the cached files.
This will work only on files and directories in a DrvFs mount, i.e.
that can be translated to a Windows drive path.
For example: /mnt/c/Users/user.
Files and folders inside the LXSS directory can't be handled in
Windows, they must be ONLY used by the WSL subsystem. That's why
you won't be able to open your $HOME directory, for instance.
See https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/
This fixes the old behavior which made it so all duplicates would be
deleted if the command history filled up with unique events.
> You should be sure to set the value of HISTSIZE to a larger number
> than SAVEHIST in order to give you some room for the duplicated
> events, otherwise this option will behave just like HIST_IGNORE_ALL_DUPS
> once the history fills up with unique events.
This commit changes the history alias into a function which puts
the passed arguments before `-l 1`. It also provides a temporary
workaround to the lack of a `history -c` command in zsh.
For more information see issues 739 and 789.
Sourcing oh-my-zsh happens in zshrc, which will override settings of
profile and zshenv. Treat misc values, `PAGER` and `LESS`, as default
settings without overriding existing values.
Fixes: #1, robbyrussell/oh-my-zsh#3016
`gls` seems to be installed by default or on most macOS systems, but its
default color scheme sucks. This fix will make sure to only use it if it
has been customised prior to running OMZ.
Related: #5516, #5520.
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>
* 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
* 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
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.
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.