[DllImport("gtksourceview-1.0")] static extern IntPtr gtk_keyword_list_tag_new (string id, string name, IntPtr keywords, bool case_sensitive, bool match_empty_string_at_beginning, bool match_empty_string_at_end, string beginning_regex, string end_regex); public static Gtk.TextTag KeywordListTagNew (string id, string name, string[] keywords, bool case_sensitive, bool match_empty_string_at_beginning, bool match_empty_string_at_end, string beginning_regex, string end_regex) { GLib.SList list = new GLib.SList (typeof (string)); foreach (string s in keywords) list.Append (s); IntPtr raw_ret = gtk_keyword_list_tag_new(id, name, list.Handle, case_sensitive, match_empty_string_at_beginning, match_empty_string_at_end, beginning_regex, end_regex); Gtk.TextTag ret; if (raw_ret == IntPtr.Zero) ret = null; else ret = (Gtk.TextTag) GLib.Object.GetObject(raw_ret); return ret; }