* No longer close every line with `;`
* Reduce amount of variables by doing the magic inside `[ ]`
* Variables all in lowercase since all created inside subshell
* Attempt to install `zsh` via `homebrew` if zsh doesn't exist on the system
* Fix some typos
This rename allows the install script to do a simple copy instead of having to rename the files first. This improves install script reliability (KISS).
Basically what it says. This is an install script that can get called via shell (and we can curl it!).
A few niceties:
* Error handling for various problems
* Checks if other frameworks are installed, and backs them up
* Changes shell to zsh, without sudo
Its the oh-my-zsh installer, but very heavily modified. I wrote my own installer at first, but decided that reinventing the wheel was stupid.
There is one modification: Zim's template files are no longer prepended to .zshrc and .zlogin, but instead, .zshrc and .zlogin are backed up. During the writing and testing of the script I've had the prepending command mess up and paste the template lines in the middle of other lines in my .zshrc, multiple times. You simply don't want to risk that.
Environment variables set in `.zshenv` should not be overwritten.
However, it is sourced before Zim loads, making Zim overwrite the
settings.
Fixes#175. Closes#179
breaking the current prompt after `prompt -p`. Actually liquidprompt is
pretty invasive in the way it is implemented, defining extra
`prompt_on`, `prompt_off` and `prompt_OFF` functions to switch it after
it is executed.
Fixes#112, Closes#165
that was only being used in the `git` and `git-info` modules to check
the output of `git rev-parse --is-inside-work-tree`. The code depending
on this function was already changed.
Closes#163
The function is currently only being used for checking the result of
`git rev-parse --is-inside-work-tree`. Checking for the return code of
the command is enough.
from `git` module. Actually, the function is a little bit of
over-engineering and it's currently only being used for checking the
result of `git rev-parse --is-inside-work-tree`, even in the `git`
module code.
Checking for the return code of `git rev-parse --is-inside-work-tree` is
enough. Also refactored other portions of the code where return codes
are being checked.
Fixes#161, Closes#162
`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
This change causes `zmanage update` to track the submodules as described
in origin/master, not from their upstream (dirty) states. Users wishing
to "revert" this change on occasion to test some upstream submodule
features, do: `cd ~/.zim && gSu`, assuming you have the git aliases.
This will pull the upstream modules to their latest state, leaving a
dirty HEAD state with these untracked modules. `cd ~/.zim && gSI` to
revert.
Closes#127