[anjuta] code-analyzer: Added plugin for clang code analyzer
- From: Johannes Schmid <jhs src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [anjuta] code-analyzer: Added plugin for clang code analyzer
- Date: Fri, 26 Nov 2010 15:48:04 +0000 (UTC)
commit 590ed953aa92b32382803ed0c034090f9d71ba95
Author: Johannes Schmid <jhs gnome org>
Date: Fri Nov 26 16:47:14 2010 +0100
code-analyzer: Added plugin for clang code analyzer
The plugin acts as IAnjutaEnvironment implementer and set CC and CXX accordingly to run the ccc/c++-analyzer on the code. The results are displayed in the message pane like compiler errors.
plugins/Makefile.am | 1 +
plugins/code-analyzer/Makefile.am | 50 +++++
plugins/code-analyzer/code-analyzer.plugin.in | 6 +
plugins/code-analyzer/code-analyzer.png | Bin 0 -> 4032 bytes
plugins/code-analyzer/code-analyzer.ui | 171 +++++++++++++++++
plugins/code-analyzer/plugin.c | 250 +++++++++++++++++++++++++
plugins/code-analyzer/plugin.h | 38 ++++
po/POTFILES.in | 61 ++++---
8 files changed, 549 insertions(+), 28 deletions(-)
---
diff --git a/plugins/Makefile.am b/plugins/Makefile.am
index 9bf8439..c03d838 100644
--- a/plugins/Makefile.am
+++ b/plugins/Makefile.am
@@ -5,6 +5,7 @@ SUBDIRS = . \
am-project \
build-basic-autotools \
class-gen \
+ code-analyzer \
cvs-plugin \
devhelp \
debug-manager \
diff --git a/plugins/code-analyzer/Makefile.am b/plugins/code-analyzer/Makefile.am
new file mode 100644
index 0000000..eba645a
--- /dev/null
+++ b/plugins/code-analyzer/Makefile.am
@@ -0,0 +1,50 @@
+# Plugin glade file
+code_analyzer_uidir = $(anjuta_glade_dir)
+code_analyzer_ui_DATA = code-analyzer.ui
+
+# Plugin Icon file
+code_analyzer_pixmapsdir = $(anjuta_image_dir)
+code_analyzer_pixmaps_DATA = \
+ code-analyzer.png
+# Plugin description file
+plugin_in_files = code-analyzer.plugin.in
+%.plugin: %.plugin.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
+
+code_analyzer_plugindir = $(anjuta_plugin_dir)
+code_analyzer_plugin_DATA = $(plugin_in_files:.plugin.in=.plugin)
+
+AM_CPPFLAGS = \
+ $(WARN_CFLAGS) \
+ $(DEPRECATED_FLAGS) \
+ $(LIBANJUTA_CFLAGS) \
+ -DG_LOG_DOMAIN=\"code_analyzer\"
+
+# Where to install the plugin
+plugindir = $(anjuta_plugin_dir)
+
+# The plugin
+plugin_LTLIBRARIES = libanjuta-code-analyzer.la
+
+# Plugin sources
+libanjuta_code_analyzer_la_SOURCES = \
+ plugin.c \
+ plugin.h
+
+libanjuta_code_analyzer_la_LDFLAGS = $(ANJUTA_PLUGIN_LDFLAGS)
+
+# Plugin dependencies
+libanjuta_code_analyzer_la_LIBADD = \
+ $(LIBANJUTA_LIBS)
+
+prefs_name = org.gnome.anjuta.code-analyzer
+prefs_ui_files = code-analyzer.ui
+include $(top_srcdir)/scripts/build-schemas.mk
+
+EXTRA_DIST = \
+ anjuta-marshal.list \
+ $(plugin_in_files) \
+ $(sourceview_plugin_DATA) \
+ $(sourceview_pixmaps_DATA) \
+ $(sourceview_ui_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/plugins/code-analyzer/code-analyzer.plugin.in b/plugins/code-analyzer/code-analyzer.plugin.in
new file mode 100644
index 0000000..734fa52
--- /dev/null
+++ b/plugins/code-analyzer/code-analyzer.plugin.in
@@ -0,0 +1,6 @@
+[Anjuta Plugin]
+Location=anjuta-code-analyzer:CodeAnalyzerPlugin
+Icon=code-analyzer.png
+_Name=Code Anaylyzer
+_Description=Analyze code with the clang-analyzer framework
+Interfaces=IAnjutaEnvironment
\ No newline at end of file
diff --git a/plugins/code-analyzer/code-analyzer.png b/plugins/code-analyzer/code-analyzer.png
new file mode 100644
index 0000000..8b7497b
Binary files /dev/null and b/plugins/code-analyzer/code-analyzer.png differ
diff --git a/plugins/code-analyzer/code-analyzer.ui b/plugins/code-analyzer/code-analyzer.ui
new file mode 100644
index 0000000..3d45c6d
--- /dev/null
+++ b/plugins/code-analyzer/code-analyzer.ui
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="2.20"/>
+ <!-- interface-naming-policy project-wide -->
+ <object class="GtkWindow" id="dummy">
+ <property name="title" translatable="yes">window1</property>
+ <child>
+ <object class="GtkVBox" id="clang_preferences">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkFrame" id="frame1">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment1">
+ <property name="visible">True</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="vbox2">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkCheckButton" id="preferences_toggle:bool:0:0:clang-enable">
+ <property name="label" translatable="yes">Enable CLang code analyzer</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox1">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkImage" id="image1">
+ <property name="visible">True</property>
+ <property name="stock">gtk-about</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">The project needs to be reconfigured after enabling this option. Please run Build->Configure!</property>
+ <property name="wrap">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">General</property>
+ <property name="use_markup">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="frame2">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment2">
+ <property name="visible">True</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkTable" id="table1">
+ <property name="visible">True</property>
+ <property name="n_rows">2</property>
+ <property name="n_columns">2</property>
+ <child>
+ <object class="GtkLabel" id="label4">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">ccc-analyzer:</property>
+ </object>
+ <packing>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label5">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">c++-analyzer:</property>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFileChooserButton" id="preferences_file:text:/usr/lib/clang-analyzer/scan-build/ccc-analyzer:0:clang-cc-path">
+ <property name="visible">True</property>
+ <property name="create_folders">False</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFileChooserButton" id="preferences_file:text:/usr/lib/clang-analyzer/scan-build/cxx-analyzer:0:clang-cxx-path">
+ <property name="visible">True</property>
+ <property name="create_folders">False</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label2">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">CLang Paths</property>
+ <property name="use_markup">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
diff --git a/plugins/code-analyzer/plugin.c b/plugins/code-analyzer/plugin.c
new file mode 100644
index 0000000..979ed61
--- /dev/null
+++ b/plugins/code-analyzer/plugin.c
@@ -0,0 +1,250 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * plugin.c
+ * Copyright (C) Johannes Schmid 2010 <jhs gnome org>
+ *
+ * code-analyzer is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * code-analyzer is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <config.h>
+#include <libanjuta/anjuta-shell.h>
+#include <libanjuta/anjuta-debug.h>
+#include <libanjuta/interfaces/ianjuta-environment.h>
+#include <libanjuta/interfaces/ianjuta-preferences.h>
+#include <glib/gi18n.h>
+
+#include "plugin.h"
+
+#define ICON_FILE "code-analyzer.png"
+
+#define BUILDER_FILE PACKAGE_DATA_DIR"/glade/code-analyzer.ui"
+#define CLANG_PREFS_ROOT "clang_preferences"
+#define PREF_SCHEMA "org.gnome.anjuta.code-analyzer"
+
+#define PREF_ENABLED "clang-enable"
+#define PREF_CC_PATH "clang-cc-path"
+#define PREF_CXX_PATH "clang-cxx-path"
+
+static gpointer parent_class;
+
+static gboolean
+code_analyzer_activate (AnjutaPlugin *plugin)
+{
+ CodeAnalyzerPlugin *code_analyzer;
+
+ DEBUG_PRINT ("%s", "CodeAnalyzerPlugin: Activating CodeAnalyzerPlugin plugin ...");
+ code_analyzer = (CodeAnalyzerPlugin*) plugin;
+
+ return TRUE;
+}
+
+static gboolean
+code_analyzer_deactivate (AnjutaPlugin *plugin)
+{
+
+ DEBUG_PRINT ("%s", "CodeAnalyzerPlugin: Dectivating CodeAnalyzerPlugin plugin ...");
+
+ return TRUE;
+}
+
+static void
+code_analyzer_finalize (GObject *obj)
+{
+ /* Finalization codes here */
+ G_OBJECT_CLASS (parent_class)->finalize (obj);
+}
+
+static void
+code_analyzer_dispose (GObject *obj)
+{
+ /* Disposition codes */
+ G_OBJECT_CLASS (parent_class)->dispose (obj);
+}
+
+static void
+code_analyzer_instance_init (GObject *obj)
+{
+ CodeAnalyzerPlugin *plugin = (CodeAnalyzerPlugin*)obj;
+ plugin->settings = g_settings_new (PREF_SCHEMA);
+}
+
+static void
+code_analyzer_class_init (GObjectClass *klass)
+{
+ AnjutaPluginClass *plugin_class = ANJUTA_PLUGIN_CLASS (klass);
+
+ parent_class = g_type_class_peek_parent (klass);
+
+ plugin_class->activate = code_analyzer_activate;
+ plugin_class->deactivate = code_analyzer_deactivate;
+ klass->finalize = code_analyzer_finalize;
+ klass->dispose = code_analyzer_dispose;
+}
+
+static gchar*
+code_analyzer_get_cc_path (CodeAnalyzerPlugin* ca_plugin)
+{
+ gchar* path = g_settings_get_string (ca_plugin->settings,
+ PREF_CC_PATH);
+ if (!g_file_test (path, G_FILE_TEST_IS_EXECUTABLE))
+ {
+ g_free (path);
+ return NULL;
+ }
+ return path;
+}
+
+static gchar*
+code_analyzer_get_cxx_path (CodeAnalyzerPlugin* ca_plugin)
+{
+ gchar* path = g_settings_get_string (ca_plugin->settings,
+ PREF_CXX_PATH);
+ if (!g_file_test (path, G_FILE_TEST_IS_EXECUTABLE))
+ {
+ g_free (path);
+ return NULL;
+ }
+ return path;
+}
+
+
+/* IAnjutaEnvironment implementation */
+static gboolean
+ienvironment_override (IAnjutaEnvironment* env_iface,
+ gchar **dirp, gchar ***argvp, gchar ***envp,
+ GError** error)
+{
+ CodeAnalyzerPlugin* ca_plugin = (CodeAnalyzerPlugin*) (env_iface);
+ gchar* command = *argvp[0];
+
+ if (!g_settings_get_boolean (ca_plugin->settings,
+ PREF_ENABLED))
+ return TRUE;
+
+
+
+ /* Check if this is a command we are interested in */
+ if (strcmp (command, "autogen.sh") ||
+ strcmp (command, "configure") ||
+ strcmp (command, "make"))
+ {
+ gchar** new_env = *envp;
+ gchar** env;
+ gchar* cc = code_analyzer_get_cc_path (ca_plugin);
+ gchar* cxx = code_analyzer_get_cxx_path (ca_plugin);
+ gboolean found_cc = FALSE;
+ gboolean found_cxx = FALSE;
+ /* NULL termination */
+ gsize size = 1;
+
+ /* Check if paths are correct */
+ if (!cc || !cxx)
+ {
+ if (error)
+ *error = g_error_new (ianjuta_environment_error_quark (),
+ IANJUTA_ENVIRONMENT_CONFIG, "%s",
+ _("Couldn't find clang analyzer, please check "
+ "if it is installed and if the paths are configured "
+ "correctly in the preferences"));
+ g_free (cc);
+ g_free (cxx);
+ return FALSE;
+ }
+
+ for (env = new_env; *env != NULL; env++)
+ {
+ if (g_str_has_prefix (*env, "CC="))
+ {
+ g_free (*env);
+ *env = g_strdup_printf("CC=%s", cc);
+ found_cc = TRUE;
+ }
+ else if (g_str_has_prefix (*env, "CXX="))
+ {
+ g_free (*env);
+ *env = g_strdup_printf("CXX=%s", cxx);
+ found_cxx = TRUE;
+ }
+ size++;
+ }
+ if (!found_cc)
+ {
+ new_env = g_realloc (new_env, sizeof (gchar**) * (size + 1));
+ new_env[size - 1] = g_strdup_printf("CC=%s", cc);
+ new_env[size] = NULL;
+ size++;
+ }
+ if (!found_cxx)
+ {
+ new_env = g_realloc (new_env, sizeof (gchar**) * (size + 1));
+ new_env[size - 1] = g_strdup_printf("CXX=%s", cxx);
+ new_env[size] = NULL;
+ }
+ *envp = new_env;
+ }
+ return TRUE;
+}
+
+static gchar*
+ienvironment_get_real_directory (IAnjutaEnvironment* env_iface, gchar *dir,
+ GError** error)
+{
+ return dir;
+}
+
+static void
+ienvironment_iface_init (IAnjutaEnvironmentIface* iface)
+{
+ iface->override = ienvironment_override;
+ iface->get_real_directory = ienvironment_get_real_directory;
+}
+
+/* IAnjutaPreferences implementation
+ *---------------------------------------------------------------------------*/
+
+static void
+ipreferences_merge(IAnjutaPreferences* ipref, AnjutaPreferences* prefs, GError** e)
+{
+ GtkBuilder *bxml;
+ CodeAnalyzerPlugin* ca_plugin = (CodeAnalyzerPlugin*) (ipref);
+ /* Create the preferences page */
+ bxml = anjuta_util_builder_new (BUILDER_FILE, NULL);
+ if (!bxml) return;
+
+ anjuta_preferences_add_from_builder (prefs, bxml, ca_plugin->settings,
+ CLANG_PREFS_ROOT, _("CLang Analyzer"), ICON_FILE);
+
+ g_object_unref (bxml);
+}
+
+static void
+ipreferences_unmerge(IAnjutaPreferences* ipref, AnjutaPreferences* prefs, GError** e)
+{
+ anjuta_preferences_remove_page(prefs, _("CLang Analyzer"));
+}
+
+static void
+ipreferences_iface_init(IAnjutaPreferencesIface* iface)
+{
+ iface->merge = ipreferences_merge;
+ iface->unmerge = ipreferences_unmerge;
+}
+
+
+ANJUTA_PLUGIN_BEGIN (CodeAnalyzerPlugin, code_analyzer);
+ANJUTA_PLUGIN_ADD_INTERFACE(ienvironment, IANJUTA_TYPE_ENVIRONMENT);
+ANJUTA_PLUGIN_ADD_INTERFACE(ipreferences, IANJUTA_TYPE_PREFERENCES);
+ANJUTA_PLUGIN_END;
+
+ANJUTA_SIMPLE_PLUGIN (CodeAnalyzerPlugin, code_analyzer);
diff --git a/plugins/code-analyzer/plugin.h b/plugins/code-analyzer/plugin.h
new file mode 100644
index 0000000..fe89445
--- /dev/null
+++ b/plugins/code-analyzer/plugin.h
@@ -0,0 +1,38 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+/*
+ * plugin.h
+ * Copyright (C) Johannes Schmid 2010 <jhs gnome org>
+ *
+ * code-analyzer is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * code-analyzer is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef _CODE_ANALYZER_H_
+#define _CODE_ANALYZER_H_
+
+#include <libanjuta/anjuta-plugin.h>
+
+typedef struct _CodeAnalyzerPlugin CodeAnalyzerPlugin;
+typedef struct _CodeAnalyzerPluginClass CodeAnalyzerPluginClass;
+
+struct _CodeAnalyzerPlugin{
+ AnjutaPlugin parent;
+
+ GSettings* settings;
+};
+
+struct _CodeAnalyzerPluginClass{
+ AnjutaPluginClass parent_class;
+};
+
+#endif
diff --git a/po/POTFILES.in b/po/POTFILES.in
index bd8beaf..bb742aa 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -22,6 +22,10 @@ libanjuta/anjuta-status.c
libanjuta/anjuta-ui.c
libanjuta/anjuta-utils.c
libanjuta/anjuta-vcs-status-tree-view.c
+libanjuta/anjuta-column-text-view.c
+libanjuta/anjuta-entry.c
+libanjuta/anjuta-file-drop-entry.c
+libanjuta/anjuta-file-list.c
libanjuta/cell-renderer-captioned-image.c
libanjuta/e-splash.c
libanjuta/resources.c
@@ -34,6 +38,8 @@ libfoocanvas/foo-canvas-text.c
libfoocanvas/foo-canvas-util.c
libfoocanvas/foo-canvas-widget.c
libfoocanvas/libfoocanvastypes.c
+plugins/am-project/ac-parser.c
+plugins/am-project/am-parser.c
[type: gettext/glade]plugins/build-basic-autotools/anjuta-build-basic-autotools-plugin.ui
plugins/build-basic-autotools/build-options.c
plugins/build-basic-autotools/configuration-list.c
@@ -57,6 +63,8 @@ plugins/cvs-plugin/cvs-actions.c
plugins/cvs-plugin/cvs-callbacks.c
plugins/cvs-plugin/cvs-execute.c
plugins/cvs-plugin/plugin.c
+[type: gettext/glade]plugins/code-analyzer/code-analyzer.ui
+plugins/code-analyzer/plugin.c
[type: gettext/glade]plugins/debug-manager/anjuta-debug-manager.ui
plugins/debug-manager/breakpoints.c
plugins/debug-manager/chunk_view.c
@@ -105,33 +113,29 @@ plugins/gdb/plugin.c
plugins/gdb/utilities.c
plugins/gdb/preferences.c
[type: gettext/glade]plugins/git/anjuta-git.ui
-plugins/git/git-add-dialog.c
-plugins/git/git-add-remote-dialog.c
-plugins/git/git-apply-mailbox-dialog.c
-plugins/git/git-bisect-dialog.c
-plugins/git/git-cat-file-menu.c
-plugins/git/git-checkout-files-dialog.c
-plugins/git/git-cherry-pick-dialog.c
-plugins/git/git-commit-dialog.c
-plugins/git/git-create-branch-dialog.c
-plugins/git/git-create-tag-dialog.c
-plugins/git/git-delete-branch-dialog.c
-plugins/git/git-delete-tag-dialog.c
-plugins/git/git-diff-dialog.c
-plugins/git/git-fetch-dialog.c
-plugins/git/git-log-dialog.c
-plugins/git/git-merge-dialog.c
-plugins/git/git-pull-dialog.c
-plugins/git/git-push-dialog.c
-plugins/git/git-rebase-dialog.c
-plugins/git/git-remove-dialog.c
-plugins/git/git-reset-dialog.c
-plugins/git/git-resolve-dialog.c
-plugins/git/git-revert-dialog.c
-plugins/git/git-stash-widget.c
-plugins/git/git-switch-dialog.c
-plugins/git/git-ui-utils.c
-plugins/git/git-unstage-dialog.c
+plugins/git/git-add-files-pane.c
+plugins/git/git-add-remote-pane.c
+plugins/git/git-apply-stash-pane.c
+plugins/git/git-checkout-pane.c
+plugins/git/git-commit-pane.c
+plugins/git/git-create-branch-pane.c
+plugins/git/git-create-tag-pane.c
+plugins/git/git-delete-remote-pane.c
+plugins/git/git-delete-tags-pane.c
+plugins/git/git-diff-stash-pane.c
+plugins/git/git-drop-stash-pane.c
+plugins/git/git-log-pane.c
+plugins/git/git-merge-pane.c
+plugins/git/git-pane.c
+plugins/git/git-pull-pane.c
+plugins/git/git-push-pane.c
+plugins/git/git-rebase-pane.c
+plugins/git/git-remove-files-pane.c
+plugins/git/git-repository-selector.c
+plugins/git/git-resolve-conflicts-pane.c
+plugins/git/git-stash-changes-pane.c
+plugins/git/git-status-pane.c
+plugins/git/git-unstage-pane.c
plugins/git/plugin.c
plugins/glade/plugin.c
plugins/glade/anjuta-design-document.c
@@ -151,6 +155,8 @@ plugins/gtodo/todo_db.c
plugins/message-view/anjuta-msgman.c
plugins/message-view/message-view.c
plugins/message-view/plugin.c
+plugins/mk-project/mk-project.c
+[type: gettext/glade]plugins/mk-project/mk-project.ui
plugins/patch/patch-plugin.c
[type: gettext/glade]plugins/patch/patch-plugin.ui
plugins/patch/plugin.c
@@ -226,7 +232,6 @@ plugins/subversion/subversion-ui-utils.c
plugins/subversion/subversion-update-dialog.c
plugins/subversion/svn-command.c
plugins/symbol-db/plugin.c
-plugins/symbol-db/symbol-db-prefs.c
plugins/symbol-db/symbol-db-system.c
[type: gettext/glade]plugins/symbol-db/anjuta-symbol-db.ui
[type: gettext/glade]plugins/terminal/anjuta-terminal-plugin.ui
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]