Coder Social home page Coder Social logo

bruno's Introduction

Bruno: A Text Editor for Programming by Demonstration

Created by Samuel Ainsworth, Frank Goodman, Jonathan Lessinger, and Michael Scheer

Motivation

Bruno's purpose is to provide an elegant way to demonstrate the evolution of code. Software development relies heavily on iterative and incremental development, and Bruno was designed to showcase this process on a step-by-step basis. Through its extensive plugin, simple command, and intuitive edit history interfaces, teaching and demonstrating software development has never been easier.

Screenshots

Screenshots here

Quick Start

With the proper dependencies installed in lib, you can run Bruno by executing "ant run". Tests can be run from the Eclipse JUnit integrated tester.

Further Information

More information about Bruno can be found in

License

GPL

bruno's People

Contributors

jlessinger avatar mgscheer avatar samuela avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

bruno's Issues

Populate bindings in ScriptPluginManager for scripts

In ScriptPluginManager, on line 50 a SimpleBindings object is instantiated.

globals = new SimpleBindings();

On line 107, all the bindings contained within SimpleBindings are attempted to be added to the script engine... (putAll starts on line 120)

putAll(engine);

The globals field should be populated with the various objects that we want scripts to have access to. For example, Bruno. This will allow scripts like close.py to work. Currently, close.py gives a stack trace like the following:

javax.script.ScriptException: sun.org.mozilla.javascript.internal.EcmaError: ReferenceError....

However, once we add a Bruno binding, we will have access to the Bruno object within close.py by calling 'Bruno'.

Bruno should pass a reference to itself to ScriptPluginManager, which will be added as a binding to SimpleBindings.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.