gtkmateview
gtkmateview copied to clipboard
Textmate-compatible editing widget for Gnome
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.