/gtkmateview

Textmate-compatible editing widget for Gnome

Primary LanguageC

GtkMateView
    by Daniel Lucraft
    http://www.RedcarIDE.com/

== DESCRIPTION:
  
A textmate-compatible source highlighting widget for Gnome. Based
on GtkSourceView2, but with a new highlighting engine.

== FEATURES:

 * Highlights many languages, using the Textmate syntaxes.
 * On-demand in-thread parsing.

== FUTURE PLANS

 * Background threaded document parsing.
 * Export documents to marked up HTML.

== PREREQUISITES

For the widget: 

 * Glib, Gtk, GtkSourceView2. (available in Ubuntu packages)
 * Oniguruma http://www.geocities.jp/kosako3/oniguruma/ (available in Ubuntu packages)

For the Ruby bindings as well: 

 * Ruby-GNOME2  http://ruby-gnome2.sourceforge.jp/ (install from latest SVN version)

To rebuild the C dist files from the Vala source: 

 * Vala    http://live.gnome.org/Vala  (Ubuntu packages way out of date in Intrepid)
 * libgee  http://live.gnome.org/Libgee  (Ubuntu packages way out of date in Intrepid)
 * Valar   http://github.com/danlucraft/valar/tree  (not packaged for Ubuntu)

To install the grammars for many languages, download either from Macromates:

    export LC_CTYPE=en_US.UTF-8
    cd /usr/local/share/
    sudo svn co http://macromates.com/svn/Bundles/trunk textmate

or from the redcar-bundles port, which is probably better if you are intending
to use GtkMateView with Redcar, though it has fewer languages:

    cd /usr/local/share
    sudo git clone git://github.com/danlucraft/redcar-bundles.git textmate

== BUILDING THE WIDGET WITH RUBY BINDINGS

    cd dist/
    ruby extconf.rb
    make

== USING THE RUBY BINDINGS

    require 'gtk2'
    require 'dist/gtkmateview'

    gmv = Gtk::Mate::View.new
    gmv.buffer = Gtk::Mate::Buffer.new
    Gtk.idle_add do
      gmv.buffer.set_grammar_by_name("Ruby")
      gmv.set_theme_by_name("Twilight")
      false
    end
    win = Gtk::Window.new
    win.set_size_request(800, 600)
    win.add(gmv)
    win.show_all
    Gtk.main

== REGENERATING C SOURCE FILES FROM VALA

To rebuild the C dist files from the Vala sources, first make sure that
you have current versions of the Vala compiler (0.5.6 at this time) and
libgee installed. The build script will also expect Valar to be present, and
the valar/ directory should be a sibling of the gtkmateview/ directory (hack in 
tasks/build.rake to change this.) Then execute from the gtkmateview directory:

    rake build:all

== BUILDING BINARY FOR PROFILING

(This currently does not work, please fix.)

Basic waf[1] based project template for Vala[2]. To build and run the resulting
binaries:

    ./waf configure
    ./waf
    ./_build_/default/src/hello-gtk

[1] http://code.google.com/p/waf/
[2] http://live.gnome.org/Vala


== LICENSE:

Redcar is copyright 2008 Daniel B. Lucraft and contributors. It is licensed under the GPL2.