| # GStreamer |
| # Copyright (C) 2015 Mathieu Duponchelle <mathieu.duponchelle@opencreed.com> |
| # |
| # bash/zsh completion support for common gstreamer options |
| # |
| # This library is free software; you can redistribute it and/or |
| # modify it under the terms of the GNU Library General Public |
| # License as published by the Free Software Foundation; either |
| # version 2 of the License, or (at your option) any later version. |
| # |
| # This library is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| # Library General Public License for more details. |
| # |
| # You should have received a copy of the GNU Library General Public |
| # License along with this library; if not, write to the |
| # Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, |
| # Boston, MA 02110-1301, USA. |
| |
| _GST_HELPER="@GST_COMPLETION_HELPER_INSTALLED@" |
| if [[ ! -x "$_GST_HELPER" ]] |
| then |
| helper="$(pkg-config --variable=helpersdir gstreamer-@GST_API_VERSION@)/gst-completion-helper" |
| |
| if [ -x "$helper" ] |
| then |
| _GST_HELPER=$helper |
| fi |
| fi |
| |
| ___gst_debug_level () { _gst_mandatory_argument; } |
| ___gst_debug () { _gst_mandatory_argument; } |
| ___gst_debug_color_mode () { _gst_mandatory_argument; } |
| ___gst_plugin_path () { _gst_mandatory_argument; } |
| ___gst_plugin_load () { _gst_mandatory_argument; } |
| |
| _gst_all_arguments () |
| { |
| COMPREPLY=( $(compgen -W "$($1 --help-all | grep "^ -" | grep -oh '[[:graph:]]*--[[:graph:]]*\|-[[:alpha:]],' | cut -d'=' -f1 | cut -d',' -f1)" -- $cur) ) |
| } |
| |
| _gst_mandatory_argument () |
| { |
| __app=$1 |
| if [[ -z $__app ]] |
| then |
| __app=gst-launch-1.0 |
| fi |
| |
| if [[ "$prev" != "$command" ]] |
| then |
| _gst_all_arguments $__app |
| else |
| COMPREPLY=("$cur") |
| fi |
| } |