gobgen.el/README.md

58 lines
1.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# GobGen
Generate boilerplate code for a GObject descendant in Emacs.
## 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
## Installation
1. Clone this repository and add it to your `load-path`
2. `(require 'gobgen)`
## Contributing
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
Barieris
[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:
* Properties
* Signals
* Pre-define methods, virtual or not
* Add GTK-Doc blocks for for the generated code
* Widget specialization
** Standalone with custom `render()` method
** Composite
** Templated composite, that should also create a `GtkBuilder`
template
* Add some help text for fields
* GLib requirement check (if 2.38 is turned on)
* Possibly add a `GET_PRIV` macro for 2.38+
## 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!