ges-launch: Prefix clip, transition and effect instruction with a +
authorThibault Saunier <tsaunier@gnome.org>
Fri, 13 Mar 2015 12:02:30 +0000 (12:02 +0000)
committerThibault Saunier <tsaunier@gnome.org>
Mon, 23 Mar 2015 11:41:00 +0000 (12:41 +0100)
Slightly changing the CLI so that we have indicators of the timeline
commands adding new objects.

data/completions/ges-launch-1.0
ges/ges-structure-parser.c
ges/parse.l

index e660a8a..14b3655 100644 (file)
@@ -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
index 3244d3e..37b530f 100644 (file)
@@ -121,7 +121,7 @@ ges_structure_parser_parse_symbol (GESStructureParser * self,
 {
   _finish_structure (self);
 
-  while (*symbol == ' ')
+  while (*symbol == ' ' || *symbol == '+')
     symbol++;
 
   self->add_comma = FALSE;
index e09e9aa..a7df14f 100644 (file)
@@ -10,9 +10,9 @@
 %option never-interactive
 %option noinput
 
-CLIP           [ ]+clip[ ]+
-TRANSITION     [ ]+transition[ ]+
-EFFECT         [ ]+effect[ ]+
+CLIP           [ ]+\+clip[ ]+
+TRANSITION     [ ]+\+transition[ ]+
+EFFECT         [ ]+\+effect[ ]+
 
 SETTER         [ ]+set-[^ ]+[ ]+