Table of Contents
Lua Scripts
Cleanup MRU List
Detects files in the MRU listings which do not exist anymore by scanning the Geany configuration. Note you may not run it when Geany is running.
Author: Guenther Brunthaler
Geany Mktags
Solves the problem that “geany -g” can only create tag files for one language at a time, but there may be multiple source code languages present in a project. This script runs “geany -g” with the correct parameters to generate tag files for all supported languages for the source files encountered in the current directory tree.
Author: Guenther Brunthaler
Compare files
Compares the current file to any open file using an external tool (Meld, Kompare, KDiff, etc, falling back to plain diff). If the current file is unsaved, then a snapshot is saved to a temporary file, so it is possible to compare unsaved changes to other files (or even compare to the saved version of the file).
The intent of this script is to provide a replacement for the Notepad++ Compare plugin.
Author: Carl Antuar
v0.2:
- Changed to use io.popen to retrieve command output, instead of piping to temporary file.
v0.3:
- Show full path of current file, to assist in comparing files with the same name.
Hex edit
Allows hex editing of binary files. This creates a 'shadow' file containing the hexadecimal representation of the file, and synchronises with the original when the shadow is saved.
The intent of this script is to provide a replacement for the Notepad++ Hex Editor plugin.
Author: Carl Antuar
Snap open
Quickly open files in the current project by typing all or part of the filename.
Author: Carl Antuar
Review SVN changes
Review the changes made in SVN revisions. This is intended as a companion to the GeanyVC plugin.
Author: Carl Antuar
v0.3:
- Include commit comments when choosing revision;
- Add 'quick scan' option for choosing only the most recent commits;
- Add support for graphical diff viewers.
v0.4:
- Replace 'quick scan' and 'full scan' with progressive disclosure of scan results;
- Add 'all changes since revision' option.
v0.5:
- Consolidate choices into custom preferences dialog.
v0.6:
- Rearranged to show revision list before choosing the revision range type;
- Fixed 'Show more' handling for multiline commit messages.
v0.7:
- Allow selection of ending revision;
- Fix revision list width.
Multi-clipboard support
Use multiple clipboards for copying and pasting text.
Suggested usage is to add both scripts to hotkeys.cfg, then attach the 'copy' script to Ctrl+c (because the script also copies to the regular clipboard) and the 'paste' script to Ctrl+Shift+V.
Author: Carl Antuar
v0.2:
- Fixed filename matching to handle dots in filename properly.
v0.2:
- Sorted clipboards by modification date (newest first);
- Fixed retrieval of line breaks from clipboard files;
- Add pasted text to regular clipboard to make multiple pastes easier.
Surround selected text
Surround the selected text with brackets, braces, XML tags, etc.
Author: Carl Antuar
v0.2:
- Add double quotes to list of surrounds.
Delete duplicate lines
Vim keybindings
Alternative word navigation
Geany treats all punctuation as whitespace, with the result that punctuation surrounded by whitespace is totally skipped. Often, this is too greedy. These scripts provide Vim-style word navigation instead. The idea is to bind them to the appropriate keys (Ctrl+right etc), by adding the filenames to hotkeys.cfg and then setting them via the usual Geany preferences dialog.
Author: Carl Antuar
ctrl-right.lua ctrl-shift-right.lua ctrl-left.lua ctrl-shift-left.lua
Find project file extensions
Quickly identify all file extensions used in the current project. Useful for setting the list of recognised file types in a new project.
Format document on save
This file is more a framework to write your own cli calls to format the current file upon save. There are a few hacks to get around the issue of a possible infinite loop (since the workflow is save → format document → save), but everything is heavily commented for your ease of use. Please note you will need to save this file under the reserved …/geanylua/events/saved.lua filename.