# Geany's snippets configuration file
# use \n or %newline% for a new line (it will be replaced by the used EOL char(s) - LF, CR/LF, CR)
# use \t ot %ws% for an indentation step, if using only spaces for indentation only spaces will be used
# use \s to force whitespace at beginning or end of a value ('key= value' won't work, use 'key=\svalue')
# use %cursor% to define where the cursor should be placed after completion
# use %key% for all keys defined in the [Special] section
# you can define a section for each supported filetype to overwrite default settings, the section
# name must match exactly the internal filetype name, run 'geany --ft-names' for a full list

# filetype names:
# C, C++, D, Java, Pascal, ASM, Fortran, CAML, Haskell, VHDL, Perl, PHP, Javascript, Python, Ruby,
# Tcl, Lua, Ferite, Sh, Make, O-Matrix, XML, Docbook, HTML, CSS, SQL, LaTeX, Diff, Conf, None

# Default is used for all filetypes and keys can be overwritten by [filetype] sections
[Default]
if=if (%cursor%)%brace_open%\n%brace_close%
else=else%brace_open%%cursor%\n%brace_close%
for=for (i = 0; i < %cursor%; i++)%brace_open%\n%brace_close%
while=while (%cursor%)%brace_open%\n%brace_close%
do=do%brace_open%%cursor%\n%brace_close% while ()
switch=switch (%cursor%)%brace_open%case : break;\n%ws%default: \n%brace_close%
try=try%block_cursor%catch ()%block%

[Special]
brace_open=\n{\n\t
brace_close=}\n
block=\n{\n\t\n}\n
block_cursor=\n{\n\t%cursor%\n}\n
wordchars=._abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789

[C++]
for=for (int i = 0; i < %cursor%; i++)%brace_open%\n%brace_close%

[Java]
for=for (int i = 0; i < %cursor%; i++)%brace_open%\n%brace_close%

[Javascript]
jready=$(document).ready(function(){\n\t%cursor%\n});
jfunc=$(function() {\n\t%cursor%\n});
log=console.log('%cursor%');

[PHP]
# Little php snippets written by Atanas Beloborodov <nasko@cod3r.org>
# Some php5 object`s usefull snippets
class=class %cursor% \n{\n\tpublic function __construct()\n\t{\t\n\n\t}\n\n\tpublic function __destruct()\n\t{\t\n\n\t}\n}
interface=interface %cursor% %block%
static=public static function %cursor%() %block%
public=public function %cursor%()%block%
protected=protected function %cursor%()%block%
private=private function %cursor%()%block%
#Control structures :
for=for ($i = 0; $i < %cursor%; $i++ %block%
while=while (%cursor%) %block%
if=if (%cursor%) %block%
switch=switch (%cursor%) {\n\tcase '';\n\n\tbreak;\n\n\tdefault :\n\n\tbreak;\n}\n
else=if (%cursor%) %block%else %block%
elseif=if (%cursor%) {\n\t\n}\nelseif () {\n\t\n}\nelse {\n\t\n}\n
do=do %block%while (%cursor%);
foreach=foreach (%cursor%) %block%
# Include methods
# Note : require and include is not functions ! Not required braces () 
req=require "%cursor%";
reqo=require_once "%cursor%";
inc=include "%cursor%";
inco=include_once "%cursor%";
# Others :
function=function %cursor%() %block%
def=define ('%cursor%','');
throw=throw new Exception ('%cursor%');e%

[Python]
for=for i in xrange(%cursor%):\n\t
doc=""" %cursor% """\n
elif=elif %cursor%:\n\t
else=else:\n\t%cursor%
if=if %cursor%:\n\t
from=from %cursor% import %cursor%\n
main=if __name__ == '__main__':\n\t%cursor%
class=class %cursor%(object):\n\t""" %cursor% """\n\t\n\tdef __init__ (self):\n\t\t""" Class initialiser """\n\t\tpass
def=def %cursor%(self):\n\t""" Function doc\n\n\t@param PARAM: DESCRIPTION\n\t@return RETURN: DESCRIPTION\n\t"""\n\t
get=def get%cursor%(self): return self._var\n
set=def set%cursor%(self): self._var = var\n
.=self.%cursor%
try=try:\n\t%cursor%\nexcept Exception, e:\n\t
py=#!/usr/bin/env python\n#-*- coding:utf-8 -*-\n\n%cursor%
while=while %cursor%:\n\t
with=with %cursor%:\n\t
head="""\n\t%cursor%PROJECT - MODULE\n\n\tDESCRIPTION\n\n\t@copyright: {year} by {developer} <{mail}>\n\t@license: GNU GPL, see COPYING for details.\n"""\n
p=print "%cursor%"
pr=print %cursor%
# Django models
# by Tomasz Karbownicki <tomasz@karbownicki.com>
mclass=class %cursor%(models.Model):\n\t'''%cursor%'''\n\n\tdef __unicode__(self):\n\t\treturn self.XXXXX\n\n\tdef get_absolute_url(self):\n\t\treturn "/XXXXX/%s/" % self.slug\n\n\tclass Meta:\n\t\tverbose_name = "%cursor%"\n\t\tverbose_name_plural = "%cursor%"
mchar=%cursor% = models.CharField(max_length=50, verbose_name=u'%cursor%')
mint=%cursor% = models.IntegerField(verbose_name=u'%cursor%')
mtext=%cursor% = models.TextField(verbose_name=u'%cursor%')
mkey=%cursor% = models.ForeignKey(%cursor%, verbose_name=u'%cursor%')
mimage=%cursor% = models.ImageField(upload_to='', verbose_name=u'%cursor%')
mbool=%cursor% = models.BooleanField(verbose_name=u'%cursor%')
mdate=%cursor% = models.DateField(verbose_name=u'%cursor%', help_text='Format daty: 2009-04-28')
memail=%cursor% = models.EmailField(verbose_name=u'%cursor%')
murl=%cursor% = models.URLField(verbose_name=u'%cursor%')
mslug=%cursor% = models.SlugField(verbose_name=u'%cursor%', unique=True)

[Ferite]
iferr=iferr%block_cursor%fix%block%
monitor=monitor%block_cursor%handle%block%

[HTML]
# by Tomasz Karbownicki <tomasz@karbownicki.com>
# top
html5=<!DOCTYPE html>\n<html lang="en">\n<head>\n\t<meta charset="utf-8" />\n\t<title>%cursor%</title>\n</head>\n<body>\n\t%cursor%\n</body>\n</html>
html=<html lang="%cursor%">\n\t%cursor%\n</html>
head=<head>\n\t%cursor%\n</head>
js=<script type="text/javascript">\n\t%cursor%\n</script>
js2=<script src="%cursor%" type="text/javascript"></script>
css=<style type="text/css">\n\t%cursor%\n</style>
css2=<link href="%cursor%" rel="stylesheet" type="text/css" />
rss=<link rel="alternate" type="application/rss+xml" title="%cursor%" href="%cursor%" />
title=<title>%cursor%</title>
utf=<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
ie7=<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
refresh=<meta http-equiv="refresh" content="2;url=%cursor%" />
body=<body>\n\t%cursor%\n</body>
# table
table=<table>\n\t<thead>\n\t\t<tr>\n\t\t\t<th>%cursor%</th>\n\t\t</tr>\n\t</thead>\n\t<tbody>\n\t\t<tr>\n\t\t\t<td>%cursor%</td>\n\t\t</tr>\n\t</tbody>\n</table>
td=<td>%cursor%</td>
tr=<tr>%cursor%</tr>
th=<th>%cursor%</th>
caption=<caption>%cursor%</caption>
# form
form=<form action="%cursor%" method="post">\n\n\t<input type="submit" value="%cursor%" />\n</form>
formp=<form action="%cursor%" method="post">\n\n\t<p>{{ form.as_p }}</p>\n<p><input type="submit" value="%cursor%" /></p>\n</form>
label=<label for="%cursor%"></label>
input=<input type="text" name="%cursor%" value="%cursor%" id="%cursor%" />
pass=<input type="password" name="%cursor%" id="%cursor%" />
textarea=<textarea name="%cursor%" cols="50" rows="10" id="%cursor%" ></textarea>
select=<select name="%cursor%" id="%cursor%">\n\t<option value="%cursor%"></option>\n</select>
radio=<input type="radio" name="%cursor%" value="%cursor%" />
checkbox=<input type="checkbox" name="%cursor%" value="%cursor%" />
button=<button type="%cursor%">%cursor%</button>
fieldset=<fieldset>\n\t<legend>%cursor%</legend>\n</fieldset>
# list
ul=<ul class="%cursor%">\n\t<li>%cursor%</li>\n</ul>
ol=<ol class="%cursor%">\n\t<li>%cursor%</li>\n</ol>
li=<li>%cursor%</li>
dl=<dl class="%cursor%">\n\t<dt>%cursor%</dt>\n\t<dd>%cursor%</dd>\n</dl>
dt=<dt>%cursor%</dt>
dd=<dd>%cursor%</dd>
# inline
a=<a href="%cursor%">%cursor%</a>
i=<i>%cursor%</i>
span=<span>%cursor%</span>
em=<em>%cursor%</em>
small=<small>%cursor%</small>
big=<big>%cursor%</big>
cite=<cite>%cursor%</cite>
strong=<strong>%cursor%</strong>
img=<img src="%cursor%" alt="%cursor%" title="%cursor%" />
thumb=<a href="%cursor%"><img src="%cursor%" alt="%cursor%" title="%cursor%" /></a>
# block
div=<div class="%cursor%">%cursor%</div>
h1=<h1>%cursor%</h1>
h2=<h2>%cursor%</h2>
h3=<h3>%cursor%</h3>
h4=<h4>%cursor%</h4>
h5=<h5>%cursor%</h5>
h6=<h6>%cursor%</h6>
p=<p>%cursor%</p>
pre=<pre>\n%cursor%\n</pre>
code=<code>%cursor%</code>
prec=<pre><code>%cursor%</code></pre>
quote=<blockquote>\n\t<p>\n\t\t%cursor%\n\t</p>\n</blockquote>
# other
cl=class="%cursor%"
id=id="%cursor%"
cmt=<!--\n\t%cursor%\n-->
cmt2=<!-- %cursor% -->
br=<br/>
hr=<hr/>
1s=&nbsp;
3s=&nbsp;&nbsp;&nbsp;
7s=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
dummyimage=<img src="http://dummyimage.com/%cursor%x%cursor%/000/fff.png" alt="" title="" />
dummyimage2=<img src="http://lorempixel.com/%cursor%/%cursor%/" alt="" title="" />
widget=<div class="widget">\n\t<div class="widget-header">\n\t\t<i class="icon-"></i>\n\t\t<h3>%cursor%</h3>\n\t</div>\n\t<div class="widget-content">\n\t</div>\n</div>
# Django templates
if={% if %cursor% %}\n\t\n{% endif %}
for={% for sth in %cursor% %}\n\t%cursor%\n{% endfor %}
dv={{ %cursor% }}
db={% %cursor% %}
dbl={% block %cursor% %}\n\t%cursor%\n{% endblock %}
trans={% trans "%cursor%" %}
# jQuery
jquery=<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
jqueryui=<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
jready=$(document).ready(function(){\n\t%cursor%\n});
jfunc=$(function(){\n\t%cursor%\n});
log=console.log('%cursor%');

[CSS]
# by Tomasz Karbownicki <tomasz@karbownicki.com>
bc=background-color: %cursor%;
bp=background-position: %cursor%;
bct=background-color: transparent;
ba=background: url(%cursor%) %cursor%;
ma=margin: %cursor%;
pa=padding: %cursor%;
bo=border: %cursor%;
co=color: %cursor%;
cu=cursor: %cursor%;
he=height: %cursor%;
wi=width: %cursor%;
di=display: %cursor%;
fs=font-size: %cursor%;
ff=font-family: %cursor%;
fw=font-weight: %cursor%;
ta=text-align: %cursor%;
ts=text-shadow: %cursor%;
td=text-decoration: %cursor%;
fl=float: %cursor%;
lh=line-height: %cursor%;
im=!important
po=position: %cursor%;
ov=overflow: %cursor%;
op=opacity: 0.5;
ra=-moz-border-radius: %cursor%px; -webkit-border-radius: %cursor%px; border-radius: %cursor%px;
sh=border-shadow: %cursor%px %cursor%px #%cursor% %cursor%px;
cmt=/* ######### %cursor% ######### */
hide=text-indent: 9999em; line-height: 9999em; overflow: hidden;

[Javascript]
jready=$(document).ready(function(){\n\t%cursor%\n});
jfunc=$(function(){\n\t%cursor%\n});
log=console.log('%cursor%');

[LaTeX]
# by Frank Lanitz
frame=\\begin{frame}\n%ws%\\frametitle{%cursor%}\n%ws%%cursor%\n\\end{frame}
block=\\begin{block}{%cursor%}\n%ws%%cursor%\n\\end{block}
itemize=\\begin{itemize}\n%ws%\\item %cursor%\n\\end{itemize}
enumerate=\\begin{enumerate}\n%ws%\\item %cursor%\n\\end{enumerate}
description=\\begin{description}\n%ws%\\item %cursor%\n\\end{description}

[Tcl]
# by Witek Mozga
proc=proc %cursor% {  } {\n\t\n} ; # end proc
namespace=namespace eval %cursor% {\n\t\n}; # end namespace
expr=expr { %cursor% }
oo=oo::class create %cursor%  {\n\t\n}; # end class
for=for {set i 0} {$i < %cursor%} {incr i} {\n\t\n} ; # end for
while=while { $%cursor% } {\n\t\n} ; # end while
foreach=foreach x $%cursor% {\n\t\n} ; # end foreach
if=if { $%cursor% } {\n\t\n} ; # end if
else=else {\n\t\n} ; # end else
elseif=elseif { $%cursor% } {\n\t\n} ; # end elseif
switch=switch %cursor% {\n\t\n\tdefault {  }\n} ; # end switch
set=set %cursor% {  }

