particle-os-modules/modules/brew/brew-bash-completions.sh
Thomas Mecattaf a7e074fe36
feat: Add Brew module (#239)
* feat(brew): add new Brew module for Homebrew installation and management

* feat(brew): add new Brew module for Homebrew installation and management

* feat(brew): part 2 of adding new Brew module for Homebrew installation and management

* feat(brew): part 2.2 of adding new Brew module for Homebrew installation and management

* feat(brew): part 3 of adding new Brew module for Homebrew installation and management

* docs: Add kebab-cases for module entries in README

* docs: Don't add whitespaces in module.yml

* chore: Use arrays for package list & add quotes + brackets to some strings

to make it more safe.

* feat(brew): systemd services and timers written dynamically

* feat(brew): systemd services and timers written dynamically 2

* feat(brew): clean up fish completion file name

* chore: Remove duplicate brew completions file

* feat(brew): tweak in brew.sh 3

* chore: Rename shell completion to completions pt. 1

* chore: Rename shell completion to completions pt. 2

* chore: Rename shell completion to completions pt. 3

* feat(brew): Nofile Limits flag, update brew.sh module.yml and README.md

* feat(brew): Brew analytics opt-out flag

* Brew Analytics Enabled by default in docs

* docs: `build-time` instead of `build time`

* docs: Improve `gcc` package log explanation

* fix(brew): Fetching YAML entries due to miss of transition from `_` to `-`

* chore(brew): Improve disabling analytics write to `environment`

* chore(brew): Add script for modifying nofile limit

* chore(brew): Forgot to source the nofile script

* chore(brew): Disable option of installing packages pt.1

* chore(brew): Disable option of installing packages pt.2

* chore(brew): Disable option of installing packages pt.3

* docs(brew): Remove installing packages as a feature

* chore(brew): Add more logs

* chore(brew): Fix typos in logs

* fix(brew): Use `awk` instead of `grep` which fails for stupid reason

Without any error logs either.

* fix(brew): Update & upgrade permutation

* docs(brew): Fix upgrade & update permutation

* chore(brew): Make small tweaks to brew-analytics

If environment is empty, than don't make the extra whiteline

* docs(brew): Slight order adjustment in README inside "Features"

* docs(brew): Add link to Homebrew

* docs(brew): Add note about uninstalling brew

* docs(brew): Include explanation on why manual uninstallation is necessary

Also give big thanks to M2

* docs(brew): Further explain on why the manual uninstallation is needed

* docs(brew): Add link to files module documentation

* docs(brew): Be more detailed about how the module works

* docs(brew): Some small fixes & restore credits

* docs(brew): Rename Brew to Linuxbrew

Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>

* docs(brew): Change features wording

Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>

* docs(brew): Reword update & upgrade wording

* docs(brew): Move update & upgrade service labels above timers

* docs(brew): Change brew documentation wording

Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>

* docs(brew): Syntax highlighting for bash script

Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>

* docs(brew): Improve uninstallation intro wording

Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>

* docs(brew): Move brew-analytics above warning

* docs(brew): Update update/upgrade ordering pt. 1

* docs(brew): Update update/upgrade naming pt. 2

* docs(brew): Update update/upgrade order pt. 3

* chore(brew): Use `#!/usr/bin/env fish` instead of `#!/usr/bin/fish`

Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>

* chore(brew): Use `#!/usr/bin/env bash` instead of `#!/bin/sh`

Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>

* chore(brew): Set shellcheck from sh to bash

Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>

* fix(brew): Convert SH-ism to bash in bash completion

* chore(brew): Use double brackets in bash shell completion

* chore(brew): Make rc in brackets

* chore(brew): Use more double brackets

* chore(brew): Add more double brackets pt. 2

* chore(brew): Make bash shell completion spacing better

* chore(brew): Revert to `bash-completions` completion

* docs(brew): Add comment about why bash completion uses sh

* fix(brew): Apply brew path clash fix

* docs(brew): Explain brew path clash fix

* docs(brew): Add file location of brew path fix

* docs(brew): Reword exporting brew path

* docs(brew): Reword again

* docs(brew): Reword...

* chore(brew): Copy bash completion to `/usr/etc` instead of `/etc`

* chore(brew): Make `/usr/etc/profile.d` if it doesn't exist

* docs(brew): Fix typo in README

* docs(brew): Use caution card instead of warning string

* docs(brew): Brew path reword

Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>

* chore(brew): Implement code comment fix

Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>

* docs(brew): Try to improve `nofile-limits` section

* docs(brew): Use serverfault link instead

* docs(brew): Thread, not article

* docs(brew): Improve Configuration section

* docs(brew): Than vs then

Love to mess this one

* docs(brew): Uninstall script wording fix

---------

Co-authored-by: fiftydinar <65243233+fiftydinar@users.noreply.github.com>
Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>
2024-06-03 09:25:45 +00:00

27 lines
1.1 KiB
Bash
Executable file

#!/bin/sh
# shellcheck shell=sh disable=SC1091,SC2039,SC2166
# Completion is in sh to account for the zsh syntax & when zsh tries to source scripts from /etc/profiles
# Check for interactive bash and that we haven't already been sourced.
if [ "x${BASH_VERSION-}" != x -a "x${PS1-}" != x -a "x${BREW_BASH_COMPLETION-}" = x ]; then
# Check for recent enough version of bash.
if [ "${BASH_VERSINFO[0]}" -gt 4 ] ||
[ "${BASH_VERSINFO[0]}" -eq 4 -a "${BASH_VERSINFO[1]}" -ge 2 ]; then
if [ -w /home/linuxbrew/.linuxbrew ]; then
if ! test -L /home/linuxbrew/.linuxbrew/etc/bash_completion.d/brew; then
/home/linuxbrew/.linuxbrew/bin/brew completions link > /dev/null
fi
fi
if test -d /home/linuxbrew/.linuxbrew/etc/bash_completion.d; then
for rc in /home/linuxbrew/.linuxbrew/etc/bash_completion.d/*; do
if test -r "$rc"; then
. "$rc"
fi
done
unset rc
fi
fi
BREW_BASH_COMPLETION=1
export BREW_BASH_COMPLETION
fi