Commit Graph

601 Commits

Author SHA1 Message Date
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
7090f55653 zsh:alias: Add -j flag per default to make 2021-05-04 10:43:19 +02:00
c93d36677b zsh:glog: Handle missing commands and OS X
As the commit hash is now potentially printed (when no clipboard tool is
available), the copy-command needed to be executed not silent.
2021-04-30 11:48:09 +02:00
1b17c35f4b zsh: Add zlogout to kill ssh-agent
On system where my dotfiles are only partially installed (e.g. only
the shell) for the environment variables defined in the zprofile to take
affect, every terminal instance needs to execute zsh a login-shell.
This lead to numerous instances of the ssh-agent that were not killed
when exiting the shell. As I still need the correct env-vars like
SSH_AGENT_PID in every shell I cannot just pgrep and execute the agent
respectively.

This adds a zlogout that kills the agent spawned in the current shell.
It also stops `exec`ing `startx` as then the zlogout is not read.
2021-04-12 21:01:31 +02:00
fd2c3f611b fzf: Ignore node_modules also without rg 2021-04-12 21:01:30 +02:00
74e7cdef30 zsh:alias: Check for MACOS in clipboard aliases
Also check for the existence of perl before baking it into the alias.
2021-04-04 10:53:41 +02:00
7d085eedd0 zsh,X11: Move ssh-agent from xinitrc to zprofile
As I also want the ssh-agent to run without X.
2021-04-04 10:52:51 +02:00
d52afbfa3c zsh:completion: Add completion for glog 2021-03-11 01:26:59 +01:00
ed55fc14dc zsh:zprofile: Add /Library/Apple/usr/bin to PATH
When under macos add /Library/Apple/usr/bin to the PATH.
2021-03-10 13:50:05 +01:00
c09033ed21 zsh:zprofile: Add /usr/local/bin to PATH 2021-03-10 13:43:11 +01:00
abd26352d4 zsh:ls-show-hidden: Use coreutils ls under darwin 2021-03-10 13:37:32 +01:00
17ef6a23e5 zsh:functions:nvim-man: Use portable flag for man
The macos version of man does not have the long versions of the flags.
2021-03-10 13:35:33 +01:00
48dc9ca561 zsh:keys:cmd-on-enter: Add reset on other command
If a command is normally executed CMD_ON_ENTER is reseted to `ls`.
Otherwise problems can occur when for example switching the directory to
a non-repo when CMD_ON_ENTER contains `gs`.
2021-03-09 15:47:09 +01:00
93225e2d66 zsh:keys:cmd-on-enter: Cycle between ls & gs too 2021-03-08 01:10:09 +01:00
f0ebab3ca2 repo: Update submodules 2021-03-08 01:05:32 +01:00
7008284a5f zsh:zshenv: Fix typo 2021-02-26 12:26:57 +01:00
e71150fa5e repo: Add locale configuration 2021-02-17 03:03:25 +01:00
754adc9cf7 zsh:fzf-tab: Limit dir previews to a depth of 3
Otherwise this is way to performance heavy in large directories.
2021-02-17 02:56:08 +01:00
fa9e8da091 zsh:glog: Show also commit stats in preview 2021-02-17 02:39:59 +01:00
965e725bc2 zsh:alias: Use nvim in vimdiff alias 2021-01-27 02:10:24 +01:00
bd1e968f6f zsh:funcs:cd: Recognize ls suffix in paths 2021-01-25 10:20:55 +01:00
9f616bace6 zsh:glog: Disable echo's backslash interpretation
With it allowed it breaks the preview and copy of commits that contains
such sequences.
2021-01-15 13:40:29 +01:00