summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordavemds <dave@gurumeditation.it>2014-08-08 21:51:11 +0200
committerdavemds <dave@gurumeditation.it>2014-08-08 21:51:11 +0200
commit00874b240310c90d22810241e24fd72433f606aa (patch)
treece32219f33f01226ccbe24bd08c74edabedfef11
parent8e9b6d96bef63569c21649e078ba92f6c128cfbb (diff)
Geany EDC: full edc support
Highlight, autocomplete (snippets) and help tooltip for the whole edc syntax
-rw-r--r--filedefs/filetypes.Edje.conf12
-rw-r--r--snippets.conf221
-rw-r--r--tags/edje.edc.tags427
-rw-r--r--templates/files/main.edc27
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 @@
1# 1#
2# Edje (edc) filetype definition for Geany. 2# Edje (edc) filetype definition for Geany.
3# 3#
4# This file enable hilight of edc blocks and properties
4# 5#
5# Usage: 6# Usage:
6# 7#
@@ -15,17 +16,14 @@
15[styling=C] 16[styling=C]
16 17
17[keywords] 18[keywords]
18 19# primary will draw in BLU (with default colors) and have precedence on secondary
19# primary will draw in blu and have precedence on secondary
20# used for edc properties, like "name:" or "state:" 20# used for edc properties, like "name:" or "state:"
21primary=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 cursor_mode in 21primary=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 select_mode multiline source source2 source3 source4 source5 source6 text_class text_source ignore_flags cursor_mode in orientation program_source vertical horizontal program_remove part_remove physics_body insert_before insert_after pointer_mode precise_is_inside use_alternate_font_metrics access events threshold spread prefer weight position span limit minmul step tween scale_hint origin repch size_range fit filter homogeneous backface_cull depth z light_on hardness density material sleep damping ignore_part_pos friction restitution mass linear angular center alpha perspective_on on light perspective center zplane focal int double string bool choice gravity rate
22 22
23# secondary will draw in red (with default colors) 23# secondary will draw in RED (with default colors)
24# used for edc blocks, like "parts{}" or "part{}" 24# used for edc blocks, like "parts{}" or "part{}"
25secondary=data images image fonts styles style externals collections group script parts part description programs program rel1 rel2 box text fill dragable 25secondary=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
26 26
27# these are the Doxygen keywords
28# docComment=addtogroup
29 27
30[lexer_properties] 28[lexer_properties]
31styling.within.preprocessor=1 29styling.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 @@
11# NOTE: default snippets file (with docs) at: /usr/share/geany/snippets.conf 11# NOTE: default snippets file (with docs) at: /usr/share/geany/snippets.conf
12# 12#
13 13
14
15
14[Edje] 16[Edje]
17# blocks
18collections=collections {\n\t%cursor% \n}
15group=group { name: "%cursor%";\n\tparts {\n\t}\n} 19group=group { name: "%cursor%";\n\tparts {\n\t}\n}
16part=part { name: "%cursor%";\n\ttype: RECT;\n\tdescription { state: "default" 0.0;\n\t}\n} 20parts=parts {\n\t%cursor% \n}
17desc=description { state: "default" 0.0;\n\t%cursor%\n}
18rel1=rel1 {\n\tto: "%cursor%";\n\trelative: 0.0 0.0;\n\toffset: 0 0;\n} 21rel1=rel1 {\n\tto: "%cursor%";\n\trelative: 0.0 0.0;\n\toffset: 0 0;\n}
19rel2=rel2 {\n\tto: "%cursor%";\n\trelative: 1.0 1.0;\n\toffset: -1 -1;\n} 22rel2=rel2 {\n\tto: "%cursor%";\n\trelative: 1.0 1.0;\n\toffset: -1 -1;\n}
23fill=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}
24origin=origin {\n\trelative: 0.0 0.0;\n\toffset: 0 0;\n}
25text=text {\n\ttext: "";\n\tfont: "%cursor%";\n\tsize: 12;\n\ttext_class: "";\n\tmin: 1 0;\n\tellipsis: -1;\n}
26script=script {\n\t%cursor%\n}
27
28# parts
29part=part { name: "%cursor%";\n\ttype: RECT;\n\tdescription { state: "default" 0.0;\n\t\t\n\t}\n}
20RECT=part { name: "%cursor%";\n\ttype: RECT;\n\tdescription { state: "default" 0.0;\n\t}\n} 30RECT=part { name: "%cursor%";\n\ttype: RECT;\n\tdescription { state: "default" 0.0;\n\t}\n}
21IMAGE=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} 31IMAGE=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}
32
33# colors
34color_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}
35
36# text styles
37styles=styles {\n\t%cursor%\n}
38style=style {\n\tname: "%cursor%";\n\tbase: "font=Sans font_size=12 color=#fff wrap=word";\n\ttag: "b" "+ font_weight=Bold";\n}
39base=base: "font=%cursor%Sans font_size=12 color=#fff wrap=word";
40tag=tag: "%cursor%b" "+ font_weight=Bold";
41
42# externals
43externals=externals {\n\texternal: "%cursor%";\n}
44external=external: "%cursor%";
45
46# sounds
47sounds=sounds {\n\t%cursor%\n}
48sample=sample {\n\tname: "%cursor%" COMP;\n\tsource: "sound_file.wav";\n}
49tone=tone: "%cursor%" 440;
50vibrations=vibrations {\n\t%cursor% \n}
51
52# images
53images=images {\n\timage: "%cursor%.png" COMP;\n}
54image=image: "%cursor%.png" COMP;
55border=border: %cursor%left right top bottom;
56size=size: %cursor%minw minh maxw maxh;
57border_scale_by=border_scale_by: %cursor%0.0;
58set=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}
59
60# fonts
61fonts=fonts {\n\tfont: "%cursor%.otf" "FontAlias";\n}
62font=font: "%cursor%.otf" "FontAlias";
63
64
65# data
66data=data {\n\titem: "%cursor%key" "value";\n\tfile: "key" "filename.ext"\n}
67item=item: "%cursor%key" "value";
68file=file: "%cursor%key" "filename.ext";
69
70# collections
71base_scale=base_scale: %cursor%1.0;
72
73# group
74inherit_only=inherit_only: %cursor%1;
75target_group=target_group: "%cursor%" "%cursor%" "%cursor%";
76script_only=script_only: %cursor%on;
77script_recursion=script_recursion: %cursor%1;
78alias=alias: "%cursor%";
79min=min: %cursor%width height;
80max=max: %cursor%width height;
81broadcast_signal=broadcast_signal: on;
82orientation=orientation: LTR;
83program_source=program_source: "%cursor%";
84# group.limits
85limits=limits {\n\tvertical: "%cursor%" height_barrier;\n\thorizontal: "limit_name" width_barrier;\n}
86vertical=vertical: "%cursor%" height_barrier;
87horizontal=horizontal: "%cursor%" width_barrier;
88
89# part
90type=type: %cursor%RECT;
91program_remove=program_remove: "%cursor%" "%cursor%" "%cursor%";
92part_remove=part_remove: "%cursor%" "%cursor%" "%cursor%";
93physics_body=%cursor%RIGID_BOX;
94insert_before=insert_before: "%cursor%";
95insert_after=insert_after: "%cursor%";
96mouse_events=mouse_events: 0;\n
97repeat_events=repeat_events: 0;\n
98scale=scale: 1;\n
99ignore_flags=ignore_flags: ON_HOLD;\n
100pointer_mode=pointer_mode: NOGRAB;\n
101precise_is_inside=precise_is_inside: 1;\n
102use_alternate_font_metrics=use_alternate_font_metrics: 1;\n
103clip_to=clip_to: "%cursor%";
104source=source: "%cursor%";
105source2=source2: "%cursor%";
106source3=source3: "%cursor%";
107source4=source4: "%cursor%";
108source5=source5: "%cursor%";
109source6=source6: "%cursor%";
110effect=effect: %cursor%SHADOW;
111entry_mode=entry_mode: %cursor%EDITABLE;
112select_mode=select_mode: %cursor%EXPLICIT;
113cursor_mode=cursor_mode: %cursor%BEFORE;
114multiline=multiline: 0;\n
115access=access: 1;\n
116
117name=name: "%cursor%";
118color=color: 200 200 200 255;
119color2=color2: 200 200 200 255;
120color3=color3: 200 200 200 255;
121
122# description
123description=description { state: "%cursor%" 0.0;\n\t\n}
124desc=description { state: "%cursor%" 0.0;\n\t\n}
125inherit=inherit: "%cursor%default" 0.0;
126state=state: "%cursor%" 0.0;
127visible=visible: 0;\n
128limit=limit: %cursor%;
129align=align: %cursor%0.0 0.0;
130fixed=fixed: 1 1;\n
131minmul=minmul: %cursor%1.0 1.0;
132step=step: %cursor%0 0;
133aspect=aspect: %cursor%vmin vmax;\naspect_preference: BOTH;
134aspect_preference=aspect_preference: BOTH;\n
135offset=offset: %cursor%0 0;
136to=to: "%cursor%";
137to_x=to_x: "%cursor%";
138to_y=to_y: "%cursor%";
139normal=normal: "%cursor%.png" COMP;
140tween=tween: "%cursor% .png";
141middle=middle: NONE;\n
142border_scale=border_scale: 1;\n
143scale_hint=scale_hint: %cursor%STATIC;
144ellipsis=ellipsis: -1;
145repch=repch: "%cursor%*";
146size_range=size_range: 1.2 1.2;
147fit=fit: 1 0;
148text_source=text_source: "%cursor%";
149filter=filter: "%cursor%";
150
151# dragable
152dragable=dragable {\n\tconfine: "%cursor%";\n\tevents: "another dragable part";\n\tx: 0 0 0;\n\ty: 0 0 0;\n}
153x=x: 1 0 0;\n
154y=y: 1 0 0;\n
155confine=confine: "%cursor%";
156threshold=threshold: "%cursor%";
157events=events: "%cursor%";
158relative=relative: %cursor%0.0 0.0;
159
160# box/table
161box=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}
162table=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}
163layout=layout: "%cursor%";
164homogeneous=homogeneous: %cursor%TABLE;
165padding=padding: %cursor%0 0;
166# box/table items
167spread=spread: %cursor%width height;
168prefer=prefer: %cursor%width height;
169# padding=padding: %cursor%left right top bottom; (collide)
170position=position: %cursor%col row;
171span=span: %cursor%col row;
172weight=weight: %cursor%x_val y_val;
173
174# map
175center=center: "%cursor%";
176alpha=alpha: 1;
177perspective_on=perspective_on: 1;
178smooth=smooth: 1;
179on=on: 1;
180light=light: "%cursor%";
181perspective=perspective: "%cursor%";
182center=center: "%cursor%";
183backface_cull=backface_cull: 1;
184perspective=perspective {\n\tzplane: 0;\n\tfocal: 1000;\n}
185zplane=zplane: %cursor%;
186focal=focal: %cursor%;
187
188# physics (obj)
189physics=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}
190mass=mass: %cursor%;
191restitution=restitution: %cursor%;
192friction=friction: %cursor%;
193ignore_part_pos=ignore_part_pos: %cursor%0;
194damping=damping: %cursor%linear angular;
195sleep=sleep: %cursor%linear angular;
196material=material: %cursor%CONCRETE;
197density=density: %cursor%;
198hardness=hardness: %cursor%;
199light_on=light_on: 1;
200z=z: %cursor%;
201depth=depth: %cursor%;
202backface_cull=backface_cull: 1;
203movement_freedom=movement_freedom {\n\tlinear: %cursor%1 1 0;\n\tangular: 0 0 1;\n}
204linear=linear: %cursor%1 1 0;
205angular=angular: %cursor%0 0 1;
206faces=faces {\n\tface {\n\t\ttype: BOX_FRONT;\n\t\tsource: "%cursor%";\n\t}\n}
207face=face {\n\ttype: BOX_FRONT;\n\tsource: "%cursor%";\n}
208# physics (world)
209world=world {\n\tgravity: 0 294 0;\n\trate: 30;\n\tz: -50;\n\tdepth: 100;\n}
210gravity=gravity: %cursor%0 0 0;
211rate=rate: %cursor%30;
212depth=depth: %cursor%100;
213#z=z: %cursor%-50; (collide)
214
215# external params
216params=params {\n\t%cursor%\n}
217int=int: "%cursor%" 0;
218double=double: "%cursor%" 0.0;
219string=string: "%cursor%" "%cursor%";
220bool=bool: "%cursor%" 1;
221choice=choice: "%cursor%" "%cursor%";
222
223# programs
224link=link {\n\tbase: "edje,signal" "edje";\n\ttransition: LINEAR 0.2;\n\tin: 0.5 0.1;\n\tafter: "some_program";\n}
225programs=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}
226program=program { name: "%cursor%";\n\tsignal: "";\n\tsource: "";\n\taction: STATE_SET "default" 0.0;\n\ttransition: LINEAR 1.0;\n\ttarget: "";\n}
227prog=program { name: "%cursor%";\n\tsignal: "";\n\tsource: "";\n\taction: STATE_SET "default" 0.0;\n\ttransition: LINEAR 1.0;\n\ttarget: "";\n}
228sequence=sequence {\n\t%cursor% \n}
229signal=signal: "%cursor%";
230source=source: "%cursor%";
231filter=filter: "%cursor%" "%cursor%";
232in=in: %cursor%1.0 0.0;
233action=action: STATE_SET "%cursor%" 0.0;
234transition=transition: LINEAR 1.0;
235target=target: "%cursor%";
236target_groups=target_groups: "%cursor%" "%cursor%";
237after=after: "%cursor%";
238api=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 @@
1# format=pipe
2#
3# Edje EDC tags for autocomplate & help-tooltip for Geany
4#
5# Note: actually the properties help string only show when you type "("
6# so you need to type "image(" to show the help
7#
8# Usage: copy this file to "~/.config/geany/tags/" folder (or just link it).
9#
10# Format:
11# tag_name||: [param1] [param2]... |
12# or:
13# tag_name||disambiguation: [param1] [param2]... |
14#
15#
16# Strangness:
17# * "alias" help do not work
18# * "limits" autocomp do not work
19# * "params" autocomp do not work
20# * "params.bool" help do not work
21# * "map.center" autocomp do not work
22# * "part.type" autocomp/help do not work
23# * "item.position" autocomp/help do not work
24# * "part.repeat_events" autocomp is strange
25#
26###############################################################################
27########### BLOCKS ##########################################################
28collections
29###############################################################################
30########### EXTERNALS #######################################################
31externals
32external||: "ext name"|
33###############################################################################
34########### fonts ###########################################################
35fonts
36font||fonts.font: "font file" "font alias"|
37###############################################################################
38########### DATA ############################################################
39data
40item||: "key" "value"|
41file||: "key" "filename.ext"|
42###############################################################################
43########### COLLECTIONS #####################################################
44base_scale||: [scale val]|
45###############################################################################
46########### images.image ####################################################
47images
48image||: [file name] [ RAW / COMP / LOSSY / LOSSY_ETC1 / LOSSY_ETC2 / USER ] (comp level)|
49RAW
50COMP
51LOSSY
52LOSSY_ETC1
53LOSSY_ETC2
54USER
55border||: [left] [right] [top [bottom]|
56border_scale_by||: [0.0 or bigger]
57size||: [minw] [minh] [maxw] [maxh]|
58###############################################################################
59########### COLORS ##########################################################
60color_class
61color_classes
62color||: [red] [green] [blue] [alpha]|
63color2||: [red] [green] [blue] [alpha]|
64color3||: [red] [green] [blue] [alpha]|
65###############################################################################
66########### TEXT STYLES #####################################################
67styles
68style
69base||: [style properties string]|
70tag||: [tag name] [style properties string]|
71###############################################################################
72########### SOUNDS ##########################################################
73sounds
74vibrations
75sample
76tone||: [tone name] [frequency]|
77name||sounds.sample.name: [sample name] [compression type] (quality)
78###############################################################################
79########### GROUP ###########################################################
80inherit||group.inherit: [parent group name]|
81inherit_only||: [1 or 0]|
82target_group||: [name] [part/program1] [part/program2] ...|
83script_only||: [on/off]|
84script_recursion||: [1/0]
85alias||: [additional name]|
86min||: [width] [height]|
87max||: [width] [height]|
88broadcast_signal||: [on/off]|
89orientation||: [ AUTO / LTR / RTL ]|
90AUTO
91LTR
92RTL
93program_source||: [source name]|
94###############################################################################
95########### GROUP.LIMITS ####################################################
96limits
97vertical||: [name] [height barrier]|
98horizontal||: [name] [width barrier]|
99###############################################################################
100########### PART ############################################################
101parts
102part
103name||part.name: [part name]|
104type||: [ RECT / TEXT / IMAGE / SWALLOW / TEXTBLOCK / GROUP / BOX / TABLE / EXTERNAL / PROXY / SPACER ]|
105NONE
106RECT
107TEXT
108IMAGE
109SWALLOW
110TEXTBLOCK
111GROUP
112BOX
113TABLE
114EXTERNAL
115PROXY
116SPACER
117mouse_events||: [1 or 0]|
118repeat_events||: [1 or 0]|
119scale||: [1 or 0]|
120inherit||part.inherit: [part name]|
121pointer_mode||: [ AUTOGRAB / NOGRAB ]|
122AUTOGRAB
123NOGRAB
124precise_is_inside||: [1 or 0]|
125use_alternate_font_metrics||: [1 or 0]|
126program_remove||: [program name] [program name] [program name] ...|
127part_remove||: [part name] [part name] [part name] ...|
128physics_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 ]
129NONE
130RIGID_BOX
131RIGID_SPHERE
132RIGID_CYLINDER
133SOFT_BOX
134SOFT_SPHERE
135SOFT_CYLINDER
136CLOTH
137BOUNDARY_TOP
138BOUNDARY_BOTTOM
139BOUNDARY_RIGHT
140BOUNDARY_LEFT
141BOUNDARY_FRONT
142BOUNDARY_BACK
143insert_before||: [another part's name]|
144insert_after||: [another part's name]|
145ignore_flags||: [FLAG] ... (flag can be NONE or ON_HOLD)|
146NONE
147ON_HOLD
148clip_to||: [another part's name]|
149source||: [another group's name]|
150source2||: [another group's name]|
151source3||: [another group's name]|
152source4||: [another group's name]|
153source5||: [another group's name]|
154source6||: [another group's name]|
155effect||: [ PLAIN / OUTLINE / SOFT_OUTLINE / SHADOW / SOFT_SHADOW / OUTLINE_SHADOW / OUTLINE_SOFT_SHADOW / FAR_SHADOW / FAR_SOFT_SHADOW / GLOW ] (DIRECTION)
156NONE
157PLAIN
158OUTLINE
159SOFT_OUTLINE
160SHADOW
161SOFT_SHADOW
162OUTLINE_SHADOW
163OUTLINE_SOFT_SHADOW
164FAR_SHADOW
165FAR_SOFT_SHADOW
166GLOW
167#part_effect (param2)
168BOTTOM_RIGHT
169BOTTOM
170BOTTOM_LEFT
171LEFT
172TOP_LEFT
173TOP
174TOP_RIGHT
175RIGHT
176entry_mode||: [ NONE / PLAIN / EDITABLE / PASSWORD ]|รน
177NONE
178PLAIN
179EDITABLE
180PASSWORD
181select_mode||: [ DEFAULT / EXPLICIT ]|
182DEFAULT
183EXPLICIT
184cursor_mode||: [ UNDER / BEFORE ]|
185UNDER
186BEFORE
187multiline||: [1 or 0]|
188access||: [1 or 0]|
189###############################################################################
190########### DESCRIPTION #####################################################
191description
192inherit||description.inherit: [another desc name] [another desc index]|
193state||: [name] [index]|
194visible||: [0 or 1]|
195limit||: [ NONE / WIDTH / HEIGHT / BOTH ]|
196NONE
197WIDTH
198HEIGHT
199BOTH
200align||: [X axis] [Y axis]|
201fixed||: [width] [height]|
202color_class||description.color_class: [color class name]|
203minmul||: [width multipler] [height multiplier]|
204step||: step [width] [height]|
205aspect||: [min] [max]|
206aspect_preference||: [ NONE / BOTH / VERTICAL / HORIZONTAL / SOURCE ]|
207NONE
208VERTICAL
209HORIZONTAL
210BOTH
211SOURCE
212rel1
213rel2
214relative||: [X axis] [Y axis]|
215offset||: [X axis] [Y axis]|
216to||: [another part name]|
217to_x||: [another part name]|
218to_y||: [another part name]|
219############# DESCRIPTION.IMAGE #############################################
220normal||: [image filename]
221tween||: [image filename]
222border||image.border: [left] [right] [top] [bottom]|
223middle||: [ NONE / DEFAULT / SOLID ]|
224NONE
225DEFAULT
226SOLID
227border_scale||: [ 1 / 0 ]|
228border_scale_by||: [value]|
229scale_hint||: [ 0 / NONE / DYNAMIC / STATIC ]|
230NONE
231DYNAMIC
232STATIC
233smooth||: [0 or 1]|
234############# DESCRIPTION.TEXT ###############################################
235text||text.text: [a string of text]|
236font||text.font: [font alias]|
237size||text.size: [font size in pt]|
238size_range||: [font min size in points (pt)] [font max size in points (pt)]|
239fit||: [horizontal] [vertical]|
240min||text.min: [horizontal] [vertical]|
241max||text.min: [horizontal] [vertical]|
242align||text.align: [horizontal] [vertical]|
243source||text.source: [another TEXT part's name]|
244text_source||: [another TEXT part's name]|
245ellipsis||: [point of balance]|
246filter||: [filter program as a string]|
247text_class||: [class name]|
248color_class||part.color_class:
249repch||: [the replacement character string]|
250type||image.fill.type: [ SCALE / TILE ]
251SCALE
252TILE
253###############################################################################
254########### DRAGABLE ########################################################
255dragable
256x||: [enable/disable] [step] [count]|
257y||: [enable/disable] [step] [count]|
258confine||: [another part's name]|
259threshold||: [another part's name]|
260events||: [another dragable part's name]|
261###############################################################################
262########### BOX/TABLE #######################################################
263layout||: [ horizontal / vertical / horizontal_homogeneous / vertical_homogeneou / horizontal_max / vertical_max / horizontal_flow / vertical_flow / stack / custom ]|
264homogeneous||: [ NONE / TABLE / ITEM ]|
265NONE
266TABLE
267ITEM
268padding||box.pagging: [horizontal] [vertical]|
269###############################################################################
270########### BOX / TABLE ITEMS ###############################################
271type||: [ GROUP ]|
272GROUP
273name||group.name: [name for the object]|
274source||: [a group name]|
275min||: [width] [height]|
276max||: [width] [height]|
277spread||: [width] [height]|
278prefer||: [width] [height]|
279padding||box.item.padding: [left] [right] [top] [bottom]|
280align||box.item.align: [x] [y]
281weight||: [x] [y]|
282position||: [col] [row]|
283span||: [col] [row]|
284aspect||box.item.aspect: [w] [h]|
285aspect_mode||: [NONE / NEITHER / HORIZONTAL / VERTICAL / BOTH ]|
286NONE
287NEITHER
288HORIZONTAL
289VERTICAL
290BOTH
291options||: [extra options]|
292###############################################################################
293########### PHYSICS #########################################################
294physics
295
296mass||: [body's mass in kilograms]|
297restitution||: [body's restitution]|
298friction||: [body's friction]|
299ignore_part_pos||: [1 or 0]|
300damping||: [linear damping] [angular damping]|
301sleep||: [linear sleeping threshold] [angular sleeping threshold]|
302material||: [ CUSTOM / CONCRETE / IRON / PLASTIC / POLYSTYRENE / RUBBER / WOOD ]|
303CUSTOM
304CONCRETE
305IRON
306PLASTIC
307POLYSTYRENE
308RUBBER
309WOOD
310density||: [body's material density]|
311hardness||: [ 0.0 - 1.0 ]|
312light_on||: [1 or 0]|
313z||: [body position in z axis]|
314depth||: [body's depth]|
315backface_cull||: [1 or 0]|
316movement_freedom
317linear||: [x-axis (1/0)] [y-axis (1/0)] [z-axis (1/0)]
318angular||: [x-axis (1/0)] [y-axis (1/0)] [z-axis (1/0)]
319faces
320face
321type||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 ]|
322BOX_MIDDLE_FRONT
323BOX_MIDDLE_BACK
324BOX_FRONT
325BOX_BACK
326BOX_LEFT
327BOX_RIGHT
328BOX_TOP
329BOX_BOTTOM
330CLOTH_FRONT
331CLOTH_BACK
332CYLINDER_MIDDLE_FRONT
333CYLINDER_MIDDLE_BACK
334CYLINDER_FRONT
335CYLINDER_BACK
336CYLINDER_CURVED
337SPHERE_FRONT
338SPHERE_BACK
339###############################################################################
340########### PHYSICS (WORLD) #################################################
341gravity||: [x-axis] [y-axis] [z-axis]|
342rate||: [rate pixels / meter]|
343depth||: [depth in pixels]|
344z||: [world's front border position]|
345###############################################################################
346########### MAP #############################################################
347map
348perspective||: [another part's name]|
349light||: [another part's name]|
350on||: [1 or 0]|
351smooth||: [1 or 0]|
352alpha||: [1 or 0]|
353backface_cull||: [1 or 0]|
354perspective_on||: [1 or 0]|
355color||: [point] [red] [green] [blue] [alpha]|
356rotation
357center||: [another part's name]|
358x||: [X degrees]|
359y||: [Y degrees]|
360z||: [Z degrees]|
361zplane||: [unscaled Z value]|
362focal||: [distance]|
363###############################################################################
364########### EXTENAL PARAMS ##################################################
365params
366int||: [param_name] [int_value]|
367double||: [param_name] [double_value]|
368string||: [param_name] [string_value]|
369bool||: [param_name] [bool_value]|
370choice||: [param_name] [choice_string]|
371###############################################################################
372########### PROGRAMS ########################################################
373programs
374program
375name||program.name: [program name]|
376signal||: [signal name]|
377source||: [source name]|
378filter||: [part] [state]|
379in||: [from] [range]|
380action||: [ STATE_SET / ACTION_STOP / SIGNAL_EMIT / ... ] (param1) (param2) (param3) (param4)|
381STATE_SET
382ACTION_STOP
383SIGNAL_EMIT
384DRAG_VAL_SET
385DRAG_VAL_STEP
386DRAG_VAL_PAGE
387SCRIPT
388FOCUS_SET
389FOCUS_OBJECT
390PARAM_COPY
391PARAM_SET
392PLAY_SAMPLE
393PLAY_TONE
394PHYSICS_IMPULSE
395PHYSICS_TORQUE_IMPULSE
396PHYSICS_FORCE
397PHYSICS_TORQUE
398PHYSICS_FORCES_CLEAR
399PHYSICS_VEL_SET
400PHYSICS_ANG_VEL_SET
401PHYSICS_STOP
402PHYSICS_ROT_SET
403PLAY_VIBRATION
404#### PLAY_SAMPLE channel
405EFFECT
406BACKGROUND
407MUSIC
408FOREGROUND
409INTERFACE
410INPUT
411ALERT
412transition||: [ LIN / SIN / SIN_FAC / ACCEL / DECEL / ACCEL_FAC / DECEL_FAC / DIVIS / BOUNCE / SPRING ] [length] (interp val 1) (interp val 2) (CURRENT)|
413LINEAR
414SINUSOIDAL
415CUBIC_BEZIER
416ACCELERATE
417DECELERATE
418ACCELERATE_FACTOR
419DECELERATE_FACTOR
420SINUSOIDAL_FACTOR
421DIVISOR_INTERP
422BOUNCE
423SPRING
424target||: [target part or program]|
425target_groups||: [group] (group) (group)|
426after||: [ another program ]|
427api||: [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 @@
1
2{fileheader}
3
4data {
5 item: "name" "val";
6}
7
8
9images {
10 image: "example.png" COMP;
11}
12
13
14fonts {
15 font: "example.otf" "Example";
16}
17
18
19collections {
20
21 group { name: "main";
22 parts {
23
24 }
25 }
26
27}