MIT Licensed Code

Description

This group of code–the attributes and stub–is licensed differently than Minibuffer.

MIT-License-transparent.png
MIT License logo†

Minibuffer is licensed under Unity Asset Store End User License Agreement. In addition to that license, the classes Command, Variable, Prompt, Group, UniversalArgument, MinibufferListing, Current, and MinibufferStub are available under the MIT License.

These classes may be of use for asset developers. The motivation for this additional license is two fold:

1) An asset developer might want to make their own assets "minibuffer-able"–i.e., expose commands and variables for their users that have Minibuffer–without having to litter #ifdefs everywhere.‡ This license allows asset developers to include the attribute markup in their asset code and the attributes. Users without Minibuffer will not notice a difference, but users with Minibuffer will have new commands, variables, and key bindings that enhance the developer's asset. (Many assets don't expose any kind of developer UI at runtime because games are so idiosyncratic, and because UIs are a lot of work, but Minibuffer could reduce those impediments.)

2) Another developer may wish to write tools that adopt Minibuffer's philosophy of UI-by-decoration but with a UI that dramatically differs from Minibuffer. Minibuffer is very comfortable for Emacs users, but perhaps someone else would prefer a Command Line Interface (CLI) or a more Vim-like experience. Or perhaps they require a less keyboard-centric UI to serve developers and testers on mobile platforms. This license allows another developer to follow that end, but hopefully the commands, variables, prompts, and other attribute markup may be shared freely even if the UI differs considerably; thus all these UI-by-decoration developer tools may share in a commons.

MIT License logo by Excalibur Zero licensed under the CC-BY 3.0

‡ Some #ifdefs are unavoidable but the goal is to avoid it in the majority of cases.

License Text

Copyright (c) 2016 Shane Celis, @shanecelis

Licensed under the MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Classes

class  Command
 Mark a method as an interactive command. More...
 
class  Current
 Requests the current object of particular type. More...
 
class  Group
 Name a group for the following commands and variables. More...
 
class  Prompt
 Prompt the user for an argument with completer, default input, history, etc. More...
 
class  UniversalArgument
 Mark an int, bool, or int? parameter to receive the universal argument. More...
 
class  Variable
 Mark a field or property as a variable to Minibuffer. More...
 
class  MinibufferListing
 
minibuffer-listing.png
Show commands, etc in inspector

Display listing of commands, variables, and key bindings in Inspector window. More...

 
class  MinibufferStub
 This stub may be of use for asset developers. More...