mirror of
https://github.com/sadan4/dotfiles.git
synced 2025-06-17 17:57:02 -04:00
patch completions to workaround https://github.com/rust-lang/rustup/issues/2268
This commit is contained in:
parent
1be2f3237a
commit
81503ad83f
2 changed files with 38 additions and 6 deletions
|
@ -1,7 +1,22 @@
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }:
|
||||||
home = {
|
{
|
||||||
packages = with pkgs; [
|
home = {
|
||||||
rustup
|
packages = with pkgs; [
|
||||||
];
|
rustup
|
||||||
|
];
|
||||||
|
};
|
||||||
|
programs = {
|
||||||
|
zsh = {
|
||||||
|
# Few horror things here
|
||||||
|
# 1. rustup's completion is broken for zsh. See: https://github.com/rust-lang/rustup/issues/2268
|
||||||
|
# 2. patch cant read the source file from stdin, so tmpfiles have to be used
|
||||||
|
initExtra = ''
|
||||||
|
TMP_RUSTUP_FILE=$(mktemp)
|
||||||
|
${pkgs.rustup}/bin/rustup completions zsh > "$TMP_RUSTUP_FILE"
|
||||||
|
eval "$(patch -s -o - -i ${./rustupCompPatch.diff} $TMP_RUSTUP_FILE)"
|
||||||
|
rm $TMP_RUSTUP_FILE
|
||||||
|
unset TMP_RUSTUP_FILE
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
}
|
};
|
||||||
|
}
|
||||||
|
|
17
common/users/homeModules/dev/rustupCompPatch.diff
Normal file
17
common/users/homeModules/dev/rustupCompPatch.diff
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
26c26,28
|
||||||
|
< '::+toolchain -- release channel (e.g. +stable) or custom toolchain to set override:' \
|
||||||
|
---
|
||||||
|
> '(+beta +nightly)+stable[use the stable toolchain]' \
|
||||||
|
> '(+stable +nightly)+beta[use the beta toolchain]' \
|
||||||
|
> '(+stable +beta)+nightly[use the nightly toolchain]' \
|
||||||
|
32c34
|
||||||
|
< words=($line[2] "${words[@]}")
|
||||||
|
---
|
||||||
|
> words=($line[1] "${words[@]}")
|
||||||
|
34,35c36,37
|
||||||
|
< curcontext="${curcontext%:*:*}:rustup-command-$line[2]:"
|
||||||
|
< case $line[2] in
|
||||||
|
---
|
||||||
|
> curcontext="${curcontext%:*:*}:rustup-command-$line[1]:"
|
||||||
|
> case $line[1] in
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue