SES Console (An advanced REPL for RMVX Ace.)

Discussion in 'RGSS3 Scripts (RMVX Ace)' started by Solistra, Apr 9, 2014.

    Tags:
  1. Solistra

    Solistra Veteran Veteran

    Messages:
    593
    Likes Received:
    241
    SES Console v1.2
    by Solistra and Enelvon
    Introduction
    This script provides an interactive Ruby console through the RGSS Console with a number of advanced features. This is primarily a scripter's tool.

    In addition to the core script, you may also download a zipped package of default external macros which provide a number of useful tasks and general enhancements to the basic SES Console. The latest macro package may be downloaded from GitHub -- the latest release of the SES Console should have a .zip archive attached to it which provides the entire macro package ready to be placed in your configured macro directory. The package may be found here:Please be sure to read the included README.md file included with the package for more information about what it offers.

    Change Log
    • v1.2 (June 17th, 2014) - Numerous enhancements, minimized code base, provided default macro package.
    • v1.1 (April 15th, 2014) - Fixed a potential recursion issue.
    • v1.0 (April 8th, 2014) - Initial release.
    Features
    • Provides an IRB-like REPL for RMVX Ace.
    • Supports user-defined macros stored as external Ruby files.
    • Includes a default package of useful macro files.
    • Allows entering multiple lines of input for evaluation.
    • Users may step into and out of any Ruby object known at runtime.
    Screenshot
    [​IMG]
    How to Use
    Due to the length of the usage interactions, detailed usage information for this script is available from the source repository where the script is stored. Specifically, usage information is provided in the README.md file.

    Script
    This script is available from SES VX Ace.

    Installation
    Place this script below the SES Core (v2.0) script (if you are using it) or the Materials header, but above all other custom scripts. This script does not require the SES Core (v2.0), but it is recommended.

    Credit and Thanks
    • Solistra
    • Enelvon
    Author's Notes
    This script is made available under the terms of the MIT Expat license. View this page for more information.
     
    Last edited by a moderator: Jun 18, 2014
    #1
    Lemur likes this.
  2. Solistra

    Solistra Veteran Veteran

    Messages:
    593
    Likes Received:
    241
    This is a notice that the script has been updated to version 1.1 -- this was a bug fix release.


    Specifically, in the initial release version, trying to access a missing constant while the SES Console's context was set to SES::Console caused a potentially infinite recursion due to the way SES::Console.const_missing was written. This bug has now been resolved.
     
    #2
    Lemur likes this.
  3. Solistra

    Solistra Veteran Veteran

    Messages:
    593
    Likes Received:
    241
    This is a notice that the script has been updated to version 1.2 -- this release offers a number of general enhancements to the code base.


    Of particular note is the fact that this release also comes with a zipped archive of default macro files designed to greatly enhance the capabilities of the SES Console, particularly for debugging tasks. The included macro package (macro_package.zip) may be downloaded directly from the GitHub repository under the Releases.


    Further development on macro files will take place under the "macro" branch of the source repository until a new release is deemed appropriate.
     
    #3
    Lemur likes this.
  4. Lemur

    Lemur Crazed Ruby Hacker Veteran

    Messages:
    106
    Likes Received:
    124
    Location:
    *.*
    First Language:
    English
    Late to the party, but you might look into Pry as well for more inspiration. Really, this needs to be a baked into future releases for RM. Repls are far too great a tool to not have readily accessible in a scripting language.
     
    #4
    Solistra likes this.
  5. Solistra

    Solistra Veteran Veteran

    Messages:
    593
    Likes Received:
    241
    I actually use Pry as my primary REPL for Ruby in general on an almost daily basis -- I only fall back on IRB if absolutely necessary.


    Honestly, you also happened to reply to this topic at a time when I'm thinking of updating most of my scripts -- including this one. To be more specific, I'm not too happy with how inflexible the actual invocation of code is: it's all far too hard-coded. I'd much prefer to use a Pry-like approach which defines hooks which are called around the actual code in question.
     
    #5
  6. Lemur

    Lemur Crazed Ruby Hacker Veteran

    Messages:
    106
    Likes Received:
    124
    Location:
    *.*
    First Language:
    English
    I happen to know one of the core members of Pry. He actually works about 2-3 miles from me. I've written a few plugins to it as well:

    If you need advice or reviews on things, ping me some time. Still new to RGSS but certainly not Ruby.
     
    #6

Share This Page