davemds pushed a commit to branch master.

http://git.enlightenment.org/editors/geany-configs.git/commit/?id=00874b240310c90d22810241e24fd72433f606aa

commit 00874b240310c90d22810241e24fd72433f606aa
Author: davemds <[email protected]>
Date:   Fri Aug 8 21:51:11 2014 +0200

    Geany EDC: full edc support
    
    Highlight, autocomplete (snippets) and help tooltip for the whole edc syntax
---
 filedefs/filetypes.Edje.conf |  12 +-
 snippets.conf                | 221 +++++++++++++++++++++-
 tags/edje.edc.tags           | 427 +++++++++++++++++++++++++++++++++++++++++++
 templates/files/main.edc     |  27 +++
 4 files changed, 678 insertions(+), 9 deletions(-)

diff --git a/filedefs/filetypes.Edje.conf b/filedefs/filetypes.Edje.conf
index b69b89a..d0dc742 100644
--- a/filedefs/filetypes.Edje.conf
+++ b/filedefs/filetypes.Edje.conf
@@ -1,6 +1,7 @@
 #
 # Edje (edc) filetype definition for Geany.
 #
+# This file enable hilight of edc blocks and properties
 #
 # Usage:
 #
@@ -15,17 +16,14 @@
 [styling=C]
 
 [keywords]
-
-# primary will draw in blu and have precedence on secondary
+# primary will draw in BLU (with default colors) and have precedence on 
secondary
 # used for edc properties, like "name:" or "state:"
-primary=item font tag base external name type state min max normal color 
color2 color3 clip_to signal source action transition target scale align 
relative offset inherit to border aspect aspect_preference align effect size 
mouse_events repeat_events ellipsis fixed layout padding visible to_x to_y 
middle smooth x y confine alias color_class border_scale_by border_scale after 
entry_mode select_mode multiline source source2 source3 source4 source5 source6 
text_class text_source ignore_flags [...]
+primary=item file font tag image base_scale tone inherit_only broadcast_signal 
target_groups script_only script_recursion base external name type state min 
max normal color color2 color3 clip_to signal source action transition target 
scale align relative offset inherit to border aspect aspect_preference align 
effect size mouse_events repeat_events ellipsis fixed layout padding visible 
to_x to_y middle smooth x y confine alias color_class border_scale_by 
border_scale after entry_mode sele [...]
 
-# secondary will draw in red (with default colors)
+# secondary will draw in RED (with default colors)
 # used for edc blocks, like "parts{}" or "part{}"
-secondary=data images image fonts styles style externals collections group 
script parts part description programs program rel1 rel2 box text fill dragable
+secondary=data images set fonts styles style sounds sample vibrations 
externals collections group script parts part description programs program rel1 
rel2 box text fill dragable limits items table physics movement_freedom faces 
face map rotation params link world
 
-# these are the Doxygen keywords
-# docComment=addtogroup
 
 [lexer_properties]
 styling.within.preprocessor=1
diff --git a/snippets.conf b/snippets.conf
index 6be2634..f85689a 100644
--- a/snippets.conf
+++ b/snippets.conf
@@ -11,11 +11,228 @@
 # NOTE: default snippets file (with docs) at: /usr/share/geany/snippets.conf
 #
 
+
+
 [Edje]
+# blocks
+collections=collections {\n\t%cursor% \n}
 group=group { name: "%cursor%";\n\tparts {\n\t}\n}
-part=part { name: "%cursor%";\n\ttype: RECT;\n\tdescription { state: "default" 
0.0;\n\t}\n}
-desc=description { state: "default" 0.0;\n\t%cursor%\n}
+parts=parts {\n\t%cursor% \n}
 rel1=rel1 {\n\tto: "%cursor%";\n\trelative: 0.0 0.0;\n\toffset: 0 0;\n}
 rel2=rel2 {\n\tto: "%cursor%";\n\trelative: 1.0 1.0;\n\toffset: -1 -1;\n}
+fill=fill {\n\tsmooth: 1;\n\ttype: TILE;\n\torigin {\n\t\trelative: 
%cursor%0.0 0.0;\n\t\toffset: 0 0;\n\t}\n\tsize {\n\t\trelative: 1.0 
1.0;\n\t\toffset: -1 -1;\n\t}\n}
+origin=origin {\n\trelative: 0.0 0.0;\n\toffset: 0 0;\n}
+text=text {\n\ttext: "";\n\tfont: "%cursor%";\n\tsize: 12;\n\ttext_class: 
"";\n\tmin: 1 0;\n\tellipsis: -1;\n}
+script=script {\n\t%cursor%\n}
+
+# parts
+part=part { name: "%cursor%";\n\ttype: RECT;\n\tdescription { state: "default" 
0.0;\n\t\t\n\t}\n}
 RECT=part { name: "%cursor%";\n\ttype: RECT;\n\tdescription { state: "default" 
0.0;\n\t}\n}
 IMAGE=part { name: "%cursor%";\n\tdescription { state: "default" 
0.0;\n\t\timage {\n\t\t\tnormal: "";\n\t\t\tborder: left right top 
bottom;\n\t\t}\n\t}\n}
+
+# colors
+color_class=color_class {\n\tname: "%cursor%";\n\tcolor: 200 200 200 
255;\n\tcolor2: 200 200 200 255;\n\tcolor3: 200 200 200 255; \n}
+
+# text styles
+styles=styles {\n\t%cursor%\n}
+style=style {\n\tname: "%cursor%";\n\tbase: "font=Sans font_size=12 color=#fff 
wrap=word";\n\ttag: "b" "+ font_weight=Bold";\n}
+base=base: "font=%cursor%Sans font_size=12 color=#fff wrap=word";
+tag=tag: "%cursor%b" "+ font_weight=Bold";
+
+# externals
+externals=externals {\n\texternal: "%cursor%";\n}
+external=external: "%cursor%";
+
+# sounds
+sounds=sounds {\n\t%cursor%\n}
+sample=sample {\n\tname: "%cursor%" COMP;\n\tsource: "sound_file.wav";\n}
+tone=tone: "%cursor%" 440;
+vibrations=vibrations {\n\t%cursor% \n}
+
+# images
+images=images {\n\timage: "%cursor%.png" COMP;\n}
+image=image: "%cursor%.png" COMP;
+border=border: %cursor%left right top bottom;
+size=size: %cursor%minw minh maxw maxh;
+border_scale_by=border_scale_by: %cursor%0.0;
+set=set {\n\tname: "%cursor%";\n\timage {\n\t\timage: "filename1.png" LOSSY 
90;\n\t\tsize: minw minh maxw maxh;\n\t}\n\timage {\n\t\timage: "filename2.png" 
LOSSY 90;\n\t\tsize: minw minh maxw maxh;\n\t}\n}
+
+# fonts
+fonts=fonts {\n\tfont: "%cursor%.otf" "FontAlias";\n}
+font=font: "%cursor%.otf" "FontAlias";
+
+
+# data
+data=data {\n\titem: "%cursor%key" "value";\n\tfile: "key" "filename.ext"\n}
+item=item: "%cursor%key" "value";
+file=file: "%cursor%key" "filename.ext";
+
+# collections
+base_scale=base_scale: %cursor%1.0;
+
+# group
+inherit_only=inherit_only: %cursor%1;
+target_group=target_group: "%cursor%" "%cursor%" "%cursor%";
+script_only=script_only: %cursor%on;
+script_recursion=script_recursion: %cursor%1;
+alias=alias: "%cursor%";
+min=min: %cursor%width height;
+max=max: %cursor%width height;
+broadcast_signal=broadcast_signal: on;
+orientation=orientation: LTR;
+program_source=program_source: "%cursor%";
+# group.limits
+limits=limits {\n\tvertical: "%cursor%" height_barrier;\n\thorizontal: 
"limit_name" width_barrier;\n}
+vertical=vertical: "%cursor%" height_barrier;
+horizontal=horizontal: "%cursor%" width_barrier;
+
+# part
+type=type: %cursor%RECT;
+program_remove=program_remove: "%cursor%" "%cursor%" "%cursor%";
+part_remove=part_remove: "%cursor%" "%cursor%" "%cursor%";
+physics_body=%cursor%RIGID_BOX;
+insert_before=insert_before: "%cursor%";
+insert_after=insert_after: "%cursor%";
+mouse_events=mouse_events: 0;\n
+repeat_events=repeat_events: 0;\n
+scale=scale: 1;\n
+ignore_flags=ignore_flags: ON_HOLD;\n
+pointer_mode=pointer_mode: NOGRAB;\n
+precise_is_inside=precise_is_inside: 1;\n
+use_alternate_font_metrics=use_alternate_font_metrics: 1;\n
+clip_to=clip_to: "%cursor%";
+source=source: "%cursor%";
+source2=source2: "%cursor%";
+source3=source3: "%cursor%";
+source4=source4: "%cursor%";
+source5=source5: "%cursor%";
+source6=source6: "%cursor%";
+effect=effect: %cursor%SHADOW;
+entry_mode=entry_mode: %cursor%EDITABLE;
+select_mode=select_mode: %cursor%EXPLICIT;
+cursor_mode=cursor_mode: %cursor%BEFORE;
+multiline=multiline: 0;\n
+access=access: 1;\n
+
+name=name: "%cursor%";
+color=color: 200 200 200 255;
+color2=color2: 200 200 200 255;
+color3=color3: 200 200 200 255;
+
+# description
+description=description { state: "%cursor%" 0.0;\n\t\n}
+desc=description { state: "%cursor%" 0.0;\n\t\n}
+inherit=inherit: "%cursor%default" 0.0;
+state=state: "%cursor%" 0.0;
+visible=visible: 0;\n
+limit=limit: %cursor%;
+align=align: %cursor%0.0 0.0;
+fixed=fixed: 1 1;\n
+minmul=minmul: %cursor%1.0 1.0;
+step=step: %cursor%0 0;
+aspect=aspect: %cursor%vmin vmax;\naspect_preference: BOTH;
+aspect_preference=aspect_preference: BOTH;\n
+offset=offset: %cursor%0 0;
+to=to: "%cursor%";
+to_x=to_x: "%cursor%";
+to_y=to_y: "%cursor%";
+normal=normal: "%cursor%.png" COMP;
+tween=tween: "%cursor% .png";
+middle=middle: NONE;\n
+border_scale=border_scale: 1;\n
+scale_hint=scale_hint: %cursor%STATIC;
+ellipsis=ellipsis: -1;
+repch=repch: "%cursor%*";
+size_range=size_range: 1.2 1.2;
+fit=fit: 1 0;
+text_source=text_source: "%cursor%";
+filter=filter: "%cursor%";
+
+# dragable
+dragable=dragable {\n\tconfine: "%cursor%";\n\tevents: "another dragable 
part";\n\tx: 0 0 0;\n\ty: 0 0 0;\n}
+x=x: 1 0 0;\n
+y=y: 1 0 0;\n
+confine=confine: "%cursor%";
+threshold=threshold: "%cursor%";
+events=events: "%cursor%";
+relative=relative: %cursor%0.0 0.0;
+
+# box/table
+box=box {\n\tlayout: "%cursor%vertical";\n\tpadding: 0 2;\n\talign: 0.5 
0.5;\n\tmin: 0 0;\n\titems {\n\t\titem {\n\t\t\ttype: GROUP;\n\t\t\tsource: 
"";\n\t\t}\n\t}\n}
+table=table {\n\thomogeneous: TABLE;\n\tpadding: 0 2;\n\talign: 0.5 
0.5;\n\tmin: 0 0;\n\titems {\n\t\t%cursor%\n\t}\n}
+layout=layout: "%cursor%";
+homogeneous=homogeneous: %cursor%TABLE;
+padding=padding: %cursor%0 0;
+# box/table items
+spread=spread: %cursor%width height;
+prefer=prefer: %cursor%width height;
+# padding=padding: %cursor%left right top bottom; (collide)
+position=position: %cursor%col row;
+span=span: %cursor%col row;
+weight=weight: %cursor%x_val y_val;
+
+# map
+center=center: "%cursor%";
+alpha=alpha: 1;
+perspective_on=perspective_on: 1;
+smooth=smooth: 1;
+on=on: 1;
+light=light: "%cursor%";
+perspective=perspective: "%cursor%";
+center=center: "%cursor%";
+backface_cull=backface_cull: 1;
+perspective=perspective {\n\tzplane: 0;\n\tfocal: 1000;\n}
+zplane=zplane: %cursor%;
+focal=focal: %cursor%;
+
+# physics (obj)
+physics=physics {\n\tignore_part_pos: 1;\n\tmass: %cursor%5.31;\n\tfriction: 
0.5;\n\trestitution: 0.82;\n\tdamping: 0.4 0.24;\n\tsleep: 32 
18.9;\n\tmaterial: IRON;\n\tdensity: 3.2;\n\thardness: 0.42;\n\tlight_on: 
1;\n\tz: -15;\n\tdepth: 30;\n\tmovement_freedom { }\n\tfaces { }\n}
+mass=mass: %cursor%;
+restitution=restitution: %cursor%;
+friction=friction: %cursor%;
+ignore_part_pos=ignore_part_pos: %cursor%0;
+damping=damping: %cursor%linear angular;
+sleep=sleep: %cursor%linear angular;
+material=material: %cursor%CONCRETE;
+density=density: %cursor%;
+hardness=hardness: %cursor%;
+light_on=light_on: 1;
+z=z: %cursor%;
+depth=depth: %cursor%;
+backface_cull=backface_cull: 1;
+movement_freedom=movement_freedom {\n\tlinear: %cursor%1 1 0;\n\tangular: 0 0 
1;\n}
+linear=linear: %cursor%1 1 0;
+angular=angular: %cursor%0 0 1;
+faces=faces {\n\tface {\n\t\ttype: BOX_FRONT;\n\t\tsource: "%cursor%";\n\t}\n}
+face=face {\n\ttype: BOX_FRONT;\n\tsource: "%cursor%";\n}
+# physics (world)
+world=world {\n\tgravity: 0 294 0;\n\trate: 30;\n\tz: -50;\n\tdepth: 100;\n}
+gravity=gravity: %cursor%0 0 0;
+rate=rate: %cursor%30;
+depth=depth: %cursor%100;
+#z=z: %cursor%-50; (collide)
+
+# external params
+params=params {\n\t%cursor%\n}
+int=int: "%cursor%" 0;
+double=double: "%cursor%" 0.0;
+string=string: "%cursor%" "%cursor%";
+bool=bool: "%cursor%" 1;
+choice=choice: "%cursor%" "%cursor%";
+
+# programs
+link=link {\n\tbase: "edje,signal" "edje";\n\ttransition: LINEAR 0.2;\n\tin: 
0.5 0.1;\n\tafter: "some_program";\n}
+programs=programs {\n\tprogram { name: "%cursor%";\n\t\tsignal: 
"";\n\t\tsource: "";\n\t\taction: STATE_SET "default" 0.0;\n\t\ttransition: 
LINEAR 1.0;\n\t\ttarget: "";\n\t}\n}
+program=program { name: "%cursor%";\n\tsignal: "";\n\tsource: "";\n\taction: 
STATE_SET "default" 0.0;\n\ttransition: LINEAR 1.0;\n\ttarget: "";\n}
+prog=program { name: "%cursor%";\n\tsignal: "";\n\tsource: "";\n\taction: 
STATE_SET "default" 0.0;\n\ttransition: LINEAR 1.0;\n\ttarget: "";\n}
+sequence=sequence {\n\t%cursor% \n}
+signal=signal: "%cursor%";
+source=source: "%cursor%";
+filter=filter: "%cursor%" "%cursor%";
+in=in: %cursor%1.0 0.0;
+action=action: STATE_SET "%cursor%" 0.0;
+transition=transition: LINEAR 1.0;
+target=target: "%cursor%";
+target_groups=target_groups: "%cursor%" "%cursor%";
+after=after: "%cursor%";
+api=api: "%cursor%" "%cursor%";
diff --git a/tags/edje.edc.tags b/tags/edje.edc.tags
new file mode 100644
index 0000000..003ca22
--- /dev/null
+++ b/tags/edje.edc.tags
@@ -0,0 +1,427 @@
+# format=pipe
+#
+# Edje EDC tags for autocomplate & help-tooltip for Geany
+#
+# Note: actually the properties help string only show when you type "("
+#       so you need to type "image(" to show the help
+#
+# Usage: copy this file to "~/.config/geany/tags/" folder (or just link it).
+#
+# Format:
+#   tag_name||: [param1] [param2]... |
+#     or:
+#   tag_name||disambiguation: [param1] [param2]... |
+#
+#
+# Strangness:
+#   * "alias" help do not work
+#   * "limits" autocomp do not work
+#   * "params" autocomp do not work
+#   * "params.bool" help do not work
+#   * "map.center" autocomp do not work
+#   * "part.type" autocomp/help do not work
+#   * "item.position" autocomp/help do not work
+#   * "part.repeat_events" autocomp is strange
+#
+###############################################################################
+###########  BLOCKS  ##########################################################
+collections
+###############################################################################
+###########  EXTERNALS  #######################################################
+externals
+external||: "ext name"|
+###############################################################################
+###########  fonts  ###########################################################
+fonts
+font||fonts.font: "font file" "font alias"|
+###############################################################################
+###########  DATA  ############################################################
+data
+item||: "key" "value"|
+file||: "key" "filename.ext"|
+###############################################################################
+###########  COLLECTIONS  #####################################################
+base_scale||: [scale val]|
+###############################################################################
+###########  images.image  ####################################################
+images
+image||: [file name] [ RAW / COMP / LOSSY / LOSSY_ETC1 / LOSSY_ETC2 / USER ] 
(comp level)|
+RAW
+COMP
+LOSSY
+LOSSY_ETC1
+LOSSY_ETC2
+USER
+border||: [left] [right] [top [bottom]|
+border_scale_by||: [0.0 or bigger]
+size||: [minw] [minh] [maxw] [maxh]|
+###############################################################################
+###########  COLORS  ##########################################################
+color_class
+color_classes
+color||: [red] [green] [blue] [alpha]|
+color2||: [red] [green] [blue] [alpha]|
+color3||: [red] [green] [blue] [alpha]|
+###############################################################################
+###########  TEXT STYLES  #####################################################
+styles
+style
+base||: [style properties string]|
+tag||: [tag name] [style properties string]|
+###############################################################################
+###########  SOUNDS  ##########################################################
+sounds
+vibrations
+sample
+tone||: [tone name] [frequency]|
+name||sounds.sample.name: [sample name] [compression type] (quality) 
+###############################################################################
+###########  GROUP  ###########################################################
+inherit||group.inherit: [parent group name]|
+inherit_only||: [1 or 0]|
+target_group||: [name] [part/program1] [part/program2] ...|
+script_only||: [on/off]|
+script_recursion||: [1/0]
+alias||: [additional name]|
+min||: [width] [height]|
+max||: [width] [height]|
+broadcast_signal||: [on/off]|
+orientation||: [ AUTO / LTR / RTL ]|
+AUTO
+LTR
+RTL
+program_source||: [source name]|
+###############################################################################
+###########  GROUP.LIMITS  ####################################################
+limits
+vertical||: [name] [height barrier]|
+horizontal||: [name] [width barrier]|
+###############################################################################
+###########  PART  ############################################################
+parts
+part
+name||part.name: [part name]|
+type||: [ RECT / TEXT / IMAGE / SWALLOW / TEXTBLOCK / GROUP / BOX / TABLE / 
EXTERNAL / PROXY / SPACER ]|
+NONE
+RECT
+TEXT
+IMAGE
+SWALLOW
+TEXTBLOCK
+GROUP
+BOX
+TABLE
+EXTERNAL
+PROXY
+SPACER
+mouse_events||: [1 or 0]|
+repeat_events||: [1 or 0]|
+scale||: [1 or 0]|
+inherit||part.inherit: [part name]|
+pointer_mode||: [ AUTOGRAB / NOGRAB ]|
+AUTOGRAB
+NOGRAB
+precise_is_inside||: [1 or 0]|
+use_alternate_font_metrics||: [1 or 0]|
+program_remove||: [program name] [program name] [program name] ...|
+part_remove||: [part name] [part name] [part name] ...|
+physics_body||: [ NONE / RIGID_BOX / RIGID_SPHERE / RIGID_CYLINDER / SOFT_BOX 
/ SOFT_SPHERE / SOFT_CYLINDER / CLOTH / BOUNDARY_TOP / BOUNDARY_BOTTOM / 
BOUNDARY_RIGHT / BOUNDARY_LEFT / BOUNDARY_FRONT / BOUNDARY_BACK ]
+NONE
+RIGID_BOX
+RIGID_SPHERE
+RIGID_CYLINDER
+SOFT_BOX
+SOFT_SPHERE
+SOFT_CYLINDER
+CLOTH
+BOUNDARY_TOP
+BOUNDARY_BOTTOM
+BOUNDARY_RIGHT
+BOUNDARY_LEFT
+BOUNDARY_FRONT
+BOUNDARY_BACK
+insert_before||: [another part's name]|
+insert_after||: [another part's name]|
+ignore_flags||: [FLAG] ... (flag can be NONE or ON_HOLD)|
+NONE
+ON_HOLD
+clip_to||: [another part's name]|
+source||: [another group's name]|
+source2||: [another group's name]|
+source3||: [another group's name]|
+source4||: [another group's name]|
+source5||: [another group's name]|
+source6||: [another group's name]|
+effect||: [ PLAIN / OUTLINE / SOFT_OUTLINE / SHADOW / SOFT_SHADOW / 
OUTLINE_SHADOW / OUTLINE_SOFT_SHADOW / FAR_SHADOW / FAR_SOFT_SHADOW / GLOW ] 
(DIRECTION)
+NONE
+PLAIN
+OUTLINE
+SOFT_OUTLINE
+SHADOW
+SOFT_SHADOW
+OUTLINE_SHADOW
+OUTLINE_SOFT_SHADOW
+FAR_SHADOW
+FAR_SOFT_SHADOW
+GLOW
+#part_effect (param2)
+BOTTOM_RIGHT
+BOTTOM
+BOTTOM_LEFT
+LEFT
+TOP_LEFT
+TOP
+TOP_RIGHT
+RIGHT
+entry_mode||: [ NONE / PLAIN / EDITABLE / PASSWORD ]|รน
+NONE
+PLAIN
+EDITABLE
+PASSWORD
+select_mode||: [ DEFAULT / EXPLICIT ]|
+DEFAULT
+EXPLICIT
+cursor_mode||: [ UNDER / BEFORE ]|
+UNDER
+BEFORE
+multiline||: [1 or 0]|
+access||: [1 or 0]|
+###############################################################################
+###########  DESCRIPTION  #####################################################
+description
+inherit||description.inherit: [another desc name] [another desc index]|
+state||: [name] [index]|
+visible||: [0 or 1]|
+limit||: [ NONE / WIDTH / HEIGHT / BOTH ]|
+NONE
+WIDTH
+HEIGHT
+BOTH
+align||: [X axis] [Y axis]|
+fixed||: [width] [height]|
+color_class||description.color_class: [color class name]|
+minmul||: [width multipler] [height multiplier]|
+step||: step [width] [height]|
+aspect||: [min] [max]|
+aspect_preference||: [ NONE / BOTH / VERTICAL / HORIZONTAL / SOURCE ]|
+NONE
+VERTICAL
+HORIZONTAL
+BOTH
+SOURCE
+rel1
+rel2
+relative||: [X axis] [Y axis]|
+offset||: [X axis] [Y axis]|
+to||: [another part name]|
+to_x||: [another part name]|
+to_y||: [another part name]|
+#############  DESCRIPTION.IMAGE  #############################################
+normal||: [image filename]
+tween||: [image filename]
+border||image.border: [left] [right] [top] [bottom]|
+middle||: [ NONE / DEFAULT / SOLID ]|
+NONE
+DEFAULT
+SOLID
+border_scale||: [ 1 / 0 ]|
+border_scale_by||: [value]|
+scale_hint||: [ 0 / NONE / DYNAMIC / STATIC ]|
+NONE
+DYNAMIC
+STATIC
+smooth||: [0 or 1]|
+############# DESCRIPTION.TEXT  ###############################################
+text||text.text: [a string of text]|
+font||text.font: [font alias]|
+size||text.size: [font size in pt]|
+size_range||: [font min size in points (pt)] [font max size in points (pt)]|
+fit||: [horizontal] [vertical]|
+min||text.min: [horizontal] [vertical]|
+max||text.min: [horizontal] [vertical]|
+align||text.align: [horizontal] [vertical]|
+source||text.source: [another TEXT part's name]|
+text_source||: [another TEXT part's name]|
+ellipsis||: [point of balance]|
+filter||: [filter program as a string]|
+text_class||: [class name]|
+color_class||part.color_class: 
+repch||: [the replacement character string]|
+type||image.fill.type: [ SCALE / TILE ] 
+SCALE
+TILE
+###############################################################################
+###########  DRAGABLE  ########################################################
+dragable
+x||: [enable/disable] [step] [count]|
+y||: [enable/disable] [step] [count]|
+confine||: [another part's name]|
+threshold||: [another part's name]|
+events||: [another dragable part's name]|
+###############################################################################
+###########  BOX/TABLE  #######################################################
+layout||: [ horizontal / vertical / horizontal_homogeneous  / 
vertical_homogeneou / horizontal_max / vertical_max / horizontal_flow / 
vertical_flow / stack / custom ]|
+homogeneous||: [ NONE / TABLE / ITEM ]|
+NONE
+TABLE
+ITEM
+padding||box.pagging: [horizontal] [vertical]|
+###############################################################################
+###########  BOX / TABLE ITEMS  ###############################################
+type||: [ GROUP ]|
+GROUP
+name||group.name: [name for the object]|
+source||: [a group name]|
+min||: [width] [height]|
+max||: [width] [height]|
+spread||: [width] [height]|
+prefer||: [width] [height]|
+padding||box.item.padding: [left] [right] [top] [bottom]|
+align||box.item.align: [x] [y]
+weight||: [x] [y]|
+position||: [col] [row]|
+span||: [col] [row]|
+aspect||box.item.aspect: [w] [h]|
+aspect_mode||: [NONE / NEITHER / HORIZONTAL / VERTICAL / BOTH ]|
+NONE
+NEITHER
+HORIZONTAL
+VERTICAL
+BOTH
+options||: [extra options]|
+###############################################################################
+###########  PHYSICS  #########################################################
+physics
+
+mass||: [body's mass in kilograms]|
+restitution||: [body's restitution]|
+friction||: [body's friction]|
+ignore_part_pos||: [1 or 0]|
+damping||: [linear damping] [angular damping]|
+sleep||: [linear sleeping threshold] [angular sleeping threshold]|
+material||: [ CUSTOM / CONCRETE / IRON / PLASTIC / POLYSTYRENE / RUBBER / WOOD 
]|
+CUSTOM
+CONCRETE
+IRON
+PLASTIC
+POLYSTYRENE
+RUBBER
+WOOD
+density||: [body's material density]|
+hardness||: [ 0.0 - 1.0 ]|
+light_on||: [1 or 0]|
+z||: [body position in z axis]|
+depth||: [body's depth]|
+backface_cull||: [1 or 0]|
+movement_freedom
+linear||: [x-axis (1/0)] [y-axis (1/0)] [z-axis (1/0)]
+angular||: [x-axis (1/0)] [y-axis (1/0)] [z-axis (1/0)]
+faces
+face
+type||physics.face.type: [ BOX_MIDDLE_FRONT / BOX_MIDDLE_BACK / BOX_FRONT / 
BOX_BACK / BOX_LEFT / BOX_RIGHT / BOX_TOP / BOX_BOTTOM / CLOTH_FRONT / 
CLOTH_BACK / CYLINDER_MIDDLE_FRONT / CYLINDER_MIDDLE_BACK / CYLINDER_FRONT / 
CYLINDER_BACK / CYLINDER_CURVED / SPHERE_FRONT / SPHERE_BACK ]|
+BOX_MIDDLE_FRONT
+BOX_MIDDLE_BACK
+BOX_FRONT
+BOX_BACK
+BOX_LEFT
+BOX_RIGHT
+BOX_TOP
+BOX_BOTTOM
+CLOTH_FRONT
+CLOTH_BACK
+CYLINDER_MIDDLE_FRONT
+CYLINDER_MIDDLE_BACK
+CYLINDER_FRONT
+CYLINDER_BACK
+CYLINDER_CURVED
+SPHERE_FRONT
+SPHERE_BACK
+###############################################################################
+###########  PHYSICS (WORLD)  #################################################
+gravity||: [x-axis] [y-axis] [z-axis]|
+rate||: [rate pixels / meter]|
+depth||: [depth in pixels]|
+z||: [world's front border position]|
+###############################################################################
+###########  MAP  #############################################################
+map
+perspective||: [another part's name]|
+light||: [another part's name]|
+on||: [1 or 0]|
+smooth||: [1 or 0]|
+alpha||: [1 or 0]|
+backface_cull||: [1 or 0]|
+perspective_on||: [1 or 0]|
+color||: [point] [red] [green] [blue] [alpha]|
+rotation
+center||: [another part's name]|
+x||: [X degrees]|
+y||: [Y degrees]|
+z||: [Z degrees]|
+zplane||: [unscaled Z value]|
+focal||: [distance]|
+###############################################################################
+###########  EXTENAL PARAMS  ##################################################
+params
+int||: [param_name] [int_value]|
+double||: [param_name] [double_value]|
+string||: [param_name] [string_value]|
+bool||: [param_name] [bool_value]|
+choice||: [param_name] [choice_string]|
+###############################################################################
+###########  PROGRAMS  ########################################################
+programs
+program
+name||program.name: [program name]|
+signal||: [signal name]|
+source||: [source name]|
+filter||: [part] [state]|
+in||: [from] [range]|
+action||: [ STATE_SET / ACTION_STOP / SIGNAL_EMIT / ... ] (param1) (param2) 
(param3) (param4)|
+STATE_SET
+ACTION_STOP
+SIGNAL_EMIT
+DRAG_VAL_SET
+DRAG_VAL_STEP
+DRAG_VAL_PAGE
+SCRIPT
+FOCUS_SET
+FOCUS_OBJECT
+PARAM_COPY
+PARAM_SET
+PLAY_SAMPLE
+PLAY_TONE
+PHYSICS_IMPULSE
+PHYSICS_TORQUE_IMPULSE
+PHYSICS_FORCE
+PHYSICS_TORQUE
+PHYSICS_FORCES_CLEAR
+PHYSICS_VEL_SET
+PHYSICS_ANG_VEL_SET
+PHYSICS_STOP
+PHYSICS_ROT_SET
+PLAY_VIBRATION
+#### PLAY_SAMPLE channel
+EFFECT
+BACKGROUND
+MUSIC
+FOREGROUND
+INTERFACE
+INPUT
+ALERT
+transition||: [ LIN / SIN / SIN_FAC /  ACCEL / DECEL / ACCEL_FAC / DECEL_FAC / 
DIVIS / BOUNCE / SPRING ] [length] (interp val 1) (interp val 2) (CURRENT)|
+LINEAR
+SINUSOIDAL
+CUBIC_BEZIER
+ACCELERATE
+DECELERATE
+ACCELERATE_FACTOR
+DECELERATE_FACTOR
+SINUSOIDAL_FACTOR
+DIVISOR_INTERP
+BOUNCE
+SPRING
+target||: [target part or program]|
+target_groups||: [group] (group) (group)|
+after||: [ another program ]|
+api||: [name] [description]|
diff --git a/templates/files/main.edc b/templates/files/main.edc
new file mode 100644
index 0000000..810a00e
--- /dev/null
+++ b/templates/files/main.edc
@@ -0,0 +1,27 @@
+
+{fileheader}
+
+data {
+   item: "name" "val";
+}
+
+
+images {
+   image: "example.png" COMP;
+}
+
+
+fonts {
+   font: "example.otf" "Example";
+}
+
+
+collections {
+
+   group { name: "main";
+      parts {
+         
+      }
+   }
+
+}

-- 


Reply via email to