<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Along the same lines, I've developed another way people can quickly
    integrate functionality to geany in minutes rather than days or even
    hours :-)<br>
    <br>
    <a
href="https://github.com/sblatnick/geany-plugins/tree/external-tools/external-tools">external-tools</a>
    - Add virtually ANY executable script or file to be called from
    keyboard shortcuts or the Tools menu.  The intended use is that you
    can write <b>bash scripts</b> or even <b>perl scripts</b> that use
    environment variables to get data from geany (via environment
    variables passed to the scripts) and are able to act based on some
    settings on geany or the code.<br>
    <br>
    One advantage that this plugin offers that the lua plugin could
    maybe consider doing is having a nice UI for adding, removing, and
    editing scripts.<br>
    <br>
    This plugin hasn't been submitted to geany-plugins yet, as I am
    still working on it.  That said, it's already quite functional.  It
    behaves much like gedit's external tools, but with some improvements
    and planned features they missed.  (I use gedit's version of the
    plugin daily, so I'm hoping to add it to geany and improve on it)<br>
    <br>
    Here are the currently set environment variables:<br>
    <ol>
      <li>GEANY_LINE_NUMBER - The current line number the cursor is at
        in the editor<br>
      </li>
      <li>GEANY_SELECTION - Any currently selected text<br>
      </li>
      <li>GEANY_SELECTED_LINE - All of the text on the current line the
        cursor is at<br>
      </li>
      <li>GEANY_FILE_PATH - Path to the current file in the editor<br>
      </li>
      <li>GEANY_FILE_MIME_TYPE - Mime type of the current file (example:
        "text/x-csrc")<br>
      </li>
      <li>GEANY_FILE_TYPE_NAME - Mime type by name of the current file
        (example filetype: "C")<br>
      </li>
    </ol>
    Output from the script can be directed into:<br>
    <ol>
      <li>New "Tools" tab of the Message Window as either text output or
        a table (I'm still working on the table)<br>
      </li>
      <li>Overwrite currently selected text</li>
      <li>Do nothing in the UI (good for opening other tools like meld)</li>
      <li>Overwrite the currently selected line</li>
      <li><i>any other ideas?</i><br>
      </li>
    </ol>
    I hope the plugin will be greatly flexible.  I plan on adding that
    file paths in the output on the tools tab of the message window will
    be clickable to browse to files as well as a table output for
    CSV-like uses.<br>
    <br>
    Anyway, I hope somebody likes this little sneak peak at my plugin
    :-)<br>
    <br>
    Thanks,<br>
    <br>
    Steven Blatnick<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 06/05/2013 06:06 AM, Thomas Martitz
      wrote:<br>
    </div>
    <blockquote cite="mid:51AF29C3.7050504@student.htw-berlin.de"
      type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      <div class="moz-cite-prefix">Am 05.06.2013 13:46, schrieb Thrawn:<br>
      </div>
      <blockquote
cite="mid:1370432786.99422.YahooMailClassic@web140403.mail.bf1.yahoo.com"
        type="cite">
        <table border="0" cellpadding="0" cellspacing="0">
          <tbody>
            <tr>
              <td style="font: inherit;" valign="top">Hi, folks.<br>
                <br>
                Lex, thanks for your comments. I have heard before about
                GeanyLua's future being uncertain, and I did email the
                list suggesting that I would be willing to be an
                emergency backup maintainer. Ie I don't generally have
                the time, but given a choice between fixing a severe
                problem and losing the plugin, I'd step up.<br>
                <br>
                Just tonight I've uploaded another script to the Geany
                Wiki, for surrounding the current selection with
                brackets, tags, etc. That fulfils another item from the
                plugin wishlist. It took about 40 lines (including
                comments and debug lines) and 15 minutes.<br>
                <br>
                I strongly urge that GeanyLua be retained. I think that
                it and GeanyPy are the way of the future for plugin
                development, and since GeanyPy isn't available
                precompiled, GeanyLua is the only out-of-the-box
                candidate for developing a useful feature (that would
                normally involve a plugin) in an hour or less. The
                documentation is clear; the API is simple but effective;
                there's no boilerplate (no import statements, no class
                declarations, no metadata, just code); deployment is
                just a matter of copying the script into the geanylua
                directory and restarting/rescanning; and it integrates
                nicely with the keybinding system.<br>
                <br>
                Anyone who wants to develop a plugin, or wishes for a
                feature that some other editor has, should consider
                GeanyLua. It might not do what they need, but if it
                does, they'll be able to do it within an afternoon. I'm
                already maintaining 6 different Lua-powered features
                (some of which involve multiple scripts), with a 7th to
                be uploaded soon, and it's easy.</td>
            </tr>
          </tbody>
        </table>
      </blockquote>
      <br>
      <br>
      I believe GeanyLua is nice, but it still needs a maintainer :) You
      could be the one!<br>
      <br>
      Best regards<br>
      <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>