Skip to content

Commit

Permalink
Merge pull request getsolus#401 from getsolus/bash-helpers
Browse files Browse the repository at this point in the history
common: Initial helpers script to provide common functionality
  • Loading branch information
TraceyC77 authored Oct 1, 2023
2 parents 913ba1b + c679332 commit 638ed46
Showing 1 changed file with 49 additions and 0 deletions.
49 changes: 49 additions & 0 deletions common/Scripts/helpers.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#!/usr/bin/env bash

# Goes to the root directory of the solus packages
# git repository from anywhere on the filesystem.
# This function will only work if this script is sourced
# by your bash shell.
function gotosoluspkgs() {
pushd $(dirname $(readlink "${BASH_SOURCE[0]}"))/../../
}

# Goes to the root directory of the git repository
function goroot() {
pushd $(git rev-parse --show-toplevel)
}

# Push into a package directory
function gotopkg() {
pushd $(git rev-parse --show-toplevel)/packages/*/$1
}

# What provides a lib
function whatprovides() {
grep $1 $(git rev-parse --show-toplevel)/packages/*/*/abi_libs
}

# What uses a lib
function whatuses() {
grep $1 $(git rev-parse --show-toplevel)/packages/*/*/abi_used_libs
}


# Bash completions
_gotopkg()
{

_list=$(ls $(git rev-parse --show-toplevel)/packages/*/)

local cur prev
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
prev="${COMP_WORDS[COMP_CWORD-1]}"

if [[ $COMP_CWORD -eq 1 ]] ; then
COMPREPLY=( $(compgen -W "${_list}" -- ${cur}) )
return 0
fi
}

complete -F _gotopkg gotopkg

0 comments on commit 638ed46

Please sign in to comment.