200 Commits

Author SHA1 Message Date
ada3cb7d3d Add layout and note plugins 2018-08-20 10:16:45 +01:00
e13e70de6b Actually add sandbox plugin 2018-08-20 10:12:43 +01:00
b61ebc4f7a Enable sandbox plugin 2018-08-19 22:20:09 +01:00
f7d952c628 Use bash for default shell on removal 2018-08-19 21:01:02 +01:00
65b0b7a099 Remove --user from pick pip action 2018-08-19 19:30:33 +01:00
64dcee0d78 Use fast-syntax-highlighting
Replace zsh-syntax-highlighting plugin with the improved
fast-syntax-highlighting, faster and more accurate.
2018-07-19 23:52:47 +01:00
128cc3c57a Remove unused tmux split aliases 2018-07-19 23:14:45 +01:00
8e04758760 Fix debug alias always picking gdb 2018-06-17 23:04:59 +01:00
52f42a7875 Edit the command line with ^F in normal mode 2018-06-09 17:41:07 +01:00
639e1b9cee Fix typo in CMAKE_EXPORT_COMPILE_COMMANDS 2018-06-08 19:57:33 +01:00
b12dcfe243 Add build utility commands
* `build` is an alias which on first use invokes `build-dir --build` to
  select a build directory, reconfigure the `build` alias, and invoke
  the `build` alias on the selected build directory.
* `debug` is an alias to the installed system native debugger.
* `build-dir` is a function to select a build directory by reconfiguring
  the `build` alias, it detects `build.ninja` or `Makefile` in the build
  directory and selects the appropriate `ninja` or `make` command.
  Depends on the `build-dir.py` Python script which uses the `pick`
  package to interactively select the build directory.
* `build-run` is a function which builds the specified target then
  attempts to run it, making the assumption it resides in the `bin`
  subdirectory of the build directory.
* `build-debug` is a function which build the specified tared then
  attempts to debug it using the system native debugger, making the
  assumption it resides in the `bin` subdirectory of the build
  directory.
2018-05-01 23:25:31 +01:00
e9993b0874 Add autoenv command to manage autoenv's
usage: autoenv [-h] {init,edit,deinit}

options:
        -h, --help  show this help message and exit

commands:
        init        add .enter and .exit scripts in current directory
        edit        edit .enter and .exit scripts in current directory
        deinit      remove .enter and .exit scripts in current directory

Fixes #9.
2018-04-26 20:18:47 +01:00
40c2395f43 Add default pip completion
The default pip completion is suboptimal because it uses the old Zsh
completion engine which is compatible with bash.
2018-04-24 20:47:50 +01:00
9f7367c550 Add autoenv, automatic environment setup
Using a hook, automatically detect when `.enter` and `.exit` scripts
and source them when changing the shells current directory.

Fixes #3.
2018-04-22 19:03:53 +01:00
d58e543c78 Improve & rename plugin sourcing function
Rename `plugin-load` to `source-plugin` and add a check for the plugin
directory, a message is displayed if it does not exist.
2018-04-22 12:15:38 +01:00
9e77e83d7f Only add aliases when the target command exists
Previously aliases for commands were added without checking if the
command being aliased existed first, this is now not the case.
2018-04-21 17:18:43 +01:00
5a1ef73524 Fix ccache compiler aliases being first in PATH
Add ccache symlink directory to start of PATH, this must be after
`typeset -U PATH` because on macOS this reorders the list so ccache's
symlinks will no longer be at the start of PATH rendering it unusable.
2018-04-21 16:59:35 +01:00
0ecc231c18 Fully disable tty flow control
From experimenting `unsetopt flow_control` seems to only disable flow
control for Zsh itself, not for child processes like Vim. To fix the
issue also call `stty -ixon` to disable flow control completely.

Fixes #8
2018-04-15 17:22:41 +01:00
7653ea6f93 Add -a option to enable almostontop behaviour
* Add option parsing to `prompt_fresh_setup` to detect when options are
  set during setup.
* Add `-a` option to enable almostontop behaviour, every time a command
  is invoked the screen is cleared and the is prompt redrawn before the
  command begins using the `preexec` hook. `-a` is disabled by default.
* Add `prompt_fresh_help` function to display a description of available
  options using `prompt -h fresh`.
* Canonicalize all utility functions for the fresh prompt theme to
  follow the `fresh_<name>` convention.

Fixes #1.
2018-04-15 16:28:05 +01:00
2c189c87e6 Support changing cursor shape in iTerm2 in tmux
Depends on setting the following in `.tmux.conf`:

    set -ga terminal-overrides '*:Ss=\E]1337;CursorShape=%p1%d\7'

This allows changing the iTerm2 cursor shape using the same escape
sequences as used for VTE compatible terminals.
2018-01-02 16:54:49 +00:00
a450b3cb45 Fix cursor shape change bug in tmux
Sending escape sequences directly from zsh and bypassing tmux results in
the wrong cursor shape when switching between panes which no longer
reflect the current zsh vi mode.

When using ZTE compatible terminals tmux supports tracking cursor shape
changes on a per pane basis using a suitable `terminal-override`, this
allows zsh and vim to behave as if they are not operating in tmux and
everything works as expected. However, so far I've not been able to
reproduce this behaviour in iTerm2.
2018-01-02 16:54:49 +00:00
2846e7d68e Enable reverse order completions 2018-01-02 16:54:49 +00:00
9da4d8ee71 Add autosuggestions plugin
Fish-like autosuggestions for zsh
2018-01-02 16:54:45 +00:00
4fce36e27b Add Homebrew python to PATH if present 2017-12-04 21:38:30 +00:00
38c3992418 Cleanup README plugin section 2017-12-03 13:51:08 +00:00
e04b49633c Add cursor shape change dependant on vi mode 2017-12-01 16:58:41 +00:00
a8fe7e42af Remove incorrect vi bindings 2017-12-01 16:57:24 +00:00
b6fffc35fc Add README file 2017-11-30 21:08:57 +00:00
d7daa09b22 Reorder options and make them lower case 2017-11-30 21:05:43 +00:00
c3c6b83313 Remove duplicates from MANPATH and INFOPATH too 2017-11-30 20:52:10 +00:00
29b73d3b26 Add whole line vicmd bindings 2017-11-30 20:51:51 +00:00
deb03421a3 Reorder ~/.local environment variables 2017-11-30 20:51:29 +00:00
0e734bbc7b Remove prompt options, they are enable in a theme 2017-11-30 20:44:56 +00:00
d2626b5fa5 Move history file to ~/.cache/zsh/histfile
Also ensure that ~/.cache/zsh exists.
2017-11-30 20:44:12 +00:00
37480288ae Improve git-prompt compilation error message 2017-11-30 15:45:08 +00:00
35942cdc09 Fix spelling of ls --color option 2017-11-30 15:27:48 +00:00
a2f94f96f8 Add install message for zsh login requirement 2017-11-30 09:55:54 +00:00
654cd21eda Make zshenv logic more concise 2017-11-30 09:50:10 +00:00
3f62797a2f Add command aliases 2017-11-30 09:49:53 +00:00
82a29ae54b Add usage comments to scripts 2017-11-30 09:49:08 +00:00
470281595f Update .conduit.yaml to be a list 2017-11-29 23:11:08 +00:00
85d5d549a5 Add RPS1 support to fresh prompt theme
* Python virtualenv name
* Docker machine name
2017-11-29 15:51:39 +00:00
e58b9ba032 Make actions non-plural 2017-11-28 22:35:22 +00:00
a88d5d9bd3 Add command to set zsh as default shell 2017-11-28 22:05:55 +00:00
180206e9e9 Add apt and brew package installs 2017-11-28 21:19:33 +00:00
8438118a87 Add git support to fresh prompt theme 2017-11-28 21:13:17 +00:00
aa4d1ddd85 Add PS2 support to fresh prompt theme 2017-11-22 17:40:47 +00:00
2eb00e4008 Add conduit install descriptor 2017-11-21 18:16:25 +00:00
46dff558ab Add (mostly) ported zsh configuration 2017-11-21 18:16:00 +00:00
615b0657ee Add ignore file 2017-11-21 18:04:36 +00:00