asdf

Форк
0
/
command-list.bash 
59 строк · 1.4 Кб
1
# -*- sh -*-
2

3
list_command() {
4
  local plugin_name=$1
5
  local query=$2
6

7
  if [ -z "$plugin_name" ]; then
8
    local plugins_path
9
    plugins_path=$(get_plugin_path)
10

11
    if find "$plugins_path" -mindepth 1 -type d &>/dev/null; then
12
      for plugin_path in "$plugins_path"/*/; do
13
        plugin_name=$(basename "$plugin_path")
14
        printf "%s\n" "$plugin_name"
15
        display_installed_versions "$plugin_name" "$query"
16
      done
17
    else
18
      printf "%s\n" 'No plugins installed'
19
    fi
20
  else
21
    check_if_plugin_exists "$plugin_name"
22
    display_installed_versions "$plugin_name" "$query"
23
  fi
24
}
25

26
display_installed_versions() {
27
  local plugin_name=$1
28
  local query=$2
29
  local versions
30
  local current_version
31
  local flag
32

33
  versions=$(list_installed_versions "$plugin_name")
34

35
  if [[ $query ]]; then
36
    versions=$(printf "%s\n" "$versions" | grep -E "^\s*$query")
37

38
    if [ -z "${versions}" ]; then
39
      display_error "No compatible versions installed ($plugin_name $query)"
40
      exit 1
41
    fi
42
  fi
43

44
  if [ -n "${versions}" ]; then
45
    current_version=$(cut -d '|' -f 1 <<<"$(find_versions "$plugin_name" "$PWD")")
46

47
    for version in $versions; do
48
      flag="  "
49
      if [[ "$version" == "$current_version" ]]; then
50
        flag=" *"
51
      fi
52
      printf "%s%s\n" "$flag" "$version"
53
    done
54
  else
55
    display_error '  No versions installed'
56
  fi
57
}
58

59
list_command "$@"
60

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.