diff --git a/README.md b/README.md index 8fc3f36..f43abfc 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,47 @@ -Installation -============ +# GobGen -Add `gobgen.el` to your Emacs start script: +Generate boilerplate code for a GObject descendant in Emacs. -`(load "gobgen.el")` +## Usage -Usage -===== +1. Execute `M-x gobgen` +2. Specify a class name in snake_case +3. Specify a parent class name in snake_case +3. If the guessed prefixes are not OK, fix them +4. Check GLib >= 2.38 if you are building for new(ish) GLib + versions. This puts some optimalizations in the code, like makes + use of macros like `g_object_get_private` +5. Check Has private members if you want to add a private struct to + your object -`M-x gobgen ` +## Installation -Requirements -============ +1. Clone this repository and add it to your `load-path` +2. `(require 'gobgen)` -gobgen.el depends only on Emacs' widget library. +## Contributing -Tested on Emacs 24.3, please report if you succeed (or fail) on other -versions! +If you have a feature idea or find a bug, feel free to issue a pull +request. If you need any help with the code, find me on Matrix +as +[@gergely.polonkai.eu](https://riot.im/app/#/user/@gergely:polonkai.eu) + +## Credits + +This package is heavily based on Gustavo Sverzut +Barieri’s +[gobject-class.el](https://www.emacswiki.org/emacs/gobject-class.el). + +## Future plans + +There are tons of features I plan, here is a brief list: + +* Pre-define methods, virtual or not +* Add GTK-Doc blocks for for the generated code + +## Requirements + +`gobgen.el` depends only on the Emacs widget library. + +Tested on Emacs 24.3 and 25.1, please report if you succeed (or fail) +on other versions!