Giter VIP home page Giter VIP logo

gnome-emacs-utils's Introduction

Gnome-emacs-utils
=================

This is a set of Emacs Lisp utilities to help Gnome developers.  It
has the following features:

* Teach Emacs about Mallard documents.


License
=======

Gnome-emacs-utils is distributed under the GNU General Public License
version 2 or later.  See the file COPYING for details.


Installation
============

The main Emacs file is gnome-emacs-utils.el.  You can put this in your
.emacs to load this file:

(load-library "/home/you/src/gnome-emacs-utils/gnome-emacs-utils.el")

You will then need to tweak that gnome-emacs-utils.el for the correct
load path.  See the line where it does (add-to-list 'load-path ...)
and modify it to fit your setup.


Current features
================

* Devhelp.  You can press [f7] and Devhelp will appear showing
  reference documentation for the word at the point.  For example, if
  the point is on any part of the "gtk_widget_show" token and you
  press [f7], Devhelp will appear with that function's documentation.

  Alternatively, you can press [f6] to toggle the "Devhelp assistant".
  This is a little window that shows you help for a *single* function
  (e.g. gtk_widget_show()) instead of the whole widget's documentation
  (GtkWidget).  When you move the Emacs point to another word, the
  assistant window will automatically show help for that new word,
  without you having to press anything else.  Press [f6] again to
  disable the Devhelp assistant.


* Mallard.  If you load a .page document (a Mallard XML file),
  nxml-mode will be used with the Mallard schema automatically loaded.
  This will give you completion for Mallard element names and
  attributes, and proper XML validation.


* Yasnippet.  There is a gnome-emacs-utils/snippets directory with
  snippets that you can use with Yasnippet, to auto-expand strings
  into fill-in forms (see http://emacswiki.org/emacs/Yasnippet for
  more information).


Wanted features
===============

* Add a hotkey so that inline API docs can be created easily when you
  are editing a public function.  For example, imagine you are in the
  following code and the point is at [*]:

     GtkSandwich *
     gtk_foo_make_me_a_sandwich (GtkFoo *foo, GList *ingredients, GError **error)
     {
         [*]

  Then you press that hotkey, and the following documentation template
  is added:

     /**
      * gtk_foo_make_me_a_sandwich:
      * foo: 
      * ingredients:
      * error:
      *
      * Put the description here.
      *
      * Return value: 
      **/
     GtkSandwich *
     gtk_foo_make_me_a_sandwich (GtkFoo *foo, GList *ingredients, GError **error)
     {

  We used to have this in Gnome 1.x; see gnome-doc.el.  Try to revive
  this code!

* Now that we have gobject-introspection, use one of Emacs's
  typing completion libraries to implement "IntelliSense for Gnome
  functions":

	http://emacswiki.org/emacs/CategoryCompletion


Authors
=======

Federico Mena Quintero <[email protected]>
Dirk-Jan C. Binnema <[email protected]>
Richard Hult <[email protected]>

Bitcoin donations kindly accepted at 1Ad3TS5u1Tq1SAUsuC8pz9VwHQeU6KStdA

gnome-emacs-utils's People

Contributors

djcb avatar federicomenaquintero avatar

Watchers

 avatar  avatar  avatar

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.