The combined Geany Plugins collection
C HTML Vala Objective-C M4 Python Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
addons Fixup for ca2f9b8 Feb 25, 2018
autoclose Initialize loop variables to make cppcheck happy Jul 11, 2017
automark automark: extended README. Closes #492. Jun 11, 2017
build Windows Installer: Update removal list of unnecessary/uninstall files Aug 19, 2018
codenav Merge branch 'codenav/less-deprecated' of… Jun 9, 2016
commander Initialize loop variables to make cppcheck happy Jul 11, 2017
debugger Debugger: Move debug output accessing after check whether err != Null ( Dec 18, 2016
defineformat Merge pull request #406 from b4n/mingw-paths-fixes Mar 13, 2016
devhelp Bump required plugin API to 224 because of removed geany_functions Mar 6, 2016
geanyctags geanyctags: Use base path as relative to the project file path Jun 16, 2018
geanydoc Add missing cast under GTK3 Nov 18, 2017
geanyextrasel Initialize loop variables to make cppcheck happy Jul 11, 2017
geanygendoc Initialize loop variables to make cppcheck happy Jul 11, 2017
geanyinsertnum geanyinsertnum: added ellipsis Mar 12, 2018
geanylua GeanyLua: Update to match latest Geany's Scintilla API (again, like a #… Jan 29, 2018
geanymacro Pass a GdkKeymap to gdk_keymap_* functions Jun 24, 2017
geanyminiscript Merge pull request #360 from b4n/geanyminiscript/less-deprecated Jun 9, 2016
geanynumberedbookmarks Pass a GdkKeymap to gdk_keymap_* functions Jun 24, 2017
geanypg Add note to plugins which are currently not activly maintained as mar… Apr 8, 2017
geanyprj Translation: Fix a typo Feb 5, 2018
geanypy Fix typo on untested win32 build Feb 17, 2017
geanyvc GeanyVC: Remember the commit dialog size Jan 20, 2018
geniuspaste Geniuspaste: Enable HTTPS for (#635) Oct 18, 2017
git-changebar Merge pull request #531 from techee/sidebar_undo Aug 19, 2017
keyrecord Initialize loop variables to make cppcheck happy Jul 11, 2017
latex geanylatex: move old config file to new folder Oct 17, 2017
lineoperations Add Keep Unique Lines feature resolves #516 Apr 12, 2017
lipsum Lipsum: Add a space after lipsum dummy text. Fixes #513 Jan 4, 2017
markdown Markdown: add support for webkit2gtk May 21, 2018
multiterm multiterm: Fix wrong plugin name in README Jun 22, 2016
overview Initialize loop variables to make cppcheck happy Jul 11, 2017
pairtaghighlighter Added keybinding for jumping to matching tag Jan 3, 2017
po vimode: A Vim Mode for Geany Apr 20, 2018
pohelper pohelper: Update X-Generator header if present Feb 19, 2018
pretty-printer Translation: Fix a typo Feb 5, 2018
projectorganizer Fix cppcheck false-positive warning Nov 5, 2017
scope scope: new-maintainer: LarsGit223 Mar 11, 2018
sendmail Little cleanup of README Jun 12, 2016
shiftcolumn Add note to plugins which are currently not activly maintained as mar… Apr 8, 2017
spellcheck SpellCheck: Remember 'Check while typing' setting between sessions Jan 21, 2018
tableconvert Improve the README for tableconvert plugin (#508) Dec 3, 2016
treebrowser treebrowser: changed confusing function names Mar 12, 2018
updatechecker Updatechecker: Use HTTPS by default Jun 11, 2018
utils utils: added new function "gp_filelist_filepath_matches_patterns()". Feb 17, 2018
vimode Merge pull request #754 from techee/vim_k Aug 12, 2018
webhelper Revert "Merge pull request #677 from hyperair/webkit2gtk" Jun 3, 2018
workbench workbench: added option "Expand on hover" Mar 12, 2018
xmlsnippets XmlSnippets: enable test program on "make check" Nov 7, 2017
.gitignore Extending gitignore for some tmp. TeX files May 14, 2016
.travis.yml Neaten travis.yml Aug 14, 2017
HACKING Remove waf from HACKING Nov 18, 2015
MAINTAINERS Merge pull request #735 from techee/vim May 28, 2018 vimode: A Vim Mode for Geany Apr 20, 2018
NEWS Post release version bump to 1.34 Feb 25, 2018
README geanylatex: adjusted files content to new plugin name Oct 16, 2017
README.rst Create README.rst link (#461) Jul 12, 2016
README.template Fix various list-related reStructuredText typos Nov 16, 2012 Make sure to abort if any of the commands in fails Aug 6, 2012 vimode: A Vim Mode for Geany Apr 20, 2018





You can build the plugins using Autotools.

Building with Autotools

You can use Autotools to build the Geany plugins in this repository.


./configure [arguments] or alternatively ./ [arguments]
sudo make install will call configure in background and is only available if you are using Geany plugins from git repository. It is not included in release packages.

However, this will configure, build and install most of the Geany plugins. There is some auto-detection in place which automagically disables some of the plugins if there are insufficient build dependencies. The following arguments can tweak the behaviour of the configure script.


A full listing of all supported options can be found in ./configure --help.

Enable/Disable Features

The following options can be passed to ./configure in forms --enable-<option>=auto (default), --enable-<option>, --disable-<option>. In all cases, --enable-<option>=auto causes the feature to be enabled/disabled automatically based on whether the dependency exists on your system. --enable-<option> causes the feature to be forcefully enabled, causing configure to fail with an error message if you have missing dependencies. --disable-<option> causes the feature to be forcefully disabled.

Available plugins are:

  • addons -- the Addons plugin
  • autoclose -- the Autoclose plugin
  • automark -- the Automark plugin
  • codenav -- the CodeNav plugin
  • commander -- the Commander plugin
  • debugger -- the Debugger plugin
  • defineformat -- the Defineformat plugin
  • devhelp -- the devhelp plugin
  • geanyctags -- the GeanyCtags plugin
  • geanydoc -- the GeanyDoc plugin
  • geanyextrasel -- the GeanyExtraSel plugin
  • geanygendoc -- the GeanyGenDoc plugin
  • geanyinsertnum -- the GeanyInsertNum plugin
  • latex -- the LaTeX plugin
  • geanylua -- the GeanyLua plugin
  • geanymacro -- the GeanyMacro plugin
  • geanyminiscript -- the GeanyMiniScript plugin
  • geanynumberedbookmarks -- the GeanyNumberedBookmarks plugin
  • geanypg -- the geanypg plugin
  • geanyprj -- the GeanyPrj plugin
  • geanypy -- the Geanypy plugin
  • geanyvc -- the GeanyVC plugin
  • geniuspaste -- the paste to a pastebin plugin
  • gitchangebar -- the GitChangeBar plugin
  • gtkspell -- GeanyVC's spell-check support
  • lineoperations -- simple line functions that can be applied to an open file
  • lipsum -- the Lipsum plugin
  • markdown -- the Markdown plugin
  • multiterm -- the multiterm plugin
  • overview-- the overview plugin
  • pairtaghighlighter -- the PairTagHighlighter plugin
  • peg-markdown -- use the Peg-Markdown library in the Markdown plugin
  • pohelper -- the PoHelper plugin
  • pretty_printer -- the pretty-printer plugin
  • projectorganizer -- the ProjectOrganizer plugin
  • scope -- the Scope plugin
  • sendmail -- the GeanySendmail plugin
  • shiftcolumn -- the ShiftColumn plugin
  • spellcheck -- the spellcheck plugin
  • treebrowser -- the Treebrowser plugin
  • tableconvert -- the Tableconvert plugin
  • updatechecker -- the Updatechecker plugin
  • webhelper -- the WebHelper plugin
  • xmlsnippets -- the XMLSnippets plugin
  • extra-c-warnings -- extra C Compiler warnings (see also HACKING)
  • cppcheck -- static code analysis using cppcheck (see also HACKING)


./configure --enable-geanylua --enable-spellcheck

This will force both geanylua and spellcheck plugins to be enabled even if some dependencies are missing.

You can also use the special option all-plugins to change the default for all plugins. For example, using --enable-all-plugins will forcefully enable all plugins as if you passed each plugin-specific --enable-<option>. This can be combined with specific plugin's --enable-<option> to only select a specific subset of the plugins without listing them all. For example, you can use this to easily enable one single plugin, using e.g. --disable-all-plugins --enable-<option>, or to forcefully enable all plugins but a few specific ones, using e.g. --enable-all-plugins --enable-<option>=auto.

Other tweaks

The following options can be passed to ./configure in the form --with-<option>=<argument>.

  • lua-pkg -- the name of the Lua pkg-config package name.
  • geany-prefix -- Geany's prefix, used when compiling Geany.

Compiling Individual Plugins

The Geany Plugins project uses a recursive Automake build system, which means that after running ./configure, you may compile each individual plugin by cd-ing into the respective plugin directory and running make inside it.