<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    I haven't been following all of the details of the whole
    conversation, but I just wanted to throw in my two cents:<br>
    <br>
    I like how geany already keeps the indentation of the previous line
    and unindents with a single backspace independent of if the file is
    using tabs or spaces.<br>
    <br>
    Any custom formatting-as-you-go I hope is only enable-able, perhaps
    that's why it would be best suited as a plugin.  Weather that plugin
    is in the core plugins or geany-plugins doesn't matter to me.  One
    of the reasons I like geany is because its editing consistently
    across the different languages.  I don't particularly like tools
    that automatically fix indentation as I type on curly braces or
    whatever.<br>
    <br>
    Also, most IDEs and editors can fit into two groups: full feature
    that can be stripped down, simple with enable-able features.  I
    think of geany as the latter.  I much prefer enabling plugins and
    features as I learn them or want them, rather than having more
    things pre-enabled as Lex suggests below.<br>
    <br>
    Anyway, that's just my food for thought.<br>
    <br>
    Thanks,<br>
    <br>
    Steve<br>
    <br>
    <div class="moz-cite-prefix">On 07/17/2013 02:01 AM, Lex Trotman
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAKhWKDNcCuBeXd-KeGRgc05uiF2y1qNoE_oVoXe=GqV6e7owRw@mail.gmail.com"
      type="cite">
      <div dir="ltr"><br>
        <div class="gmail_extra"><br>
          <br>
          <div class="gmail_quote">On 17 July 2013 16:53, Thomas Martitz
            <span dir="ltr"><<a moz-do-not-send="true"
                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:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">Am
              17.07.2013 00:49, schrieb Thrawn:
              <div class="im"><br>
                <blockquote class="gmail_quote" style="margin:0 0 0
                  .8ex;border-left:1px #ccc solid;padding-left:1ex">
                  Thomas Martitz wrote:<br>
                  <blockquote class="gmail_quote" style="margin:0 0 0
                    .8ex;border-left:1px #ccc solid;padding-left:1ex">
                    Bah, this "everything must be a plugin" really
                    annoys me...<br>
                    What's wrong with you accepting new code in the
                    core?<br>
                  </blockquote>
                  Actually, I agree that custom indentation schemes are
                  too troublesome to include in core...<br>
                  unless someone, somehow, has a spark of genius
                  allowing them to invent a perfect<br>
                  one-scheme-fits-all approach. This idea - particularly
                  the Lua script - is far from that.<br>
                  <br>
                </blockquote>
                <br>
              </div>
              I didn't mean to suggest there is a one-scheme-fits-all
              solution. The core can totally have customizations to a
              generic algorithm (or even custom algorithms) on a
              per-language basis. What I question is the enforcement (I
              perceive it as such) to introduce all new functionality
              via (perhaps unreliable) plugins even if essential core
              features (indentation is clearly one of them) are
              concerned. There seems little, if any, consideration
              whether new stuff should go into the core or plugins. The
              plugin approach is the default and it seems hard to
              improve the core.</blockquote>
            <div><br>
            </div>
            <div>Hi Thomas,</div>
            <div><br>
            </div>
            <div>There are two questions:</div>
            <div><br>
            </div>
            <div>1. Should a general solution to language specific
              indentation go in core, most definitely yes, when we know
              what that is !!! </div>
            <div><br>
            </div>
            <div>So far such a solution has not been found, Colomban's
              regex prototype was closest but still had a high
              proportion of incorrect results leading to the conclusion
              that the approach was not capable enough.</div>
            <div>Implementing a bad approach in core and then having to
              try to fix/expand or replace it is just a waste of time.  </div>
            <div><br>
            </div>
            <div>So as I said trying out indentation schemes in plugins
              makes it easier to replace them (but the user can always
              still use the old one if they like it better, they can't
              do that with in-core code that has been removed).  There
              is a PR that demonstrates that plugins can be autoloaded
              by filetypes, so each plugin only needs to do one
              language, making them simpler and easier to get right.</div>
            <div><br>
            </div>
            <div>Then it will be possible to identify commonality that
              is suitable for implementing in core.</div>
            <div><br>
            </div>
            <div>2. Should this particular function Thrawn is offering
              be in core?  Since it is limited to one situation in one
              language (or group of {} languages) and he wants to
              implement it in Lua, no.</div>
            <div> </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <br>
              Plugins are nice, but still not ideal. The authors might
              not be dependable, the code quality can be bad, they are
              not automatically loaded (which is I guess the point of
              them, however it means that users cannot not be
              automatically exposed to new functionality) and there's
              non-zero overhead in both memory usage and performance.
              The first two obviously don't apply for plugins that ship
              with Geany.<br>
            </blockquote>
            <div><br>
            </div>
            <div>Now that you mention it, there is probably no reason
              why we could not default enable some of the plugins
              shipped with geany, its just having the settings in the
              default config file.  And possibly some more plugins could
              move to core (+1 for Enrico's Addons TODO for example :)</div>
            <div><br>
            </div>
            <div>Note that it is probable that Geany core could provide
              some more support for plugin indentation, but as yet
              nobody is sure what that consists of.</div>
            <div><br>
            </div>
            <div>Cheers</div>
            <div>Lex</div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <br>
              Best regards.
              <div class="HOEnZb">
                <div class="h5"><br>
                  _______________________________________________<br>
                  Devel mailing list<br>
                  <a moz-do-not-send="true"
                    href="mailto:Devel@lists.geany.org" target="_blank">Devel@lists.geany.org</a><br>
                  <a moz-do-not-send="true"
                    href="https://lists.geany.org/cgi-bin/mailman/listinfo/devel"
                    target="_blank">https://lists.geany.org/cgi-bin/mailman/listinfo/devel</a><br>
                </div>
              </div>
            </blockquote>
          </div>
          <br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Devel@lists.geany.org">Devel@lists.geany.org</a>
<a class="moz-txt-link-freetext" href="https://lists.geany.org/cgi-bin/mailman/listinfo/devel">https://lists.geany.org/cgi-bin/mailman/listinfo/devel</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>