<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.8"/> <title>Geany: filetypes.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">Geany  <span id="projectnumber">1.24.1</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.8 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#define-members">Macros</a> | <a href="#func-members">Functions</a> | <a href="#var-members">Variables</a> </div> <div class="headertitle"> <div class="title">filetypes.h File Reference</div> </div> </div><!--header--> <div class="contents"> <p>Filetype detection, file extensions and filetype menu items. <a href="#details">More...</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structGeanyFiletype.html">GeanyFiletype</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents a filetype. <a href="structGeanyFiletype.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:a21b19e3d6f830dc59c475960a82da002"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="filetypes_8h.html#a21b19e3d6f830dc59c475960a82da002">filetypes</a>   ((<a class="el" href="structGeanyFiletype.html">GeanyFiletype</a> **)GEANY(filetypes_array)->pdata)</td></tr> <tr class="memdesc:a21b19e3d6f830dc59c475960a82da002"><td class="mdescLeft"> </td><td class="mdescRight">Wraps filetypes_array so it can be used with C array syntax. <a href="#a21b19e3d6f830dc59c475960a82da002">More...</a><br /></td></tr> <tr class="separator:a21b19e3d6f830dc59c475960a82da002"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:a62806be035466a48f6cadd8d92e4b12a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structGeanyFiletype.html">GeanyFiletype</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="filetypes_8h.html#a62806be035466a48f6cadd8d92e4b12a">filetypes_detect_from_file</a> (const gchar *utf8_filename)</td></tr> <tr class="memdesc:a62806be035466a48f6cadd8d92e4b12a"><td class="mdescLeft"> </td><td class="mdescRight">Detects filetype based on a shebang line in the file or the filename extension. <a href="#a62806be035466a48f6cadd8d92e4b12a">More...</a><br /></td></tr> <tr class="separator:a62806be035466a48f6cadd8d92e4b12a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a33585adf14ab1d63805b65392d1db650"><td class="memItemLeft" align="right" valign="top">const gchar * </td><td class="memItemRight" valign="bottom"><a class="el" href="filetypes_8h.html#a33585adf14ab1d63805b65392d1db650">filetypes_get_display_name</a> (<a class="el" href="structGeanyFiletype.html">GeanyFiletype</a> *ft)</td></tr> <tr class="memdesc:a33585adf14ab1d63805b65392d1db650"><td class="mdescLeft"> </td><td class="mdescRight">Gets <code>ft->name</code> or a translation for filetype None. <a href="#a33585adf14ab1d63805b65392d1db650">More...</a><br /></td></tr> <tr class="separator:a33585adf14ab1d63805b65392d1db650"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a90402e22e5771ad054386a282d185a91"><td class="memItemLeft" align="right" valign="top">const GSList * </td><td class="memItemRight" valign="bottom"><a class="el" href="filetypes_8h.html#a90402e22e5771ad054386a282d185a91">filetypes_get_sorted_by_name</a> (void)</td></tr> <tr class="memdesc:a90402e22e5771ad054386a282d185a91"><td class="mdescLeft"> </td><td class="mdescRight">Gets a list of filetype pointers sorted by name. <a href="#a90402e22e5771ad054386a282d185a91">More...</a><br /></td></tr> <tr class="separator:a90402e22e5771ad054386a282d185a91"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a49a6250b69ec5a20c6097ef57052a0e7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structGeanyFiletype.html">GeanyFiletype</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="filetypes_8h.html#a49a6250b69ec5a20c6097ef57052a0e7">filetypes_index</a> (gint idx)</td></tr> <tr class="memdesc:a49a6250b69ec5a20c6097ef57052a0e7"><td class="mdescLeft"> </td><td class="mdescRight">Accessor function for <a class="el" href="structGeanyData.html#a4d865f4d8fb801719c71427935432616">GeanyData::filetypes_array</a> items. <a href="#a49a6250b69ec5a20c6097ef57052a0e7">More...</a><br /></td></tr> <tr class="separator:a49a6250b69ec5a20c6097ef57052a0e7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa2a53fa0c2f4362d9a5e6eb01839c5a5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structGeanyFiletype.html">GeanyFiletype</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="filetypes_8h.html#aa2a53fa0c2f4362d9a5e6eb01839c5a5">filetypes_lookup_by_name</a> (const gchar *name)</td></tr> <tr class="memdesc:aa2a53fa0c2f4362d9a5e6eb01839c5a5"><td class="mdescLeft"> </td><td class="mdescRight">Finds a filetype pointer from its <em>name</em> field. <a href="#aa2a53fa0c2f4362d9a5e6eb01839c5a5">More...</a><br /></td></tr> <tr class="separator:aa2a53fa0c2f4362d9a5e6eb01839c5a5"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> Variables</h2></td></tr> <tr class="memitem:a7bd7af1670c57c17e753c03c87d0031e"><td class="memItemLeft" align="right" valign="top">GSList * </td><td class="memItemRight" valign="bottom"><a class="el" href="filetypes_8h.html#a7bd7af1670c57c17e753c03c87d0031e">filetypes_by_title</a></td></tr> <tr class="memdesc:a7bd7af1670c57c17e753c03c87d0031e"><td class="mdescLeft"> </td><td class="mdescRight">List of filetype pointers sorted by name, but with <code>filetypes_index(GEANY_FILETYPES_NONE)</code> first, as this is usually treated specially. <a href="#a7bd7af1670c57c17e753c03c87d0031e">More...</a><br /></td></tr> <tr class="separator:a7bd7af1670c57c17e753c03c87d0031e"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Filetype detection, file extensions and filetype menu items. </p> </div><h2 class="groupheader">Macro Definition Documentation</h2> <a class="anchor" id="a21b19e3d6f830dc59c475960a82da002"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define filetypes   ((<a class="el" href="structGeanyFiletype.html">GeanyFiletype</a> **)GEANY(filetypes_array)->pdata)</td> </tr> </table> </div><div class="memdoc"> <p>Wraps filetypes_array so it can be used with C array syntax. </p> <p>Example: filetypes[GEANY_FILETYPES_C]->name = ...; </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="filetypes_8h.html#a49a6250b69ec5a20c6097ef57052a0e7" title="Accessor function for GeanyData::filetypes_array items. ">filetypes_index()</a>. </dd></dl> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="a62806be035466a48f6cadd8d92e4b12a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structGeanyFiletype.html">GeanyFiletype</a>* filetypes_detect_from_file </td> <td>(</td> <td class="paramtype">const gchar * </td> <td class="paramname"><em>utf8_filename</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Detects filetype based on a shebang line in the file or the filename extension. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">utf8_filename</td><td>The filename in UTF-8 encoding.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The detected filetype for <em>utf8_filename</em> or <code>filetypes</code>[GEANY_FILETYPES_NONE] if it could not be detected. </dd></dl> </div> </div> <a class="anchor" id="a33585adf14ab1d63805b65392d1db650"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const gchar* filetypes_get_display_name </td> <td>(</td> <td class="paramtype"><a class="el" href="structGeanyFiletype.html">GeanyFiletype</a> * </td> <td class="paramname"><em>ft</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Gets <code>ft->name</code> or a translation for filetype None. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ft</td><td>. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>. </dd></dl> <dl class="section since"><dt>Since</dt><dd>Geany 0.20 </dd></dl> </div> </div> <a class="anchor" id="a90402e22e5771ad054386a282d185a91"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const GSList* filetypes_get_sorted_by_name </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Gets a list of filetype pointers sorted by name. </p> <p>The list does not change on subsequent calls. </p><dl class="section return"><dt>Returns</dt><dd>The list - do not free. </dd></dl> <dl class="section see"><dt>See also</dt><dd><a class="el" href="filetypes_8h.html#a7bd7af1670c57c17e753c03c87d0031e" title="List of filetype pointers sorted by name, but with filetypes_index(GEANY_FILETYPES_NONE) first...">filetypes_by_title</a>. </dd></dl> </div> </div> <a class="anchor" id="a49a6250b69ec5a20c6097ef57052a0e7"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structGeanyFiletype.html">GeanyFiletype</a>* filetypes_index </td> <td>(</td> <td class="paramtype">gint </td> <td class="paramname"><em>idx</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Accessor function for <a class="el" href="structGeanyData.html#a4d865f4d8fb801719c71427935432616">GeanyData::filetypes_array</a> items. </p> <p>Example:</p><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> ft = filetypes_index(GEANY_FILETYPES_C); </div> </div><!-- fragment --> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">idx</td><td><code>filetypes_array</code> index. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The filetype, or <code>NULL</code> if <em>idx</em> is out of range.</dd></dl> <dl class="section since"><dt>Since</dt><dd>0.16 </dd></dl> </div> </div> <a class="anchor" id="aa2a53fa0c2f4362d9a5e6eb01839c5a5"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structGeanyFiletype.html">GeanyFiletype</a>* filetypes_lookup_by_name </td> <td>(</td> <td class="paramtype">const gchar * </td> <td class="paramname"><em>name</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Finds a filetype pointer from its <em>name</em> field. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">name</td><td>Filetype name. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The filetype found, or <code>NULL</code>.</dd></dl> <dl class="section since"><dt>Since</dt><dd>0.15 </dd></dl> </div> </div> <h2 class="groupheader">Variable Documentation</h2> <a class="anchor" id="a7bd7af1670c57c17e753c03c87d0031e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GSList* filetypes_by_title</td> </tr> </table> </div><div class="memdoc"> <p>List of filetype pointers sorted by name, but with <code>filetypes_index(GEANY_FILETYPES_NONE)</code> first, as this is usually treated specially. </p> <p>The list does not change (after filetypes have been initialized), so you can use </p><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> g_slist_nth_data(filetypes_by_title, n) </div> </div><!-- fragment --><p> and expect the same result at different times. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="filetypes_8h.html#a90402e22e5771ad054386a282d185a91" title="Gets a list of filetype pointers sorted by name. ">filetypes_get_sorted_by_name()</a>. </dd></dl> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Fri Oct 17 2014 05:13:17 for Geany by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.8 </small></address> </body> </html>