114 Commits

Author SHA1 Message Date
a67649e844 Add frequent-directory function
`frequent-directory` exports and environment variable and creates a hash
directory with the given argument of the form `<name>=<path>`.
2020-07-30 11:24:56 +01:00
01fcdc1863 Update cls to work correctly in Windows Terminal 2020-07-17 23:10:16 +01:00
6d92a82d8c Load autoenv plugin later to make build-dir ready 2020-07-08 16:06:14 +01:00
81657d6f50 Update vim version check for enabling vimdebug 2020-02-06 13:36:05 +00:00
db124794ef Add unversioned brew python links to PATH
The `python` Homebrew package installs unversioned links to Python 3
executables in `/usr/local/opt/python/libexec/bin`. Add this directory
to the `PATH` environment variable when it's present.
2020-01-16 23:25:09 +00:00
ec8675fa86 Use XDG base dirs for ccache 2020-01-14 10:54:24 +00:00
9164432cc2 Don't store less history 2019-12-10 13:26:36 +00:00
39a4d589b3 Change default pylint data storage location 2019-12-10 12:16:44 +00:00
6eec18c98e Set EDITOR to vim if it exists 2019-11-10 13:47:09 +00:00
1cf7e1dcaf Don't send git clone to /dev/null 2019-10-05 19:12:21 +01:00
908ef3efa5 Add autoenv add=py to streamline virtualenvs 2019-10-05 19:11:26 +01:00
4252d06e65 Fix ccache PATH on Manjaro 2019-10-01 22:50:20 +01:00
9854518c76 Fix Home/End on Arch where $key is not auto setup 2019-09-18 22:01:12 +01:00
aab16bd355 Add zsh pacman package 2019-09-17 20:41:26 +01:00
4812d5e564 Don't prompt for sandbox authorization
Automatically approve `.enter`/`.exit` scripts when creating or renaming
sandboxes.
2019-09-10 20:13:10 +01:00
610cae2f57 Check for tmux session in prompt
Before invoking the `tmux` command to unset the vim pane variable first
check that a `tmux` session exists.
2019-09-05 11:22:47 +01:00
a3832ff49e Automatically authorize sandbox .enter/.exit 2019-09-03 21:06:48 +01:00
a2509a88b5 Add git clone support to sandbox create
Partially address #13 by adding the `--git <repo>` option to `sandbox
create`. This enables the quick cloning of a remote repository instead
of doing the tedious dance of creating a sandbox, cloning the remote
repo, deleting the sandbox repo them moving the `.git` directory before
doing a `git reset --hard HEAD`.

Additionally, improve the error messages for all `sandbox` commands,
clean up the completions a little, and use a consistent style in the
scripts.
2019-08-29 00:56:26 +01:00
8997d9cae0 Add zsh-completions
The [zsh-completions](https://github.com/zsh-users/zsh-completions) repo
contains completions for various commands but not all of these are
useful so the `update-completion-links.zsh` script inspects the `PATH`
to determine which of the completions should be symlinked to
`~/.local/share/zsh/site-functions` which resides on the `fpath`.
2019-08-23 21:11:56 +01:00
8526bdb4e3 Export CTEST_OUTPUT_ON_FAILURE=1
When a `ctest` run contains a failed test, actually print the `stdout`
and `stderr` output.
2019-08-22 21:32:15 +01:00
47f821e80a Don't unset tmux option when not in tmux 2019-08-22 21:31:56 +01:00
fcae9e885e Unset the vim navigation flag on prompt redraw
Make using the `@vim$TMUX_PANE` window flag much more robust by
unsetting it every time the zsh prompt is drawn and setting it again
using a `FocusGained` `autocmd` in vim. This removes the need for the
hacky check for zsh in the conditional defined in the `in_vim` variable.
2019-08-16 21:57:33 +01:00
7a8cf750bd Don't apply Begin/End key fix on macOS 2019-06-07 20:07:32 +01:00
7a0c73dabb autoenv: Automatically update autoenv during edit
Fixes #18 by exiting the autoenv before invoking vim for editing the
`.enter` and `.exit` scripts, then enters the autoenv after vim exits.
This reduces the number of steps required to update the current autoenv
state.
2019-05-30 19:22:04 +01:00
0da54801e4 Fix HOME and END key bindings in zle 2019-05-22 10:51:54 +01:00
4b2b0d38c7 Drop fast-syntax-highlighting due to being wrong
When using `git` aliases, the alias would be highlighted red by
fast-syntax-highlighting even though the alias is valid so remove it and
go back to zsh-syntax-highlighting instead.
2019-05-02 12:10:37 +01:00
a095e9383c Escape * in vimdebug before passing to debug
With `setopt nonomatch` unescaped `*` can be used in command arguments
however when passing command arguments to `vimdebug` the `*` _should_
be escaped so that the debugger e.g. `gdb` will correctly invoke the
program where `setopt nonomatch` does not apply.
2019-04-18 10:41:12 +01:00
6bd2b8f0cc Add fzf to install 2019-03-24 16:24:31 +00:00
036f0255f8 Improve readability of posix exit codes in prompt 2019-03-13 11:12:37 +00:00
b842fb6437 Add utilities plugin with archive extract command 2019-01-21 12:47:09 +00:00
ce65ae40bc Add weather alias to curl wttr.in 2019-01-08 12:31:27 +00:00
1e46ca4633 Fix sandbox not using .enter 2018-11-30 19:45:25 +00:00
256cd06e5a build-dir now exports build_dir envvar
In addition to setting the `~build` hashed directory, also export the
`build_dir` environment variable to enable commands like this:

```
cmake . -B$build_dir
```
2018-11-07 10:58:04 +00:00
9037d2dd41 Default to using VIM's termdebug plugin for debug
VIM 8.1 added the optional plugin termdebug which integrates gdb
with separate buffers for source, output, and gdb console. This adds the
`vimdebug` command which enables the termdebug plugin and executes the
`:TermdebugCommand` with the given arguments.
2018-11-07 10:53:14 +00:00
7b87688885 Use pinentry-curses for lastpass-cli on Debian 2018-10-31 17:33:16 +00:00
352a1c3f12 Fix git-prompt not resetting bold for untracked 2018-10-15 11:48:23 +01:00
8b099b103b Add ~/Projects hashed directory 2018-09-13 10:28:51 +01:00
9eee926c56 Move variable decl into for loop in git-prompt.c 2018-09-12 09:53:07 +01:00
29fb84b995 Disable GCC warning for fread in git-prompt.c 2018-09-12 09:48:44 +01:00
5f2c5b58da Move entire git-prompt to C 2018-09-11 20:56:27 +01:00
2740f9bc8d Add paging to sandbox list command 2018-09-05 20:37:10 +01:00
2589b63023 Fix build-dir not stooping on error, remove build-dir.py 2018-09-03 11:32:58 +01:00
6a4531423e Make virtualenv and docker prompt vars local 2018-09-01 10:39:09 +01:00
8819cd4d18 Make C-S work in vim again 2018-08-30 22:48:26 +01:00
585925df38 Fix vi-mode grips
Tips from [zsh-vimto](https://github.com/laurenkt/zsh-vimto).

* Remove delay when changing mode
* Enable backspace when returning to viins from vicmd mode
2018-08-30 22:44:22 +01:00
2ac97afdd1 Update options
Fix spellings of various options, enable some new options found in
[https://github.com/willghatch/zsh-saneopt](zsh-saneopt).
2018-08-30 22:30:11 +01:00
f24253b8c1 Remove use of RPS1
Following on from the previous commit, use of `RPS1` results in the
prompt being redrawn when the terminal gets narrower, this makes the
line drawn by `fresh_line_one` scroll off the screen. By removing any
use of `RPS1` this behaviour goes away.
2018-08-30 21:57:18 +01:00
df819f58a8 Update fresh prompt
* When a command fails, don't print the error code at the end of the
  first line but directly after the git stats.
* Remove `cr` from `prompt_opts` since there is no longer a new line in
  `PS1`, combined with above, this result in no new lines being inserted
  when the terminal becomes narrower e.g. a horizontal tmux split.
* Remove `fresh_visible_length` function and instead use the length of
  string variables e.g. `${#userhost}`.
2018-08-30 21:04:05 +01:00
c636dd078c Update sandbox to use .enter and .exit 2018-08-28 22:15:33 +01:00
0992b65d17 Don't explicitly add python to PATH
After fixing the macOS `/etc/zprofile` issue rewriting the `PATH`
environment variable it is no longer necessary to explicitly add
`/usr/local/opt/python/libexec/bin` to `PATH` since Homebrew installed
python 2.x is installed in `/usr/local/bin` and is used by default.
2018-08-28 21:58:22 +01:00