static gboolean gb_vim_command_syntax (GtkWidget *active_widget, const gchar *command, const gchar *options, GError **error) { g_assert (GTK_IS_WIDGET (active_widget)); if (IDE_IS_EDITOR_PAGE (active_widget)) { IdeBuffer *buffer = ide_editor_page_get_buffer (IDE_EDITOR_PAGE (active_widget)); if (g_str_equal (options, "enable") || g_str_equal (options, "on")) gtk_source_buffer_set_highlight_syntax (GTK_SOURCE_BUFFER (buffer), TRUE); else if (g_str_equal (options, "off")) gtk_source_buffer_set_highlight_syntax (GTK_SOURCE_BUFFER (buffer), FALSE); else { g_set_error (error, GB_VIM_ERROR, GB_VIM_ERROR_UNKNOWN_OPTION, _("Invalid :syntax subcommand: %s"), options); return FALSE; } return TRUE; } else return gb_vim_set_source_view_error (error); }
static void set_language (GeditDocument *doc, GtkSourceLanguage *lang, gboolean set_by_user) { GtkSourceLanguage *old_lang; gedit_debug (DEBUG_DOCUMENT); old_lang = gtk_source_buffer_get_language (GTK_SOURCE_BUFFER (doc)); if (old_lang == lang) { return; } gtk_source_buffer_set_language (GTK_SOURCE_BUFFER (doc), lang); if (lang != NULL) { gboolean syntax_hl; syntax_hl = g_settings_get_boolean (doc->priv->editor_settings, GEDIT_SETTINGS_SYNTAX_HIGHLIGHTING); gtk_source_buffer_set_highlight_syntax (GTK_SOURCE_BUFFER (doc), syntax_hl); } else { gtk_source_buffer_set_highlight_syntax (GTK_SOURCE_BUFFER (doc), FALSE); } if (set_by_user) { const gchar *language = get_language_string (doc); gedit_document_set_metadata (doc, GEDIT_METADATA_ATTRIBUTE_LANGUAGE, language, NULL); } doc->priv->language_set_by_user = set_by_user; }
void set_language(){ if(cfg_lang()){ GtkSourceLanguageManager *lm; lm=gtk_source_language_manager_new(); char* currentfile=(char*)tpad_fp_get_current(); if(currentfile!=NULL){ long unsigned int i= 0,pos= 0; size_t mlewn = sizeof(currentfile)/sizeof(currentfile[1]); size_t blew = strlen(currentfile) + 1; if(blew > mlewn) mlewn = blew; char fil[mlewn]; for(i=0; currentfile[i]; i++){ if(currentfile[i]=='\\') fil[pos++]='\\'; fil[pos++]=currentfile[i]; } fil[pos]=0; gboolean result_uncertain; gchar *content_type; content_type = g_content_type_guess (fil, NULL, 0, &result_uncertain); if (result_uncertain){ g_free (content_type); content_type = NULL; } GtkSourceLanguage *lang = NULL; lang = gtk_source_language_manager_guess_language (lm, fil, content_type); gtk_source_buffer_set_language (GTK_SOURCE_BUFFER(mBuff),GTK_SOURCE_LANGUAGE(lang)); gtk_source_buffer_set_highlight_matching_brackets (GTK_SOURCE_BUFFER(mBuff), (gboolean) cfg_lang()); if(cfg_lang()) (lang) ? gtk_source_buffer_set_highlight_syntax(GTK_SOURCE_BUFFER(mBuff),TRUE) : gtk_source_buffer_set_highlight_syntax(GTK_SOURCE_BUFFER(mBuff),FALSE); if(content_type) g_free (content_type); } } else { gtk_source_buffer_set_language(GTK_SOURCE_BUFFER(mBuff),NULL); gtk_source_buffer_set_highlight_syntax(GTK_SOURCE_BUFFER(mBuff),FALSE); } if(cfg_undo() >= 1 && cfg_undo() <= UNDO_MAX) gtk_source_buffer_set_max_undo_levels ((GtkSourceBuffer *)mBuff,(gint)cfg_undo()); else { gtk_source_buffer_set_max_undo_levels ((GtkSourceBuffer *)mBuff,(gint)-1); cfg_set_undo(0); } (cfg_line_wrap()) ? gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (view),GTK_WRAP_WORD) : gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (view),GTK_WRAP_NONE); }
static void cedit_prefs_manager_syntax_hl_enable_changed (GSettings *settings, gchar *key, gpointer user_data) { cedit_debug (DEBUG_PREFS); if (strcmp (key, GPM_SYNTAX_HL_ENABLE) == 0) { gboolean enable; GList *docs; GList *l; const GList *windows; enable = g_settings_get_boolean (settings, key); docs = cedit_app_get_documents (cedit_app_get_default ()); l = docs; while (l != NULL) { #if GTK_CHECK_VERSION (3, 0, 0) g_return_if_fail (GTK_SOURCE_IS_BUFFER (l->data)); #else g_return_if_fail (GTK_IS_SOURCE_BUFFER (l->data)); #endif gtk_source_buffer_set_highlight_syntax (GTK_SOURCE_BUFFER (l->data), enable); l = l->next; } g_list_free (docs); /* update the sensitivity of the Higlight Mode menu item */ windows = cedit_app_get_windows (cedit_app_get_default ()); while (windows != NULL) { GtkUIManager *ui; GtkAction *a; ui = cedit_window_get_ui_manager (CEDIT_WINDOW (windows->data)); a = gtk_ui_manager_get_action (ui, "/MenuBar/ViewMenu/ViewHighlightModeMenu"); gtk_action_set_sensitive (a, enable); windows = g_list_next (windows); } } }
SourceView::SourceView (const std::string& language, bool readOnly) { // Set the search path to the language and style files gchar* directories[2]; std::string langFilesDir = GlobalRegistry().get(RKEY_APP_PATH) + "sourceviewer/"; directories[0] = const_cast<gchar*> (langFilesDir.c_str()); // stupid GtkSourceLanguageManager is expecting non-const gchar* pointer... directories[1] = NULL; GtkSourceStyleSchemeManager* styleSchemeManager = gtk_source_style_scheme_manager_get_default(); gtk_source_style_scheme_manager_set_search_path(styleSchemeManager, directories); gtk_source_style_scheme_manager_force_rescan(styleSchemeManager); _langManager = gtk_source_language_manager_new(); gtk_source_language_manager_set_search_path(_langManager, directories); GtkSourceLanguage* lang = gtk_source_language_manager_get_language(_langManager, language.c_str()); if (lang == NULL) { gtkutil::errorDialog(_("Cannot find language for source viewer")); g_error("SourceView: Cannot find language %s\n", language.c_str()); throw std::runtime_error("SourceView: Cannot find language"); } // Remember the pointers to the textbuffers _buffer = gtk_source_buffer_new_with_language(lang); gtk_source_buffer_set_highlight_syntax(_buffer, TRUE); _view = GTK_SOURCE_VIEW(gtk_source_view_new_with_buffer(_buffer)); gtk_widget_set_size_request(GTK_WIDGET(_view), 0, -1); // allow shrinking gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(_view), GTK_WRAP_NONE); gtk_text_view_set_editable(GTK_TEXT_VIEW(_view), readOnly ? FALSE : TRUE); gtk_source_view_set_show_line_numbers(_view, TRUE); gtk_source_view_set_auto_indent(_view, TRUE); // Use a fixed width font PangoFontDescription* fontDesc = pango_font_description_from_string("Monospace"); if (fontDesc != NULL) { gtk_widget_modify_font(GTK_WIDGET(_view), fontDesc); } // Use a tab size of 4 gtk_source_view_set_tab_width(GTK_SOURCE_VIEW(_view), 4); g_signal_connect(G_OBJECT(_view), "key_press_event", G_CALLBACK(escape_clear_focus_widget), 0); _widget = gtkutil::ScrolledFrame(GTK_WIDGET(_view)); }
void gui_editor_show (GUIEditor * self) { gtk_widget_show (GTK_WIDGET (self->widget)); gtk_widget_show (GTK_WIDGET (self->scroll)); gtk_source_view_set_show_line_numbers (GTK_SOURCE_VIEW(self->widget), TRUE); self->language = gtk_source_language_manager_get_language(self->lang_manager,"8085_asm"); if (self->language != NULL){ gtk_source_buffer_set_language (self->buffer, self->language); gtk_source_buffer_set_style_scheme (self->buffer, gtk_source_style_scheme_manager_get_scheme(self->style_scheme_manager,"classic")); gtk_source_buffer_set_highlight_syntax (self->buffer, TRUE); } self->mark = gtk_text_buffer_get_insert (GTK_TEXT_BUFFER(self->buffer)); gtk_source_view_set_show_line_marks (GTK_SOURCE_VIEW(self->widget), TRUE); }
NetlistEditor * netlist_editor_new (GtkSourceBuffer * textbuffer) { NetlistEditor * nle; GtkBuilder *gui; GError *perror = NULL; GtkWidget * toplevel; GtkScrolledWindow * scroll; GtkSourceView * source_view; GtkSourceLanguageManager * lm; GtkButton * save, * close; GtkSourceLanguage *lang=NULL; if (!textbuffer) return NULL; if ((gui = gtk_builder_new ()) == NULL) { oregano_error (_("Could not create the netlist dialog")); return NULL; } gtk_builder_set_translation_domain (gui, NULL); nle = NETLIST_EDITOR (g_object_new (netlist_editor_get_type (), NULL)); if (gtk_builder_add_from_file (gui, OREGANO_UIDIR "/view-netlist.ui", &perror) <= 0) { gchar *msg; msg = perror->message; oregano_error_with_title (_("Could not create the netlist dialog"), msg); g_error_free (perror); return NULL; } toplevel = GTK_WIDGET (gtk_builder_get_object (gui, "toplevel")); gtk_window_set_default_size (GTK_WINDOW (toplevel), 800, 600); gtk_window_set_title (GTK_WINDOW (toplevel), "Net List Editor\n"); scroll = GTK_SCROLLED_WINDOW (gtk_builder_get_object (gui, "netlist-scrolled-window")); source_view = GTK_SOURCE_VIEW (gtk_source_view_new ()); lm = GTK_SOURCE_LANGUAGE_MANAGER (gtk_source_language_manager_new ()); setup_language_manager_path (lm); g_object_set_data_full (G_OBJECT (source_view), "language-manager", lm, (GDestroyNotify) g_object_unref); lang = gtk_source_language_manager_get_language (lm, "netlist"); if (lang) { NG_DEBUG ("\"%s\" from \"%s\"", gtk_source_language_get_name (lang), OREGANO_LANGDIR "/netlist.lang"); gtk_source_buffer_set_language (GTK_SOURCE_BUFFER (textbuffer), lang); gtk_source_buffer_set_highlight_syntax (GTK_SOURCE_BUFFER (textbuffer), TRUE); gtk_source_buffer_set_highlight_matching_brackets (GTK_SOURCE_BUFFER (textbuffer), TRUE); } else { g_warning ("Can't load netlist.lang in %s", OREGANO_LANGDIR "/netlist.lang"); } gtk_text_view_set_editable (GTK_TEXT_VIEW (source_view), TRUE); gtk_text_view_set_buffer (GTK_TEXT_VIEW (source_view), GTK_TEXT_BUFFER (textbuffer)); gtk_container_add (GTK_CONTAINER (scroll), GTK_WIDGET (source_view)); close = GTK_BUTTON (gtk_builder_get_object (gui, "btn_close")); g_signal_connect_swapped (G_OBJECT (close), "clicked", G_CALLBACK (g_object_unref), G_OBJECT (nle)); save = GTK_BUTTON (gtk_builder_get_object (gui, "btn_save")); g_signal_connect (G_OBJECT (save), "clicked", G_CALLBACK (netlist_editor_save), nle); // Set tab, fonts, wrap mode, colors, etc. according // to preferences nle->priv->view = GTK_TEXT_VIEW (source_view); nle->priv->toplevel = GTK_WINDOW (toplevel); nle->priv->save = save; nle->priv->close = close; nle->priv->buffer = textbuffer; gtk_widget_show_all (GTK_WIDGET (toplevel)); return nle; }
NetlistEditor * netlist_editor_new (GtkSourceBuffer * textbuffer) { gchar** lang_files; NetlistEditor * nle; GladeXML * gui; GtkWidget * toplevel; GtkScrolledWindow * scroll; GtkSourceView * source_view; GtkSourceLanguageManager * lm; GtkButton * save, * sim, * close, * print; GtkSourceLanguage *lang=NULL; const GSList *list; if (!textbuffer) return NULL; nle = NETLIST_EDITOR (g_object_new (netlist_editor_get_type (), NULL)); netlist_editor_get_config (nle); if (!g_file_test (OREGANO_GLADEDIR "/view-netlist.glade2", G_FILE_TEST_EXISTS)) { gchar *msg; msg = g_strdup_printf ( _("The file %s could not be found. You might need to reinstall Oregano to fix this."), OREGANO_GLADEDIR "/view-netlist.glade2"); oregano_error_with_title (_("Could not create the netlist dialog"), msg); g_free (msg); return NULL; } gui = glade_xml_new (OREGANO_GLADEDIR "/view-netlist.glade2", NULL, NULL); toplevel = glade_xml_get_widget (gui, "toplevel"); gtk_window_set_default_size (GTK_WINDOW (toplevel), 800, 600); gtk_window_set_title (GTK_WINDOW (toplevel), "Net List Editor\n"); scroll = GTK_SCROLLED_WINDOW (glade_xml_get_widget (gui, "netlist-scrolled-window")); source_view = GTK_SOURCE_VIEW (gtk_source_view_new ()); lm = GTK_SOURCE_LANGUAGE_MANAGER (gtk_source_language_manager_new ()); setup_language_manager_path (lm); g_object_set_data_full (G_OBJECT (source_view), "language-manager", lm, (GDestroyNotify) g_object_unref); lang = gtk_source_language_manager_get_language (lm, "netlist"); if (lang) { gtk_source_buffer_set_language (GTK_SOURCE_BUFFER (textbuffer), lang); gtk_source_buffer_set_highlight_syntax (GTK_SOURCE_BUFFER (textbuffer), TRUE); gtk_source_buffer_set_highlight_matching_brackets (GTK_SOURCE_BUFFER (textbuffer), TRUE); } else { g_warning ("Can't load netlist.lang in %s", OREGANO_LANGDIR "/netlist.lang"); } gtk_text_view_set_editable (GTK_TEXT_VIEW (source_view), TRUE); gtk_text_view_set_buffer (GTK_TEXT_VIEW (source_view), GTK_TEXT_BUFFER (textbuffer)); gtk_container_add (GTK_CONTAINER (scroll), GTK_WIDGET (source_view)); close = GTK_BUTTON (glade_xml_get_widget (gui, "btn_close")); g_signal_connect_swapped (G_OBJECT (close), "clicked", G_CALLBACK (g_object_unref), G_OBJECT (nle)); save = GTK_BUTTON (glade_xml_get_widget (gui, "btn_save")); g_signal_connect (G_OBJECT (save), "clicked", G_CALLBACK (netlist_editor_save), nle); sim = GTK_BUTTON (glade_xml_get_widget (gui, "btn_sim")); g_signal_connect (G_OBJECT (sim), "clicked", G_CALLBACK (netlist_editor_simulate), nle); print = GTK_BUTTON (glade_xml_get_widget (gui, "btn_print")); g_signal_connect (G_OBJECT (print), "clicked", G_CALLBACK (netlist_editor_print), nle); /* * Set tab, fonts, wrap mode, colors, etc. according * to preferences */ nle->priv->lm = lm; nle->priv->view = GTK_TEXT_VIEW (source_view); nle->priv->toplevel = GTK_WINDOW (toplevel); nle->priv->sim = sim; nle->priv->save = save; nle->priv->close = close; nle->priv->buffer = textbuffer; gtk_widget_show_all (GTK_WIDGET (toplevel)); return nle; }
int main (int argc, char *argv[]){ GtkWidget *button = NULL, *win = NULL, *vbox = NULL, *vbox2 = NULL, *halign = NULL, *buttonbox = NULL, *scrl1 = NULL, *scrl2 = NULL, *sourceview = NULL; GtkSourceLanguageManager *gsv_lm = NULL; GtkSourceLanguage *gsv_lang = NULL; gchar *searchpaths[] = {"./","/usr/share/gtksourceview-2.0/language-specs/",0}; /* Initialize GTK+ */ g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, (GLogFunc) gtk_false, NULL); gtk_init (&argc, &argv); g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, g_log_default_handler, NULL); /* Create the main window */ win = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_container_set_border_width (GTK_CONTAINER (win), 8); gtk_window_set_title (GTK_WINDOW (win), TITLE); gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_CENTER); gtk_window_set_default_size(GTK_WINDOW(win), 600, 0); gtk_widget_realize (win); g_signal_connect (G_OBJECT(win), "destroy", G_CALLBACK(destroy_wnd), NULL); g_signal_connect (G_OBJECT(win), "delete_event", G_CALLBACK(delete_event),NULL); /* Create a vertical box with buttons */ vbox = gtk_vbox_new(FALSE, 5); vbox2 = gtk_vbox_new(TRUE, 5); halign = gtk_alignment_new(1, 0, 0, 0); scrl1 = gtk_scrolled_window_new(0,0); scrl2 = gtk_scrolled_window_new(0,0); buttonbox = gtk_hbutton_box_new(); gtk_container_add(GTK_CONTAINER(halign), buttonbox); gtk_box_pack_start(GTK_BOX(vbox2), GTK_WIDGET(scrl1), FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX(vbox2), GTK_WIDGET(scrl2), FALSE, TRUE, 0); gtk_widget_set_size_request(GTK_WIDGET(vbox2), 0, 400); gtk_container_add(GTK_CONTAINER(vbox), vbox2); gtk_container_add(GTK_CONTAINER(win), vbox); gtk_box_pack_start(GTK_BOX(vbox), halign, FALSE, FALSE, 0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrl1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrl2), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); /* Build the C buffer */ if (!(gsv_lm = gtk_source_language_manager_new())) exit(1); gtk_source_language_manager_set_search_path(gsv_lm, searchpaths); if (!(gsv_lang = gtk_source_language_manager_get_language(gsv_lm, "c"))) exit(2); if (!(gsv_buffer_c = gtk_source_buffer_new_with_language(gsv_lang))) exit(3); gtk_source_buffer_set_highlight_syntax(gsv_buffer_c, TRUE); if (!(sourceview = gtk_source_view_new_with_buffer(gsv_buffer_c))) exit(4); gtk_container_add(GTK_CONTAINER(scrl1), sourceview); gtk_text_view_set_editable(GTK_TEXT_VIEW(sourceview), FALSE); gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(sourceview), FALSE); /* Build the ASM buffer */ if (!(gsv_lm = gtk_source_language_manager_new())) exit(1); gtk_source_language_manager_set_search_path(gsv_lm, searchpaths); if (!(gsv_lang = gtk_source_language_manager_get_language(gsv_lm, "nasm"))) exit(2); if (!(gsv_buffer_asm = gtk_source_buffer_new_with_language(gsv_lang))) exit(3); gtk_source_buffer_set_highlight_syntax(gsv_buffer_asm, TRUE); if (!(sourceview = gtk_source_view_new_with_buffer(gsv_buffer_asm))) exit(4); gtk_container_add(GTK_CONTAINER(scrl2), sourceview); /* Set the text of the buffers */ gtk_text_buffer_set_text(GTK_TEXT_BUFFER(gsv_buffer_c), question, strlen(question)); gtk_text_buffer_set_text(GTK_TEXT_BUFFER(gsv_buffer_asm), answer, strlen(answer)); /* Buttons */ button = gtk_button_new_from_stock (GTK_STOCK_DIALOG_INFO); g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK(info_dialog), (gpointer) win); gtk_box_pack_start (GTK_BOX (buttonbox), button, FALSE, FALSE, 0); button = gtk_button_new_with_label("Test Answer"); g_signal_connect (button, "clicked", G_CALLBACK(test_answer), NULL); gtk_box_pack_start (GTK_BOX (buttonbox), button, FALSE, FALSE, 0); button = gtk_button_new_from_stock (GTK_STOCK_CLOSE); g_signal_connect (button, "clicked", gtk_main_quit, NULL); gtk_box_pack_start (GTK_BOX (buttonbox), button, FALSE, FALSE, 0); srand(time(NULL)); /* Enter the main loop */ gtk_widget_show_all (win); gtk_main (); return 0; }
SourceView::SourceView(const std::string& language, bool readOnly) { // Set the search path to the language and style files gchar* directories[2]; #if defined(POSIX) && defined(PKGDATADIR) std::string langFilesDir = std::string(PKGDATADIR) + "/sourceviewer/"; #else std::string langFilesDir = GlobalRegistry().get(RKEY_APP_PATH) + "sourceviewer/"; #endif directories[0] = const_cast<gchar*>(langFilesDir.c_str()); // stupid GtkSourceLanguageManager is expecting non-const gchar* pointer... directories[1] = NULL; GtkSourceStyleSchemeManager* styleSchemeManager = gtk_source_style_scheme_manager_get_default(); gtk_source_style_scheme_manager_set_search_path(styleSchemeManager, directories); gtk_source_style_scheme_manager_force_rescan(styleSchemeManager); _langManager = gtk_source_language_manager_new(); gtk_source_language_manager_set_search_path(_langManager, directories); GtkSourceLanguage* lang = gtk_source_language_manager_get_language(_langManager, language.c_str()); if (lang == NULL) { globalErrorStream() << "SourceView: Cannot find language " << language << " in " << langFilesDir << std::endl; } // Remember the pointers to the textbuffers if (lang != NULL) { _buffer = gtk_source_buffer_new_with_language(lang); gtk_source_buffer_set_highlight_syntax(_buffer, TRUE); } else { _buffer = gtk_source_buffer_new(NULL); gtk_source_buffer_set_highlight_syntax(_buffer, FALSE); } _view = GTK_SOURCE_VIEW(gtk_source_view_new_with_buffer(_buffer)); gtk_widget_set_size_request(GTK_WIDGET(_view), 0, -1); // allow shrinking gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(_view), GTK_WRAP_WORD); gtk_text_view_set_editable(GTK_TEXT_VIEW(_view), readOnly ? FALSE : TRUE); gtk_source_view_set_show_line_numbers(_view, TRUE); gtk_source_view_set_auto_indent(_view, TRUE); // Use a fixed width font PangoFontDescription* fontDesc = pango_font_description_from_string("Monospace"); if (fontDesc != NULL) { gtk_widget_modify_font(GTK_WIDGET(_view), fontDesc); } // Use a tab size of 4 gtk_source_view_set_tab_width(GTK_SOURCE_VIEW(_view), 4); widget_connect_escape_clear_focus_widget(GTK_WIDGET(_view)); _widget = gtkutil::ScrolledFrame(GTK_WIDGET(_view)); }
AtlantisDocument* atlantis_document_construct (GType object_type, const char* path) { #line 73 "document.c" GError * _inner_error_; AtlantisDocument * self; char* _tmp0_; char* _tmp1_; GtkSourceLanguageManager* slm; GtkSourceLanguage* lang; GtkSourceLanguageManager* _tmp2_; GtkSourceLanguage* _tmp3_; #line 11 "document.vala" g_return_val_if_fail (path != NULL, NULL); #line 84 "document.c" _inner_error_ = NULL; self = g_object_newv (object_type, 0, NULL); #line 13 "document.vala" self->priv->fileName = (_tmp0_ = atlantis_document_uri_to_filename (self, path), _g_free0 (self->priv->fileName), _tmp0_); #line 14 "document.vala" self->priv->baseName = (_tmp1_ = g_path_get_basename (self->priv->fileName), _g_free0 (self->priv->baseName), _tmp1_); #line 91 "document.c" slm = NULL; lang = NULL; #line 18 "document.vala" slm = (_tmp2_ = gtk_source_language_manager_new (), _g_object_unref0 (slm), _tmp2_); #line 19 "document.vala" lang = (_tmp3_ = _g_object_ref0 (gtk_source_language_manager_get_language (slm, "vala")), _g_object_unref0 (lang), _tmp3_); #line 21 "document.vala" if (lang != NULL) { #line 100 "document.c" char* content; char* _tmp6_; gboolean _tmp5_; char* _tmp4_ = NULL; content = NULL; #line 24 "document.vala" _tmp5_ = g_file_get_contents (self->priv->fileName, &_tmp4_, NULL, &_inner_error_); #line 24 "document.vala" content = (_tmp6_ = _tmp4_, _g_free0 (content), _tmp6_); #line 24 "document.vala" _tmp5_; #line 112 "document.c" if (_inner_error_ != NULL) { _g_free0 (content); _g_object_unref0 (slm); _g_object_unref0 (lang); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return NULL; } #line 25 "document.vala" g_object_set ((GtkTextBuffer*) self, "text", content, NULL); #line 26 "document.vala" gtk_source_buffer_set_language ((GtkSourceBuffer*) self, lang); #line 27 "document.vala" gtk_source_buffer_set_highlight_syntax ((GtkSourceBuffer*) self, TRUE); #line 127 "document.c" _g_free0 (content); } _g_object_unref0 (slm); _g_object_unref0 (lang); return self; }