1
Gedit Source Code Browser
2
=========================
4
A source code class and function browser plugin for Gedit 3.
6
* Author: Micah Carrick
8
This plugin will add a new tab to the side pane in the Gedit text editor which
9
shows symbols (functions, classes, variables, etc.) for the active document.
10
Clicking a symbol in the list wil jump to the line on which that symbol is
13
See the [ctags supported languages](http://ctags.sourceforge.net/languages.html)
14
for a list of the 41 programming languages supported by this plugin.
20
This plugins is for Gedit 3 and is **not compatible with Gedit 2.x**.
22
The Gedit Source Code Browser plugin uses
23
[Exuberant Ctags](http://ctags.sourceforge.net/) to parse symbols
24
out of source code. Exuberant Ctags is avaialable in the software repository for
25
many distributions. To make sure you have ctags correctly installed, issue
26
the following command:
30
Make sure that you see *Exuberant* Ctags in the version output.
36
1. Download this repository by clicking the Downloads button at the top of the
37
github page or issue the following command in a terminal:
39
git clone git://github.com/Quixotix/gedit-source-code-browser.git
41
2. Copy the file `sourcecodebrowser.plugin` and the folder `sourcecodebrowser` to
42
`~/.local/share/gedit/plugins/`.
46
4. Activate the plugin in Gedit by choosing 'Edit > Preferences', the selecting
47
the 'Plugins' tab, and checking the box next to 'Soucre Code Browser'.
49
5. (Optional) If you want to enable the configuration dialog you need to compile
50
the settings schema. You must do this as root.
52
cd /home/<YOUR USER NAME>/.local/share/gedit/plugins/sourcecodebrowser/data/
54
cp org.gnome.gedit.plugins.sourcecodebrowser.gschema.xml /usr/share/glib-2.0/schemas/
56
glib-compile-schemas /usr/share/glib-2.0/schemas/
61
![Python code in Source Code Browser](http://www.micahcarrick.com/images/gedit-source-code-browser/python.png)
67
* CSS is not supported. This issue is about ctags and not this plugin. You can
68
[extend ctags](http://ctags.sourceforge.net/EXTENDING.html) to add support for
69
any language you like. Many people have provided their fixes to on internet
70
such as this [patch for CSS support](http://scie.nti.st/2006/12/22/how-to-add-css-support-to-ctags).
72
* PHP is supported, however, PHP5 classes are not well supported. This is again
73
an issue with ctags. There are numerous fixes to be found onn the internet
75
[patches for better PHP5 support](http://www.jejik.com/articles/2008/11/patching_exuberant-ctags_for_better_php5_support_in_vim/).
81
Copyright (c) 2011, Micah Carrick
84
Redistribution and use in source and binary forms, with or without modification,
85
are permitted provided that the following conditions are met:
87
* Redistributions of source code must retain the above copyright notice, this
88
list of conditions and the following disclaimer.
90
* Redistributions in binary form must reproduce the above copyright notice,
91
this list of conditions and the following disclaimer in the documentation
92
and/or other materials provided with the distribution.
94
* Neither the name of Micah Carrick nor the names of its
95
contributors may be used to endorse or promote products derived from this
96
software without specific prior written permission.
98
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
99
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
100
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
101
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
102
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
103
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
104
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
105
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
106
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
107
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.