Add post about GobGen
This commit is contained in:
parent
9ca8beadb7
commit
8b10623183
@ -0,0 +1,46 @@
|
||||
---
|
||||
layout: post
|
||||
title: "Emacs package to generate GObject boilerplate"
|
||||
date: 2016-09-28 15:40:15
|
||||
tags: [gnome, development]
|
||||
published: true
|
||||
author:
|
||||
name: Gergely Polonkai
|
||||
email: gergely@polonkai.eu
|
||||
---
|
||||
|
||||
Before I started using Vala (and sometimes even after that) I often
|
||||
needed to generate new classes based
|
||||
on [GObject](https://developer.gnome.org/gobject/stable/).
|
||||
|
||||
If you have ever worked with GObject in C, you know how tedious it can
|
||||
be. You need a pretty long boilerplate just to register your class,
|
||||
and, if you want to be introspectable (and readable, actually), your
|
||||
function names can grow really long.
|
||||
|
||||
To overcome this problem back in my ViM days, I used template files,
|
||||
where I could replace class prefixes and names with a few keyboard
|
||||
macros. As I never really dug into ViM scripting other than using some
|
||||
plugins, I never got farther than
|
||||
that. [Then came Emacs]({% post_url 2014-09-17-nyanmacs %}).
|
||||
|
||||
I use Emacs for about two years now very extensively, up to and
|
||||
including GLib-based development. I tried the template approach, but
|
||||
it felt to be a really poor experience, especially given that I made
|
||||
my feet wet with Emacs Lisp. So I dug deeper, and created a package
|
||||
for that.
|
||||
|
||||
![A screenshot of GobGen in action]({{ site_url }}/images/screenshot-gobgen.png)
|
||||
|
||||
GobGen has its own buffer with some widgets, a bit similar to
|
||||
`customize`. You can enter the name of your new object and its parent,
|
||||
specify some settings. Then you press Generate, and you are presented
|
||||
with two new buffers, one for the `.c` and another for the `.h`
|
||||
boilerplate.
|
||||
|
||||
There are a lot of things to do, actually. There is already an open
|
||||
issue for creating a major mode for this buffer, and there are some
|
||||
minor switches I’d like to add, but it is already usable. You can grab
|
||||
it from [MELPA](https://melpa.org/#/gobgen) (my first package there;
|
||||
woo!) or from
|
||||
my [GitHub account](https://github.com/gergelypolonkai/gobgen.el).
|
BIN
images/screenshot-gobgen.png
Normal file
BIN
images/screenshot-gobgen.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 33 KiB |
Loading…
Reference in New Issue
Block a user