From 663824d20f7ba583092bdb4e57c93de73f9cf28d Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Fri, 13 Mar 2015 12:02:30 +0000 Subject: [PATCH] ges-launch: Prefix clip, transition and effect instruction with a + Slightly changing the CLI so that we have indicators of the timeline commands adding new objects. --- data/completions/ges-launch-1.0 | 15 ++++++++------- ges/ges-structure-parser.c | 2 +- ges/parse.l | 6 +++--- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/data/completions/ges-launch-1.0 b/data/completions/ges-launch-1.0 index e660a8a..14b3655 100644 --- a/data/completions/ges-launch-1.0 +++ b/data/completions/ges-launch-1.0 @@ -75,7 +75,7 @@ _ges_effect () { then _mandatory__argument else - COMPREPLY=( $(compgen -W "duration= start= layer= $(ges-launch-1.0 help all | egrep '^ [a-zA-Z0-9]')" -- $cur) ) + COMPREPLY=( $(compgen -W "duration= start= layer= $(ges-launch-1.0 help all | egrep '^ +')" -- $cur) ) fi } @@ -84,7 +84,7 @@ _ges_list_options () { } _ges_list_commands () { - COMPREPLY=( $(compgen -W "$(ges-launch-1.0 help all | egrep '^ [a-zA-Z0-9]')" -- $cur) ) + COMPREPLY=( $(compgen -W "$(ges-launch-1.0 help all | egrep '^ +')" -- $cur) ) } _ges_list_properties () { @@ -93,10 +93,10 @@ _ges_list_properties () { if [[ "$real_command" == "" ]] then _mandatory__argument - elif [[ "$real_command" == "clip" ]] + elif [[ "$real_command" == "+clip" ]] then COMPREPLY=( $(compgen -W "set-alpha set-posx set-posy set-width set-height set-volume set-mute" -- $cur) ) - elif [[ "$real_command" == "effect" ]] + elif [[ "$real_command" == "+effect" ]] then COMPREPLY=() effect_bin_description="${effect_bin_description//\"/ }" @@ -134,7 +134,7 @@ __ges_main () { local i=1 c=1 command function_exists completion_func commands real_command effect_bin_description - commands=($(ges-launch-1.0 help all | egrep '^ [a-zA-Z0-9]')) + commands=($(ges-launch-1.0 help all | egrep '^ +')) real_command="" effect_bin_description="" @@ -154,7 +154,7 @@ __ges_main () then real_command="$var" command="$var" - if [[ "$var" == "effect" ]] + if [[ "$var" == "+effect" ]] then effect_bin_description="${COMP_WORDS[i+1]}" fi @@ -165,7 +165,8 @@ __ges_main () if [[ "$command" == "--gst"* ]]; then completion_func="_${command//-/_}" else - completion_func="_ges_${command//-/_}" + completion_func="_ges_${command//-|+/_}" + completion_func="${completion_func//+/}" fi declare -f $completion_func >/dev/null 2>&1 diff --git a/ges/ges-structure-parser.c b/ges/ges-structure-parser.c index 3244d3e..37b530f 100644 --- a/ges/ges-structure-parser.c +++ b/ges/ges-structure-parser.c @@ -121,7 +121,7 @@ ges_structure_parser_parse_symbol (GESStructureParser * self, { _finish_structure (self); - while (*symbol == ' ') + while (*symbol == ' ' || *symbol == '+') symbol++; self->add_comma = FALSE; diff --git a/ges/parse.l b/ges/parse.l index e09e9aa..a7df14f 100644 --- a/ges/parse.l +++ b/ges/parse.l @@ -10,9 +10,9 @@ %option never-interactive %option noinput -CLIP [ ]+clip[ ]+ -TRANSITION [ ]+transition[ ]+ -EFFECT [ ]+effect[ ]+ +CLIP [ ]+\+clip[ ]+ +TRANSITION [ ]+\+transition[ ]+ +EFFECT [ ]+\+effect[ ]+ SETTER [ ]+set-[^ ]+[ ]+ -- 2.7.4