Commit Graph

622 Commits

Author SHA1 Message Date
6ba872c9c7 zsh:completion: Remove empty comment 2021-07-23 12:36:55 +02:00
64ca1b72f9 zsh: Move {,un}bkp from aliases to functions
Since both were functions already their place seems more appropriate in
functions.zsh. This also fixes the completion of both, since they did
not complete files before.

Other changes in `unbkp`:
    - Use `mv` instead of `cp`
    - Fix little typo (forgotten quote) and support specifying the
      original name instead of only the backup.
    - Do not "rename" the file if there is no change in name
      (Leading to the prompt if the file should be overwritten)
2021-07-23 12:10:31 +02:00
ca5edbe538 zsh:glog: Remove --all flag
This annoys me in more cases than I thought. For example when checking
out a commit in the past in detached head mode and I want to see the
past commits before the current one.
Especially because there is no flag that can disable it again.

The flag has to be passed manually to `glog` now.
2021-07-23 12:06:58 +02:00
77b2d63341 zsh:autosuggestions: Use own fork for now
See https://github.com/zsh-users/zsh-autosuggestions/pull/621

Set experimental values to the new configuration options.
2021-07-22 15:48:36 +02:00
8d4f2c7ce9 zsh:nameddirs: Pull out of aliases into own file 2021-07-22 15:44:14 +02:00
15c0252fda zsh:funcs: Create trash wrapper only if exists 2021-07-22 15:38:14 +02:00
11f7c14fd4 zsh:alias: Add external commands depending block 2021-07-22 15:34:26 +02:00
fc2d811856 zsh:alias: Improve handling of unknown commands
On (new) systems where commands are still missing, it is often a little
surprise when commands do not work after zsh-syntax-highlighting colored
them green. That's why I do not want alias to be created when they just
wrap a command with the same name without the command existing.

There also cases like `rm` where I do not want to type out `command rm`
every time just because `trash` is not installed.
2021-07-22 15:25:46 +02:00
fddbb1117d zsh:alias:clipboard: Check for commands existence 2021-07-22 15:24:32 +02:00
f10896b686 zsh:alias: Add no1 & noO to redirect output 2021-07-22 15:19:44 +02:00
48160456a8 zsh:alias: Remove qrdecode as there is qr() 2021-07-22 14:50:51 +02:00
0b28f89e1d zsh: Reorder zshrc.d that autoload is first
This way the functions are already autoloaded and in alias.zsh and
others can be checked for existence.
2021-07-22 14:24:34 +02:00
79be1cfc71 zsh:git-checkout-worktree: Break if dir is deleted
Break the loop if `$REPO_DIR` does not exist anymore because it was
deleted other ways instead of looping forever as `git worktree remove`
fails on non-existing directories.
2021-07-15 16:01:38 +02:00
93ff4e7da2 zsh:glog: Add --all flag
Pretend as if all the refs in refs/, along with HEAD, are listed on the
command line.
2021-07-15 15:58:43 +02:00
938489dd4b zsh: Add git-rebase-add-stash completion 2021-07-15 02:46:16 +02:00
2d65f187f4 zsh: Fix forgotten ZSH_CONF use
`$ZSH_CONF` was removed in af49c39ba3.
2021-07-15 02:44:04 +02:00
111c851055 zsh:funcs: Add git-rebase-add-stash 2021-07-15 01:20:35 +02:00
8890a4b604 zsh:keys: Remove fzf-hist functionality
Go back to a simpler approach, that the `fzf-history-widget` is only
called on <C-Up> and ^K in normal mode and <Up> & <Down> scroll through
the history normally.

The reason behind this change is that there were still some edge cases
in which the widget was wrongfully called when normal scrolling was
intended.
This change also makes it now possible that I can use commands in the
'surrounding' of a past command by first navigating to it with the
fzf-widget and then just using <Up> & <Down>.
2021-07-14 14:35:20 +02:00
b1d396babd *: Use /usr/bin/env in shebangs for bash & zsh
To increase the portability (OSX for example has zsh under `/bin/zsh`).
2021-07-14 13:48:21 +02:00
0dfff846c2 zsh:fzf-tab: Remove color preview symbol 2021-07-10 01:47:45 +02:00
e0ade3c140 zsh:fzf-tab: Set bindings for switching groups 2021-07-10 01:46:01 +02:00
9bb4ded6c7 zsh:autoload:gbranch: Do not hardcode AUTOLOAD_DIR 2021-07-10 01:13:40 +02:00
1dec922c0f zsh:autoload: Add gbranch to display git branches 2021-07-10 01:00:09 +02:00
4fedae1a4c zsh:autoload:*: Add shebang & remove vim-modeline
By adding a shebang to the scripts they can be executed directly without
an interactive shell. The shebang also makes vims modeline that only set
the filetype obsolete.
2021-07-10 00:59:25 +02:00
f2c84fe82c vim:zsh-autosuggestions: Set suggestions strategy 2021-07-09 23:53:50 +02:00
0480b98812 meta:install: Create GNUPGHOME if nonexistent
This is more of a one-time step to be done when installing, than every
time on login.
2021-07-07 11:56:57 +02:00
4606f9ad80 zsh:git-commit-last-msg(): Support additional args
Pass additional arguments to git-commit so that flags can be passed
e.g `-n` to bypass the commit hooks.
Also use the according completion for `git-commit-last-msg`.
2021-07-07 11:50:52 +02:00
53ae5a067e zsh:funcs:crypt-mount: cd into mount-point 2021-07-07 11:47:54 +02:00
098fb385fd zsh:zprofile: Shorten two statements 2021-06-15 14:43:45 +02:00
57f89d34dc zsh:z{profile,logout}: Kill only 'own' ssh-agent
Kill the ssh-agent only if it was created in this session.

Like that the login shell can inherit SSH_AGENT_PID without it killing
the agent at the end. For this to work properly it is important that
LAUNCHED_SSH_AGENT is not exported, otherwise nested login shells will
mess with each other.
2021-06-15 13:19:29 +02:00
b368b20dee zsh:zprofile: Only start one ssh-agent per session
Also check if ssh-agent is available before launching.
2021-06-15 13:05:36 +02:00
b0db2b22a1 zsh:zprofile: Create GNUPGHOME if nonexistent
`gpg` complains otherwise and falls back to `$HOME/.gnupg`.
2021-06-15 13:04:37 +02:00
5ab5a49793 zsh:stderred.theme: Use escape-sequences w/o tput 2021-06-01 22:36:59 +02:00
3db2c2a87e zsh:g{log,stash}: Drop tput for stty for size
As stty is part of POSIX and thus better available.
2021-06-01 22:10:39 +02:00
6856c2d27e zsh:options: Do not unset CASE_GLOB on android
Do not unset CHASE_GLOB under android as then globbing with absolute
paths breaks as the PWD is often in a path with subdirectories that are
owned by root and not world-readable (e.g. /data/data/).
I *believe* this is the reason for it.
2021-06-01 21:39:49 +02:00
db6303aa51 zsh:funcs:g-ch-worktree: Restart on issues
Restart the subshell until every issue is resolved and the worktree is
removed.
2021-05-31 23:17:47 +02:00
44ef15d8ab zsh:autoload:glog,gstash: Drop trailing \n on copy 2021-05-16 00:48:24 +02:00
8af0b5c79a zsh:autoload:glog,gstash: Get rid of redundancy 2021-05-16 00:09:53 +02:00
d0aee7e638 zsh:alias:git-base-branch: Fix small pattern error
In place of the in ed215a35f7 introduced
second bracket can also stand `~` or `^`.
Otherwise something like `[feature^] or [feature~2]` is not thrown out.
2021-05-16 00:04:46 +02:00
c1955dd5f5 zsh:alias:git-base-branch: Match merge commits too
Merge commits should also be matched (indicated by a '-') for the case
that the base branches last commit is a merge commit and another branch
exists that checked out the newest commit that was merged.

Example log (from `glog`):
```
* abcdef Foo (HEAD -> feature)
*   bcdefa Merge branch 'other-feature' into base (base)
|\
| * cdefab Bar (other-feature)
|/
* ...
...
```

with `git show-branch -a` output like:
```
! [base] Merge branch 'other-feature' into base
 * [feature] Foo
  ! [other-feature] Bar
---
 *  [feature] Foo
--  [base] Merge branch 'other-feature' into base
+*+ [other-feature] Bar
```

Here we want `base` to be returned instead of `other-feature` and thus
'-' needs to be matched as well.
2021-05-15 23:17:36 +02:00
ed215a35f7 zsh:alias:git-base-branch: Make regexs more robust
Fixes (in order of the patterns that were touched):

- Only match `*` that come between BOL and the branch name in brackets,
  as another branch could be checked out at a commit containing a `*`

- Only throw out commits that were committed on our current branch and
  not those that contain the branch name in the message (e.g. `test`).

- Only match until first bracket as the commit message could also
  contain a pattern like `[.*]` that would be matched instead.
2021-05-15 22:52:33 +02:00
f58c5fdb27 zsh:alias: Combine both regexs in git-base-branch 2021-05-15 22:17:45 +02:00
32416deedd zsh:alias: Add git-ancestor and git-base-branch 2021-05-15 22:12:50 +02:00
4f70d7f32f zsh:glog: Show pgp key instead of fingerprint
Also display a status: (From `git-show` manpage)
```
"G" for a good (valid) signature,
"B" for a bad signature,
"U" for a good signature with unknown validity,
"X" for a good signature that has expired,
"Y" for a good signature made by an expired key,
"R" for a good signature made by a revoked key,
"E" if the signature cannot be checked (e.g. missing key) and
"N" for no signature
```
2021-05-15 04:06:22 +02:00
00da37623a zsh:funcs:git-checkout-worktree: Remove -p flag
As under OSX the -p flag does not exist, it seems safer to just use
`mktemp -d` and create the worktree under that directory.
This just has the disadvantage of one more dir to display in the `PWD`.
2021-05-15 04:06:14 +02:00
6e89def392 zsh:autload: Add gstash to display git stashes
Add gstash as a copy of glog with very slight modifications.
(Exchange `git log` with `git stash list` and remove the `--graph` flag)
2021-05-15 04:06:09 +02:00
492c29c096 git:functions: Remove old unused nemo wrapper 2021-05-10 17:30:46 +02:00
4053920f53 git:completion: Fix command not found error
_git has to be loaded before other functions can use its completion
functions.

Hint to this found at: https://unix.stackexchange.com/a/269818
2021-05-10 17:28:22 +02:00
b82a9d2221 git:completion: Add git-checkout-worktree 2021-05-10 17:27:54 +02:00
1d8f21b565 zsh:functions: Add git-checkout-worktree 2021-05-10 16:12:23 +02:00