mirror of
https://github.com/tw93/Mole.git
synced 2026-02-15 17:30:05 +00:00
Merge branch 'main' of github.com:tw93/Mole
This commit is contained in:
@@ -37,7 +37,7 @@ if [[ $# -eq 0 ]]; then
|
|||||||
# Detect current shell
|
# Detect current shell
|
||||||
current_shell="${SHELL##*/}"
|
current_shell="${SHELL##*/}"
|
||||||
if [[ -z "$current_shell" ]]; then
|
if [[ -z "$current_shell" ]]; then
|
||||||
current_shell="$(ps -p "$PPID" -o comm= 2>/dev/null | awk '{print $1}')"
|
current_shell="$(ps -p "$PPID" -o comm= 2> /dev/null | awk '{print $1}')"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
completion_name=""
|
completion_name=""
|
||||||
@@ -72,9 +72,9 @@ if [[ $# -eq 0 ]]; then
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
if [[ -z "$completion_name" ]]; then
|
if [[ -z "$completion_name" ]]; then
|
||||||
if [[ -f "$config_file" ]] && grep -Eq "(^# Mole shell completion$|(mole|mo)[[:space:]]+completion)" "$config_file" 2>/dev/null; then
|
if [[ -f "$config_file" ]] && grep -Eq "(^# Mole shell completion$|(mole|mo)[[:space:]]+completion)" "$config_file" 2> /dev/null; then
|
||||||
original_mode=""
|
original_mode=""
|
||||||
original_mode="$(stat -f '%Mp%Lp' "$config_file" 2>/dev/null || true)"
|
original_mode="$(stat -f '%Mp%Lp' "$config_file" 2> /dev/null || true)"
|
||||||
temp_file="$(mktemp)"
|
temp_file="$(mktemp)"
|
||||||
grep -Ev "(^# Mole shell completion$|(mole|mo)[[:space:]]+completion)" "$config_file" > "$temp_file" || true
|
grep -Ev "(^# Mole shell completion$|(mole|mo)[[:space:]]+completion)" "$config_file" > "$temp_file" || true
|
||||||
mv "$temp_file" "$config_file"
|
mv "$temp_file" "$config_file"
|
||||||
@@ -89,9 +89,9 @@ if [[ $# -eq 0 ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Check if already installed and normalize to latest line
|
# Check if already installed and normalize to latest line
|
||||||
if [[ -f "$config_file" ]] && grep -Eq "(mole|mo)[[:space:]]+completion" "$config_file" 2>/dev/null; then
|
if [[ -f "$config_file" ]] && grep -Eq "(mole|mo)[[:space:]]+completion" "$config_file" 2> /dev/null; then
|
||||||
original_mode=""
|
original_mode=""
|
||||||
original_mode="$(stat -f '%Mp%Lp' "$config_file" 2>/dev/null || true)"
|
original_mode="$(stat -f '%Mp%Lp' "$config_file" 2> /dev/null || true)"
|
||||||
temp_file="$(mktemp)"
|
temp_file="$(mktemp)"
|
||||||
grep -Ev "(^# Mole shell completion$|(mole|mo)[[:space:]]+completion)" "$config_file" > "$temp_file" || true
|
grep -Ev "(^# Mole shell completion$|(mole|mo)[[:space:]]+completion)" "$config_file" > "$temp_file" || true
|
||||||
mv "$temp_file" "$config_file"
|
mv "$temp_file" "$config_file"
|
||||||
@@ -124,8 +124,7 @@ if [[ $# -eq 0 ]]; then
|
|||||||
echo -e "${YELLOW}Cancelled${NC}"
|
echo -e "${YELLOW}Cancelled${NC}"
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
"" | $'\n' | $'\r' | [Yy])
|
"" | $'\n' | $'\r' | [Yy]) ;;
|
||||||
;;
|
|
||||||
*)
|
*)
|
||||||
log_error "Invalid key"
|
log_error "Invalid key"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -141,7 +140,7 @@ if [[ $# -eq 0 ]]; then
|
|||||||
# Remove previous Mole completion lines to avoid duplicates
|
# Remove previous Mole completion lines to avoid duplicates
|
||||||
if [[ -f "$config_file" ]]; then
|
if [[ -f "$config_file" ]]; then
|
||||||
original_mode=""
|
original_mode=""
|
||||||
original_mode="$(stat -f '%Mp%Lp' "$config_file" 2>/dev/null || true)"
|
original_mode="$(stat -f '%Mp%Lp' "$config_file" 2> /dev/null || true)"
|
||||||
temp_file="$(mktemp)"
|
temp_file="$(mktemp)"
|
||||||
grep -Ev "(^# Mole shell completion$|(mole|mo)[[:space:]]+completion)" "$config_file" > "$temp_file" || true
|
grep -Ev "(^# Mole shell completion$|(mole|mo)[[:space:]]+completion)" "$config_file" > "$temp_file" || true
|
||||||
mv "$temp_file" "$config_file"
|
mv "$temp_file" "$config_file"
|
||||||
|
|||||||
Reference in New Issue
Block a user