<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On 16 July 2013 15:45, Thomas Martitz <span dir="ltr"><<a href="mailto:thomas.martitz@student.htw-berlin.de" target="_blank">thomas.martitz@student.htw-berlin.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Am 16.07.2013 03:02, schrieb Lex Trotman:<div class="im"><br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
<br>
2) There has been much discussion on the ML and several actual prototypes of improved indentation/alignment schemes that are flexible enough to address many languages (even just many C style languages is a hard problem).  None of them have been sufficiently correct, enough of the time, to overcome the problems of being really annoying when they are incorrect.  Therefore anything would have to be a plugin so that it can simply not be loaded if the user didn't want it.  Also it would need to only operate when the correct language was being edited.<br>

</blockquote>
<br></div>
Bah, this "everything must be a plugin" really annoys me. Indentation is really a core feature, whether smart or not, and is nowhere extra functionality provided by external code and authors.<br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
g-p has also shown that finding motivated plugin authors that maintain their stuff beyond the initial code drop is hard, so we should really not rely too much on plugins.<br></blockquote><div><br></div><div>Plugins can be part of the main Geany distribution too, like splitwindow and filebrowser, so thats not an argument against implementing in Geany or in a plugin.  Implementing as a plugin also allows the use of languages other than C eg Lua as Thrawn proposed.</div>
<div><br></div><div>Indentation schemes are very specific to languages and styles, it is not a simple single capability that can be designed, coded and forgotten.  </div><div><br></div><div>There have been several attempts at providing configurable approaches to indentation, including one by Colomban.  But those could not cover even the simple algorithm that Thrawn proposes.  <br>
</div><div><br></div><div>A plugin for something like indentation allows people to replace it if they don't like what is provided, using Lua or Python if they like, or in C/C++.  Code inside Geany can't so easily be replaced.</div>
<div> </div><div>The alternative is to hard code various schemes for each supported language, but somebody has to do it, and, as you say, maintain it.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
What's wrong with you accepting new code in the core?<br></blockquote><div><br></div><div>Nothing, but there are several reasons *not* to shove the first indentation scheme that is coded into core.  Start with a plugin, if it produces a good result then it can be included in core.</div>
<div><br></div><div>Cheers</div><div>Lex</div><div><br></div><div>PS @Thrawn, one thing that I neglected to mention was that you probably noted that Emacs indentations depend on a syntactic evaluation of the code to guide their operation. </div>
<div><br></div><div>See <a href="http://www.gnu.org/software/emacs/manual/html_node/ccmode/Indentation-Engine-Basics.html#Indentation-Engine-Basics">http://www.gnu.org/software/emacs/manual/html_node/ccmode/Indentation-Engine-Basics.html#Indentation-Engine-Basics</a></div>
<div><br></div><div>Adding such analysis could be a big job but in my experience Emacs does produce a reasonable result.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<br>
Best regards.<div class=""><div class="h5"><br>
______________________________<u></u>_________________<br>
Devel mailing list<br>
<a href="mailto:Devel@lists.geany.org" target="_blank">Devel@lists.geany.org</a><br>
<a href="https://lists.geany.org/cgi-bin/mailman/listinfo/devel" target="_blank">https://lists.geany.org/cgi-<u></u>bin/mailman/listinfo/devel</a><br>
</div></div></blockquote></div><br></div></div>