`url-quote-magic` automatically escapes characters that fit a URI scheme
as you type. From what I can tell from the commit history, this was
mistakenly placed in `else` branch of the nested conditional instead of
at the end of the outermost conditional.
Closes#160
The contents of git_info are subject to expansion by the shell. Avoid
putting raw ref names in the prompt to protect the user from arbitrary
code execution via specially crafted ref names (e.g., a ref named
'$(IFS=_;cmd=sudo_rm_-rf_/;$cmd)' would execute 'sudo rm -rf /' when the
prompt is drawn). Instead, put the ref names in new global variables and
reference these variables from git_info.
See:
- https://github.com/njhartwell/pw3nage
- 8976500cbbFixes#158, Closes#159
This uses the verbose mode to be able to display indexed, unindexed and
untracked files indicators. This is the last theme left to be migrated
to git-info, and the first one to use its verbose mode.
Originally, the theme also supported svn via vcs_info. The svn support
is lost in this rewrite. Maybe if a new svn-info module is introduced to
Zim...
Closes#157
so it behaves alike the non-verbose mode. For example, in the "merge"
special action context, files are being reported as both indexed and
unindexed by `git diff-index` and `git diff-files` commands in
non-verbose mode. That was not the case with the regular expressions
used in the verbose mode.
As previous migrations of themes to git-info, this does not use its
verbose mode, so a repo with just untracked files is not considered
dirty.
It uses the newly-introduced `diverged` context and `coalesce` function
from git-info.
Closes#152
that will be used by the minimal theme, and could be used for future
themes too. Prezto had this, but we diminished its necessity by
simplifying how git-info works.
`prompt.showinfo` for enabling or disabling it globally or per
repository. It can be globally disabled by not loading the `git-info`
module at all, and prompts currently will not break (and in the future
should still not break) if the module is not loaded.
This removes one git call that is used to check for the
`prompt.showinfo` configuration value.
that, when defined, will be set if branch is both ahead and behind of
remote. If not defined, the `ahead` and `behind` contexts will still be
set, as how they worked previously.
Based on my rewrite of the Agnoster theme, uses simpler segment drawing
functions and only relies on local variables. Uses git-info module in
non-verbose mode, so a repo with only untracked files will not count as
dirty (but dirty state is computed faster). Also took the freedom of
adding an extra space character after the 'r' for the Ranger segment,
and after the dirty indicator for the Git segment. Everything else looks
and behaves exactly the same as the original prompt.
- Fix word completion for fasd
- Fix initialization script to have all fasd-related functions inside it
(functions was not called properly when they was in separate files)
- Add another alias `v` for fasd that will access recently used files
from .viminfo
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Fixes#111, Closes#133
Adds customizable terminal/window title. Set `${ztermtitle}` in `.zimrc`
to use this functionality.
Check the notes added in templates/zimrc for additional usage info.
Closes#52
as they were only being used by gitster prompt theme and kept for
Oh-My-Zsh compatibility. The newly introduced git-info module (inspired
by the git-info Prezto function) provides a more powerful
implementation than the Oh-My-Zsh inspired git_prompt_info.
Updated gitster to use the git-info module.
Closes#124
based on the Prezto git module
[function](https://github.com/sorin-ionescu/prezto/blob/master/modules/git/functions/git-info)
and further refactored and simplified.
What changed:
- Commit format only in 'detached HEAD' state, so
`$(coalesce "%b" "%c")` is not needed, because you only get one of
those.
- Removed the `added`, `deleted`, `modified`, `renamed` and `unmerged`
verbose contexts.
- `git status` is only used in verbose mode.
- In non-verbose mode, the `untracked` context is not available, and
also untracked files are not considered for computing the `dirty`
context. Using `git status` or checking for untracked files is
[expensive](https://gist.github.com/sindresorhus/3898739).
Set `less` termcap colour variables, and update the module README.md.
Change the code to enclose all colour logic within a
`(( ${terminfo[colors]} >= 8 ))` condition.
Check if `PAGER` is set before setting the `lm` alias.
Keeping the British "colour" spelling. :-)
Closes#101
The choice to remove these packages should be up to the administrator.
Having an old -git package around after experiencing an upstream issue
is always handy.
The issue is fixed by adding `zle redisplay` after `zle
expand-and-complete` for the expand-and-complete key binding. An
additional `print -n '...'` is also included to show an indicator while
the menu is loading, and that is purely cosmetic.
There's still one glitch: the prompt jumps one line up after
<Tab><Tab><Ctrl-C>. This was observed in Prezto too.
Fixes#85, closes#89
For `setopt CORRECT`. Let the user uncomment a line with the `setopt`
directly in the configuration file, instead of having a flag variable
for it.
Closes#90
Fix `uname` calls with `-o` parameter, as this is not BSD compatible.
As per @Eriner, use `uname -a` instead as a "catch-all" parameter.
Fixes#75, Closes#79
Use `$PS4` debugging prompt to generate timestamps, instead of GNU `date`.
This also keeps timestamps and respective command together, something
that `paste` could not guarantee given some commands may have multiple lines.
The prompt timestamp has a precision of 6 decimals. The `printf "%12.9f\n"`
instruction with 9 decimals was kept to keep producing "the **SAME** output".
This could be replaced to `printf "%12.6f\n"` to make the output
smaller.
Also, only the first line of commands with multiple lines are saved, to
keep the output format backwards-compatible.
Closes#84
The offender was `print -P`, where `-P` does [prompt
expansion](http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html#Prompt-Expansion).
I took the freedom to also change a few things:
Move the `add-zsh-hook precmd` up,
add `prompt_magicmace_` prefix to all function names,
add `COLOR_` prefix to all color global variables,
and move assignment to `PROMPT` to `prompt_magicmace_setup`.
Fixes#70, Closes#81
This commit assumes that the user-provided variable for the filename
will start with '.zcomp'. This is used in the .zlogin for zcompiling the
completion file. Sourcing the .zimrc file within the .zlogin file is
something I'd rather not do, and this seems like a good compromise. If
this becomes an issue, the file can be sourced an the var can be used
instead.
Closes#42
[zlogin] zcompare fasd and all functions
[fasd] trim non-zsh options
[fasd] merge PR #75 from clvv/fasd
[fasd] partial merge PR #77 from clvv/fasd
This closes#24
* moves check for yaourt into the other zpacman_frontend checks
* remove hardcoded sudo vs non-sudo; uses zpacman_frontend[_priv]
instead.
* these vars are set in the zpacman_frontend value sanity check.
* for values != yaourt, prepend sudo for zpacman_frontend_priv
* remove unneeded explination and authorship comments (as it's
noted in the README.md)
* s/git/command git/ (see issue #30)
* add is-true function, as it is required by a few other functions.
Alternative approach to determine if aliasing safe-rm is viable.
If safe-rmdir is available, the OS is Suse (which has it's own safe-rm).
Note to Suse: you're making problems for me. Stop.
Closes#27
Only bind keys if length of var > 0
Hopefully these are the only keys that will require this testing. If
anyone encounters issues like issue #17 with additional keys, please
create an issue.
Closes#17
The old test, [[ ${var} ]] tests for unset AND zero-length strings.
Checking for zero length strings probably isn't that important. It is
enough to ensure that the variable is set.
Closes#18