1===============
2Geany-Plugins
3===============
4
5Status
6------
7
8.. image:: https://travis-ci.com/geany/geany-plugins.svg?branch=master
9    :target: https://travis-ci.com/github/geany/geany-plugins
10
11Installation
12------------
13
14You can build the plugins using Autotools.
15
16Building with Autotools
17^^^^^^^^^^^^^^^^^^^^^^^
18
19You can use Autotools to build the Geany plugins in this repository.
20
21Usage::
22
23  ./configure [arguments] or alternatively ./autogen.sh [arguments]
24  make
25  sudo make install
26
27autogen.sh will call configure in background and is only available if
28you are using Geany plugins from git repository. It is not included in
29release packages.
30
31However, this will configure, build and install most of the Geany plugins.
32There is some auto-detection in place which automagically disables
33some of the plugins if there are insufficient build dependencies.
34The following arguments can tweak the behaviour of the configure
35script.
36
37Options
38=======
39A full listing of all supported options can be found in ``./configure --help``.
40
41Enable/Disable Features
42=======================
43The following options can be passed to ``./configure`` in forms
44``--enable-<option>=auto`` (default), ``--enable-<option>``,
45``--disable-<option>``. In all cases, ``--enable-<option>=auto`` causes the
46feature to be enabled/disabled automatically based on whether the dependency
47exists on your system.
48``--enable-<option>`` causes the feature to be forcefully enabled, causing
49configure to fail with an error message if you have missing
50dependencies.
51``--disable-<option>`` causes the feature to be forcefully disabled.
52
53Available plugins are:
54
55* ``addons`` -- the Addons plugin
56* ``autoclose`` -- the Autoclose plugin
57* ``automark`` -- the Automark plugin
58* ``codenav`` -- the CodeNav plugin
59* ``commander`` -- the Commander plugin
60* ``debugger`` -- the Debugger plugin
61* ``defineformat`` -- the Defineformat plugin
62* ``devhelp`` -- the devhelp plugin
63* ``geanyctags`` -- the GeanyCtags plugin
64* ``geanydoc`` -- the GeanyDoc plugin
65* ``geanyextrasel`` -- the GeanyExtraSel plugin
66* ``geanygendoc`` -- the GeanyGenDoc plugin
67* ``geanyinsertnum`` -- the GeanyInsertNum plugin
68* ``geanylua`` -- the GeanyLua plugin
69* ``geanymacro`` -- the GeanyMacro plugin
70* ``geanyminiscript`` -- the GeanyMiniScript plugin
71* ``geanynumberedbookmarks`` -- the GeanyNumberedBookmarks plugin
72* ``geanypg`` -- the geanypg plugin
73* ``geanyprj`` -- the GeanyPrj plugin
74* ``geanypy`` -- the Geanypy plugin
75* ``geanyvc`` -- the GeanyVC plugin
76* ``geniuspaste`` -- the paste to a pastebin plugin
77* ``gitchangebar`` -- the GitChangeBar plugin
78* ``gtkspell`` -- GeanyVC's spell-check support
79* ``latex`` -- the LaTeX plugin
80* ``lineoperations`` -- simple line functions that can be applied to an open file
81* ``lipsum`` -- the Lipsum plugin
82* ``markdown`` -- the Markdown plugin
83* ``multiterm`` -- the multiterm plugin
84* ``overview``-- the overview plugin
85* ``pairtaghighlighter`` -- the PairTagHighlighter plugin
86* ``peg-markdown`` -- use the Peg-Markdown library in the Markdown plugin
87* ``pohelper`` -- the PoHelper plugin
88* ``pretty_printer`` -- the pretty-printer plugin
89* ``projectorganizer`` -- the ProjectOrganizer plugin
90* ``scope`` -- the Scope plugin
91* ``sendmail`` -- the GeanySendmail plugin
92* ``shiftcolumn`` -- the ShiftColumn plugin
93* ``spellcheck`` -- the spellcheck plugin
94* ``tableconvert`` -- the Tableconvert plugin
95* ``treebrowser`` -- the Treebrowser plugin
96* ``updatechecker`` -- the Updatechecker plugin
97* ``vimode`` -- the Vim-mode plugin
98* ``webhelper`` -- the WebHelper plugin
99* ``xmlsnippets`` -- the XMLSnippets plugin
100
101Example::
102
103  ./configure --enable-geanylua --enable-spellcheck
104
105This will force both geanylua and spellcheck plugins to be enabled even
106if some dependencies are missing.
107
108You can also use the special option ``all-plugins`` to change the default for all
109plugins.  For example, using ``--enable-all-plugins`` will forcefully enable all
110plugins as if you passed each plugin-specific ``--enable-<option>``.  This can be
111combined with specific plugin's ``--enable-<option>`` to only select a specific
112subset of the plugins without listing them all.  For example, you can use this
113to easily enable one single plugin, using e.g. ``--disable-all-plugins
114--enable-<option>``, or to forcefully enable all plugins but a few specific
115ones, using e.g. ``--enable-all-plugins --enable-<option>=auto``.
116
117
118Other tweaks
119============
120The following options can be passed to ``./configure`` in the form
121``--with-<option>=<argument>``.
122
123* ``lua-pkg`` -- the name of the Lua pkg-config package name.
124* ``geany-prefix`` -- Geany's prefix, used when compiling Geany.
125
126
127Compiling Individual Plugins
128============================
129
130The Geany Plugins project uses a recursive Automake build system,
131which means that after running ``./configure``, you may compile each
132individual plugin by cd-ing into the respective plugin directory
133and running make inside it.
134
135