2017-07-16 15:29:55 +02:00
|
|
|
.. |(version)| replace:: 1.32
|
2013-05-11 11:42:16 +10:00
|
|
|
.. -*- reStructuredText -*-
|
2005-11-22 12:26:26 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
=======
|
2007-08-12 19:30:45 +00:00
|
|
|
Geany
|
2007-08-09 10:05:00 +00:00
|
|
|
=======
|
2005-11-22 12:26:26 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
-------------------------
|
|
|
|
A fast, light, GTK+ IDE
|
|
|
|
-------------------------
|
2005-11-22 12:26:26 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
:Authors: Enrico Tröger,
|
|
|
|
Nick Treleaven,
|
2011-10-02 13:13:10 +00:00
|
|
|
Frank Lanitz,
|
2012-06-18 01:13:05 +02:00
|
|
|
Colomban Wendling,
|
|
|
|
Matthew Brush
|
2017-07-16 12:58:13 +02:00
|
|
|
:Date: 2017-07-16
|
2007-08-09 10:05:00 +00:00
|
|
|
:Version: |(version)|
|
2006-06-04 13:10:16 +00:00
|
|
|
|
2017-03-05 13:27:15 +01:00
|
|
|
Copyright © 2005-2017
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
This document is distributed under the terms of the GNU General Public
|
|
|
|
License as published by the Free Software Foundation; either version 2
|
|
|
|
of the License, or (at your option) any later version. A copy of this
|
|
|
|
license can be found in the file COPYING included with the source code
|
|
|
|
of this program, and also in the chapter `GNU General Public License`_.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
.. contents::
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Introduction
|
|
|
|
============
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
About Geany
|
|
|
|
-----------
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Geany is a small and lightweight Integrated Development Environment. It
|
|
|
|
was developed to provide a small and fast IDE, which has only a few
|
2009-09-27 16:54:03 +00:00
|
|
|
dependencies on other packages. Another goal was to be as independent
|
|
|
|
as possible from a particular Desktop Environment like KDE or GNOME -
|
2015-07-10 22:58:48 +02:00
|
|
|
Geany only requires the GTK+ runtime libraries.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-09-17 17:01:38 +00:00
|
|
|
Some basic features of Geany:
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
* Syntax highlighting
|
2008-09-17 16:14:51 +00:00
|
|
|
* Code folding
|
2009-08-17 15:07:59 +00:00
|
|
|
* Autocompletion of symbols/words
|
2008-09-17 16:14:51 +00:00
|
|
|
* Construct completion/snippets
|
|
|
|
* Auto-closing of XML and HTML tags
|
2009-08-17 15:07:59 +00:00
|
|
|
* Calltips
|
2007-08-09 10:05:00 +00:00
|
|
|
* Many supported filetypes including C, Java, PHP, HTML, Python, Perl,
|
|
|
|
Pascal, and others
|
2008-09-17 16:14:51 +00:00
|
|
|
* Symbol lists
|
2008-09-08 14:26:20 +00:00
|
|
|
* Code navigation
|
|
|
|
* Build system to compile and execute your code
|
|
|
|
* Simple project management
|
2008-09-17 16:14:51 +00:00
|
|
|
* Plugin interface
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Where to get it
|
|
|
|
---------------
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-09-01 11:15:16 +00:00
|
|
|
You can obtain Geany from http://www.geany.org/ or perhaps also from
|
2009-09-27 16:54:03 +00:00
|
|
|
your distribution. For a list of available packages, please see
|
2008-09-08 14:26:20 +00:00
|
|
|
http://www.geany.org/Download/ThirdPartyPackages.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
License
|
|
|
|
-------
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Geany is distributed under the terms of the GNU General Public License
|
|
|
|
as published by the Free Software Foundation; either version 2 of
|
|
|
|
the License, or (at your option) any later version. A copy of this
|
|
|
|
license can be found in the file COPYING included with the source
|
2008-09-08 14:26:20 +00:00
|
|
|
code of this program and in the chapter, `GNU General Public License`_.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
The included Scintilla library (found in the subdirectory
|
|
|
|
``scintilla/``) has its own license, which can be found in the chapter,
|
|
|
|
`License for Scintilla and SciTE`_.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
2007-08-09 12:46:21 +00:00
|
|
|
About this document
|
|
|
|
-------------------
|
|
|
|
|
2008-09-01 11:15:16 +00:00
|
|
|
This documentation is available in HTML and text formats.
|
|
|
|
The latest version can always be found at http://www.geany.org/.
|
2007-08-09 12:46:21 +00:00
|
|
|
|
|
|
|
If you want to contribute to it, see `Contributing to this document`_.
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Installation
|
|
|
|
============
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Requirements
|
|
|
|
------------
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2014-04-27 04:25:38 -07:00
|
|
|
You will need the GTK (>= 2.24) libraries and their dependencies
|
2008-08-29 12:33:44 +00:00
|
|
|
(Pango, GLib and ATK). Your distro should provide packages for these,
|
|
|
|
usually installed by default. For Windows, you can download an installer
|
2009-09-27 16:54:03 +00:00
|
|
|
from the website which bundles these libraries.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2006-06-04 13:10:16 +00:00
|
|
|
|
2008-08-29 12:33:44 +00:00
|
|
|
Binary packages
|
|
|
|
---------------
|
|
|
|
|
|
|
|
There are many binary packages available. For an up-to-date but maybe
|
2008-09-08 14:26:20 +00:00
|
|
|
incomplete list see http://www.geany.org/Download/ThirdPartyPackages.
|
2005-11-22 12:26:26 +00:00
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Source compilation
|
|
|
|
------------------
|
2005-11-22 12:26:26 +00:00
|
|
|
|
2009-04-05 15:12:56 +00:00
|
|
|
Compiling Geany is quite easy.
|
2014-04-27 04:25:38 -07:00
|
|
|
To do so, you need the GTK (>= 2.24) libraries and header files.
|
2009-04-05 15:12:56 +00:00
|
|
|
You also need the Pango, GLib and ATK libraries and header files.
|
|
|
|
All these files are available at http://www.gtk.org, but very often
|
|
|
|
your distro will provide development packages to save the trouble of
|
|
|
|
building these yourself.
|
2008-08-29 12:33:44 +00:00
|
|
|
|
2009-04-05 15:12:56 +00:00
|
|
|
Furthermore you need, of course, a C and C++ compiler. The GNU versions
|
|
|
|
of these tools are recommended.
|
2008-08-29 12:33:44 +00:00
|
|
|
|
2009-04-05 15:12:56 +00:00
|
|
|
Autotools based build system
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
2015-11-22 23:53:12 +01:00
|
|
|
To compile Geany yourself, you just need the Make tool, preferably GNU Make.
|
2009-04-05 15:12:56 +00:00
|
|
|
|
|
|
|
Then run the following commands::
|
2005-11-22 12:26:26 +00:00
|
|
|
|
2008-08-29 12:33:44 +00:00
|
|
|
$ ./configure
|
|
|
|
$ make
|
|
|
|
|
|
|
|
Then as root::
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
% make install
|
2005-11-22 12:26:26 +00:00
|
|
|
|
2013-03-20 21:20:09 +01:00
|
|
|
Or via sudo::
|
|
|
|
|
|
|
|
% sudo make install
|
|
|
|
|
2008-08-29 12:33:44 +00:00
|
|
|
Custom installation
|
|
|
|
^^^^^^^^^^^^^^^^^^^
|
2007-08-09 10:05:00 +00:00
|
|
|
The configure script supports several common options, for a detailed
|
|
|
|
list, type::
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-08-29 12:33:44 +00:00
|
|
|
$ ./configure --help
|
|
|
|
|
2009-04-05 15:12:56 +00:00
|
|
|
|
2008-08-29 12:33:44 +00:00
|
|
|
You may also want to read the INSTALL file for advanced installation
|
|
|
|
options.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-08-29 17:00:02 +00:00
|
|
|
* See also `Compile-time options`_.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
Dynamic linking loader support and VTE
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2007-08-09 10:05:00 +00:00
|
|
|
In the case that your system lacks dynamic linking loader support, you
|
|
|
|
probably want to pass the option ``--disable-vte`` to the ``configure``
|
|
|
|
script. This prevents compiling Geany with dynamic linking loader
|
2009-09-27 16:54:03 +00:00
|
|
|
support for automatically loading ``libvte.so.4`` if available.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-08-29 12:33:44 +00:00
|
|
|
Build problems
|
|
|
|
^^^^^^^^^^^^^^
|
2007-08-09 10:05:00 +00:00
|
|
|
If there are any errors during compilation, check your build
|
2008-08-29 12:33:44 +00:00
|
|
|
environment and try to find the error, otherwise contact the mailing
|
2008-09-08 14:26:20 +00:00
|
|
|
list or one the authors. Sometimes you might need to ask for specific
|
2009-09-27 16:54:03 +00:00
|
|
|
help from your distribution.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2009-04-30 12:56:02 +00:00
|
|
|
Installation prefix
|
|
|
|
-------------------
|
2010-12-07 17:42:31 +00:00
|
|
|
If you want to find Geany's system files after installation you may
|
|
|
|
want to know the installation prefix.
|
2009-04-30 12:56:02 +00:00
|
|
|
|
2010-12-07 17:42:31 +00:00
|
|
|
Pass the ``--print-prefix`` option to Geany to check this - see
|
|
|
|
`Command line options`_. The first path is the prefix.
|
2009-04-30 12:56:02 +00:00
|
|
|
|
2010-12-07 17:42:31 +00:00
|
|
|
On Unix-like systems this is commonly ``/usr`` if you installed from
|
|
|
|
a binary package, or ``/usr/local`` if you build from source.
|
2009-04-30 12:56:02 +00:00
|
|
|
|
2010-12-07 17:42:31 +00:00
|
|
|
.. note::
|
2011-11-16 17:26:19 +00:00
|
|
|
Editing system files is not necessary as you should use the
|
2010-12-07 17:42:31 +00:00
|
|
|
per-user configuration files instead, which don't need root
|
|
|
|
permissions. See `Configuration files`_.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Usage
|
|
|
|
=====
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Getting started
|
|
|
|
---------------
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
You can start Geany in the following ways:
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
* From the Desktop Environment menu:
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Choose in your application menu of your used Desktop Environment:
|
|
|
|
Development --> Geany.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2013-04-17 23:24:38 +02:00
|
|
|
At Windows-systems you will find Geany after installation inside
|
|
|
|
the application menu within its special folder.
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
* From the command line:
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
To start Geany from a command line, type the following and press
|
|
|
|
Return::
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
% geany
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
The Geany workspace
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
The Geany window is shown in the following figure:
|
|
|
|
|
|
|
|
.. image:: ./images/main_window.png
|
|
|
|
|
|
|
|
The workspace has the following parts:
|
|
|
|
|
|
|
|
* The menu.
|
|
|
|
* An optional toolbar.
|
|
|
|
* An optional sidebar that can show the following tabs:
|
|
|
|
|
|
|
|
* Documents - A document list, and
|
|
|
|
* Symbols - A list of symbols in your code.
|
|
|
|
|
|
|
|
* The main editor window.
|
|
|
|
* An optional message window which can show the following tabs:
|
2005-12-21 19:42:55 +00:00
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
* Status - A list of status messages.
|
|
|
|
* Compiler - The output of compiling or building programs.
|
2012-07-26 15:33:10 +01:00
|
|
|
* Messages - Results of 'Find Usage', 'Find in Files' and other actions
|
2009-09-27 16:54:03 +00:00
|
|
|
* Scribble - A text scratchpad for any use.
|
|
|
|
* Terminal - An optional terminal window.
|
|
|
|
|
|
|
|
* A status bar
|
|
|
|
|
2010-12-22 16:49:20 +00:00
|
|
|
Most of these can be configured in the `Interface preferences`_, the
|
|
|
|
`View menu`_, or the popup menu for the relevant area.
|
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
Additional tabs may be added to the sidebar and message window by plugins.
|
|
|
|
|
|
|
|
The position of the tabs can be selected in the interface preferences.
|
|
|
|
|
|
|
|
The sizes of the sidebar and message window can be adjusted by
|
|
|
|
dragging the dividers.
|
2005-11-22 12:26:26 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Command line options
|
|
|
|
--------------------
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
============ ======================= =================================================
|
|
|
|
Short option Long option Function
|
|
|
|
============ ======================= =================================================
|
2008-02-16 11:21:24 +00:00
|
|
|
*none* +number Set initial line number for the first opened file
|
|
|
|
(same as --line, do not put a space between the + sign
|
|
|
|
and the number). E.g. "geany +7 foo.bar" will open the
|
|
|
|
file foo.bar and place the cursor in line 7.
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
*none* --column Set initial column number for the first opened file.
|
2005-11-22 12:26:26 +00:00
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
-c dir_name --config=directory_name Use an alternate configuration directory. The default
|
|
|
|
configuration directory is ``~/.config/geany/`` and that
|
|
|
|
is where ``geany.conf`` and other configuration files
|
|
|
|
reside.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
*none* --ft-names Print a list of Geany's internal filetype names (useful
|
2007-11-12 09:27:43 +00:00
|
|
|
for snippets configuration).
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-09-28 15:43:01 +00:00
|
|
|
-g --generate-tags Generate a global tags file (see
|
|
|
|
`Generating a global tags file`_).
|
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
-P --no-preprocessing Don't preprocess C/C++ files when generating tags file.
|
2007-09-28 15:43:01 +00:00
|
|
|
|
2007-08-12 19:30:45 +00:00
|
|
|
-i --new-instance Do not open files in a running instance, force opening
|
|
|
|
a new instance. Only available if Geany was compiled
|
|
|
|
with support for Sockets.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
-l --line Set initial line number for the first opened file.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2010-04-12 17:48:17 +00:00
|
|
|
*none* --list-documents Return a list of open documents in a running Geany
|
|
|
|
instance.
|
2010-04-11 21:56:50 +00:00
|
|
|
This can be used to read the currently opened documents in
|
|
|
|
Geany from an external script or tool. The returned list
|
|
|
|
is separated by newlines (LF) and consists of the full,
|
|
|
|
UTF-8 encoded filenames of the documents.
|
|
|
|
Only available if Geany was compiled with support for
|
|
|
|
Sockets.
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
-m --no-msgwin Do not show the message window. Use this option if you
|
|
|
|
do not need compiler messages or VTE support.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-11-12 09:27:43 +00:00
|
|
|
-n --no-ctags Do not load symbol completion and call tip data. Use this
|
2007-08-09 10:05:00 +00:00
|
|
|
option if you do not want to use them.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
-p --no-plugins Do not load plugins or plugin support.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-12-18 17:03:39 +00:00
|
|
|
*none* --print-prefix Print installation prefix, the data directory, the lib
|
2010-12-07 17:42:31 +00:00
|
|
|
directory and the locale directory (in that order) to
|
2009-09-27 16:54:03 +00:00
|
|
|
stdout, one line each. This is mainly intended for plugin
|
2007-12-18 17:03:39 +00:00
|
|
|
authors to detect installation paths.
|
|
|
|
|
2011-11-03 22:27:49 +01:00
|
|
|
-r --read-only Open all files given on the command line in read-only mode.
|
|
|
|
This only applies to files opened explicitly from the command
|
|
|
|
line, so files from previous sessions or project files are
|
|
|
|
unaffected.
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
-s --no-session Do not load the previous session's files.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
-t --no-terminal Do not load terminal support. Use this option if you do
|
2007-08-12 19:30:45 +00:00
|
|
|
not want to load the virtual terminal emulator widget
|
2007-09-28 15:43:01 +00:00
|
|
|
at startup. If you do not have ``libvte.so.4`` installed,
|
2007-08-12 19:30:45 +00:00
|
|
|
then terminal-support is automatically disabled. Only
|
|
|
|
available if Geany was compiled with support for VTE.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-11-29 20:59:31 +00:00
|
|
|
*none* --socket-file Use this socket filename for communication with a
|
2010-10-07 14:10:32 +00:00
|
|
|
running Geany instance. This can be used with the following
|
|
|
|
command to execute Geany on the current workspace::
|
2009-11-29 20:59:31 +00:00
|
|
|
|
2010-10-07 14:10:32 +00:00
|
|
|
geany --socket-file=/tmp/geany-sock-$(xprop -root _NET_CURRENT_DESKTOP | awk '{print $3}')
|
2009-11-23 21:03:24 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
*none* --vte-lib Specify explicitly the path including filename or only
|
2007-08-12 19:30:45 +00:00
|
|
|
the filename to the VTE library, e.g.
|
|
|
|
``/usr/lib/libvte.so`` or ``libvte.so``. This option is
|
2009-07-14 11:25:07 +00:00
|
|
|
only needed when the auto-detection does not work. Only
|
2007-08-12 19:30:45 +00:00
|
|
|
available if Geany was compiled with support for VTE.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-01-15 18:20:19 +00:00
|
|
|
-v --verbose Be verbose (print useful status messages).
|
|
|
|
|
|
|
|
-V --version Show version information and exit.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
-? --help Show help information and exit.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-12 19:30:45 +00:00
|
|
|
*none* [files ...] Open all given files at startup. This option causes
|
|
|
|
Geany to ignore loading stored files from the last
|
|
|
|
session (if enabled).
|
2008-11-18 17:46:24 +00:00
|
|
|
Geany also recognizes line and column information when
|
2008-02-16 11:21:24 +00:00
|
|
|
appended to the filename with colons, e.g.
|
|
|
|
"geany foo.bar:10:5" will open the file foo.bar and
|
|
|
|
place the cursor in line 10 at column 5.
|
2008-05-18 16:27:08 +00:00
|
|
|
|
|
|
|
Projects can also be opened but a project file (\*.geany)
|
|
|
|
must be the first non-option argument. All additionally
|
|
|
|
given files are ignored.
|
2007-08-09 10:05:00 +00:00
|
|
|
============ ======================= =================================================
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-10-16 16:43:36 +00:00
|
|
|
You can also pass line number and column number information, e.g.::
|
|
|
|
|
|
|
|
geany some_file.foo:55:4
|
|
|
|
|
2007-08-12 19:30:45 +00:00
|
|
|
Geany supports all generic GTK options, a list is available on the
|
|
|
|
help screen.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
General
|
2007-08-09 10:05:00 +00:00
|
|
|
-------
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Startup
|
|
|
|
^^^^^^^
|
|
|
|
|
|
|
|
At startup, Geany loads all files from the last time Geany was
|
|
|
|
launched. You can disable this feature in the preferences dialog
|
2012-02-20 21:20:48 +02:00
|
|
|
(see `General Startup preferences`_).
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
You can start several instances of Geany, but only the first will
|
2012-02-20 21:20:48 +02:00
|
|
|
load files from the last session. In the subsequent instances, you
|
|
|
|
can find these files in the file menu under the "Recent files" item.
|
|
|
|
By default this contains the last 10 recently opened files. You can
|
|
|
|
change the number of recently opened files in the preferences dialog.
|
|
|
|
|
|
|
|
To run a second instance of Geany, do not specify any filenames on
|
|
|
|
the command-line, or disable opening files in a running instance
|
|
|
|
using the appropriate command line option.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Opening files from the command-line in a running instance
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2014-12-11 22:58:57 +01:00
|
|
|
Geany detects if there is an instance of itself already running and opens files
|
2009-09-27 16:54:03 +00:00
|
|
|
from the command-line in that instance. So, Geany can
|
2007-08-09 10:05:00 +00:00
|
|
|
be used to view and edit files by opening them from other programs
|
2008-10-16 16:43:36 +00:00
|
|
|
such as a file manager.
|
|
|
|
|
|
|
|
You can also pass line number and column number information, e.g.::
|
|
|
|
|
|
|
|
geany some_file.foo:55:4
|
|
|
|
|
|
|
|
This would open the file ``some_file.foo`` with the cursor on line 55,
|
|
|
|
column 4.
|
|
|
|
|
|
|
|
If you do not like this for some reason, you can disable using the first
|
|
|
|
instance by using the appropriate command line option -- see the section
|
|
|
|
called `Command line options`_.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Virtual terminal emulator widget (VTE)
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
If you have installed ``libvte.so`` on your system, it is loaded
|
2007-08-09 10:05:00 +00:00
|
|
|
automatically by Geany, and you will have a terminal widget in the
|
|
|
|
notebook at the bottom.
|
|
|
|
|
2007-10-19 14:48:19 +00:00
|
|
|
If Geany cannot find any ``libvte.so`` at startup, the terminal widget
|
|
|
|
will not be loaded. So there is no need to install the package containing
|
2007-08-09 10:05:00 +00:00
|
|
|
this file in order to run Geany. Additionally, you can disable the use
|
|
|
|
of the terminal widget by command line option, for more information
|
|
|
|
see the section called `Command line options`_.
|
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
You can use this terminal (from now on called VTE) much as you would
|
|
|
|
a terminal program like xterm. There is basic clipboard support. You
|
2007-08-09 10:05:00 +00:00
|
|
|
can paste the contents of the clipboard by pressing the right mouse
|
2009-09-27 16:54:03 +00:00
|
|
|
button to open the popup menu, and choosing Paste. To copy text from
|
2007-08-09 10:05:00 +00:00
|
|
|
the VTE, just select the desired text and then press the right mouse
|
|
|
|
button and choose Copy from the popup menu. On systems running the
|
|
|
|
X Window System you can paste the last selected text by pressing the
|
|
|
|
middle mouse button in the VTE (on 2-button mice, the middle button
|
|
|
|
can often be simulated by pressing both mouse buttons together).
|
|
|
|
|
|
|
|
In the preferences dialog you can specify a shell which should be
|
|
|
|
started in the VTE. To make the specified shell a login shell just
|
|
|
|
use the appropriate command line options for the shell. These options
|
|
|
|
should be found in the manual page of the shell. For zsh and bash
|
|
|
|
you can use the argument ``--login``.
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
Geany tries to load ``libvte.so``. If this fails, it tries to load
|
2007-10-19 14:48:19 +00:00
|
|
|
some other filenames. If this fails too, you should check whether you
|
2009-09-27 16:54:03 +00:00
|
|
|
installed libvte correctly. Again note, Geany will run without this
|
2007-08-09 10:05:00 +00:00
|
|
|
library.
|
|
|
|
|
|
|
|
It could be, that the library is called something else than
|
2009-09-27 16:54:03 +00:00
|
|
|
``libvte.so`` (e.g. on FreeBSD 6.0 it is called ``libvte.so.8``). If so
|
2007-08-09 10:05:00 +00:00
|
|
|
please set a link to the correct file (as root)::
|
|
|
|
|
2007-10-19 14:48:19 +00:00
|
|
|
# ln -s /usr/lib/libvte.so.X /usr/lib/libvte.so
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Obviously, you have to adjust the paths and set X to the number of your
|
|
|
|
``libvte.so``.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-10-19 14:48:19 +00:00
|
|
|
You can also specify the filename of the VTE library to use on the command
|
|
|
|
line (see the section called `Command line options`_) or at compile time
|
|
|
|
by specifying the command line option ``--with-vte-module-path`` to
|
|
|
|
./configure.
|
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Defining own widget styles using .gtkrc-2.0
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
You can define your widget style for many of Geany's GUI parts. To
|
|
|
|
do this, just edit your ``.gtkrc-2.0`` (usually found in your home
|
|
|
|
directory on UNIX-like systems and in the etc subdirectory of your
|
|
|
|
Geany installation on Windows).
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
To have a defined style used by Geany you must assign it to
|
|
|
|
at least one of Geany's widgets. For example use the following line::
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-03-31 17:39:17 +00:00
|
|
|
widget "Geany*" style "geanyStyle"
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
This would assign your style "geany_style" to all Geany
|
2007-08-09 10:05:00 +00:00
|
|
|
widgets. You can also assign styles only to specific widgets. At the
|
|
|
|
moment you can use the following widgets:
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
* GeanyMainWindow
|
|
|
|
* GeanyEditMenu
|
|
|
|
* GeanyToolbarMenu
|
|
|
|
* GeanyDialog
|
|
|
|
* GeanyDialogPrefs
|
|
|
|
* GeanyDialogProject
|
|
|
|
* GeanyDialogSearch
|
2009-03-31 17:39:17 +00:00
|
|
|
* GeanyMenubar
|
|
|
|
* GeanyToolbar
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
An example of a simple ``.gtkrc-2.0``::
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
style "geanyStyle"
|
|
|
|
{
|
|
|
|
font_name="Sans 12"
|
|
|
|
}
|
|
|
|
widget "GeanyMainWindow" style "geanyStyle"
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
style "geanyStyle"
|
|
|
|
{
|
|
|
|
font_name="Sans 10"
|
|
|
|
}
|
|
|
|
widget "GeanyPrefsDialog" style "geanyStyle"
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2008-04-18 17:04:16 +00:00
|
|
|
Documents
|
|
|
|
---------
|
|
|
|
|
|
|
|
Switching between documents
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
The documents list and the editor tabs are two different ways
|
|
|
|
to switch between documents using the mouse. When you hit the key
|
|
|
|
combination to move between tabs, the order is determined by the tab
|
2011-04-01 12:41:26 +00:00
|
|
|
order. It is not alphabetical as shown in the documents list
|
2009-09-27 16:54:03 +00:00
|
|
|
(regardless of whether or not editor tabs are visible).
|
|
|
|
|
2009-09-22 17:42:31 +00:00
|
|
|
See the `Notebook tab keybindings`_ section for useful
|
2009-05-18 15:01:21 +00:00
|
|
|
shortcuts including for Most-Recently-Used document switching.
|
|
|
|
|
2012-11-16 14:27:23 +00:00
|
|
|
Cloning documents
|
|
|
|
^^^^^^^^^^^^^^^^^
|
|
|
|
The `Document->Clone` menu item copies the current document's text,
|
2012-11-17 16:22:23 +00:00
|
|
|
cursor position and properties into a new untitled document. If
|
|
|
|
there is a selection, only the selected text is copied. This can be
|
|
|
|
useful when making temporary copies of text or for creating
|
2012-11-16 14:27:23 +00:00
|
|
|
documents with similar or identical contents.
|
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Character sets and Unicode Byte-Order-Mark (BOM)
|
|
|
|
------------------------------------------------
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Using character sets
|
|
|
|
^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
Geany provides support for detecting and converting character sets. So
|
2009-09-27 16:54:03 +00:00
|
|
|
you can open and save files in different character sets, and even
|
|
|
|
convert a file from one character set to another. To do this,
|
|
|
|
Geany uses the character conversion capabilities of the GLib library.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
Only text files are supported, i.e. opening files which contain
|
2008-11-18 17:46:24 +00:00
|
|
|
NULL-bytes may fail. Geany will try to open the file anyway but it is
|
2009-09-27 16:54:03 +00:00
|
|
|
likely that the file will be truncated because it can only be read up
|
2008-11-18 17:46:24 +00:00
|
|
|
to the first occurrence of a NULL-byte. All characters after this
|
2007-12-07 14:13:05 +00:00
|
|
|
position are lost and are not written when you save the file.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
Geany tries to detect the encoding of a file while opening it, but
|
|
|
|
auto-detecting the encoding of a file is not easy and sometimes an
|
|
|
|
encoding might not be detected correctly. In this case you have to
|
|
|
|
set the encoding of the file manually in order to display it
|
|
|
|
correctly. You can this in the file open dialog by selecting an
|
|
|
|
encoding in the drop down box or by reloading the file with the
|
2008-09-15 13:03:05 +00:00
|
|
|
file menu item "Reload as". The auto-detection works well for most
|
2009-09-27 16:54:03 +00:00
|
|
|
encodings but there are also some encodings where it is known that
|
|
|
|
auto-detection has problems.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
There are different ways to set different encodings in Geany:
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
* Using the file open dialog
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
This opens the file with the encoding specified in the encoding drop
|
2008-09-15 13:03:05 +00:00
|
|
|
down box. If the encoding is set to "Detect from file" auto-detection
|
2007-08-09 10:05:00 +00:00
|
|
|
will be used. If the encoding is set to "Without encoding (None)" the
|
|
|
|
file will be opened without any character conversion and Geany will
|
2008-09-15 13:03:05 +00:00
|
|
|
not try to auto-detect the encoding (see below for more information).
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
* Using the "Reload as" menu item
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
This item reloads the current file with the specified encoding. It can
|
2009-09-27 16:54:03 +00:00
|
|
|
help if you opened a file and found out that the wrong encoding was used.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
* Using the "Set encoding" menu item
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
Contrary to the above two options, this will not change or reload
|
2007-08-09 10:05:00 +00:00
|
|
|
the current file unless you save it. It is useful when you want to
|
|
|
|
change the encoding of the file.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-12-07 14:13:05 +00:00
|
|
|
* Specifying the encoding in the file itself
|
2008-09-15 13:03:05 +00:00
|
|
|
|
|
|
|
As mentioned above, auto-detecting the encoding of a file may fail on
|
2007-12-07 14:13:05 +00:00
|
|
|
some encodings. If you know that Geany doesn't open a certain file,
|
2009-09-27 16:54:03 +00:00
|
|
|
you can add the specification line, described in the next section,
|
|
|
|
to the beginning of the file to force Geany to use a specific
|
|
|
|
encoding when opening the file.
|
2007-12-07 14:13:05 +00:00
|
|
|
|
|
|
|
|
|
|
|
In-file encoding specification
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
Geany detects meta tags of HTML files which contain charset information
|
|
|
|
like::
|
|
|
|
|
|
|
|
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15" />
|
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
and the specified charset is used when opening the file. This is useful if the
|
2007-12-07 14:13:05 +00:00
|
|
|
encoding of the file cannot be detected properly.
|
|
|
|
For non-HTML files you can also define a line like::
|
|
|
|
|
|
|
|
/* geany_encoding=ISO-8859-15 */
|
|
|
|
|
|
|
|
or::
|
|
|
|
|
|
|
|
# geany_encoding=ISO-8859-15 #
|
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
to force an encoding to be used. The #, /\* and \*/ are examples
|
|
|
|
of filetype-specific comment characters. It doesn't matter which
|
2007-12-07 14:13:05 +00:00
|
|
|
characters are around the string " geany_encoding=ISO-8859-15 " as long
|
|
|
|
as there is at least one whitespace character before and after this
|
|
|
|
string. Whitespace characters are in this case a space or tab character.
|
|
|
|
An example to use this could be you have a file with ISO-8859-15
|
|
|
|
encoding but Geany constantly detects the file encoding as ISO-8859-1.
|
|
|
|
Then you simply add such a line to the file and Geany will open it
|
|
|
|
correctly the next time.
|
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
Since Geany 0.15 you can also use lines which match the
|
|
|
|
regular expression used to find the encoding string:
|
2008-06-08 12:18:20 +00:00
|
|
|
``coding[\t ]*[:=][\t ]*([a-z0-9-]+)[\t ]*``
|
|
|
|
|
2007-12-07 14:13:05 +00:00
|
|
|
.. note::
|
|
|
|
These specifications must be in the first 512 bytes of the file.
|
2008-11-18 17:46:24 +00:00
|
|
|
Anything after the first 512 bytes will not be recognized.
|
2007-12-07 14:13:05 +00:00
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
Some examples are::
|
|
|
|
|
|
|
|
# encoding = ISO-8859-15
|
|
|
|
|
|
|
|
or::
|
|
|
|
|
|
|
|
# coding: ISO-8859-15
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Special encoding "None"
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
There is a special encoding "None" which uses no
|
2008-09-15 13:03:05 +00:00
|
|
|
encoding. It is useful when you know that Geany cannot auto-detect
|
2007-08-09 10:05:00 +00:00
|
|
|
the encoding of a file and it is not displayed correctly. Especially
|
2008-11-18 17:46:24 +00:00
|
|
|
when the file contains NULL-bytes this can be useful to skip auto
|
2007-08-09 10:05:00 +00:00
|
|
|
detection and open the file properly at least until the occurrence
|
2008-11-18 17:46:24 +00:00
|
|
|
of the first NULL-byte. Using this encoding opens the file as it is
|
2007-08-09 10:05:00 +00:00
|
|
|
without any character conversion.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Unicode Byte-Order-Mark (BOM)
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
Furthermore, Geany detects a Unicode Byte Order Mark (see
|
2007-08-09 10:05:00 +00:00
|
|
|
http://en.wikipedia.org/wiki/Byte_Order_Mark for details). Of course,
|
2009-09-27 16:54:03 +00:00
|
|
|
this feature is only available if the opened file is in a Unicode
|
2007-08-09 10:05:00 +00:00
|
|
|
encoding. The Byte Order Mark helps to detect the encoding of a file,
|
|
|
|
e.g. whether it is UTF-16LE or UTF-16BE and so on. On Unix-like systems
|
2009-09-27 16:54:03 +00:00
|
|
|
using a Byte Order Mark could cause some problems for programs not
|
|
|
|
expecting it, e.g. the compiler gcc stops
|
2007-08-09 10:05:00 +00:00
|
|
|
with stray errors, PHP does not parse a script containing a BOM and
|
|
|
|
script files starting with a she-bang maybe cannot be started. In the
|
|
|
|
status bar you can easily see whether the file starts with a BOM or
|
2009-09-27 16:54:03 +00:00
|
|
|
not.
|
|
|
|
|
|
|
|
If you want to set a BOM for a file or if you want to remove it
|
2007-08-09 10:05:00 +00:00
|
|
|
from a file, just use the document menu and toggle the checkbox.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
.. note::
|
|
|
|
If you are unsure what a BOM is or if you do not understand where
|
2007-11-29 17:52:24 +00:00
|
|
|
to use it, then it is probably not important for you and you can
|
|
|
|
safely ignore it.
|
2005-12-21 19:42:55 +00:00
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Editing
|
|
|
|
-------
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2007-11-29 17:52:24 +00:00
|
|
|
Folding
|
|
|
|
^^^^^^^
|
|
|
|
|
|
|
|
Geany provides basic code folding support. Folding means the ability to
|
|
|
|
show and hide parts of the text in the current file. You can hide
|
|
|
|
unimportant code sections and concentrate on the parts you are working on
|
2009-09-27 16:54:03 +00:00
|
|
|
and later you can show hidden sections again. In the editor window there is
|
|
|
|
a small grey margin on the left side with [+] and [-] symbols which
|
|
|
|
show hidden parts and hide parts of the file respectively. By
|
2007-11-29 17:52:24 +00:00
|
|
|
clicking on these icons you can simply show and hide sections which are
|
|
|
|
marked by vertical lines within this margin. For many filetypes nested
|
|
|
|
folding is supported, so there may be several fold points within other
|
|
|
|
fold points.
|
|
|
|
|
2010-04-28 12:49:09 +00:00
|
|
|
.. note::
|
|
|
|
You can customize the folding icon and line styles - see the
|
|
|
|
filetypes.common `Folding Settings`_.
|
|
|
|
|
2007-11-29 17:52:24 +00:00
|
|
|
If you don't like it or don't need it at all, you can simply disable
|
|
|
|
folding support completely in the preferences dialog.
|
|
|
|
|
|
|
|
The folding behaviour can be changed with the "Fold/Unfold all children of
|
|
|
|
a fold point" option in the preference dialog. If activated, Geany will
|
2007-12-07 14:13:05 +00:00
|
|
|
unfold all nested fold points below the current one if they are already
|
|
|
|
folded (when clicking on a [+] symbol).
|
|
|
|
When clicking on a [-] symbol, Geany will fold all nested fold points
|
|
|
|
below the current one if they are unfolded.
|
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
This option can be inverted by pressing the Shift
|
2007-11-29 17:52:24 +00:00
|
|
|
key while clicking on a fold symbol. That means, if the "Fold/Unfold all
|
|
|
|
children of a fold point" option is enabled, pressing Shift will disable
|
|
|
|
it for this click and vice versa.
|
|
|
|
|
|
|
|
|
2008-12-17 15:59:25 +00:00
|
|
|
Column mode editing (rectangular selections)
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2008-03-17 12:56:10 +00:00
|
|
|
|
|
|
|
There is basic support for column mode editing. To use it, create a
|
2008-12-17 15:59:25 +00:00
|
|
|
rectangular selection by holding down the Control and Shift keys
|
2012-01-25 12:45:01 +00:00
|
|
|
(or Alt and Shift on Windows) while selecting some text.
|
2008-03-17 12:56:10 +00:00
|
|
|
Once a rectangular selection exists you can start editing the text within
|
|
|
|
this selection and the modifications will be done for every line in the
|
|
|
|
selection.
|
|
|
|
|
2012-01-25 12:45:01 +00:00
|
|
|
It is also possible to create a zero-column selection - this is
|
|
|
|
useful to insert text on multiple lines.
|
2008-03-17 12:56:10 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Drag and drop of text
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
If you drag selected text in the editor widget of Geany the text is
|
|
|
|
moved to the position where the mouse pointer is when releasing the
|
|
|
|
mouse button. Holding Control when releasing the mouse button will
|
|
|
|
copy the text instead. This behaviour was changed in Geany 0.11 -
|
|
|
|
before the selected text was copied to the new position.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2008-02-01 13:16:32 +00:00
|
|
|
Indentation
|
|
|
|
^^^^^^^^^^^
|
|
|
|
|
2010-11-08 18:15:14 +00:00
|
|
|
Geany allows each document to indent either with a tab character,
|
2013-09-06 16:44:24 +02:00
|
|
|
multiple spaces or a combination of both.
|
2013-06-26 14:52:52 +10:00
|
|
|
|
2013-09-06 16:44:24 +02:00
|
|
|
The *Tabs* setting indents with one tab character per indent level, and
|
2013-06-26 14:52:52 +10:00
|
|
|
displays tabs as the indent width.
|
|
|
|
|
2013-09-06 16:44:24 +02:00
|
|
|
The *Spaces* setting indents with the number of spaces set in the indent
|
2013-06-26 14:52:52 +10:00
|
|
|
width for each level.
|
|
|
|
|
2013-09-06 16:44:24 +02:00
|
|
|
The *Tabs and Spaces* setting indents with spaces as above, then converts
|
|
|
|
as many spaces as it can to tab characters at the rate of one tab for
|
|
|
|
each multiple of the `Various preference` setting
|
|
|
|
*indent_hard_tab_width* (default 8) and displays tabs as the
|
2013-06-26 14:52:52 +10:00
|
|
|
*indent_hard_tab_width* value.
|
|
|
|
|
2013-09-06 16:44:24 +02:00
|
|
|
The default indent settings are set in `Editor Indentation
|
2013-06-26 14:52:52 +10:00
|
|
|
preferences`_ (see the link for more information).
|
2010-11-08 18:15:14 +00:00
|
|
|
|
|
|
|
The default settings can be overridden per-document using the
|
|
|
|
Document menu. They can also be overridden by projects - see
|
2011-04-01 12:25:10 +00:00
|
|
|
`Project management`_.
|
2008-02-01 13:16:32 +00:00
|
|
|
|
|
|
|
The indent mode for the current document is shown on the status bar
|
|
|
|
as follows:
|
|
|
|
|
|
|
|
TAB
|
|
|
|
Indent with Tab characters.
|
|
|
|
SP
|
|
|
|
Indent with spaces.
|
2008-10-16 16:43:36 +00:00
|
|
|
T/S
|
|
|
|
Indent with tabs and spaces, depending on how much indentation is
|
|
|
|
on a line.
|
2008-02-01 13:16:32 +00:00
|
|
|
|
2010-11-08 18:15:14 +00:00
|
|
|
Applying new indentation settings
|
|
|
|
`````````````````````````````````
|
|
|
|
After changing the default settings you may wish to apply the new
|
|
|
|
settings to every document in the current session. To do this use the
|
|
|
|
*Project->Apply Default Indentation* menu item.
|
|
|
|
|
|
|
|
Detecting indent type
|
|
|
|
`````````````````````
|
|
|
|
The *Detect from file* indentation preference can be used to
|
|
|
|
scan each file as it's opened and set the indent type based on
|
|
|
|
how many lines start with a tab vs. 2 or more spaces.
|
2010-11-08 16:11:16 +00:00
|
|
|
|
2008-02-01 13:16:32 +00:00
|
|
|
|
|
|
|
Auto-indentation
|
2007-08-09 10:05:00 +00:00
|
|
|
^^^^^^^^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-02-01 13:16:32 +00:00
|
|
|
When enabled, auto-indentation happens when pressing *Enter* in the
|
|
|
|
Editor. It adds a certain amount of indentation to the new line so the
|
|
|
|
user doesn't always have to indent each line manually.
|
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
Geany has four types of auto-indentation:
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
None
|
2008-02-01 13:16:32 +00:00
|
|
|
Disables auto-indentation completely.
|
2007-08-09 10:05:00 +00:00
|
|
|
Basic
|
2013-06-26 14:52:52 +10:00
|
|
|
Adds the same amount of whitespace on a new line as on the previous line.
|
|
|
|
For the *Tabs* and the *Spaces* indent types the indentation will use the
|
|
|
|
same combination of characters as the previous line. The
|
|
|
|
*Tabs and Spaces* indentation type converts as explained above.
|
2007-08-29 15:14:07 +00:00
|
|
|
Current chars
|
|
|
|
Does the same as *Basic* but also indents a new line after an opening
|
|
|
|
brace '{', and de-indents when typing a closing brace '}'. For Python,
|
2008-02-01 13:16:32 +00:00
|
|
|
a new line will be indented after typing ':' at the end of the
|
|
|
|
previous line.
|
2007-08-29 15:14:07 +00:00
|
|
|
Match braces
|
|
|
|
Similar to *Current chars* but the closing brace will be aligned to
|
2013-09-06 16:44:24 +02:00
|
|
|
match the indentation of the line with the opening brace. This
|
|
|
|
requires the filetype to be one where Geany knows that the Scintilla
|
|
|
|
lexer understands matching braces (C, C++, D, HTML, Pascal, Bash,
|
2013-06-26 14:52:52 +10:00
|
|
|
Perl, TCL).
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2010-11-15 13:06:11 +00:00
|
|
|
There is also XML-tag auto-indentation. This is enabled when the
|
|
|
|
mode is more than just Basic, and is also controlled by a filetype
|
|
|
|
setting - see `xml_indent_tags`_.
|
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Bookmarks
|
|
|
|
^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Geany provides a handy bookmarking feature that lets you mark one
|
|
|
|
or more lines in a document, and return the cursor to them using a
|
|
|
|
key combination.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
To place a mark on a line, either left-mouse-click in the left margin
|
2009-09-27 16:54:03 +00:00
|
|
|
of the editor window, or else use Ctrl-m. This will
|
2007-08-09 10:05:00 +00:00
|
|
|
produce a small green plus symbol in the margin. You can have as many
|
|
|
|
marks in a document as you like. Click again (or use Ctrl-m again)
|
|
|
|
to remove the bookmark. To remove all the marks in a given document,
|
|
|
|
use "Remove Markers" in the Document menu.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
To navigate down your document, jumping from one mark to the next,
|
|
|
|
use Ctrl-. (control period). To go in the opposite direction on
|
|
|
|
the page, use Ctrl-, (control comma). Using the bookmarking feature
|
|
|
|
together with the commands to switch from one editor tab to another
|
|
|
|
(Ctrl-PgUp/PgDn and Ctrl-Tab) provides a particularly fast way to
|
|
|
|
navigate around multiple files.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2009-09-22 15:01:24 +00:00
|
|
|
Code navigation history
|
2007-09-09 16:43:54 +00:00
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
2007-09-12 11:39:21 +00:00
|
|
|
To ease navigation in source files and especially between
|
|
|
|
different files, Geany lets you jump between different navigation
|
2008-05-09 14:37:30 +00:00
|
|
|
points. Currently, this works for the following:
|
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
* `Go to symbol declaration`_
|
|
|
|
* `Go to symbol definition`_
|
2008-05-09 14:37:30 +00:00
|
|
|
* Symbol list items
|
|
|
|
* Build errors
|
|
|
|
* Message items
|
2007-09-09 16:43:54 +00:00
|
|
|
|
2007-09-12 11:39:21 +00:00
|
|
|
When using one of these actions, Geany remembers your current position
|
|
|
|
and jumps to the new one. If you decide to go back to your previous
|
|
|
|
position in the file, just use "Navigate back a location". To
|
|
|
|
get back to the new position again, just use "Navigate forward a
|
|
|
|
location". This makes it easier to navigate in e.g. foreign code
|
|
|
|
and between different files.
|
2007-09-09 16:43:54 +00:00
|
|
|
|
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
Sending text through custom commands
|
2007-08-09 10:05:00 +00:00
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
You can define several custom commands in Geany and send the current
|
2010-10-01 12:43:32 +00:00
|
|
|
selection to one of these commands using the *Edit->Format->Send
|
|
|
|
Selection to* menu or keybindings. The output of the command will be
|
|
|
|
used to replace the current selection. This makes it possible to use
|
|
|
|
text formatting tools with Geany in a general way.
|
|
|
|
|
|
|
|
The selected text will be sent to the standard input of the executed
|
|
|
|
command, so the command should be able to read from it and it should
|
|
|
|
print all results to its standard output which will be read by
|
|
|
|
Geany. To help finding errors in executing the command, the output
|
|
|
|
of the program's standard error will be printed on Geany's standard
|
|
|
|
output.
|
|
|
|
|
2011-04-01 20:52:31 +00:00
|
|
|
If there is no selection, the whole current line is used instead.
|
|
|
|
|
2010-10-01 12:43:32 +00:00
|
|
|
To add a custom command, use the *Send Selection to->Set Custom
|
2011-04-02 18:36:35 +00:00
|
|
|
Commands* menu item. Click on *Add* to get a new item and type the
|
|
|
|
command. You can also specify some command line options. Empty
|
|
|
|
commands are not saved.
|
2010-10-01 12:43:32 +00:00
|
|
|
|
|
|
|
Normal shell quoting is supported, so you can do things like:
|
|
|
|
|
|
|
|
* ``sed 's/\./(dot)/g'``
|
|
|
|
|
|
|
|
The above example would normally be done with the `Replace all`_
|
|
|
|
function, but it can be handy to have common commands already set up.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2014-03-11 13:14:03 +01:00
|
|
|
Note that the command is not run in a shell, so if you want to use
|
|
|
|
shell features like pipes and command chains, you need to explicitly
|
|
|
|
launch the shell and pass it your command:
|
|
|
|
|
|
|
|
* ``sh -c 'sort | uniq'``
|
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Context actions
|
|
|
|
^^^^^^^^^^^^^^^
|
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
You can execute the context action command on the current word at the
|
|
|
|
cursor position or the available selection. This word or selection
|
|
|
|
can be used as an argument to the command.
|
|
|
|
The context action is invoked by a menu entry in the popup menu of the
|
|
|
|
editor and also a keyboard shortcut (see the section called
|
|
|
|
`Keybindings`_).
|
|
|
|
|
|
|
|
The command can be specified in the preferences dialog and also for
|
|
|
|
each filetype (see "context_action_cmd" in the section called
|
2010-11-15 15:16:00 +00:00
|
|
|
`Filetype configuration`_). When the context action is invoked, the filetype
|
2009-09-27 16:54:03 +00:00
|
|
|
specific command is used if available, otherwise the command
|
|
|
|
specified in the preferences dialog is executed.
|
|
|
|
|
|
|
|
The current word or selection can be referred with the wildcard "%s"
|
|
|
|
in the command, it will be replaced by the current word or
|
|
|
|
selection before the command is executed.
|
|
|
|
|
|
|
|
For example a context action can be used to open API documentation
|
|
|
|
in a browser window, the command to open the PHP API documentation
|
2007-08-09 10:05:00 +00:00
|
|
|
would be::
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
firefox "http://www.php.net/%s"
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
when executing the command, the %s is substituted by the word near
|
|
|
|
the cursor position or by the current selection. If the cursor is at
|
|
|
|
the word "echo", a browser window will open(assumed your browser is
|
|
|
|
called firefox) and it will open the address: http://www.php.net/echo.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2009-07-27 11:38:29 +00:00
|
|
|
Autocompletion
|
|
|
|
^^^^^^^^^^^^^^
|
2009-07-25 18:58:26 +00:00
|
|
|
|
|
|
|
Geany can offer a list of possible completions for symbols defined in the
|
2015-07-19 21:25:44 +02:00
|
|
|
tags files and for all words in open documents.
|
2009-07-25 18:58:26 +00:00
|
|
|
|
|
|
|
The autocompletion list for symbols is presented when the first few
|
2009-07-27 11:38:29 +00:00
|
|
|
characters of the symbol are typed (configurable, see `Editor Completions
|
2009-09-22 15:01:24 +00:00
|
|
|
preferences`_, default 4) or when the *Complete word*
|
2009-09-22 17:42:31 +00:00
|
|
|
keybinding is pressed (configurable, see `Editor keybindings`_,
|
2009-07-27 11:38:29 +00:00
|
|
|
default Ctrl-Space).
|
2009-07-25 18:58:26 +00:00
|
|
|
|
2009-07-27 11:38:29 +00:00
|
|
|
When the defined keybinding is typed and the *Autocomplete all words in
|
2009-09-22 15:01:24 +00:00
|
|
|
document* preference (in `Editor Completions preferences`_)
|
2009-07-27 11:38:29 +00:00
|
|
|
is selected then the autocompletion list will show all matching words
|
|
|
|
in the document, if there are no matching symbols.
|
2009-07-25 18:58:26 +00:00
|
|
|
|
2009-07-27 11:38:29 +00:00
|
|
|
If you don't want to use autocompletion it can be dismissed until
|
2009-09-22 15:01:24 +00:00
|
|
|
the next symbol by pressing Escape. The autocompletion list is updated
|
2009-07-25 18:58:26 +00:00
|
|
|
as more characters are typed so that it only shows completions that start
|
|
|
|
with the characters typed so far. If no symbols begin with the sequence,
|
|
|
|
the autocompletion window is closed.
|
|
|
|
|
2009-07-27 11:38:29 +00:00
|
|
|
The up and down arrows will move the selected item. The highlighted
|
2009-10-15 14:57:11 +00:00
|
|
|
item on the autocompletion list can be chosen from the list by pressing
|
2009-07-27 11:38:29 +00:00
|
|
|
Enter/Return. You can also double-click to select an item. The sequence
|
|
|
|
will be completed to match the chosen item, and if the *Drop rest of
|
2009-09-22 15:01:24 +00:00
|
|
|
word on completion* preference is set (in `Editor Completions
|
|
|
|
preferences`_) then any characters after the cursor that match
|
2009-07-27 11:38:29 +00:00
|
|
|
a symbol or word are deleted.
|
2009-07-25 18:58:26 +00:00
|
|
|
|
2009-10-20 15:35:44 +00:00
|
|
|
Word part completion
|
|
|
|
````````````````````
|
|
|
|
By default, pressing Tab will complete the selected item by word part;
|
|
|
|
useful e.g. for adding the prefix ``gtk_combo_box_entry_`` without typing it
|
2009-10-15 14:57:11 +00:00
|
|
|
manually:
|
|
|
|
|
|
|
|
* gtk_com<TAB>
|
|
|
|
* gtk_combo_<TAB>
|
|
|
|
* gtk_combo_box_<e><TAB>
|
|
|
|
* gtk_combo_box_entry_<s><ENTER>
|
|
|
|
* gtk_combo_box_entry_set_text_column
|
|
|
|
|
2009-10-20 15:35:44 +00:00
|
|
|
The key combination can be changed from Tab - See `Editor keybindings`_.
|
|
|
|
If you clear/change the key combination for word part completion, Tab
|
|
|
|
will complete the whole word instead, like Enter.
|
|
|
|
|
2009-08-17 15:07:59 +00:00
|
|
|
Scope autocompletion
|
|
|
|
````````````````````
|
|
|
|
E.g.::
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
int i;
|
|
|
|
char c;
|
|
|
|
} foo;
|
|
|
|
|
|
|
|
When you type ``foo.`` it will show an autocompletion list with 'i' and
|
|
|
|
'c' symbols.
|
|
|
|
|
|
|
|
It only works for languages that set parent scope names for e.g. struct
|
2015-07-19 21:25:44 +02:00
|
|
|
members. Currently this means C-like languages. The C parser only
|
2009-08-17 15:07:59 +00:00
|
|
|
parses global scopes, so this won't work for structs or objects declared
|
|
|
|
in local scope.
|
|
|
|
|
2009-07-25 18:58:26 +00:00
|
|
|
|
2007-11-12 09:27:43 +00:00
|
|
|
User-definable snippets
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-11-12 09:27:43 +00:00
|
|
|
Snippets are small strings or code constructs which can be replaced or
|
2009-09-27 16:54:03 +00:00
|
|
|
completed to a more complex string. So you can save a lot of time when
|
|
|
|
typing common strings and letting Geany do the work for you.
|
2007-11-12 09:27:43 +00:00
|
|
|
To know what to complete or replace Geany reads a configuration file
|
|
|
|
called ``snippets.conf`` at startup.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
Maybe you need to often type your name, so define a snippet like this::
|
|
|
|
|
|
|
|
[Default]
|
|
|
|
myname=Enrico Tröger
|
|
|
|
|
|
|
|
Every time you write ``myname`` <TAB> in Geany, it will replace "myname"
|
|
|
|
with "Enrico Tröger". The key to start autocompletion can be changed
|
|
|
|
in the preferences dialog, by default it is TAB. The corresponding keybinding
|
2010-12-07 17:42:31 +00:00
|
|
|
is called `Complete snippet`.
|
2009-09-27 16:54:03 +00:00
|
|
|
|
2010-10-04 10:51:03 +00:00
|
|
|
**Paths**
|
|
|
|
|
2010-12-07 17:42:31 +00:00
|
|
|
You can override the default snippets using the user
|
|
|
|
``snippets.conf`` file. Use the *Tools->Configuration
|
|
|
|
Files->snippets.conf* menu item. See also `Configuration file paths`_.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2010-12-07 17:42:31 +00:00
|
|
|
This adds the default settings to the user file if the file doesn't
|
|
|
|
exist. Alternatively the file can be created manually, adding only
|
|
|
|
the settings you want to change. All missing settings will be read
|
|
|
|
from the system snippets file.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2010-10-04 10:51:03 +00:00
|
|
|
**Snippet groups**
|
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
The file ``snippets.conf`` contains sections defining snippets that
|
|
|
|
are available for particular filetypes and in general.
|
|
|
|
|
|
|
|
The two sections "Default" and "Special" apply to all filetypes.
|
|
|
|
"Default" contains all snippets which are available for every
|
|
|
|
filetype and "Special" contains snippets which can only be used in
|
|
|
|
other snippets. So you can define often used parts of snippets and
|
|
|
|
just use the special snippet as a placeholder (see the
|
|
|
|
``snippets.conf`` for details).
|
|
|
|
|
|
|
|
You can define sections with the name of a filetype eg "C++". The
|
|
|
|
snippets in that section are only available for use in files with that
|
|
|
|
filetype. Snippets in filetype sections will hide snippets with the
|
|
|
|
same name in the "Default" section when used in a file of that
|
|
|
|
filetype.
|
|
|
|
|
2010-10-04 10:51:03 +00:00
|
|
|
**Substitution sequences for snippets**
|
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
To define snippets you can use several special character sequences which
|
2007-11-12 09:27:43 +00:00
|
|
|
will be replaced when using the snippet:
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
================ =========================================================
|
|
|
|
\\n or %newline% Insert a new line (it will be replaced by the used EOL
|
|
|
|
char(s): LF, CR/LF, or CR).
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-12-16 13:26:39 +00:00
|
|
|
\\t or %ws% Insert an indentation step, it will be replaced according
|
|
|
|
to the current document's indent mode.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
\\s \\s to force whitespace at beginning or end of a value
|
|
|
|
('key= value' won't work, use 'key=\\svalue')
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
%cursor% Place the cursor at this position after completion has
|
2009-01-11 21:05:03 +00:00
|
|
|
been done. You can define multiple %cursor% wildcards
|
2010-12-07 17:42:31 +00:00
|
|
|
and use the keybinding `Move cursor in snippet` to jump
|
2009-01-11 21:05:03 +00:00
|
|
|
to the next defined cursor position in the completed
|
|
|
|
snippet.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
%...% "..." means the name of a key in the "Special" section.
|
|
|
|
If you have defined a key "brace_open" in the "Special"
|
2009-09-27 16:54:03 +00:00
|
|
|
section you can use %brace_open% in any other snippet.
|
2007-08-09 10:05:00 +00:00
|
|
|
================ =========================================================
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-12-16 13:26:39 +00:00
|
|
|
Snippet names must not contain spaces otherwise they won't
|
|
|
|
work correctly. But beside that you can define almost any
|
2007-11-12 09:27:43 +00:00
|
|
|
string as a snippet and use it later in Geany. It is not limited
|
2007-08-09 10:05:00 +00:00
|
|
|
to existing contructs of certain programming languages(like ``if``,
|
|
|
|
``for``, ``switch``). Define whatever you need.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2010-10-04 10:51:03 +00:00
|
|
|
**Template wildcards**
|
|
|
|
|
2008-07-13 10:52:38 +00:00
|
|
|
Since Geany 0.15 you can also use most of the available templates wildcards
|
|
|
|
listed in `Template wildcards`_. All wildcards which are listed as
|
|
|
|
`available in snippets` can be used. For instance to improve the above example::
|
|
|
|
|
|
|
|
[Default]
|
|
|
|
myname=My name is {developer}
|
2010-01-24 14:52:46 +00:00
|
|
|
mysystem=My system: {command:uname -a}
|
2008-07-13 10:52:38 +00:00
|
|
|
|
|
|
|
this will replace ``myname`` with "My name is " and the value of the template
|
|
|
|
preference ``developer``.
|
|
|
|
|
2010-10-04 10:51:03 +00:00
|
|
|
**Word characters**
|
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
You can change the way Geany recognizes the word to complete,
|
|
|
|
that is how the start and end of a word is recognised when the
|
|
|
|
snippet completion is requested. The section "Special" may
|
2007-10-18 19:55:21 +00:00
|
|
|
contain a key "wordchars" which lists all characters a string may contain
|
2007-11-12 09:27:43 +00:00
|
|
|
to be recognized as a word for completion. Leave it commented to use
|
2007-10-18 19:55:21 +00:00
|
|
|
default characters or define it to add or remove characters to fit your
|
|
|
|
needs.
|
|
|
|
|
2010-10-04 11:05:59 +00:00
|
|
|
Snippet keybindings
|
|
|
|
```````````````````
|
|
|
|
|
|
|
|
Normally you would type the snippet name and press Tab. However, you
|
|
|
|
can define keybindings for snippets under the *Keybindings* group in
|
|
|
|
``snippets.conf``::
|
|
|
|
|
|
|
|
[Keybindings]
|
|
|
|
for=<Ctrl>7
|
|
|
|
block_cursor=<Ctrl>8
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
Snippet keybindings may be overridden by Geany's configurable
|
|
|
|
keybindings.
|
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-11-18 17:46:24 +00:00
|
|
|
Inserting Unicode characters
|
2007-08-29 15:51:27 +00:00
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
2011-06-13 20:42:55 +00:00
|
|
|
You can insert Unicode code points by hitting Ctrl-Shift-u, then still holding
|
|
|
|
Ctrl-Shift, type some hex digits representing the code point for the character
|
|
|
|
you want and hit Enter or Return (still holding Ctrl-Shift). If you release
|
|
|
|
Ctrl-Shift before hitting Enter or Return (or any other character), the code
|
|
|
|
insertion is completed, but the typed character is also entered. In the case
|
|
|
|
of Enter/Return, it is a newline, as you might expect.
|
2010-02-24 15:08:41 +00:00
|
|
|
|
2010-02-21 22:45:21 +00:00
|
|
|
|
|
|
|
In some earlier versions of Geany, you might need to first unbind Ctrl-Shift-u
|
2010-02-21 18:06:42 +00:00
|
|
|
in the `keybinding preferences`_, then select *Tools->Reload Configuration*
|
|
|
|
or restart Geany. Note that it works slightly differently from other GTK
|
2010-02-20 13:56:57 +00:00
|
|
|
applications, in that you'll need to continue to hold down the Ctrl and Shift
|
2010-02-21 22:45:21 +00:00
|
|
|
keys while typing the code point hex digits (and the Enter or Return to finish the code point).
|
2007-08-29 15:51:27 +00:00
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Search, replace and go to
|
|
|
|
-------------------------
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
This section describes search-related commands from the Search menu
|
|
|
|
and the editor window's popup menu:
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
* Find
|
2010-09-23 12:22:44 +00:00
|
|
|
* Find selection
|
2010-09-09 11:58:55 +00:00
|
|
|
* Find usage
|
2007-08-09 10:05:00 +00:00
|
|
|
* Find in files
|
|
|
|
* Replace
|
2015-07-19 21:25:44 +02:00
|
|
|
* Go to symbol definition
|
|
|
|
* Go to symbol declaration
|
2007-08-09 10:05:00 +00:00
|
|
|
* Go to line
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2012-07-26 15:33:10 +01:00
|
|
|
See also `Search`_ preferences.
|
|
|
|
|
2009-09-22 15:17:03 +00:00
|
|
|
Toolbar entries
|
|
|
|
^^^^^^^^^^^^^^^
|
|
|
|
There are also two toolbar entries:
|
|
|
|
|
|
|
|
* Search bar
|
|
|
|
* Go to line entry
|
|
|
|
|
2009-09-22 17:42:31 +00:00
|
|
|
There are keybindings to focus each of these - see `Focus
|
|
|
|
keybindings`_. Pressing Escape will then focus the editor.
|
2009-09-22 15:17:03 +00:00
|
|
|
|
|
|
|
Search bar
|
|
|
|
``````````
|
|
|
|
The quickest way to find some text is to use the search bar entry in
|
|
|
|
the toolbar. This performs a case-insensitive search in the current
|
2011-03-24 16:51:02 +00:00
|
|
|
document whilst you type. Pressing Enter will search again, and pressing
|
|
|
|
Shift-Enter will search backwards.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Find
|
|
|
|
^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
The Find dialog is used for finding text in one or more open documents.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
.. image:: ./images/find_dialog.png
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Matching options
|
|
|
|
````````````````
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2010-03-08 17:03:03 +00:00
|
|
|
The syntax for the *Use regular expressions* option is shown in
|
2007-08-09 10:05:00 +00:00
|
|
|
`Regular expressions`_.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2010-03-08 17:03:03 +00:00
|
|
|
.. note::
|
|
|
|
*Use escape sequences* is implied for regular expressions.
|
|
|
|
|
2014-08-02 16:04:42 +02:00
|
|
|
The *Use multi-line matching* option enables multi-line regular
|
|
|
|
expressions instead of single-line ones. See `Regular expressions`_ for
|
|
|
|
more details on the differences between the two modes.
|
|
|
|
|
2010-03-08 17:03:03 +00:00
|
|
|
The *Use escape sequences* option will transform any escaped characters
|
2007-08-09 10:05:00 +00:00
|
|
|
into their UTF-8 equivalent. For example, \\t will be transformed into
|
2008-11-18 17:46:24 +00:00
|
|
|
a tab character. Other recognized symbols are: \\\\, \\n, \\r, \\uXXXX
|
|
|
|
(Unicode characters).
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Find all
|
|
|
|
````````
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
To find all matches, click on the Find All expander. This will reveal
|
|
|
|
several options:
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
* In Document
|
|
|
|
* In Session
|
|
|
|
* Mark
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Find All In Document will show a list of matching lines in the
|
|
|
|
current document in the Messages tab of the Message Window. *Find All
|
|
|
|
In Session* does the same for all open documents.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-10-25 18:57:00 +00:00
|
|
|
Mark will highlight all matches in the current document with a
|
2008-11-18 17:46:24 +00:00
|
|
|
colored box. These markers can be removed by selecting the
|
2008-10-25 18:57:00 +00:00
|
|
|
Remove Markers command from the Document menu.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2008-03-13 08:37:29 +00:00
|
|
|
Change font in search dialog text fields
|
|
|
|
````````````````````````````````````````
|
|
|
|
|
|
|
|
All search related dialogs use a Monospace for the text input fields to
|
2008-11-18 17:46:24 +00:00
|
|
|
increase the readability of input text. This is useful when you are
|
2009-09-27 16:54:03 +00:00
|
|
|
typing input such as regular expressions with spaces, periods and commas which
|
2008-03-13 08:37:29 +00:00
|
|
|
might it hard to read with a proportional font.
|
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
If you want to change the font, you can do this easily
|
2008-03-13 08:37:29 +00:00
|
|
|
by inserting the following style into your ``.gtkrc-2.0``
|
|
|
|
(usually found in your home directory on UNIX-like systems and in the
|
|
|
|
etc subdirectory of your Geany installation on Windows)::
|
|
|
|
|
|
|
|
style "search_style"
|
|
|
|
{
|
|
|
|
font_name="Monospace 8"
|
|
|
|
}
|
|
|
|
widget "GeanyDialogSearch.*.GtkEntry" style:highest "search_style"
|
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
Please note the addition of ":highest" in the last line which sets the priority
|
2008-03-13 08:37:29 +00:00
|
|
|
of this style to the highest available. Otherwise, the style is ignored
|
|
|
|
for the search dialogs.
|
|
|
|
|
|
|
|
|
2010-09-23 12:22:44 +00:00
|
|
|
Find selection
|
|
|
|
^^^^^^^^^^^^^^
|
|
|
|
The *Find Next/Previous Selection* commands perform a search for the
|
|
|
|
current selected text. If nothing is selected, by default the current
|
|
|
|
word is used instead. This can be customized by the
|
2011-07-28 17:59:22 +00:00
|
|
|
*find_selection_type* preference - see `Various preferences`_.
|
2010-09-23 12:22:44 +00:00
|
|
|
|
|
|
|
===== =============================================
|
|
|
|
Value *find_selection_type* behaviour
|
|
|
|
===== =============================================
|
|
|
|
0 Use the current word (default).
|
|
|
|
1 Try the X selection first, then current word.
|
|
|
|
2 Repeat last search.
|
|
|
|
===== =============================================
|
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Find usage
|
|
|
|
^^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2013-03-17 16:51:22 +00:00
|
|
|
*Find Usage* searches all open files. It is similar to the *Find All In
|
|
|
|
Session* option in the Find dialog.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
If there is a selection, then it is used as the search text; otherwise
|
|
|
|
the current word is used. The current word is either taken from the
|
|
|
|
word nearest the edit cursor, or the word underneath the popup menu
|
|
|
|
click position when the popup menu is used. The search results are
|
|
|
|
shown in the Messages tab of the Message Window.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2013-03-17 16:51:22 +00:00
|
|
|
.. note::
|
|
|
|
You can also use Find Usage for symbol list items from the popup
|
|
|
|
menu.
|
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Find in files
|
|
|
|
^^^^^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2013-03-17 16:51:22 +00:00
|
|
|
*Find in Files* is a more powerful version of *Find Usage* that searches
|
2007-08-09 10:05:00 +00:00
|
|
|
all files in a certain directory using the Grep tool. The Grep tool
|
|
|
|
must be correctly set in Preferences to the path of the system's Grep
|
2010-06-23 12:34:11 +00:00
|
|
|
utility. GNU Grep is recommended (see note below).
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
.. image:: ./images/find_in_files_dialog.png
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2012-07-26 16:13:34 +01:00
|
|
|
The *Search* field is initially set to the current word in the editor
|
|
|
|
(depending on `Search`_ preferences).
|
|
|
|
|
2011-05-03 20:37:00 +00:00
|
|
|
The *Files* setting allows to choose which files are included in the
|
|
|
|
search, depending on the mode:
|
|
|
|
|
|
|
|
All
|
|
|
|
Search in all files;
|
|
|
|
Project
|
|
|
|
Use the current project's patterns, see `Project properties`_;
|
|
|
|
Custom
|
|
|
|
Use custom patterns.
|
|
|
|
|
|
|
|
Both project and custom patterns use a glob-style syntax, each
|
|
|
|
pattern separated by a space. To search all ``.c`` and ``.h`` files,
|
|
|
|
use: ``*.c *.h``.
|
|
|
|
Note that an empty pattern list searches in all files rather
|
|
|
|
than none.
|
2010-06-23 12:34:11 +00:00
|
|
|
|
2012-07-26 16:13:34 +01:00
|
|
|
The *Directory* field is initially set to the current document's directory,
|
|
|
|
unless this field has already been edited and the current document has
|
|
|
|
not changed. Otherwise, the current document's directory is prepended to
|
|
|
|
the drop-down history. This can be disabled - see `Search`_ preferences.
|
|
|
|
|
2010-06-23 12:34:11 +00:00
|
|
|
The *Encoding* field can be used to define the encoding of the files
|
2009-09-27 16:54:03 +00:00
|
|
|
to be searched. The entered search text is converted to the chosen encoding
|
|
|
|
and the search results are converted back to UTF-8.
|
2010-06-21 14:57:03 +00:00
|
|
|
|
2010-06-23 12:34:11 +00:00
|
|
|
The *Extra options* field is used to pass any additional arguments to
|
2007-08-09 10:05:00 +00:00
|
|
|
the grep tool.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2010-06-23 12:34:11 +00:00
|
|
|
.. note::
|
2011-05-03 20:37:00 +00:00
|
|
|
The *Files* setting uses ``--include=`` when searching recursively,
|
|
|
|
*Recurse in subfolders* uses ``-r``; both are GNU Grep options and may
|
|
|
|
not work with other Grep implementations.
|
2010-06-23 12:34:11 +00:00
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Filtering out version control files
|
|
|
|
```````````````````````````````````
|
2006-08-09 17:18:25 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
When using the *Recurse in subfolders* option with a directory that's
|
2010-07-06 13:54:49 +00:00
|
|
|
under version control, you can set the *Extra options* field to filter
|
|
|
|
out version control files.
|
2006-08-09 17:18:25 +00:00
|
|
|
|
2010-07-06 13:54:49 +00:00
|
|
|
If you have GNU Grep >= 2.5.2 you can use the ``--exclude-dir``
|
|
|
|
argument to filter out CVS and hidden directories like ``.svn``.
|
|
|
|
|
2010-07-06 14:20:12 +00:00
|
|
|
Example: ``--exclude-dir=.svn --exclude-dir=CVS``
|
2010-07-06 13:54:49 +00:00
|
|
|
|
|
|
|
If you have an older Grep, you can try using the ``--exclude`` flag
|
|
|
|
to filter out filenames.
|
2006-08-09 17:18:25 +00:00
|
|
|
|
2010-07-06 13:54:49 +00:00
|
|
|
SVN Example: ``--exclude=*.svn-base``
|
2006-08-09 17:18:25 +00:00
|
|
|
|
2010-07-06 13:54:49 +00:00
|
|
|
The --exclude argument only matches the file name part, not the path.
|
2006-08-09 17:18:25 +00:00
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Replace
|
|
|
|
^^^^^^^
|
2006-08-09 17:18:25 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
The Replace dialog is used for replacing text in one or more open
|
|
|
|
documents.
|
2006-08-09 17:18:25 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
.. image:: ./images/replace_dialog.png
|
2006-08-09 17:18:25 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
The Replace dialog has the same options for matching text as the Find
|
2009-09-27 16:54:03 +00:00
|
|
|
dialog. See the section `Matching options`_.
|
2006-08-09 17:18:25 +00:00
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
The *Use regular expressions* option allows regular expressions to
|
|
|
|
be used in the search string and back references in the replacement
|
|
|
|
text -- see the entry for '\\n' in `Regular expressions`_.
|
2006-08-09 17:18:25 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Replace all
|
|
|
|
```````````
|
2006-08-09 17:18:25 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
To replace several matches, click on the *Replace All* expander. This
|
|
|
|
will reveal several options:
|
2006-08-09 17:18:25 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
* In Document
|
|
|
|
* In Session
|
|
|
|
* In Selection
|
2005-11-22 12:26:26 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
*Replace All In Document* will replace all matching text in the
|
|
|
|
current document. *Replace All In Session* does the same for all open
|
|
|
|
documents. *Replace All In Selection* will replace all matching text
|
|
|
|
in the current selection of the current document.
|
2006-06-04 13:10:16 +00:00
|
|
|
|
2006-07-01 17:41:46 +00:00
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
Go to symbol definition
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
2006-07-01 17:41:46 +00:00
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
If the current word or selection is the name of a symbol definition
|
|
|
|
(e.g. a function name) and the file containing the symbol definition is
|
2011-11-17 16:15:38 +00:00
|
|
|
open, this command will switch to that file and go to the
|
|
|
|
corresponding line number. The current word is either the word
|
|
|
|
nearest the edit cursor, or the word underneath the popup menu click
|
|
|
|
position when the popup menu is used.
|
2006-07-01 17:41:46 +00:00
|
|
|
|
2016-02-28 17:05:03 +01:00
|
|
|
If there are more symbols with the same name to which the goto can be performed,
|
|
|
|
a pop up is shown with a list of all the occurrences. After selecting a symbol
|
|
|
|
from the list Geany jumps to the corresponding symbol location. Geany tries to
|
|
|
|
suggest the nearest symbol (symbol from the current file, other open documents
|
|
|
|
or current directory) as the best candidate for the goto and places this symbol
|
|
|
|
at the beginning of the list typed in boldface.
|
|
|
|
|
2010-11-23 13:17:42 +00:00
|
|
|
.. note::
|
2015-07-19 21:25:44 +02:00
|
|
|
If the corresponding symbol is on the current line, Geany will first
|
|
|
|
look for a symbol declaration instead, as this is more useful.
|
|
|
|
Likewise *Go to symbol declaration* will search for a symbol definition
|
2011-11-17 16:15:38 +00:00
|
|
|
first in this case also.
|
2010-11-23 13:17:42 +00:00
|
|
|
|
2006-06-04 13:10:16 +00:00
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
Go to symbol declaration
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
2006-06-04 13:10:16 +00:00
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
Like *Go to symbol definition*, but for a forward declaration such as a
|
2010-09-09 11:58:55 +00:00
|
|
|
C function prototype or ``extern`` declaration instead of a function
|
2007-08-09 10:05:00 +00:00
|
|
|
body.
|
2006-06-04 13:10:16 +00:00
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Go to line
|
|
|
|
^^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Go to a particular line number in the current file.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Regular expressions
|
|
|
|
^^^^^^^^^^^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
You can use regular expressions in the Find and Replace dialogs
|
2010-03-08 17:03:03 +00:00
|
|
|
by selecting the *Use regular expressions* check box (see `Matching
|
2012-01-01 17:57:18 +00:00
|
|
|
options`_). The syntax is Perl compatible. Basic syntax is described
|
|
|
|
in the table below. For full details, see
|
|
|
|
http://www.geany.org/manual/gtk/glib/glib-regex-syntax.html.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2014-08-02 16:04:42 +02:00
|
|
|
By default regular expressions are matched on a line-by-line basis.
|
|
|
|
If you are interested in multi-line regular expressions, matched against
|
|
|
|
the whole buffer at once, see the section `Multi-line regular expressions`_
|
|
|
|
below.
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
.. note::
|
2010-03-10 13:52:41 +00:00
|
|
|
1. The *Use escape sequences* dialog option always applies for regular
|
|
|
|
expressions.
|
|
|
|
2. Searching backwards with regular expressions is not supported.
|
2014-08-02 16:04:42 +02:00
|
|
|
3. The *Use multi-line matching* dialog option to select single or
|
|
|
|
multi-line matching.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
**In a regular expression, the following characters are interpreted:**
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2010-03-08 17:03:03 +00:00
|
|
|
======= ============================================================
|
2007-08-09 10:05:00 +00:00
|
|
|
. Matches any character.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
( This marks the start of a region for tagging a match.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
) This marks the end of a tagged region.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
\\n Where n is 1 through 9 refers to the first through ninth tagged
|
2010-03-10 13:52:41 +00:00
|
|
|
region when searching or replacing.
|
|
|
|
|
|
|
|
Searching for (Wiki)\\1 matches WikiWiki.
|
|
|
|
|
|
|
|
If the search string was Fred([1-9])XXX and the
|
|
|
|
replace string was Sam\\1YYY, when applied to Fred2XXX this
|
|
|
|
would generate Sam2YYY.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2010-03-08 17:03:03 +00:00
|
|
|
\\0 When replacing, the whole matching text.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2010-03-08 17:03:03 +00:00
|
|
|
\\b This matches a word boundary.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-01-03 16:37:47 +00:00
|
|
|
\\c A backslash followed by d, D, s, S, w or W, becomes a
|
|
|
|
character class (both inside and outside sets []).
|
|
|
|
|
|
|
|
* d: decimal digits
|
|
|
|
* D: any char except decimal digits
|
|
|
|
* s: whitespace (space, \\t \\n \\r \\f \\v)
|
|
|
|
* S: any char except whitespace (see above)
|
2010-03-08 17:03:03 +00:00
|
|
|
* w: alphanumeric & underscore
|
|
|
|
* W: any char except alphanumeric & underscore
|
2009-01-03 16:37:47 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
\\x This allows you to use a character x that would otherwise have
|
|
|
|
a special meaning. For example, \\[ would be interpreted as [
|
|
|
|
and not as the start of a character set. Use \\\\ for a literal
|
|
|
|
backslash.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-01-03 16:37:47 +00:00
|
|
|
[...] Matches one of the characters in the set. If the first
|
|
|
|
character in the set is ^, it matches the characters NOT in
|
|
|
|
the set, i.e. complements the set. A shorthand S-E (start
|
|
|
|
dash end) is used to specify a set of characters S up to E,
|
2010-03-08 17:03:03 +00:00
|
|
|
inclusive.
|
|
|
|
|
|
|
|
The special characters ] and - have no special
|
|
|
|
meaning if they appear first in the set. - can also be last
|
|
|
|
in the set. To include both, put ] first: []A-Z-].
|
2009-01-03 16:37:47 +00:00
|
|
|
|
|
|
|
Examples::
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2010-03-08 17:03:03 +00:00
|
|
|
[]|-] matches these 3 chars
|
2009-01-03 16:37:47 +00:00
|
|
|
[]-|] matches from ] to | chars
|
|
|
|
[a-z] any lowercase alpha
|
2010-03-08 17:03:03 +00:00
|
|
|
[^]-] any char except - and ]
|
2009-01-03 16:37:47 +00:00
|
|
|
[^A-Z] any char except uppercase alpha
|
|
|
|
[a-zA-Z] any alpha
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
^ This matches the start of a line (unless used inside a set, see
|
|
|
|
above).
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
$ This matches the end of a line.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
\* This matches 0 or more times. For example, Sa*m matches Sm, Sam,
|
|
|
|
Saam, Saaam and so on.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
\+ This matches 1 or more times. For example, Sa+m matches Sam,
|
|
|
|
Saam, Saaam and so on.
|
2010-03-08 17:03:03 +00:00
|
|
|
|
|
|
|
\? This matches 0 or 1 time(s). For example, Joh?n matches John, Jon.
|
|
|
|
======= ============================================================
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-01-03 16:37:47 +00:00
|
|
|
.. note::
|
|
|
|
This table is adapted from Scintilla and SciTE documentation,
|
|
|
|
distributed under the `License for Scintilla and SciTE`_.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2014-08-02 16:04:42 +02:00
|
|
|
Multi-line regular expressions
|
|
|
|
``````````````````````````````
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
The *Use multi-line matching* dialog option enables multi-line
|
|
|
|
regular expressions.
|
|
|
|
|
|
|
|
Multi-line regular expressions work just like single-line ones but a
|
|
|
|
match can span several lines.
|
|
|
|
|
|
|
|
While the syntax is the same, a few practical differences applies:
|
|
|
|
|
|
|
|
======= ============================================================
|
|
|
|
. Matches any character but newlines. This behavior can be changed
|
|
|
|
to also match newlines using the (?s) option, see
|
|
|
|
http://www.geany.org/manual/gtk/glib/glib-regex-syntax.html#idp5671632
|
|
|
|
|
|
|
|
[^...] A negative range (see above) *will* match newlines if they are
|
|
|
|
not explicitly listed in that negative range. For example, range
|
|
|
|
[^a-z] will match newlines, while range [^a-z\\r\\n] won't.
|
|
|
|
While this is the expected behavior, it can lead to tricky
|
|
|
|
problems if one doesn't think about it when writing an expression.
|
|
|
|
======= ============================================================
|
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2010-12-22 16:49:20 +00:00
|
|
|
View menu
|
|
|
|
---------
|
|
|
|
The View menu allows various elements of the main window to be shown
|
|
|
|
or hidden, and also provides various display-related editor options.
|
|
|
|
|
2015-10-17 11:00:56 -07:00
|
|
|
Color schemes dialog
|
|
|
|
^^^^^^^^^^^^^^^^^^^^
|
|
|
|
The Color Schemes dialog is available under the *View->Change Color Scheme*
|
|
|
|
menu item. It lists various color schemes for editor highlighting
|
|
|
|
styles, including the default scheme first. Other items are available
|
|
|
|
based on what color scheme files Geany found at startup.
|
2010-12-22 16:49:20 +00:00
|
|
|
|
|
|
|
Color scheme files are read from the `Configuration file paths`_ under
|
|
|
|
the ``colorschemes`` subdirectory. They should have the extension
|
2011-04-30 16:24:53 +00:00
|
|
|
``.conf``. The default color scheme
|
|
|
|
is read from ``filetypes.common``.
|
|
|
|
|
2011-12-25 14:37:30 -08:00
|
|
|
The `[named_styles] section`_ and `[named_colors] section`_ are the
|
|
|
|
same as for ``filetypes.common``.
|
2010-12-22 16:49:20 +00:00
|
|
|
|
2011-04-30 16:24:53 +00:00
|
|
|
The ``[theme_info]`` section can contain information about the
|
|
|
|
theme. The ``name`` and ``description`` keys are read to set the
|
2011-05-03 15:18:52 +00:00
|
|
|
menu item text and tooltip, respectively. These keys can have
|
|
|
|
translations, e.g.::
|
|
|
|
|
|
|
|
key=Hello
|
|
|
|
key[de]=Hallo
|
|
|
|
key[fr_FR]=Bonjour
|
2011-04-30 16:24:53 +00:00
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
Symbols and tags files
|
|
|
|
----------------------
|
2009-09-27 16:54:03 +00:00
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
Upon opening, files of supported filetypes are parsed to extract the symbol
|
|
|
|
information (aka "workspace symbols"). You can also have Geany automatically
|
|
|
|
load external files containing the symbol information (aka "global
|
|
|
|
tags files") upon startup, or manually using *Tools --> Load Tags File*.
|
2007-09-12 11:39:21 +00:00
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
Geany uses its own tags file format, similar to what ``ctags`` uses
|
2007-09-12 11:39:21 +00:00
|
|
|
(but is incompatible with ctags). You use Geany to generate global
|
|
|
|
tags files, as described below.
|
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
Workspace symbols
|
|
|
|
^^^^^^^^^^^^^^^^^
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
Each document is parsed for symbols whenever a file is loaded, saved or
|
2011-03-24 02:11:46 +00:00
|
|
|
modified (see *Symbol list update frequency* preference in the `Editor
|
|
|
|
Completions preferences`_). These are shown in the Symbol list in the
|
2015-07-19 21:25:44 +02:00
|
|
|
Sidebar. These symbols are also used for autocompletion and calltips
|
2011-03-24 02:11:46 +00:00
|
|
|
for all documents open in the current session that have the same filetype.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
The *Go to Symbol* commands can be used with all workspace symbols. See
|
|
|
|
`Go to symbol definition`_.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
Global tags files
|
|
|
|
^^^^^^^^^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
Global tags files are used to provide symbols for autocompletion and calltips
|
|
|
|
without having to open the source files containing these symbols. This is intended
|
2007-11-12 09:27:43 +00:00
|
|
|
for library APIs, as the tags file only has to be updated when you upgrade
|
2007-08-09 10:05:00 +00:00
|
|
|
the library.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
You can load a custom global tags file in two ways:
|
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
* Using the *Load Tags File* command in the Tools menu.
|
2010-12-07 17:42:31 +00:00
|
|
|
* By moving or symlinking tags files to the ``tags`` subdirectory of
|
|
|
|
one of the `configuration file paths`_ before starting Geany.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
You can either download these files or generate your own. They have
|
|
|
|
the format::
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-09-12 11:39:21 +00:00
|
|
|
name.lang_ext.tags
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
*lang_ext* is one of the extensions set for the filetype associated
|
2015-07-19 21:25:44 +02:00
|
|
|
with the tags parser. See the section called `Filetype extensions`_ for
|
2007-08-09 10:05:00 +00:00
|
|
|
more information.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
|
|
|
Default global tags files
|
2007-08-09 10:05:00 +00:00
|
|
|
`````````````````````````
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
Some global tags files are distributed with Geany and will be loaded
|
|
|
|
automatically when the corresponding filetype is first used. Currently
|
|
|
|
this includes global tags files for these languages:
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2011-12-08 13:31:58 +00:00
|
|
|
* C
|
2007-08-09 10:05:00 +00:00
|
|
|
* Pascal
|
|
|
|
* PHP
|
|
|
|
* HTML -- &symbol; completion, e.g. for ampersand, copyright, etc.
|
|
|
|
* LaTeX
|
2008-11-29 18:34:30 +00:00
|
|
|
* Python
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2009-01-14 16:08:00 +00:00
|
|
|
Global tags file format
|
|
|
|
```````````````````````
|
|
|
|
|
2013-04-01 00:21:49 +02:00
|
|
|
Global tags files can have three different formats:
|
2009-01-14 16:08:00 +00:00
|
|
|
|
|
|
|
* Tagmanager format
|
|
|
|
* Pipe-separated format
|
2013-04-01 00:21:49 +02:00
|
|
|
* CTags format
|
2009-01-14 16:08:00 +00:00
|
|
|
|
|
|
|
The first line of global tags files should be a comment, introduced
|
2013-04-01 00:21:49 +02:00
|
|
|
by ``#`` followed by a space and a string like ``format=pipe``,
|
|
|
|
``format=ctags`` or ``format=tagmanager`` respectively, these are
|
|
|
|
case-sensitive. This helps Geany to read the file properly. If this
|
|
|
|
line is missing, Geany tries to auto-detect the used format but this
|
2009-01-14 16:08:00 +00:00
|
|
|
might fail.
|
|
|
|
|
|
|
|
|
|
|
|
The Tagmanager format is a bit more complex and is used for files
|
2015-07-19 21:25:44 +02:00
|
|
|
created by the ``geany -g`` command. There is one symbol per line.
|
|
|
|
Different symbol attributes like the return value or the argument list
|
2009-01-14 16:08:00 +00:00
|
|
|
are separated with different characters indicating the type of the
|
2015-07-19 21:25:44 +02:00
|
|
|
following argument. This is the more complete and recommended tags file
|
2013-04-01 00:21:49 +02:00
|
|
|
format.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2012-04-24 16:33:31 +01:00
|
|
|
Pipe-separated format
|
|
|
|
*********************
|
2009-01-14 16:08:00 +00:00
|
|
|
The Pipe-separated format is easier to read and write.
|
2015-07-19 21:25:44 +02:00
|
|
|
There is one symbol per line and different symbol attributes are separated
|
2009-01-14 16:08:00 +00:00
|
|
|
by the pipe character (``|``). A line looks like::
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-01-14 16:08:00 +00:00
|
|
|
basename|string|(string path [, string suffix])|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
| The first field is the symbol name (usually a function name).
|
2009-01-14 16:08:00 +00:00
|
|
|
| The second field is the type of the return value.
|
2015-07-19 21:25:44 +02:00
|
|
|
| The third field is the argument list for this symbol.
|
|
|
|
| The fourth field is the description for this symbol but
|
2009-01-14 16:08:00 +00:00
|
|
|
currently unused and should be left empty.
|
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
Except for the first field (symbol name), all other field can be left
|
2009-01-14 16:08:00 +00:00
|
|
|
empty but the pipe separator must appear for them.
|
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
You can easily write your own global tags files using this format.
|
2009-01-14 16:08:00 +00:00
|
|
|
Just save them in your tags directory, as described earlier in the
|
2015-07-19 21:25:44 +02:00
|
|
|
section `Global tags files`_.
|
2009-01-14 16:08:00 +00:00
|
|
|
|
2013-04-01 00:21:49 +02:00
|
|
|
CTags format
|
|
|
|
************
|
|
|
|
This is the format that ctags generates, and that is used by Vim.
|
|
|
|
This format is compatible with the format historically used by Vi.
|
|
|
|
|
|
|
|
The format is described at http://ctags.sourceforge.net/FORMAT, but
|
|
|
|
for the full list of existing extensions please refer to ctags.
|
|
|
|
However, note that Geany may actually only honor a subset of the
|
|
|
|
existing extensions.
|
2009-01-14 16:08:00 +00:00
|
|
|
|
|
|
|
Generating a global tags file
|
|
|
|
`````````````````````````````
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
You can generate your own global tags files by parsing a list of
|
|
|
|
source files. The command is::
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
geany -g [-P] <Tags File> <File list>
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
* Tags File filename should be in the format described earlier --
|
|
|
|
see the section called `Global tags files`_.
|
2007-08-09 10:05:00 +00:00
|
|
|
* File list is a list of filenames, each with a full path (unless
|
2015-07-19 21:25:44 +02:00
|
|
|
you are generating C/C++ tags files and have set the CFLAGS environment
|
2007-08-09 10:05:00 +00:00
|
|
|
variable appropriately).
|
2007-09-28 15:43:01 +00:00
|
|
|
* ``-P`` or ``--no-preprocessing`` disables using the C pre-processor
|
|
|
|
to process ``#include`` directives for C/C++ source files. Use this
|
|
|
|
option if you want to specify each source file on the command-line
|
|
|
|
instead of using a 'master' header file. Also can be useful if you
|
|
|
|
don't want to specify the CFLAGS environment variable.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Example for the wxD library for the D programming language::
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
geany -g wxd.d.tags /home/username/wxd/wx/*.d
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
Generating C/C++ tags files
|
|
|
|
***************************
|
2012-04-24 16:33:31 +01:00
|
|
|
You may need to first setup the `C ignore.tags`_ file.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
For C/C++ tags files gcc is required by default, so that header files
|
2012-04-24 16:33:31 +01:00
|
|
|
can be preprocessed to include any other headers they depend upon. If
|
|
|
|
you do not want this, use the ``-P`` option described above.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2012-04-24 16:33:31 +01:00
|
|
|
For preprocessing, the environment variable CFLAGS should be set with
|
2007-08-09 10:05:00 +00:00
|
|
|
appropriate ``-I/path`` include paths. The following example works with
|
2015-07-19 21:25:44 +02:00
|
|
|
the bash shell, generating a tags file for the GnomeUI library::
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-12 19:30:45 +00:00
|
|
|
CFLAGS=`pkg-config --cflags libgnomeui-2.0` geany -g gnomeui.c.tags \
|
2007-08-09 10:05:00 +00:00
|
|
|
/usr/include/libgnomeui-2.0/gnome.h
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
You can adapt this command to use CFLAGS and header files appropriate
|
|
|
|
for whichever libraries you want.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
Generating tags files on Windows
|
|
|
|
********************************
|
2012-04-24 16:33:31 +01:00
|
|
|
This works basically the same as on other platforms::
|
2011-10-23 16:24:39 +02:00
|
|
|
|
|
|
|
"c:\program files\geany\bin\geany" -g c:\mytags.php.tags c:\code\somefile.php
|
|
|
|
|
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
C ignore.tags
|
2010-12-07 18:02:53 +00:00
|
|
|
^^^^^^^^^^^^^
|
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
You can ignore certain symbols for C-based languages if they would lead
|
2010-12-07 18:02:53 +00:00
|
|
|
to wrong parsing of the code. Use the *Tools->Configuration
|
|
|
|
Files->ignore.tags* menu item to open the user ``ignore.tags`` file.
|
|
|
|
See also `Configuration file paths`_.
|
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
List all symbol names you want to ignore in this file, separated by spaces
|
2010-12-07 18:02:53 +00:00
|
|
|
and/or newlines.
|
|
|
|
|
|
|
|
Example::
|
|
|
|
|
|
|
|
G_GNUC_NULL_TERMINATED
|
|
|
|
G_GNUC_PRINTF
|
|
|
|
G_GNUC_WARN_UNUSED_RESULT
|
|
|
|
|
|
|
|
This will parse code like:
|
2008-02-18 19:51:34 +00:00
|
|
|
|
2010-12-07 18:02:53 +00:00
|
|
|
``gchar **utils_strv_new(const gchar *first, ...)
|
|
|
|
G_GNUC_NULL_TERMINATED;``
|
2008-02-18 19:51:34 +00:00
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
More detailed information about ignore.tags usage from the Exuberant Ctags
|
2010-12-07 18:02:53 +00:00
|
|
|
manual page:
|
2008-02-18 19:51:34 +00:00
|
|
|
|
|
|
|
Specifies a list of identifiers which are to be specially handled
|
|
|
|
while parsing C and C++ source files. This option is specifically
|
|
|
|
provided to handle special cases arising through the use of
|
2008-11-18 17:46:24 +00:00
|
|
|
pre-processor macros. When the identifiers listed are simple identifiers,
|
2008-02-18 19:51:34 +00:00
|
|
|
these identifiers will be ignored during parsing of the source files.
|
|
|
|
If an identifier is suffixed with a '+' character, ctags will also
|
|
|
|
ignore any parenthesis-enclosed argument list which may immediately
|
|
|
|
follow the identifier in the source files.
|
|
|
|
If two identifiers are separated with the '=' character, the first
|
|
|
|
identifiers is replaced by the second identifiers for parsing purposes.
|
|
|
|
|
|
|
|
For even more detailed information please read the manual page of
|
|
|
|
Exuberant Ctags.
|
|
|
|
|
2012-04-25 15:54:56 +01:00
|
|
|
Geany extends Ctags with a '*' character suffix - this means use
|
|
|
|
prefix matching, e.g. G_GNUC_* will match G_GNUC_NULL_TERMINATED, etc.
|
|
|
|
Note that prefix match items should be put after other items to ensure
|
|
|
|
that items like G_GNUC_PRINTF+ get parsed correctly.
|
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
Preferences
|
2007-08-09 10:05:00 +00:00
|
|
|
-----------
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
You may adjust Geany's settings using the Edit --> Preferences
|
|
|
|
dialog. Any changes you make there can be applied by hitting either
|
2008-04-18 17:04:16 +00:00
|
|
|
the Apply or the OK button. These settings will persist between Geany
|
2007-08-09 10:05:00 +00:00
|
|
|
sessions. Note that most settings here have descriptive popup bubble
|
|
|
|
help -- just hover the mouse over the item in question to get help
|
|
|
|
on it.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
You may also adjust some View settings (under the View menu) that
|
|
|
|
persist between Geany sessions. The settings under the Document menu,
|
|
|
|
however, are only for the current document and revert to defaults
|
|
|
|
when restarting Geany.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
.. note::
|
|
|
|
In the paragraphs that follow, the text describing a dialog tab
|
2008-04-18 17:04:16 +00:00
|
|
|
comes after the screenshot of that tab.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2009-09-22 15:01:24 +00:00
|
|
|
General Startup preferences
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-02-13 18:13:58 +00:00
|
|
|
.. image:: ./images/pref_dialog_gen_startup.png
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Startup
|
|
|
|
```````
|
|
|
|
|
|
|
|
Load files from the last session
|
2008-04-18 17:04:16 +00:00
|
|
|
On startup, load the same files you had open the last time you
|
|
|
|
used Geany.
|
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Load virtual terminal support
|
2008-04-18 17:04:16 +00:00
|
|
|
Load the library for running a terminal in the message window area.
|
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Enable plugin support
|
|
|
|
Allow plugins to be used in Geany.
|
|
|
|
|
|
|
|
Shutdown
|
|
|
|
````````
|
|
|
|
Save window position and geometry
|
2008-04-18 17:04:16 +00:00
|
|
|
Save the current position and size of the main window so next time
|
|
|
|
you open Geany it's in the same location.
|
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Confirm Exit
|
2008-04-18 17:04:16 +00:00
|
|
|
Have a dialog pop up to confirm that you really want to quit Geany.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2009-02-13 18:13:58 +00:00
|
|
|
Paths
|
|
|
|
`````
|
|
|
|
|
|
|
|
Startup path
|
|
|
|
Path to start in when opening or saving files.
|
|
|
|
It must be an absolute path.
|
|
|
|
|
|
|
|
Project files
|
|
|
|
Path to start in when opening project files.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2009-03-13 10:02:29 +00:00
|
|
|
Extra plugin path
|
2011-11-16 17:26:19 +00:00
|
|
|
By default Geany looks in the system installation and the user
|
|
|
|
configuration - see `Plugins`_. In addition the path entered here will be
|
|
|
|
searched.
|
|
|
|
Usually you do not need to set an additional path to search for
|
|
|
|
plugins. It might be useful when Geany is installed on a multi-user machine
|
|
|
|
and additional plugins are available in a common location for all users.
|
|
|
|
Leave blank to not set an additional lookup path.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2009-02-13 18:13:58 +00:00
|
|
|
|
2009-09-22 15:01:24 +00:00
|
|
|
General Miscellaneous preferences
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2009-02-13 18:13:58 +00:00
|
|
|
|
|
|
|
.. image:: ./images/pref_dialog_gen_misc.png
|
2008-10-02 15:09:33 +00:00
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Miscellaneous
|
|
|
|
`````````````
|
|
|
|
|
|
|
|
Beep on errors when compilation has finished
|
|
|
|
Have the computer make a beeping sound when compilation of your program
|
|
|
|
has completed or any errors occurred.
|
|
|
|
|
2009-02-13 18:13:58 +00:00
|
|
|
Switch status message list at new message
|
|
|
|
Switch to the status message tab (in the notebook window at the bottom)
|
|
|
|
once a new status message arrives.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2009-01-15 19:51:18 +00:00
|
|
|
Suppress status messages in the status bar
|
|
|
|
Remove all messages from the status bar. The messages are still displayed
|
|
|
|
in the status messages window.
|
|
|
|
|
2010-02-24 15:08:41 +00:00
|
|
|
.. tip::
|
|
|
|
Another option is to use the *Switch to Editor* keybinding - it
|
|
|
|
reshows the document statistics on the status bar. See `Focus
|
|
|
|
keybindings`_.
|
|
|
|
|
2010-05-16 18:25:38 +00:00
|
|
|
Use Windows File Open/Save dialogs
|
|
|
|
Defines whether to use the native Windows File Open/Save dialogs or
|
2010-06-04 16:34:15 +00:00
|
|
|
whether to use the GTK default dialogs.
|
2010-05-16 18:25:38 +00:00
|
|
|
|
2009-07-14 11:25:07 +00:00
|
|
|
Auto-focus widgets (focus follows mouse)
|
2009-01-15 19:51:18 +00:00
|
|
|
Give the focus automatically to widgets below the mouse cursor.
|
|
|
|
This works for the main editor widget, the scribble, the toolbar search field
|
|
|
|
goto line fields and the VTE.
|
|
|
|
|
2009-02-13 18:13:58 +00:00
|
|
|
Search
|
2009-09-10 16:59:20 +00:00
|
|
|
``````
|
2009-01-15 19:51:18 +00:00
|
|
|
|
2012-07-26 15:33:10 +01:00
|
|
|
Always wrap search
|
|
|
|
Always wrap search around the document when finding a match.
|
|
|
|
|
|
|
|
Hide the Find dialog
|
|
|
|
Hide the `Find`_ dialog after clicking Find Next/Previous.
|
2009-01-15 19:51:18 +00:00
|
|
|
|
2009-02-13 18:13:58 +00:00
|
|
|
Use the current word under the cursor for Find dialogs
|
|
|
|
Use current word under the cursor when opening the Find, Find in Files or Replace dialog and
|
2009-09-27 16:54:03 +00:00
|
|
|
there is no selection. When this option is disabled, the search term last used in the
|
2009-02-13 18:13:58 +00:00
|
|
|
appropriate Find dialog is used.
|
|
|
|
|
|
|
|
Use the current file's directory for Find in Files
|
2012-07-26 16:13:34 +01:00
|
|
|
When opening the Find in Files dialog, set the directory to search to the directory of the current
|
2009-02-13 18:13:58 +00:00
|
|
|
active file. When this option is disabled, the directory of the last use of the Find in Files
|
2012-07-26 16:13:34 +01:00
|
|
|
dialog is used. See `Find in Files`_ for details.
|
2009-02-13 18:13:58 +00:00
|
|
|
|
|
|
|
Projects
|
|
|
|
````````
|
|
|
|
|
|
|
|
Use project-based session files
|
|
|
|
Save your current session when closing projects. You will be able to
|
|
|
|
resume different project sessions, automatically opening the files
|
|
|
|
you had open previously.
|
|
|
|
|
|
|
|
Store project file inside the project base directory
|
|
|
|
When creating new projects, the default path for the project file contains
|
|
|
|
the project base path. Without this option enabled, the default project file
|
|
|
|
path is one level above the project base path.
|
2009-09-27 16:54:03 +00:00
|
|
|
In either case, you can easily set the final project file path in the
|
|
|
|
*New Project* dialog. This option provides the more common
|
|
|
|
defaults automatically for convenience.
|
2009-01-15 19:51:18 +00:00
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-09-22 15:01:24 +00:00
|
|
|
Interface preferences
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2011-10-01 10:44:17 +00:00
|
|
|
.. image:: ./images/pref_dialog_interface_interface.png
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Sidebar
|
|
|
|
```````
|
|
|
|
|
2009-12-31 15:48:39 +00:00
|
|
|
Show sidebar
|
|
|
|
Whether to show the sidebar at all.
|
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Show symbol list
|
2008-04-18 17:04:16 +00:00
|
|
|
Show the list of functions, variables, and other information in the
|
|
|
|
current document you are editing.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Show documents list
|
2008-04-18 17:04:16 +00:00
|
|
|
Show all the documents you have open currently. This can be used to
|
|
|
|
change between documents (see `Switching between documents`_) and
|
|
|
|
to perform some common operations such as saving, closing and reloading.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2009-10-23 16:18:05 +00:00
|
|
|
Position
|
|
|
|
Whether to place the sidebar on the left or right of the editor window.
|
|
|
|
|
2015-01-28 15:55:33 +01:00
|
|
|
Message window
|
|
|
|
``````````````
|
|
|
|
|
|
|
|
Position
|
|
|
|
Whether to place the message window on the bottom or right of the editor window.
|
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Fonts
|
|
|
|
`````
|
|
|
|
|
|
|
|
Editor
|
2008-04-18 17:04:16 +00:00
|
|
|
Change the font used to display documents.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Symbol list
|
2008-04-18 17:04:16 +00:00
|
|
|
Change the font used for the Symbols sidebar tab.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Message window
|
2008-04-18 17:04:16 +00:00
|
|
|
Change the font used for the message window area.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2011-04-01 12:41:26 +00:00
|
|
|
Miscellaneous
|
|
|
|
`````````````
|
|
|
|
|
|
|
|
Show status bar
|
|
|
|
Show the status bar at the bottom of the main window. It gives information about
|
|
|
|
the file you are editing like the line and column you are on, whether any
|
|
|
|
modifications were done, the file encoding, the filetype and other information.
|
|
|
|
|
|
|
|
Interface Notebook tab preferences
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
2011-10-01 10:44:17 +00:00
|
|
|
.. image:: ./images/pref_dialog_interface_notebook.png
|
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Editor tabs
|
|
|
|
```````````
|
|
|
|
|
|
|
|
Show editor tabs
|
2008-04-18 17:04:16 +00:00
|
|
|
Show a notebook tab for all documents so you can switch between them
|
|
|
|
using the mouse (instead of using the Documents window).
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Show close buttons
|
2008-04-18 17:04:16 +00:00
|
|
|
Make each tab show a close button so you can easily close open
|
|
|
|
documents.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Placement of new file tabs
|
2008-04-18 17:04:16 +00:00
|
|
|
Whether to create a document with its notebook tab to the left or
|
|
|
|
right of all existing tabs.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2010-05-16 18:25:38 +00:00
|
|
|
Next to current
|
|
|
|
Whether to place file tabs next to the current tab
|
2010-06-04 16:34:15 +00:00
|
|
|
rather than at the edges of the notebook.
|
2010-05-16 18:25:38 +00:00
|
|
|
|
2008-12-11 16:29:54 +00:00
|
|
|
Double-clicking hides all additional widgets
|
|
|
|
Whether to call the View->Toggle All Additional Widgets command
|
|
|
|
when double-clicking on a notebook tab.
|
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Tab positions
|
|
|
|
`````````````
|
|
|
|
|
|
|
|
Editor
|
2008-04-18 17:04:16 +00:00
|
|
|
Set the positioning of the editor's notebook tabs to the right,
|
|
|
|
left, top, or bottom of the editing window.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Sidebar
|
2008-04-18 17:04:16 +00:00
|
|
|
Set the positioning of the sidebar's notebook tabs to the right,
|
|
|
|
left, top, or bottom of the sidebar window.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Message window
|
2008-04-18 17:04:16 +00:00
|
|
|
Set the positioning of the message window's notebook tabs to the
|
|
|
|
right, left, top, or bottom of the message window.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2011-04-01 12:41:26 +00:00
|
|
|
Interface Toolbar preferences
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-04-18 17:04:16 +00:00
|
|
|
Affects the main toolbar underneath the menu bar.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2011-10-01 10:44:17 +00:00
|
|
|
.. image:: ./images/pref_dialog_interface_toolbar.png
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Toolbar
|
|
|
|
```````
|
|
|
|
|
|
|
|
Show Toolbar
|
2008-04-18 17:04:16 +00:00
|
|
|
Whether to show the toolbar.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2009-03-29 16:15:35 +00:00
|
|
|
Append Toolbar to the Menu
|
|
|
|
Allows to append the toolbar to the main menu bar instead of placing it below.
|
|
|
|
This is useful to save vertical space.
|
|
|
|
|
2010-04-11 21:56:08 +00:00
|
|
|
Customize Toolbar
|
|
|
|
See `Customizing the toolbar`_.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Appearance
|
|
|
|
``````````
|
|
|
|
|
|
|
|
Icon Style
|
2008-04-18 17:04:16 +00:00
|
|
|
Select the toolbar icon style to use - either icons and text, just
|
|
|
|
icons or just text.
|
2010-04-11 21:56:08 +00:00
|
|
|
The choice System default uses whatever icon style is set by GTK.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Icon size
|
2009-03-29 16:15:35 +00:00
|
|
|
Select the size of the icons you see (large, small or very small).
|
2010-04-11 21:56:08 +00:00
|
|
|
The choice System default uses whatever icon size is set by GTK.
|
2009-09-22 17:46:33 +00:00
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-09-22 15:01:24 +00:00
|
|
|
Editor Features preferences
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-10-19 09:57:31 +00:00
|
|
|
.. image:: ./images/pref_dialog_edit_features.png
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-01-15 19:51:18 +00:00
|
|
|
Features
|
|
|
|
````````
|
|
|
|
|
|
|
|
Line wrapping
|
|
|
|
Show long lines wrapped around to new display lines.
|
|
|
|
|
2012-06-24 17:21:50 +01:00
|
|
|
.. _smart_home_key:
|
|
|
|
|
2010-11-23 13:43:36 +00:00
|
|
|
"Smart" home key
|
2009-01-15 19:51:18 +00:00
|
|
|
Whether to move the cursor to the first non-whitespace character
|
|
|
|
on the line when you hit the home key on your keyboard. Pressing it
|
|
|
|
again will go to the very start of the line.
|
|
|
|
|
|
|
|
Disable Drag and Drop
|
|
|
|
Do not allow the dragging and dropping of selected text in documents.
|
|
|
|
|
2010-11-23 13:43:36 +00:00
|
|
|
Code folding
|
2009-01-15 19:51:18 +00:00
|
|
|
Allow groups of lines in a document to be collapsed for easier
|
|
|
|
navigation/editing.
|
|
|
|
|
|
|
|
Fold/Unfold all children of a fold point
|
|
|
|
Whether to fold/unfold all child fold points when a parent line
|
|
|
|
is folded.
|
|
|
|
|
|
|
|
Use indicators to show compile errors
|
|
|
|
Underline lines with compile errors using red squiggles to indicate
|
|
|
|
them in the editor area.
|
|
|
|
|
2012-11-15 13:34:19 +00:00
|
|
|
Newline strips trailing spaces
|
|
|
|
Remove any whitespace at the end of the line when you hit the
|
2013-03-23 11:48:09 +11:00
|
|
|
Enter/Return key. See also `Strip trailing spaces`_. Note
|
|
|
|
auto indentation is calculated before stripping, so although this
|
|
|
|
setting will clear a blank line, it will not set the next line
|
|
|
|
indentation back to zero.
|
2009-01-15 19:51:18 +00:00
|
|
|
|
|
|
|
Line breaking column
|
|
|
|
The editor column number to insert a newline at when Line Breaking
|
|
|
|
is enabled for the current document.
|
|
|
|
|
|
|
|
Comment toggle marker
|
|
|
|
A string which is added when toggling a line comment in a source file.
|
|
|
|
It is used to mark the comment as toggled.
|
|
|
|
|
|
|
|
|
2009-09-22 15:01:24 +00:00
|
|
|
Editor Indentation preferences
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2009-01-15 19:51:18 +00:00
|
|
|
|
|
|
|
.. image:: ./images/pref_dialog_edit_indentation.png
|
|
|
|
|
2008-04-18 17:04:16 +00:00
|
|
|
Indentation group
|
|
|
|
`````````````````
|
2007-09-07 16:45:17 +00:00
|
|
|
|
2008-04-18 17:04:16 +00:00
|
|
|
See `Indentation`_ for more information.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2011-03-26 17:25:24 +00:00
|
|
|
Width
|
|
|
|
The width of a single indent size in spaces. By default the indent
|
|
|
|
size is equivalent to 4 spaces.
|
|
|
|
|
|
|
|
Detect width from file
|
|
|
|
Try to detect and set the indent width based on file content, when
|
|
|
|
a file is opened.
|
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Type
|
2008-10-16 16:43:36 +00:00
|
|
|
When Geany inserts indentation, whether to use:
|
|
|
|
|
|
|
|
* Just Tabs
|
|
|
|
* Just Spaces
|
|
|
|
* Tabs and Spaces, depending on how much indentation is on a line
|
|
|
|
|
|
|
|
The *Tabs and Spaces* indent type is also known as *Soft tab
|
|
|
|
support* in some other editors.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2011-03-26 17:25:24 +00:00
|
|
|
Detect type from file
|
2008-10-16 16:43:36 +00:00
|
|
|
Try to detect and set the indent type based on file content, when
|
|
|
|
a file is opened.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Auto-indent mode
|
2008-04-18 17:04:16 +00:00
|
|
|
The type of auto-indentation you wish to use after pressing Enter,
|
|
|
|
if any.
|
|
|
|
|
|
|
|
Basic
|
|
|
|
Just add the indentation of the previous line.
|
|
|
|
Current chars
|
|
|
|
Add indentation based on the current filetype and any characters at
|
|
|
|
the end of the line such as ``{``, ``}`` for C, ``:`` for Python.
|
|
|
|
Match braces
|
|
|
|
Like *Current chars* but for C-like languages, make a closing
|
|
|
|
``}`` brace line up with the matching opening brace.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2008-09-18 12:43:41 +00:00
|
|
|
Tab key indents
|
|
|
|
If set, pressing tab will indent the current line or selection, and
|
|
|
|
unindent when pressing Shift-tab. Otherwise, the tab key will
|
|
|
|
insert a tab character into the document (which can be different
|
|
|
|
from indentation, depending on the indent type).
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
There are also separate configurable keybindings for indent &
|
2009-09-27 16:54:03 +00:00
|
|
|
unindent, but this preference allows the tab key to have different
|
2008-09-18 12:43:41 +00:00
|
|
|
meanings in different contexts - e.g. for snippet completion.
|
|
|
|
|
2009-09-22 15:01:24 +00:00
|
|
|
Editor Completions preferences
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2008-10-19 09:57:31 +00:00
|
|
|
.. image:: ./images/pref_dialog_edit_completions.png
|
|
|
|
|
2009-01-15 19:51:18 +00:00
|
|
|
Completions
|
|
|
|
```````````
|
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Snippet Completion
|
2008-04-18 17:04:16 +00:00
|
|
|
Whether to replace special keywords after typing Tab into a
|
|
|
|
pre-defined text snippet.
|
|
|
|
See `User-definable snippets`_.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2010-11-23 13:43:36 +00:00
|
|
|
XML/HTML tag auto-closing
|
|
|
|
When you open an XML/HTML tag automatically generate its
|
|
|
|
completion tag.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2008-05-14 15:36:27 +00:00
|
|
|
Automatic continuation multi-line comments
|
|
|
|
Continue automatically multi-line comments in languages like C, C++
|
|
|
|
and Java when a new line is entered inside such a comment.
|
|
|
|
With this option enabled, Geany will insert a ``*`` on every new line
|
|
|
|
inside a multi-line comment, for example when you press return in the
|
|
|
|
following C code::
|
|
|
|
|
|
|
|
/*
|
|
|
|
* This is a C multi-line comment, press <Return>
|
|
|
|
|
|
|
|
then Geany would insert::
|
|
|
|
|
|
|
|
*
|
|
|
|
|
|
|
|
on the next line with the correct indentation based on the previous line,
|
|
|
|
as long as the multi-line is not closed by ``*/``.
|
|
|
|
|
2009-07-08 22:38:55 +00:00
|
|
|
Autocomplete symbols
|
2008-04-18 17:04:16 +00:00
|
|
|
When you start to type a symbol name, look for the full string to
|
|
|
|
allow it to be completed for you.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2009-07-09 11:18:45 +00:00
|
|
|
Autocomplete all words in document
|
2009-07-08 22:38:55 +00:00
|
|
|
When you start to type a word, Geany will search the whole document for
|
2009-07-09 11:18:45 +00:00
|
|
|
words starting with the typed part to complete it, assuming there
|
2015-07-19 21:25:44 +02:00
|
|
|
are no symbol names to show.
|
2009-07-09 11:18:45 +00:00
|
|
|
|
|
|
|
Drop rest of word on completion
|
|
|
|
Remove any word part to the right of the cursor when choosing a
|
2009-07-09 11:54:14 +00:00
|
|
|
completion list item.
|
2009-07-08 22:38:55 +00:00
|
|
|
|
2009-07-09 11:54:14 +00:00
|
|
|
Characters to type for autocompletion
|
2009-07-08 12:29:20 +00:00
|
|
|
Number of characters of a word to type before autocompletion is
|
2008-04-18 17:04:16 +00:00
|
|
|
displayed.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2009-07-09 11:54:14 +00:00
|
|
|
Completion list height
|
|
|
|
The number of rows to display for the autocompletion window.
|
2008-10-02 15:09:33 +00:00
|
|
|
|
|
|
|
Max. symbol name suggestions
|
2009-07-09 11:54:14 +00:00
|
|
|
The maximum number of items in the autocompletion list.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2011-03-23 22:36:56 +00:00
|
|
|
Symbol list update frequency
|
|
|
|
The minimum delay (in milliseconds) between two symbol list updates.
|
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
This option determines how frequently the symbol list is updated for the
|
2011-03-24 02:11:46 +00:00
|
|
|
current document. The smaller the delay, the more up-to-date the symbol
|
|
|
|
list (and then the completions); but rebuilding the symbol list has a
|
|
|
|
cost in performance, especially with large files.
|
2011-03-23 22:36:56 +00:00
|
|
|
|
2011-03-24 02:11:46 +00:00
|
|
|
The default value is 250ms, which means the symbol list will be updated
|
|
|
|
at most four times per second, even if the document changes continuously.
|
2011-03-23 22:36:56 +00:00
|
|
|
|
|
|
|
A value of 0 disables automatic updates, so the symbol list will only be
|
|
|
|
updated upon document saving.
|
|
|
|
|
2007-09-07 16:45:17 +00:00
|
|
|
|
2009-01-15 19:51:18 +00:00
|
|
|
Auto-close quotes and brackets
|
|
|
|
``````````````````````````````
|
|
|
|
|
|
|
|
Geany can automatically insert a closing bracket and quote characters when
|
|
|
|
you open them. For instance, you type a ``(`` and Geany will automatically
|
|
|
|
insert ``)``. With the following options, you can define for which
|
|
|
|
characters this should work.
|
|
|
|
|
|
|
|
Parenthesis ( )
|
|
|
|
Auto-close parenthesis when typing an opening one
|
|
|
|
|
|
|
|
Curly brackets { }
|
2009-09-27 16:54:03 +00:00
|
|
|
Auto-close curly brackets (braces) when typing an opening one
|
2009-01-15 19:51:18 +00:00
|
|
|
|
|
|
|
Square brackets [ ]
|
2009-09-27 16:54:03 +00:00
|
|
|
Auto-close square brackets when typing an opening one
|
2009-01-15 19:51:18 +00:00
|
|
|
|
|
|
|
Single quotes ' '
|
2009-09-27 16:54:03 +00:00
|
|
|
Auto-close single quotes when typing an opening one
|
2009-01-15 19:51:18 +00:00
|
|
|
|
|
|
|
Double quotes " "
|
2009-09-27 16:54:03 +00:00
|
|
|
Auto-close double quotes when typing an opening one
|
2009-01-15 19:51:18 +00:00
|
|
|
|
|
|
|
|
2009-09-22 15:01:24 +00:00
|
|
|
Editor Display preferences
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2008-06-24 14:32:54 +00:00
|
|
|
|
|
|
|
This is for visual elements displayed in the editor window.
|
|
|
|
|
2008-10-19 09:57:31 +00:00
|
|
|
.. image:: ./images/pref_dialog_edit_display.png
|
2008-06-24 14:32:54 +00:00
|
|
|
|
|
|
|
Display
|
|
|
|
```````
|
|
|
|
|
2009-01-15 19:15:41 +00:00
|
|
|
Invert syntax highlighting colors
|
2009-09-14 11:53:08 +00:00
|
|
|
Invert all colors, by default this makes white text on a black
|
|
|
|
background.
|
2009-01-15 19:15:41 +00:00
|
|
|
|
2008-06-24 14:32:54 +00:00
|
|
|
Show indendation guides
|
|
|
|
Show vertical lines to help show how much leading indentation there
|
|
|
|
is on each line.
|
|
|
|
|
|
|
|
Show whitespaces
|
|
|
|
Mark all tabs with an arrow "-->" symbol and spaces with dots to
|
|
|
|
show which kinds of whitespace are used.
|
|
|
|
|
|
|
|
Show line endings
|
2009-01-15 19:51:18 +00:00
|
|
|
Display a symbol everywhere that a carriage return or line feed
|
2008-06-24 14:32:54 +00:00
|
|
|
is present.
|
|
|
|
|
2009-01-15 19:15:41 +00:00
|
|
|
Show line numbers
|
2009-01-15 19:51:18 +00:00
|
|
|
Show or hide the Line Number margin.
|
2009-01-15 19:15:41 +00:00
|
|
|
|
|
|
|
Show markers margin
|
2009-01-15 19:51:18 +00:00
|
|
|
Show or hide the small margin right of the line numbers, which is used
|
|
|
|
to mark lines.
|
2009-01-15 19:15:41 +00:00
|
|
|
|
2008-09-01 11:18:06 +00:00
|
|
|
Stop scrolling at last line
|
|
|
|
When enabled Geany stops scrolling when at the last line of the document.
|
|
|
|
Otherwise you can scroll one more page even if there are no real lines.
|
|
|
|
|
2016-07-29 16:06:58 +02:00
|
|
|
Lines visible around the cursor
|
|
|
|
The number of lines to maintain between the cursor and the top and bottom
|
|
|
|
edges of the view. This allows some lines of context around the cursor to
|
|
|
|
always be visible. If *Stop scrolling at last line* is disabled, the cursor
|
|
|
|
will never reach the bottom edge when this value is greater than 0.
|
|
|
|
|
2008-09-01 11:18:06 +00:00
|
|
|
|
2008-06-24 14:32:54 +00:00
|
|
|
Long line marker
|
|
|
|
````````````````
|
|
|
|
|
|
|
|
The long line marker helps to indicate overly-long lines, or as a hint
|
|
|
|
to the user for when to break the line.
|
|
|
|
|
|
|
|
Type
|
|
|
|
Line
|
|
|
|
Show a thin vertical line in the editor window at the given column
|
|
|
|
position.
|
|
|
|
Background
|
|
|
|
Change the background color of characters after the given column
|
|
|
|
position to the color set below. (This is recommended over the
|
|
|
|
*Line* setting if you use proportional fonts).
|
|
|
|
Disabled
|
|
|
|
Don't mark long lines at all.
|
|
|
|
|
|
|
|
Long line marker
|
|
|
|
Set this value to a value greater than zero to specify the column
|
|
|
|
where it should appear.
|
|
|
|
|
|
|
|
Long line marker color
|
|
|
|
Set the color of the long line marker.
|
|
|
|
|
|
|
|
|
2010-03-07 10:36:27 +00:00
|
|
|
Virtual spaces
|
|
|
|
``````````````
|
|
|
|
|
|
|
|
Virtual space is space beyond the end of each line.
|
|
|
|
The cursor may be moved into virtual space but no real space will be
|
|
|
|
added to the document until there is some text typed or some other
|
|
|
|
text insertion command is used.
|
|
|
|
|
|
|
|
Disabled
|
|
|
|
Do not show virtual spaces
|
|
|
|
|
|
|
|
Only for rectangular selections
|
|
|
|
Only show virtual spaces beyond the end of lines when drawing a rectangular selection
|
|
|
|
|
|
|
|
Always
|
|
|
|
Always show virtual spaces beyond the end of lines
|
|
|
|
|
|
|
|
|
2009-09-22 15:01:24 +00:00
|
|
|
Files preferences
|
|
|
|
^^^^^^^^^^^^^^^^^
|
2007-09-07 16:45:17 +00:00
|
|
|
|
|
|
|
.. image:: ./images/pref_dialog_files.png
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
New files
|
|
|
|
`````````
|
|
|
|
|
2008-10-16 16:43:36 +00:00
|
|
|
Open new documents from the command-line
|
|
|
|
Whether to create new documents when passing filenames that don't
|
|
|
|
exist from the command-line.
|
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Default encoding (new files)
|
2008-04-18 17:04:16 +00:00
|
|
|
The type of file encoding you wish to use when creating files.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Used fixed encoding when opening files
|
2008-04-18 17:04:16 +00:00
|
|
|
Assume all files you are opening are using the type of encoding specified below.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Default encoding (existing files)
|
|
|
|
Opens all files with the specified encoding instead of auto-detecting it.
|
2008-04-18 17:04:16 +00:00
|
|
|
Use this option when it's not possible for Geany to detect the exact encoding.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2008-05-14 15:36:27 +00:00
|
|
|
Default end of line characters
|
|
|
|
The end of line characters to which should be used for new files.
|
|
|
|
On Windows systems, you generally want to use CR/LF which are the common
|
|
|
|
characters to mark line breaks.
|
|
|
|
On Unix-like systems, LF is default and CR is used on MAC systems.
|
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Saving files
|
|
|
|
````````````
|
2009-09-27 16:54:03 +00:00
|
|
|
Perform formatting operations when a document is saved. These
|
|
|
|
can each be undone with the Undo command.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Ensure newline at file end
|
2008-04-18 17:04:16 +00:00
|
|
|
Add a newline at the end of the document if one is missing.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2010-10-26 15:13:42 +00:00
|
|
|
Ensure consistent line endings
|
|
|
|
Ensures that newline characters always get converted before
|
|
|
|
saving, avoiding mixed line endings in the same file.
|
|
|
|
|
2012-11-15 13:34:19 +00:00
|
|
|
.. _Strip trailing spaces:
|
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Strip trailing spaces
|
2012-11-15 13:34:19 +00:00
|
|
|
Remove any whitespace at the end of each document line.
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
This does not apply to Diff documents, e.g. patch files.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2013-10-28 16:03:02 +00:00
|
|
|
Replace tabs with spaces
|
2008-04-18 17:04:16 +00:00
|
|
|
Replace all tabs in the document with the equivalent number of spaces.
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
It is better to use spaces to indent than use this preference - see
|
|
|
|
`Indentation`_.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Miscellaneous
|
|
|
|
`````````````
|
|
|
|
|
|
|
|
Recent files list length
|
2008-04-18 17:04:16 +00:00
|
|
|
The number of files to remember in the recently used files list.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2008-05-09 14:37:30 +00:00
|
|
|
Disk check timeout
|
|
|
|
The number of seconds to periodically check the current document's
|
2009-02-13 18:13:58 +00:00
|
|
|
file on disk in case it has changed. Setting it to 0 will disable
|
|
|
|
this feature.
|
2008-10-02 15:09:33 +00:00
|
|
|
|
2009-02-13 18:13:58 +00:00
|
|
|
.. note::
|
|
|
|
These checks are only performed on local files. Remote files are
|
|
|
|
not checked for changes due to performance issues
|
|
|
|
(remote files are files in ``~/.gvfs/``).
|
2008-10-02 15:09:33 +00:00
|
|
|
|
|
|
|
|
2009-09-22 15:01:24 +00:00
|
|
|
Tools preferences
|
|
|
|
^^^^^^^^^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
.. image:: ./images/pref_dialog_tools.png
|
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Tool paths
|
|
|
|
``````````
|
|
|
|
|
|
|
|
Terminal
|
2013-01-24 18:25:44 +11:00
|
|
|
The command to execute a script in a terminal. Occurrences of %c
|
2013-02-21 17:07:42 +11:00
|
|
|
in the command are substituted with the run script name, see
|
|
|
|
`Terminal emulators`_.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Browser
|
|
|
|
The location of your web browser executable.
|
|
|
|
|
|
|
|
Grep
|
|
|
|
The location of the grep executable.
|
|
|
|
|
|
|
|
.. note::
|
2008-04-18 17:04:16 +00:00
|
|
|
For Windows users: at the time of writing it is recommended to use
|
|
|
|
the grep.exe from the UnxUtils project
|
2008-04-11 15:32:48 +00:00
|
|
|
(http://sourceforge.net/projects/unxutils). The grep.exe from the
|
2008-04-18 17:04:16 +00:00
|
|
|
Mingw project for instance might not work with Geany at the moment.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Commands
|
|
|
|
````````
|
|
|
|
|
|
|
|
Context action
|
2008-04-18 17:04:16 +00:00
|
|
|
Set this to a command to execute on the current word.
|
2008-04-11 15:32:48 +00:00
|
|
|
You can use the "%s" wildcard to pass the current word below the cursor
|
|
|
|
to the specified command.
|
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-09-22 15:01:24 +00:00
|
|
|
Template preferences
|
|
|
|
^^^^^^^^^^^^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-11-18 17:46:24 +00:00
|
|
|
This data is used as meta data for various template text to insert into
|
2008-04-18 17:04:16 +00:00
|
|
|
a document, such as the file header. You only need to set fields that
|
|
|
|
you want to use in your template files.
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
.. image:: ./images/pref_dialog_templ.png
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Template data
|
|
|
|
`````````````
|
|
|
|
|
|
|
|
Developer
|
|
|
|
The name of the developer who will be creating files.
|
2008-04-18 17:04:16 +00:00
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Initials
|
|
|
|
The initials of the developer.
|
|
|
|
|
|
|
|
Mail address
|
|
|
|
The email address of the developer.
|
|
|
|
|
2008-04-18 17:04:16 +00:00
|
|
|
.. note::
|
|
|
|
You may wish to add anti-spam markup, e.g. ``name<at>site<dot>ext``.
|
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Company
|
|
|
|
The company the developer is working for.
|
|
|
|
|
|
|
|
Initial version
|
2008-04-18 17:04:16 +00:00
|
|
|
The initial version of files you will be creating.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2008-07-13 11:51:00 +00:00
|
|
|
Year
|
2014-12-11 22:58:57 +01:00
|
|
|
Specify a format for the {year} wildcard. You can use any conversion specifiers
|
2008-07-13 11:51:00 +00:00
|
|
|
which can be used with the ANSI C strftime function. For details please see
|
|
|
|
http://man.cx/strftime.
|
|
|
|
|
|
|
|
Date
|
2014-12-11 22:58:57 +01:00
|
|
|
Specify a format for the {date} wildcard. You can use any conversion specifiers
|
2008-07-13 11:51:00 +00:00
|
|
|
which can be used with the ANSI C strftime function. For details please see
|
|
|
|
http://man.cx/strftime.
|
|
|
|
|
|
|
|
Date & Time
|
2014-12-11 22:58:57 +01:00
|
|
|
Specify a format for the {datetime} wildcard. You can use any conversion specifiers
|
2008-07-13 11:51:00 +00:00
|
|
|
which can be used with the ANSI C strftime function. For details please see
|
|
|
|
http://man.cx/strftime.
|
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-09-22 15:01:24 +00:00
|
|
|
Keybinding preferences
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
.. image:: ./images/pref_dialog_keys.png
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
There are some commands listed in the keybinding dialog that are not, by default,
|
2007-08-29 15:14:07 +00:00
|
|
|
bound to a key combination, and may not be available as a menu item.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
.. note::
|
2009-09-27 16:54:03 +00:00
|
|
|
For more information see the section `Keybindings`_.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2009-09-22 15:01:24 +00:00
|
|
|
Printing preferences
|
|
|
|
^^^^^^^^^^^^^^^^^^^^
|
2008-02-04 08:27:29 +00:00
|
|
|
|
|
|
|
.. image:: ./images/pref_dialog_printing.png
|
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Use external command for printing
|
|
|
|
Use a system command to print your file out.
|
|
|
|
|
|
|
|
Use native GTK printing
|
2008-04-18 17:04:16 +00:00
|
|
|
Let the GTK GUI toolkit handle your print request.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Print line numbers
|
|
|
|
Print the line numbers on the left of your paper.
|
|
|
|
|
|
|
|
Print page number
|
2008-04-18 17:04:16 +00:00
|
|
|
Print the page number on the bottom right of your paper.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Print page header
|
2008-04-18 17:04:16 +00:00
|
|
|
Print a header on every page that is sent to the printer.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Use base name of the printed file
|
2008-04-18 17:04:16 +00:00
|
|
|
Don't use the entire path for the header, only the filename.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Date format
|
2008-04-18 17:04:16 +00:00
|
|
|
How the date should be printed. You can use the same format
|
|
|
|
specifiers as in the ANSI C function strftime(). For details please
|
|
|
|
see http://man.cx/strftime.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
2008-02-04 08:27:29 +00:00
|
|
|
|
2011-07-28 17:59:22 +00:00
|
|
|
Various preferences
|
|
|
|
^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
.. image:: ./images/pref_dialog_various.png
|
|
|
|
|
|
|
|
Rarely used preferences, explained in the table below. A few of them require
|
|
|
|
restart to take effect, and a few other will only affect newly opened or created
|
|
|
|
documents before restart.
|
|
|
|
|
2013-04-14 18:57:37 -07:00
|
|
|
================================ =========================================== ========== ===========
|
|
|
|
Key Description Default Applies
|
|
|
|
================================ =========================================== ========== ===========
|
2011-07-28 17:59:22 +00:00
|
|
|
**Editor related**
|
2013-04-14 18:57:37 -07:00
|
|
|
use_gtk_word_boundaries Whether to look for the end of a word true to new
|
|
|
|
when using word-boundary related documents
|
2011-07-28 17:59:22 +00:00
|
|
|
Scintilla commands (see `Scintilla
|
|
|
|
keyboard commands`_).
|
2013-04-14 18:57:37 -07:00
|
|
|
brace_match_ltgt Whether to highlight <, > angle brackets. false immediately
|
|
|
|
complete_snippets_whilst_editing Whether to allow completion of snippets false immediately
|
2011-07-28 17:59:22 +00:00
|
|
|
when editing an existing line (i.e. there
|
|
|
|
is some text after the current cursor
|
|
|
|
position on the line). Only used when the
|
|
|
|
keybinding `Complete snippet` is set to
|
|
|
|
``Space``.
|
2013-04-14 18:57:37 -07:00
|
|
|
show_editor_scrollbars Whether to display scrollbars. If set to true immediately
|
2011-07-28 17:59:22 +00:00
|
|
|
false, the horizontal and vertical
|
|
|
|
scrollbars are hidden completely.
|
2013-04-14 18:57:37 -07:00
|
|
|
indent_hard_tab_width The size of a tab character. Don't change 8 immediately
|
2011-07-28 17:59:22 +00:00
|
|
|
it unless you really need to; use the
|
|
|
|
indentation settings instead.
|
2017-06-10 21:18:43 +08:00
|
|
|
editor_ime_interaction Input method editor (IME)'s candidate 0 to new
|
|
|
|
window behaviour. May be 0 (windowed) or documents
|
|
|
|
1 (inline)
|
2011-07-28 17:59:22 +00:00
|
|
|
**Interface related**
|
2013-04-14 18:57:37 -07:00
|
|
|
show_symbol_list_expanders Whether to show or hide the small true to new
|
|
|
|
expander icons on the symbol list documents
|
2012-12-02 16:45:17 +01:00
|
|
|
treeview.
|
2013-04-14 18:57:37 -07:00
|
|
|
allow_always_save Whether files can be saved always, even false immediately
|
2012-12-02 16:45:17 +01:00
|
|
|
if they don't have any changes.
|
|
|
|
By default, the Save button and menu
|
|
|
|
item are disabled when a file is
|
2011-07-28 17:59:22 +00:00
|
|
|
unchanged. When setting this option to
|
|
|
|
true, the Save button and menu item are
|
|
|
|
always active and files can be saved.
|
2013-04-14 18:57:37 -07:00
|
|
|
compiler_tab_autoscroll Whether to automatically scroll to the true immediately
|
2011-07-28 17:59:22 +00:00
|
|
|
last line of the output in the Compiler
|
|
|
|
tab.
|
2013-04-14 18:57:37 -07:00
|
|
|
statusbar_template The status bar statistics line format. See below. immediately
|
|
|
|
(See `Statusbar Templates`_ for details).
|
|
|
|
new_document_after_close Whether to open a new document after all false immediately
|
2011-07-28 17:59:22 +00:00
|
|
|
documents have been closed.
|
2013-04-14 18:57:37 -07:00
|
|
|
msgwin_status_visible Whether to show the Status tab in the true immediately
|
2011-07-28 17:59:22 +00:00
|
|
|
Messages Window
|
2013-04-14 18:57:37 -07:00
|
|
|
msgwin_compiler_visible Whether to show the Compiler tab in the true immediately
|
2011-07-28 17:59:22 +00:00
|
|
|
Messages Window
|
2013-04-14 18:57:37 -07:00
|
|
|
msgwin_messages_visible Whether to show the Messages tab in the true immediately
|
2011-07-28 17:59:22 +00:00
|
|
|
Messages Window
|
2013-04-14 18:57:37 -07:00
|
|
|
msgwin_scribble_visible Whether to show the Scribble tab in the true immediately
|
2011-07-28 17:59:22 +00:00
|
|
|
Messages Window
|
|
|
|
**VTE related**
|
2011-10-22 22:55:57 +11:00
|
|
|
send_selection_unsafe By default, Geany strips any trailing false immediately
|
2011-07-28 17:59:22 +00:00
|
|
|
newline characters from the current
|
|
|
|
selection before sending it to the terminal
|
|
|
|
to not execute arbitrary code. This is
|
|
|
|
mainly a security feature.
|
|
|
|
If, for whatever reasons, you really want
|
|
|
|
it to be executed directly, set this option
|
|
|
|
to true.
|
2011-11-17 03:36:11 +01:00
|
|
|
send_cmd_prefix String with which prefix the commands sent Empty immediately
|
|
|
|
to the shell. This may be used to tell
|
|
|
|
some shells (BASH with ``HISTCONTROL`` set
|
|
|
|
to ``ignorespace``, ZSH with
|
|
|
|
``HIST_IGNORE_SPACE`` enabled, etc.) from
|
|
|
|
putting these commands in their history by
|
|
|
|
setting this to a space. Note that leading
|
|
|
|
spaces must be escaped using `\s` in the
|
|
|
|
configuration file.
|
2011-07-28 17:59:22 +00:00
|
|
|
**File related**
|
2011-10-22 22:55:57 +11:00
|
|
|
use_atomic_file_saving Defines the mode how Geany saves files to false immediately
|
2011-07-28 17:59:22 +00:00
|
|
|
disk. If disabled, Geany directly writes
|
|
|
|
the content of the document to disk. This
|
2011-09-21 13:31:00 +00:00
|
|
|
might cause loss of data when there is
|
2011-07-28 17:59:22 +00:00
|
|
|
no more free space on disk to save the
|
|
|
|
file. When set to true, Geany first saves
|
|
|
|
the contents into a temporary file and if
|
|
|
|
this succeeded, the temporary file is
|
|
|
|
moved to the real file to save.
|
|
|
|
This gives better error checking in case of
|
|
|
|
no more free disk space. But it also
|
|
|
|
destroys hard links of the original file
|
|
|
|
and its permissions (e.g. executable flags
|
|
|
|
are reset). Use this with care as it can
|
|
|
|
break things seriously.
|
|
|
|
The better approach would be to ensure your
|
|
|
|
disk won't run out of free space.
|
2011-10-22 22:55:57 +11:00
|
|
|
use_gio_unsafe_file_saving Whether to use GIO as the unsafe file true immediately
|
2011-07-28 17:59:22 +00:00
|
|
|
saving backend. It is better on most
|
|
|
|
situations but is known not to work
|
|
|
|
correctly on some complex setups.
|
2011-10-22 22:55:57 +11:00
|
|
|
gio_unsafe_save_backup Make a backup when using GIO unsafe file false immediately
|
2011-07-28 17:59:22 +00:00
|
|
|
saving. Backup is named `filename~`.
|
2015-10-30 15:27:52 +01:00
|
|
|
keep_edit_history_on_reload Whether to maintain the edit history when true immediately
|
2013-11-06 14:28:43 +00:00
|
|
|
reloading a file, and allow the operation
|
|
|
|
to be reverted.
|
2017-07-17 08:44:54 +01:00
|
|
|
reload_clean_doc_on_file_change Whether to automatically reload documents false immediately
|
|
|
|
that have no changes but which have changed
|
|
|
|
on disk.
|
|
|
|
If unsaved changes exist then the user is
|
|
|
|
prompted to reload manually.
|
2011-10-22 22:55:57 +11:00
|
|
|
**Filetype related**
|
|
|
|
extract_filetype_regex Regex to extract filetype name from file See below. immediately
|
|
|
|
via capture group one.
|
2011-07-28 17:59:22 +00:00
|
|
|
**Search related**
|
2011-10-22 22:55:57 +11:00
|
|
|
find_selection_type See `Find selection`_. 0 immediately
|
2014-10-09 23:57:03 +02:00
|
|
|
**Replace related**
|
2014-10-10 18:40:54 -07:00
|
|
|
replace_and_find_by_default Set ``Replace & Find`` button as default so true immediately
|
2014-10-09 23:57:03 +02:00
|
|
|
it will be activated when the Enter key is
|
|
|
|
pressed while one of the text fields has
|
2014-10-10 00:26:25 +02:00
|
|
|
focus.
|
2011-07-28 17:59:22 +00:00
|
|
|
**Build Menu related**
|
2011-10-22 22:55:57 +11:00
|
|
|
number_ft_menu_items The maximum number of menu items in the 2 on restart
|
2011-07-28 17:59:22 +00:00
|
|
|
filetype section of the Build menu.
|
2011-10-22 22:55:57 +11:00
|
|
|
number_non_ft_menu_items The maximum number of menu items in the 3 on restart
|
2011-07-28 17:59:22 +00:00
|
|
|
independent section of the Build menu.
|
2011-10-22 22:55:57 +11:00
|
|
|
number_exec_menu_items The maximum number of menu items in the 2 on restart
|
2011-07-28 17:59:22 +00:00
|
|
|
execute section of the Build menu.
|
2011-10-22 22:55:57 +11:00
|
|
|
================================ =========================================== ========== ===========
|
2011-07-28 17:59:22 +00:00
|
|
|
|
2011-10-22 22:55:57 +11:00
|
|
|
The extract_filetype_regex has the default value GEANY_DEFAULT_FILETYPE_REGEX.
|
2011-07-28 17:59:22 +00:00
|
|
|
|
2013-04-14 18:57:37 -07:00
|
|
|
Statusbar Templates
|
|
|
|
```````````````````
|
|
|
|
|
|
|
|
The default statusbar template is (note ``\t`` = tab):
|
|
|
|
|
|
|
|
``line: %l / %L\t col: %c\t sel: %s\t %w %t %mmode: %M encoding: %e filetype: %f scope: %S``
|
|
|
|
|
|
|
|
Settings the preference to an empty string will also cause Geany to use this
|
|
|
|
internal default.
|
|
|
|
|
|
|
|
The following format characters are available for the statusbar template:
|
|
|
|
|
|
|
|
============ ===========================================================
|
|
|
|
Placeholder Description
|
|
|
|
============ ===========================================================
|
|
|
|
``%l`` The current line number starting at 1
|
|
|
|
``%L`` The total number of lines
|
2015-03-03 16:09:19 +02:00
|
|
|
``%c`` The current column number starting at 0, including virtual
|
|
|
|
space.
|
|
|
|
``%C`` The current column number starting at 1, including virtual
|
|
|
|
space.
|
2013-04-14 18:57:37 -07:00
|
|
|
``%s`` The number of selected characters or if only whole lines
|
|
|
|
selected, the number of selected lines.
|
2015-03-03 16:09:19 +02:00
|
|
|
``%n`` The number of selected characters, even if only whole lines
|
|
|
|
are selected.
|
2013-04-14 18:57:37 -07:00
|
|
|
``%w`` Shows ``RO`` when the document is in read-only mode,
|
|
|
|
otherwise shows whether the editor is in overtype (OVR)
|
|
|
|
or insert (INS) mode.
|
|
|
|
``%t`` Shows the indentation mode, either tabs (TAB),
|
|
|
|
spaces (SP) or both (T/S).
|
|
|
|
``%m`` Shows whether the document is modified (MOD) or nothing.
|
|
|
|
``%M`` The name of the document's line-endings (ex. ``Unix (LF)``)
|
|
|
|
``%e`` The name of the document's encoding (ex. UTF-8).
|
|
|
|
``%f`` The filetype of the document (ex. None, Python, C, etc).
|
|
|
|
``%S`` The name of the scope where the caret is located.
|
|
|
|
``%p`` The caret position in the entire document starting at 0.
|
|
|
|
``%r`` Shows whether the document is read-only (RO) or nothing.
|
|
|
|
``%Y`` The Scintilla style number at the caret position. This is
|
|
|
|
useful if you're debugging color schemes or related code.
|
|
|
|
============ ===========================================================
|
|
|
|
|
2009-09-22 15:01:24 +00:00
|
|
|
Terminal (VTE) preferences
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-04-18 17:04:16 +00:00
|
|
|
See also: `Virtual terminal emulator widget (VTE)`_.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
.. image:: ./images/pref_dialog_vte.png
|
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Terminal widget
|
|
|
|
```````````````
|
|
|
|
|
|
|
|
Terminal font
|
2008-04-18 17:04:16 +00:00
|
|
|
Select the font that will be used in the terminal emulation control.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Foreground color
|
|
|
|
Select the font color.
|
|
|
|
|
|
|
|
Background color
|
|
|
|
Select the background color of the terminal.
|
|
|
|
|
2013-01-06 19:15:00 -08:00
|
|
|
Background image
|
|
|
|
Select the background image to show behind the terminal's text.
|
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Scrollback lines
|
|
|
|
The number of lines buffered so that you can scroll though the history.
|
|
|
|
|
|
|
|
Shell
|
|
|
|
The location of the shell on your system.
|
|
|
|
|
|
|
|
Scroll on keystroke
|
2008-04-18 17:04:16 +00:00
|
|
|
Scroll the terminal to the prompt line when pressing a key.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Scroll on output
|
|
|
|
Scroll the output down.
|
|
|
|
|
2009-01-15 19:51:18 +00:00
|
|
|
Cursor blinks
|
|
|
|
Let the terminal cursor blink.
|
|
|
|
|
2008-04-11 15:32:48 +00:00
|
|
|
Override Geany keybindings
|
2009-01-15 19:51:18 +00:00
|
|
|
Allow the VTE to receive keyboard shortcuts (apart from focus commands).
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Disable menu shortcut key (F10 by default)
|
|
|
|
Disable the menu shortcut when you are in the virtual terminal.
|
|
|
|
|
|
|
|
Follow path of the current file
|
2008-04-18 17:04:16 +00:00
|
|
|
Make the path of the terminal change according to the path of the
|
|
|
|
current file.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Execute programs in VTE
|
2008-04-18 17:04:16 +00:00
|
|
|
Execute programs in the virtual terminal instead of using the external
|
2009-07-20 03:50:53 +00:00
|
|
|
terminal tool. Note that if you run multiple execute commands at once
|
2009-08-24 12:43:19 +00:00
|
|
|
the output may become mixed together in the VTE.
|
2008-04-11 15:32:48 +00:00
|
|
|
|
|
|
|
Don't use run script
|
|
|
|
Don't use the simple run script which is usually used to display
|
|
|
|
the exit status of the executed program.
|
|
|
|
This can be useful if you already have a program running in the VTE
|
|
|
|
like a Python console (e.g. ipython). Use this with care.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-12 19:30:45 +00:00
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
Project management
|
2007-08-09 10:05:00 +00:00
|
|
|
------------------
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
Project management is optional in Geany. Currently it can be used for:
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-02-01 13:37:58 +00:00
|
|
|
* Storing and opening session files on a project basis.
|
2010-11-08 16:11:16 +00:00
|
|
|
* Overriding default settings with project equivalents.
|
2009-07-20 03:50:53 +00:00
|
|
|
* Configuring the Build menu on a project basis.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-02-01 13:37:58 +00:00
|
|
|
A list of session files can be stored and opened with the project
|
|
|
|
when the *Use project-based session files* preference is enabled,
|
2014-08-17 14:13:13 +10:00
|
|
|
in the `Projects`_ group of the `General Miscellaneous preferences`_ tab
|
|
|
|
of the `Preferences`_ dialog.
|
2008-02-01 13:37:58 +00:00
|
|
|
|
2009-07-20 03:50:53 +00:00
|
|
|
As long as a project is open, the Build menu will use
|
2009-08-24 12:43:19 +00:00
|
|
|
the items defined in project's settings, instead of the defaults.
|
2009-10-22 21:38:37 +00:00
|
|
|
See `Build Menu Configuration`_ for information on configuring the menu.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
The current project's settings are saved when it is closed, or when
|
|
|
|
Geany is shutdown. When restarting Geany, the previously opened project
|
|
|
|
file that was in use at the end of the last session will be reopened.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-07-20 03:50:53 +00:00
|
|
|
The project menu items are detailed below.
|
2008-02-01 13:37:58 +00:00
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
New project
|
2007-08-09 10:05:00 +00:00
|
|
|
^^^^^^^^^^^
|
|
|
|
|
|
|
|
To create a new project, fill in the *Name* field. By default this
|
|
|
|
will setup a new project file ``~/projects/name.geany``. Usually it's
|
|
|
|
best to store all your project files in the same directory (they are
|
|
|
|
independent of any source directory trees).
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
The Base path text field is setup to use ``~/projects/name``. This
|
|
|
|
can safely be set to any existing path -- it will not touch the file
|
|
|
|
structure contained in it.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
Project properties
|
2007-08-09 10:05:00 +00:00
|
|
|
^^^^^^^^^^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2010-11-08 16:11:16 +00:00
|
|
|
You can set an optional description for the project. Currently it's
|
|
|
|
only used for a template wildcard - see `Template wildcards`_.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-07-20 03:50:53 +00:00
|
|
|
The *Base path* field is used as the directory to run the Build menu commands.
|
2009-08-24 12:43:19 +00:00
|
|
|
The specified path can be an absolute path or it is considered to be
|
2009-07-20 03:50:53 +00:00
|
|
|
relative to the project's file name.
|
2008-01-11 16:53:25 +00:00
|
|
|
|
2011-05-03 20:37:00 +00:00
|
|
|
The *File patterns* field allows to specify a list of file patterns for the
|
|
|
|
project, which can be used in the `Find in files`_ dialog.
|
|
|
|
|
2010-11-08 18:15:14 +00:00
|
|
|
The *Indentation* tab allows you to override the default
|
|
|
|
`Indentation`_ settings.
|
|
|
|
|
2008-01-11 16:53:25 +00:00
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
Open project
|
2008-02-01 13:37:58 +00:00
|
|
|
^^^^^^^^^^^^
|
|
|
|
|
|
|
|
The Open command displays a standard file chooser, starting in
|
|
|
|
``~/projects``. Choose a project file named with the ``.geany``
|
|
|
|
extension.
|
|
|
|
|
|
|
|
When project session support is enabled, Geany will close the currently
|
|
|
|
open files and open the session files associated with the project.
|
|
|
|
|
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
Close project
|
2007-08-09 10:05:00 +00:00
|
|
|
^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
Project file settings are saved when the project is closed.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-02-01 13:37:58 +00:00
|
|
|
When project session support is enabled, Geany will close the project
|
|
|
|
session files and open any previously closed default session files.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
Build menu
|
2009-07-09 06:49:42 +00:00
|
|
|
----------
|
2009-08-24 12:43:19 +00:00
|
|
|
After editing code with Geany, the next step is to compile, link, build,
|
|
|
|
interpret, run etc. As Geany supports many languages each with a different
|
2010-06-04 16:29:46 +00:00
|
|
|
approach to such operations, and as there are also many language independent
|
|
|
|
software building systems, Geany does not have a built-in build system, nor
|
2009-07-09 06:49:42 +00:00
|
|
|
does it limit which system you can use. Instead the build menu provides
|
2009-09-27 16:54:03 +00:00
|
|
|
a configurable and flexible means of running any external commands to
|
|
|
|
execute your preferred build system.
|
2009-07-20 03:50:53 +00:00
|
|
|
|
2009-08-24 12:43:19 +00:00
|
|
|
This section provides a description of the default configuration of the
|
2009-07-20 03:50:53 +00:00
|
|
|
build menu and then covers how to configure it, and where the defaults fit in.
|
2009-07-09 06:49:42 +00:00
|
|
|
|
|
|
|
Running the commands from within Geany has two benefits:
|
|
|
|
|
2010-06-04 16:29:46 +00:00
|
|
|
* The current file is automatically saved before the command is run.
|
|
|
|
* The output is captured in the Compiler notebook tab and parsed for
|
|
|
|
warnings or errors.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-08-24 12:43:19 +00:00
|
|
|
Warnings and errors that can be parsed for line numbers will be shown in
|
|
|
|
red in the Compiler tab and you can click on them to switch to the relevant
|
|
|
|
source file (or open it) and mark the line number. Also lines with
|
2009-07-20 03:50:53 +00:00
|
|
|
warnings or errors are marked in the source, see `Indicators`_ below.
|
2008-09-25 11:30:44 +00:00
|
|
|
|
|
|
|
.. tip::
|
|
|
|
If Geany's default error message parsing does not parse errors for
|
2009-08-24 12:43:19 +00:00
|
|
|
the tool you're using, you can set a custom regex in the Build Commands
|
2010-06-04 16:29:46 +00:00
|
|
|
Dialog, see `Build Menu Configuration`_.
|
2009-07-09 06:49:42 +00:00
|
|
|
|
|
|
|
Indicators
|
|
|
|
^^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-07-09 06:49:42 +00:00
|
|
|
Indicators are red squiggly underlines which are used to highlight
|
|
|
|
errors which occurred while compiling the current file. So you can
|
2010-06-04 16:29:46 +00:00
|
|
|
easily see where your code failed to compile. You can remove them by
|
|
|
|
selecting *Remove Error Indicators* in the Document menu.
|
2009-07-09 06:49:42 +00:00
|
|
|
|
2010-06-04 16:29:46 +00:00
|
|
|
If you do not like this feature, you can disable it - see `Editor Features
|
|
|
|
preferences`_.
|
2009-07-09 06:49:42 +00:00
|
|
|
|
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
Default build menu items
|
2009-07-09 06:49:42 +00:00
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
2009-09-27 16:54:03 +00:00
|
|
|
Depending on the current file's filetype, the default Build menu will contain
|
2007-08-09 10:05:00 +00:00
|
|
|
the following items:
|
|
|
|
|
|
|
|
* Compile
|
|
|
|
* Build
|
2014-07-17 21:35:27 +02:00
|
|
|
* Lint
|
2008-09-25 11:38:58 +00:00
|
|
|
* Make All
|
|
|
|
* Make Custom Target
|
|
|
|
* Make Object
|
2009-07-20 03:50:53 +00:00
|
|
|
* Next Error
|
|
|
|
* Previous Error
|
2007-08-09 10:05:00 +00:00
|
|
|
* Execute
|
2009-07-09 06:49:42 +00:00
|
|
|
* Set Build Menu Commands
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
|
|
|
Compile
|
2009-07-09 06:49:42 +00:00
|
|
|
```````
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
The Compile command has different uses for different kinds of files.
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
For compilable languages such as C and C++, the Compile command is
|
2009-09-27 16:54:03 +00:00
|
|
|
set up to compile the current source file into a binary object file.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-07-20 03:50:53 +00:00
|
|
|
Java source files will be compiled to class file bytecode.
|
|
|
|
|
2009-08-24 12:43:19 +00:00
|
|
|
Interpreted languages such as Perl, Python, Ruby will compile to
|
|
|
|
bytecode if the language supports it, or will run a syntax check,
|
2009-07-20 03:50:53 +00:00
|
|
|
or if that is not available will run the file in its language interpreter.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
Build
|
2009-07-09 06:49:42 +00:00
|
|
|
`````
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
For compilable languages such as C and C++, the Build command will link
|
|
|
|
the current source file's equivalent object file into an executable. If
|
|
|
|
the object file does not exist, the source will be compiled and linked
|
|
|
|
in one step, producing just the executable binary.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
Interpreted languages do not use the Build command.
|
|
|
|
|
2010-06-04 16:29:46 +00:00
|
|
|
.. note::
|
|
|
|
If you need complex settings for your build system, or several
|
|
|
|
different settings, then writing a Makefile and using the Make
|
|
|
|
commands is recommended; this will also make it easier for users to
|
|
|
|
build your software.
|
|
|
|
|
2014-07-17 21:35:27 +02:00
|
|
|
Lint
|
|
|
|
````
|
|
|
|
|
|
|
|
Source code linters are often used to find code that doesn't correspond to
|
|
|
|
certain style guidelines: non-portable code, common or hard to find
|
|
|
|
errors, code "smells", variables used before being set, unused functions,
|
|
|
|
division by zero, constant conditions, etc. Linters inspect the code and
|
|
|
|
issue warnings much like the compilers do. This is formally referred to as
|
|
|
|
static code analysis.
|
|
|
|
|
|
|
|
Some common linters are pre-configured for you in the Build menu (``pep8``
|
|
|
|
for Python, ``cppcheck`` for C/C++, JSHint for JavaScript, ``xmllint`` for
|
|
|
|
XML, ``hlint`` for Haskell, ``shellcheck`` for shell code, ...), but all
|
|
|
|
these are standalone tools you need to obtain before using.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2009-07-09 06:49:42 +00:00
|
|
|
Make
|
|
|
|
````
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-07-20 03:50:53 +00:00
|
|
|
This runs "make" in the same directory as the
|
2007-08-09 10:05:00 +00:00
|
|
|
current file.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
Make custom target
|
2009-07-09 06:49:42 +00:00
|
|
|
``````````````````
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2009-07-09 06:49:42 +00:00
|
|
|
This is similar to running 'Make' but you will be prompted for
|
2007-08-09 10:05:00 +00:00
|
|
|
the make target name to be passed to the Make tool. For example,
|
|
|
|
typing 'clean' in the dialog prompt will run "make clean".
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
|
|
|
Make object
|
2009-07-09 06:49:42 +00:00
|
|
|
```````````
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
Make object will run "make current_file.o" in the same directory as
|
2009-07-20 03:50:53 +00:00
|
|
|
the current file, using the filename for 'current_file'. It is useful
|
|
|
|
for building just the current file without building the whole project.
|
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
Next error
|
2009-07-20 03:50:53 +00:00
|
|
|
``````````
|
|
|
|
|
|
|
|
The next error item will move to the next detected error in the file.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
Previous error
|
2009-07-20 03:50:53 +00:00
|
|
|
``````````````
|
|
|
|
The previous error item will move to the previous detected error in the file.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
Execute
|
2009-07-09 06:49:42 +00:00
|
|
|
```````
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Execute will run the corresponding executable file, shell script or
|
2013-02-21 17:07:42 +11:00
|
|
|
interpreted script in a terminal window. The command set in the
|
|
|
|
"Set Build Commands" dialog is run in a script to ensure the terminal
|
|
|
|
stays open after execution completes. Note: see `Terminal emulators`_
|
|
|
|
below for the command format. Alternatively the built-in VTE can be used
|
|
|
|
if it is available - see `Virtual terminal emulator widget (VTE)`_.
|
|
|
|
|
|
|
|
After your program or script has finished executing, the run script will
|
|
|
|
prompt you to press the return key. This allows you to review any text
|
2007-08-09 10:05:00 +00:00
|
|
|
output from the program before the terminal window is closed.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2010-06-04 16:29:46 +00:00
|
|
|
.. note::
|
|
|
|
The execute command output is not parsed for errors.
|
2009-07-09 06:49:42 +00:00
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
Stopping running processes
|
2009-07-09 06:49:42 +00:00
|
|
|
``````````````````````````
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2009-08-24 12:43:19 +00:00
|
|
|
When there is a running program, the Execute menu item in the menu and
|
2009-07-09 06:49:42 +00:00
|
|
|
the Run button in the toolbar
|
2010-06-04 16:29:46 +00:00
|
|
|
each become a stop button so you can stop the current running program (and
|
|
|
|
any child processes). This works by sending the SIGQUIT signal to the process.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2009-07-20 03:50:53 +00:00
|
|
|
Depending on the process you started it is possible that the process
|
2009-08-24 12:43:19 +00:00
|
|
|
cannot be stopped. For example this can happen when the process creates
|
2009-07-09 06:49:42 +00:00
|
|
|
more than one child process.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
|
|
|
|
Terminal emulators
|
2009-07-09 06:49:42 +00:00
|
|
|
******************
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2013-02-21 17:07:42 +11:00
|
|
|
The Terminal field of the tools preferences tab requires a command to
|
|
|
|
execute the terminal program and to pass it the name of the Geany run
|
|
|
|
script that it should execute in a Bourne compatible shell (eg /bin/sh).
|
|
|
|
The marker "%c" is substituted with the name of the Geany run script,
|
2015-02-22 22:46:25 +01:00
|
|
|
which is created in the temporary directory and which changes the working
|
2015-07-12 17:06:10 +02:00
|
|
|
directory to the directory set in the Build commands dialog, see
|
2015-02-22 22:46:25 +01:00
|
|
|
`Build menu commands dialog`_ for details.
|
2013-02-21 17:07:42 +11:00
|
|
|
|
|
|
|
As an example the default (Linux) command is::
|
|
|
|
|
|
|
|
xterm -e "/bin/sh %c"
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
Set build commands
|
2009-07-09 06:49:42 +00:00
|
|
|
``````````````````
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2010-11-17 17:45:45 +00:00
|
|
|
By default Compile, Build and Execute are fairly basic commands. You
|
|
|
|
may wish to customise them using *Set Build Commands*.
|
|
|
|
|
|
|
|
E.g. for C you can add any include paths and compile flags for the
|
|
|
|
compiler, any library names and paths for the linker, and any
|
|
|
|
arguments you want to use when running Execute.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
Build menu configuration
|
2009-07-09 06:49:42 +00:00
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2009-07-09 06:49:42 +00:00
|
|
|
The build menu has considerable flexibility and configurability, allowing
|
2009-08-24 12:43:19 +00:00
|
|
|
both menu labels the commands they execute and the directory they execute
|
|
|
|
in to be configured.
|
2009-07-20 03:50:53 +00:00
|
|
|
|
2009-08-24 12:43:19 +00:00
|
|
|
For example, if you change one of the default make commands to run say 'waf'
|
2009-07-20 03:50:53 +00:00
|
|
|
you can also change the label to match.
|
|
|
|
|
2010-06-04 16:29:46 +00:00
|
|
|
These settings are saved automatically when Geany is shut down.
|
2009-07-09 06:49:42 +00:00
|
|
|
|
2009-08-24 12:43:19 +00:00
|
|
|
The build menu is divided into four groups of items each with different
|
2009-07-09 06:49:42 +00:00
|
|
|
behaviors:
|
|
|
|
|
2010-11-17 17:42:16 +00:00
|
|
|
* Filetype build commands - are configurable and depend on the filetype of the
|
|
|
|
current document; they capture output in the compiler tab and parse it for
|
2010-06-04 16:29:46 +00:00
|
|
|
errors.
|
2010-11-17 17:42:16 +00:00
|
|
|
* Independent build commands - are configurable and mostly don't depend on the
|
2010-11-17 15:33:24 +00:00
|
|
|
filetype of the current document; they also capture output in the
|
|
|
|
compiler tab and parse it for errors.
|
2010-11-17 17:42:16 +00:00
|
|
|
* Execute commands - are configurable and intended for executing your
|
2009-07-20 03:50:53 +00:00
|
|
|
program or other long running programs. The output is not parsed for errors
|
2013-02-21 17:07:42 +11:00
|
|
|
and is directed to the terminal command selected in preferences.
|
2010-11-17 17:42:16 +00:00
|
|
|
* Fixed commands - these perform built-in actions:
|
2010-11-17 15:33:24 +00:00
|
|
|
|
|
|
|
* Go to the next error.
|
|
|
|
* Go to the previous error.
|
|
|
|
* Show the build menu commands dialog.
|
2009-07-09 06:49:42 +00:00
|
|
|
|
2009-08-24 12:43:19 +00:00
|
|
|
The maximum numbers of items in each of the configurable groups can be
|
2011-07-28 17:59:22 +00:00
|
|
|
configured in the `Various preferences`_. Even though the maximum number of
|
|
|
|
items may have been increased, only those menu items that have values
|
|
|
|
configured are shown in the menu.
|
2009-07-09 06:49:42 +00:00
|
|
|
|
2009-08-24 12:43:19 +00:00
|
|
|
The groups of menu items obtain their configuration from four potential
|
2010-06-04 16:29:46 +00:00
|
|
|
sources. The highest priority source that has the menu item defined will
|
2009-07-09 06:49:42 +00:00
|
|
|
be used. The sources in decreasing priority are:
|
|
|
|
|
2010-06-04 16:29:46 +00:00
|
|
|
* A project file if open
|
|
|
|
* The user preferences
|
|
|
|
* The system filetype definitions
|
|
|
|
* The defaults
|
2009-07-09 06:49:42 +00:00
|
|
|
|
2009-08-24 12:43:19 +00:00
|
|
|
The detailed relationships between sources and the configurable menu item groups
|
2009-07-09 06:49:42 +00:00
|
|
|
is shown in the following table.
|
|
|
|
|
|
|
|
+--------------+---------------------+--------------------------+-------------------+-------------------------------+
|
|
|
|
| Group | Project File | Preferences | System Filetype | Defaults |
|
|
|
|
+==============+=====================+==========================+===================+===============================+
|
|
|
|
| Filetype | Loads From: project | Loads From: | Loads From: | None |
|
2011-03-29 13:57:08 +00:00
|
|
|
| | file | filetypes.xxx file in | filetypes.xxx in | |
|
2009-07-09 06:49:42 +00:00
|
|
|
| | | ~/.config/geany/filedefs | Geany install | |
|
|
|
|
| | Saves To: project | | | |
|
|
|
|
| | file | Saves to: as above, | Saves to: as user | |
|
|
|
|
| | | creating if needed. | preferences left. | |
|
|
|
|
+--------------+---------------------+--------------------------+-------------------+-------------------------------+
|
2010-11-17 15:33:24 +00:00
|
|
|
| Filetype | Loads From: project | Loads From: | Loads From: | 1: |
|
2011-03-29 13:57:08 +00:00
|
|
|
| Independent | file | geany.conf file in | filetypes.xxx in | Label: _Make |
|
2009-07-09 06:49:42 +00:00
|
|
|
| | | ~/.config/geany | Geany install | Command: make |
|
|
|
|
| | Saves To: project | | | |
|
|
|
|
| | file | Saves to: as above, | Saves to: as user | 2: |
|
|
|
|
| | | creating if needed. | preferences left. | Label: Make Custom _Target |
|
|
|
|
| | | | | Command: make |
|
|
|
|
| | | | | |
|
|
|
|
| | | | | 3: |
|
|
|
|
| | | | | Label: Make _Object |
|
|
|
|
| | | | | Command: make %e.o |
|
|
|
|
+--------------+---------------------+--------------------------+-------------------+-------------------------------+
|
2010-11-17 17:42:16 +00:00
|
|
|
| Execute | Loads From: project | Loads From: | Loads From: | Label: _Execute |
|
2011-03-29 13:57:08 +00:00
|
|
|
| | file or else | geany.conf file in | filetypes.xxx in | Command: ./%e |
|
2009-07-09 06:49:42 +00:00
|
|
|
| | filetype defined in | ~/.config/geany or else | Geany install | |
|
2011-03-29 13:57:08 +00:00
|
|
|
| | project file | filetypes.xxx file in | | |
|
2009-07-09 06:49:42 +00:00
|
|
|
| | | ~/.config/geany/filedefs | Saves To: as user | |
|
2010-11-17 17:42:16 +00:00
|
|
|
| | Saves To: | | preferences left. | |
|
2009-07-09 06:49:42 +00:00
|
|
|
| | project file | Saves To: | | |
|
2011-03-29 13:57:08 +00:00
|
|
|
| | | filetypes.xxx file in | | |
|
2009-10-22 09:19:30 +00:00
|
|
|
| | | ~/.config/geany/filedefs | | |
|
2009-07-09 06:49:42 +00:00
|
|
|
+--------------+---------------------+--------------------------+-------------------+-------------------------------+
|
|
|
|
|
|
|
|
The following notes on the table reference cells by coordinate as (group,source):
|
|
|
|
|
2011-03-29 13:57:08 +00:00
|
|
|
* General - for filetypes.xxx substitute the appropriate extension for
|
2011-03-29 14:02:19 +00:00
|
|
|
the filetype of the current document for xxx - see `filenames`_.
|
2009-07-09 06:49:42 +00:00
|
|
|
|
2009-08-24 12:43:19 +00:00
|
|
|
* System Filetypes - Labels loaded from these sources are locale sensitive
|
2009-07-09 06:49:42 +00:00
|
|
|
and can contain translations.
|
|
|
|
|
|
|
|
* (Filetype, Project File) and (Filetype, Preferences) - preferences use a full
|
|
|
|
filetype file so that users can configure all other filetype preferences
|
2009-08-24 12:43:19 +00:00
|
|
|
as well. Projects can only configure menu items per filetype. Saving
|
2009-07-09 06:49:42 +00:00
|
|
|
in the project file means that there is only one file per project not
|
|
|
|
a whole directory.
|
|
|
|
|
2010-11-17 15:33:24 +00:00
|
|
|
* (Filetype-Independent, System Filetype) - although conceptually strange, defining
|
|
|
|
filetype-independent commands in a filetype file, this provides the ability to
|
2009-07-09 06:49:42 +00:00
|
|
|
define filetype dependent default menu items.
|
|
|
|
|
2010-11-17 17:42:16 +00:00
|
|
|
* (Execute, Project File) and (Execute, Preferences) - the project independent
|
|
|
|
execute and preferences independent execute commands can only be set by hand
|
2011-04-01 12:25:10 +00:00
|
|
|
editing the appropriate file, see `Preferences file format`_ and `Project file
|
|
|
|
format`_.
|
2009-07-09 06:49:42 +00:00
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
Build menu commands dialog
|
2009-07-09 06:49:42 +00:00
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2009-08-24 12:43:19 +00:00
|
|
|
Most of the configuration of the build menu is done through the Build Menu
|
|
|
|
Commands Dialog. You edit the configuration sourced from preferences in the
|
|
|
|
dialog opened from the Build->Build Menu Commands item and you edit the
|
2009-07-09 06:49:42 +00:00
|
|
|
configuration from the project in the build tab of the project preferences
|
|
|
|
dialog. Both use the same form shown below.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2009-07-20 03:50:53 +00:00
|
|
|
.. image:: ./images/build_menu_commands_dialog.png
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-07-20 03:50:53 +00:00
|
|
|
The dialog is divided into three sections:
|
|
|
|
|
2010-11-17 17:42:16 +00:00
|
|
|
* Filetype build commands (selected based on the current document's filetype).
|
|
|
|
* Independent build commands (available regardless of filetype).
|
|
|
|
* Filetype execute commands.
|
2009-07-20 03:50:53 +00:00
|
|
|
|
2010-11-17 15:33:24 +00:00
|
|
|
The filetype and independent sections also each contain a field for the regular
|
2009-07-09 06:49:42 +00:00
|
|
|
expression used for parsing command output for error and warning messages.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-08-24 12:43:19 +00:00
|
|
|
The columns in the first three sections allow setting of the label, command,
|
2009-07-20 03:50:53 +00:00
|
|
|
and working directory to run the command in.
|
|
|
|
|
|
|
|
An item with an empty label will not be shown in the menu.
|
|
|
|
|
|
|
|
An empty working directory will default to the directory of the current document.
|
|
|
|
If there is no current document then the command will not run.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-08-24 12:43:19 +00:00
|
|
|
The dialog will always show the command selected by priority, not just the
|
2009-07-09 06:49:42 +00:00
|
|
|
commands configured in this configuration source. This ensures that you always
|
2009-07-20 03:50:53 +00:00
|
|
|
see what the menu item is going to do if activated.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-08-24 12:43:19 +00:00
|
|
|
If the current source of the menu item is higher priority than the
|
|
|
|
configuration source you are editing then the command will be shown
|
|
|
|
in the dialog but will be insensitive (greyed out). This can't happen
|
2009-07-09 06:49:42 +00:00
|
|
|
with the project source but can with the preferences source dialog.
|
|
|
|
|
|
|
|
The clear buttons remove the definition from the configuration source you are editing.
|
|
|
|
When you do this the command from the next lower priority source will be shown.
|
2009-08-24 12:43:19 +00:00
|
|
|
To hide lower priority menu items without having anything show in the menu
|
2009-07-09 06:49:42 +00:00
|
|
|
configure with a nothing in the label but at least one character in the command.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
Substitutions in commands and working directories
|
2009-07-20 03:50:53 +00:00
|
|
|
`````````````````````````````````````````````````
|
|
|
|
|
2016-01-03 18:33:25 +01:00
|
|
|
The first occurrence of each of the following character sequences in each of the
|
2009-08-24 12:43:19 +00:00
|
|
|
command and working directory fields is substituted by the items specified below
|
2009-07-20 03:50:53 +00:00
|
|
|
before the command is run.
|
|
|
|
|
|
|
|
* %d - substituted by the absolute path to the directory of the current file.
|
|
|
|
* %e - substituted by the name of the current file without the extension or path.
|
|
|
|
* %f - substituted by the name of the current file without the path.
|
|
|
|
* %p - if a project is open, substituted by the base path from the project.
|
2014-06-11 22:17:48 -07:00
|
|
|
* %l - substituted by the line number at the current cursor position.
|
2009-07-20 03:50:53 +00:00
|
|
|
|
|
|
|
.. note::
|
|
|
|
If the basepath set in the project preferences is not an absolute path , then it is
|
2009-08-24 12:43:19 +00:00
|
|
|
taken as relative to the directory of the project file. This allows a project file
|
|
|
|
stored in the source tree to specify all commands and working directories relative
|
2009-07-20 03:50:53 +00:00
|
|
|
to the tree itself, so that the whole tree including the project file, can be moved
|
2009-08-24 12:43:19 +00:00
|
|
|
and even checked into and out of version control without having to re-configure the
|
2009-07-20 03:50:53 +00:00
|
|
|
build menu.
|
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
Build menu keyboard shortcuts
|
2009-07-20 03:50:53 +00:00
|
|
|
`````````````````````````````
|
|
|
|
|
2010-06-04 16:29:46 +00:00
|
|
|
Keyboard shortcuts can be defined for the first two filetype menu items, the first three
|
2015-06-25 05:56:43 +10:00
|
|
|
independent menu items, the first execute menu item and the fixed menu items.
|
2009-09-22 15:01:24 +00:00
|
|
|
In the keybindings configuration dialog (see `Keybinding preferences`_)
|
2009-07-20 03:50:53 +00:00
|
|
|
these items are identified by the default labels shown in the `Build Menu`_ section above.
|
|
|
|
|
|
|
|
It is currently not possible to bind keyboard shortcuts to more than these menu items.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2010-06-04 16:29:46 +00:00
|
|
|
You can also use underlines in the labels to set mnemonic characters.
|
|
|
|
|
2010-12-07 17:42:31 +00:00
|
|
|
Old settings
|
|
|
|
````````````
|
2009-07-20 03:50:53 +00:00
|
|
|
|
2010-06-12 13:42:50 +00:00
|
|
|
The configurable Build Menu capability was introduced in Geany 0.19 and
|
2009-08-24 12:43:19 +00:00
|
|
|
required a new section to be added to the configuration files (See
|
2011-04-01 12:25:10 +00:00
|
|
|
`Preferences file format`_). Geany will still load older format project,
|
2009-07-20 03:50:53 +00:00
|
|
|
preferences and filetype file settings and will attempt to map them into the new
|
|
|
|
configuration format. There is not a simple clean mapping between the formats.
|
|
|
|
The mapping used produces the most sensible results for the majority of cases.
|
2009-08-24 12:43:19 +00:00
|
|
|
However, if they do not map the way you want, you may have to manually
|
2009-07-20 03:50:53 +00:00
|
|
|
configure some settings using the Build Commands
|
|
|
|
Dialog or the Build tab of the project preferences dialog.
|
|
|
|
|
|
|
|
Any setting configured in either of these dialogs will override settings mapped from
|
|
|
|
older format configuration files.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
Printing support
|
2007-08-09 10:05:00 +00:00
|
|
|
----------------
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
Since Geany 0.13 there has been printing support using GTK's printing API.
|
2007-11-17 14:04:27 +00:00
|
|
|
The printed page(s) will look nearly the same as on your screen in Geany.
|
2009-09-27 16:54:03 +00:00
|
|
|
Additionally, there are some options to modify the printed page(s).
|
|
|
|
|
2010-07-01 16:22:45 +00:00
|
|
|
.. note::
|
|
|
|
The background text color is set to white, except for text with
|
|
|
|
a white foreground. This allows dark color schemes to save ink
|
|
|
|
when printing.
|
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
You can define whether to print line numbers, page numbers at the bottom of
|
2007-11-17 14:04:27 +00:00
|
|
|
each page and whether to print a page header on each page. This header
|
|
|
|
contains the filename of the printed document, the current page number and
|
|
|
|
the date and time of printing. By default, the file name of the document
|
2009-09-27 16:54:03 +00:00
|
|
|
with full path information is added to the header. If you prefer to add
|
2007-11-17 14:04:27 +00:00
|
|
|
only the basename of the file(without any path information) you can set it
|
|
|
|
in the preferences dialog. You can also adjust the format of the date and
|
|
|
|
time added to the page header. The available conversion specifiers are the
|
|
|
|
same as the ones which can be used with the ANSI C strftime function.
|
2009-09-27 16:54:03 +00:00
|
|
|
|
2007-11-17 14:04:27 +00:00
|
|
|
All of these settings can also be changed in the print dialog just before
|
|
|
|
actual printing is done.
|
|
|
|
On Unix-like systems the provided print dialog offers a print preview. The
|
|
|
|
preview file is opened with a PDF viewer and by default GTK uses ``evince``
|
2009-09-27 16:54:03 +00:00
|
|
|
for print preview. If you have not installed evince or just want to use
|
2007-11-17 14:04:27 +00:00
|
|
|
another PDF viewer, you can change the program to use in the file
|
|
|
|
``.gtkrc-2.0`` (usually found in your home directory). Simply add a line
|
|
|
|
like::
|
|
|
|
|
|
|
|
gtk-print-preview-command = "epdfview %f"
|
|
|
|
|
|
|
|
at the end of the file. Of course, you can also use xpdf, kpdf or whatever
|
|
|
|
as the print preview command.
|
|
|
|
|
2011-06-13 20:42:31 +00:00
|
|
|
Geany also provides an alternative basic printing support using a custom
|
|
|
|
print command. However, the printed document contains no syntax highlighting.
|
|
|
|
You can adjust the command to which the filename is passed in the preferences
|
|
|
|
dialog. The default command is::
|
2006-07-01 17:41:46 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
% lpr %f
|
2006-07-01 17:41:46 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
``%f`` will be substituted by the filename of the current file. Geany
|
|
|
|
will not show errors from the command itself, so you should make
|
|
|
|
sure that it works before(e.g. by trying to execute it from the
|
|
|
|
command line).
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
A nicer example, which many prefer is::
|
2006-07-01 17:41:46 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
% a2ps -1 --medium=A4 -o - %f | xfprint4
|
2006-07-01 17:41:46 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
But this depends on a2ps and xfprint4. As a replacement for xfprint4,
|
|
|
|
gtklp or similar programs can be used.
|
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2007-08-30 10:27:57 +00:00
|
|
|
Plugins
|
|
|
|
-------
|
|
|
|
|
|
|
|
Plugins are loaded at startup, if the *Enable plugin support*
|
|
|
|
general preference is set. There is also a command-line option,
|
|
|
|
``-p``, which prevents plugins being loaded. Plugins are scanned in
|
|
|
|
the following directories:
|
|
|
|
|
2011-11-16 17:26:19 +00:00
|
|
|
* ``$prefix/lib/geany`` on Unix-like systems (see `Installation prefix`_)
|
|
|
|
* The ``lib`` subfolder of the installation path on Windows.
|
2010-12-07 17:42:31 +00:00
|
|
|
* The ``plugins`` subfolder of the user configuration directory - see
|
|
|
|
`Configuration file paths`_.
|
|
|
|
* The `Extra plugin path` preference (usually blank) - see `Paths`_.
|
2007-08-30 10:27:57 +00:00
|
|
|
|
|
|
|
Most plugins add menu items to the *Tools* menu when they are loaded.
|
|
|
|
|
2010-12-07 17:42:31 +00:00
|
|
|
See also `Plugin documentation`_ for information about single plugins
|
|
|
|
which are included in Geany.
|
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
Plugin manager
|
2010-12-07 17:42:31 +00:00
|
|
|
^^^^^^^^^^^^^^
|
|
|
|
The Plugin Manager dialog lets you choose which plugins
|
2007-11-20 18:15:46 +00:00
|
|
|
should be loaded at startup. You can also load and unload plugins on the
|
|
|
|
fly using this dialog. Once you click the checkbox for a specific plugin
|
|
|
|
in the dialog, it is loaded or unloaded according to its previous state.
|
|
|
|
By default, no plugins are loaded at startup until you select some.
|
2010-12-07 17:42:31 +00:00
|
|
|
You can also configure some plugin specific options if the plugin
|
|
|
|
provides any.
|
2007-08-30 10:27:57 +00:00
|
|
|
|
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
Keybindings
|
2007-08-09 10:05:00 +00:00
|
|
|
-----------
|
|
|
|
|
|
|
|
Geany supports the default keyboard shortcuts for the Scintilla
|
|
|
|
editing widget. For a list of these commands, see `Scintilla
|
|
|
|
keyboard commands`_. The Scintilla keyboard shortcuts will be overridden
|
|
|
|
by any custom keybindings with the same keyboard shortcut.
|
|
|
|
|
2007-09-07 12:34:57 +00:00
|
|
|
|
|
|
|
Switching documents
|
|
|
|
^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
2011-11-17 15:36:22 +00:00
|
|
|
There are some non-configurable bindings to switch between documents,
|
2007-09-07 12:34:57 +00:00
|
|
|
listed below. These can also be overridden by custom keybindings.
|
|
|
|
|
|
|
|
=============== ==================================
|
|
|
|
Key Action
|
|
|
|
=============== ==================================
|
|
|
|
Alt-[1-9] Select left-most tab, from 1 to 9.
|
|
|
|
Alt-0 Select right-most tab.
|
|
|
|
=============== ==================================
|
|
|
|
|
2011-11-17 15:36:22 +00:00
|
|
|
See also `Notebook tab keybindings`_.
|
|
|
|
|
2007-09-07 12:34:57 +00:00
|
|
|
|
|
|
|
Configurable keybindings
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
For all actions listed below you can define your own keybindings. Open
|
|
|
|
the Preferences dialog, select the desired action and click on
|
2009-09-27 16:54:03 +00:00
|
|
|
change. In the resulting dialog you can press the key combination you
|
|
|
|
want to assign to the action and it will be saved when you press OK.
|
|
|
|
You can define only one key combination for each action and each key
|
|
|
|
combination can only be defined for one action.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2009-10-03 16:04:05 +00:00
|
|
|
The following tables list all customizable keyboard shortcuts, those
|
|
|
|
which are common to many applications are marked with (C) after the
|
|
|
|
shortcut.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-09-22 17:42:31 +00:00
|
|
|
File keybindings
|
|
|
|
````````````````
|
|
|
|
=============================== ========================= ==================================================
|
2008-02-04 13:28:51 +00:00
|
|
|
Action Default shortcut Description
|
2009-09-22 17:42:31 +00:00
|
|
|
=============================== ========================= ==================================================
|
2009-10-03 16:04:05 +00:00
|
|
|
New Ctrl-N (C) Creates a new file.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-10-03 16:04:05 +00:00
|
|
|
Open Ctrl-O (C) Opens a file.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2010-01-01 23:20:21 +00:00
|
|
|
Open selected file Ctrl-Shift-O Opens the selected filename.
|
|
|
|
|
|
|
|
Re-open last closed tab Re-opens the last closed document tab.
|
|
|
|
|
2009-10-03 16:04:05 +00:00
|
|
|
Save Ctrl-S (C) Saves the current file.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-02-04 13:28:51 +00:00
|
|
|
Save As Saves the current file under a new name.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-02-04 13:28:51 +00:00
|
|
|
Save all Ctrl-Shift-S Saves all open files.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-02-04 13:28:51 +00:00
|
|
|
Close all Ctrl-Shift-W Closes all open files.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2009-10-03 16:04:05 +00:00
|
|
|
Close Ctrl-W (C) Closes the current file.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2013-11-06 14:28:43 +00:00
|
|
|
Reload file Ctrl-R (C) Reloads the current file.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2009-10-03 16:04:05 +00:00
|
|
|
Print Ctrl-P (C) Prints the current file.
|
2013-02-21 01:16:04 +01:00
|
|
|
|
|
|
|
Quit Ctrl-Q (C) Quits Geany.
|
2009-09-22 17:42:31 +00:00
|
|
|
=============================== ========================= ==================================================
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2007-09-13 16:40:19 +00:00
|
|
|
|
2009-09-22 17:42:31 +00:00
|
|
|
Editor keybindings
|
|
|
|
``````````````````
|
|
|
|
=============================== ========================= ==================================================
|
|
|
|
Action Default shortcut Description
|
|
|
|
=============================== ========================= ==================================================
|
2009-10-03 16:04:05 +00:00
|
|
|
Undo Ctrl-Z (C) Un-does the last action.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-02-04 13:28:51 +00:00
|
|
|
Redo Ctrl-Y Re-does the last action.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Delete current line(s) Ctrl-K Deletes the current line (and any lines with a
|
|
|
|
selection).
|
2009-06-29 19:46:49 +00:00
|
|
|
|
|
|
|
Delete to line end Ctrl-Shift-Delete Deletes from the current caret position to the
|
|
|
|
end of the current line.
|
|
|
|
|
2016-07-13 01:23:18 +02:00
|
|
|
Delete to line start Ctrl-Shift-BackSpace Deletes from the beginning of the line to the
|
|
|
|
current caret position.
|
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Duplicate line or selection Ctrl-D Duplicates the current line or selection.
|
|
|
|
|
2011-11-17 15:58:27 +00:00
|
|
|
Transpose current line Transposes the current line with the previous one.
|
2008-03-20 16:50:21 +00:00
|
|
|
|
|
|
|
Scroll to current line Ctrl-Shift-L Scrolls the current line into the centre of the
|
|
|
|
view. The cursor position and or an existing
|
|
|
|
selection will not be changed.
|
|
|
|
|
2008-03-20 17:05:45 +00:00
|
|
|
Scroll up by one line Alt-Up Scrolls the view.
|
|
|
|
|
|
|
|
Scroll down by one line Alt-Down Scrolls the view.
|
|
|
|
|
2009-07-09 11:54:14 +00:00
|
|
|
Complete word Ctrl-Space Shows the autocompletion list. If already showing
|
2015-07-19 21:25:44 +02:00
|
|
|
symbol completion, it shows document word completion
|
2009-07-09 11:54:14 +00:00
|
|
|
instead, even if it is not enabled for automatic
|
2015-07-19 21:25:44 +02:00
|
|
|
completion. Likewise if no symbol suggestions are
|
2009-07-09 11:54:14 +00:00
|
|
|
available, it shows document word completion.
|
2008-03-20 16:50:21 +00:00
|
|
|
|
2010-04-05 11:44:56 +00:00
|
|
|
Show calltip Ctrl-Shift-Space Shows a calltip for the current function or
|
2009-06-30 18:32:03 +00:00
|
|
|
method.
|
2008-03-20 16:50:21 +00:00
|
|
|
|
|
|
|
Complete snippet Tab If you type a construct like if or for and press
|
|
|
|
this key, it will be completed with a matching
|
|
|
|
template.
|
|
|
|
|
|
|
|
Suppress snippet completion If you type a construct like if or for and press
|
|
|
|
this key, it will not be completed, and a space or
|
|
|
|
tab will be inserted, depending on what the
|
|
|
|
construct completion keybinding is set to. For
|
|
|
|
example, if you have set the construct completion
|
|
|
|
keybinding to space, then setting this to
|
|
|
|
Shift+space will prevent construct completion and
|
|
|
|
insert a space.
|
|
|
|
|
|
|
|
Context Action Executes a command and passes the current word
|
2008-11-18 17:46:24 +00:00
|
|
|
(near the cursor position) or selection as an
|
2008-03-20 16:50:21 +00:00
|
|
|
argument. See the section called `Context
|
|
|
|
actions`_.
|
|
|
|
|
2009-01-11 21:05:03 +00:00
|
|
|
Move cursor in snippet Jumps to the next defined cursor positions in a
|
|
|
|
completed snippets if multiple cursor positions
|
|
|
|
where defined.
|
2009-10-20 15:35:44 +00:00
|
|
|
|
|
|
|
Word part completion Tab When the autocompletion list is visible, complete
|
|
|
|
the currently selected item up to the next word
|
|
|
|
part.
|
2009-10-22 11:28:59 +00:00
|
|
|
|
2011-11-17 15:36:22 +00:00
|
|
|
Move line(s) up Alt-PageUp Move the current line or selected lines up by
|
2009-10-22 11:28:59 +00:00
|
|
|
one line.
|
|
|
|
|
2011-11-17 15:36:22 +00:00
|
|
|
Move line(s) down Alt-PageDown Move the current line or selected lines down by
|
2009-10-22 11:28:59 +00:00
|
|
|
one line.
|
2009-09-22 17:42:31 +00:00
|
|
|
=============================== ========================= ==================================================
|
2009-01-11 21:05:03 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
|
2009-09-22 17:42:31 +00:00
|
|
|
Clipboard keybindings
|
|
|
|
`````````````````````
|
|
|
|
=============================== ========================= ==================================================
|
|
|
|
Action Default shortcut Description
|
|
|
|
=============================== ========================= ==================================================
|
2009-10-03 16:04:05 +00:00
|
|
|
Cut Ctrl-X (C) Cut the current selection to the clipboard.
|
2008-02-04 12:36:43 +00:00
|
|
|
|
2009-10-03 16:04:05 +00:00
|
|
|
Copy Ctrl-C (C) Copy the current selection to the clipboard.
|
2008-02-04 12:36:43 +00:00
|
|
|
|
2009-10-03 16:04:05 +00:00
|
|
|
Paste Ctrl-V (C) Paste the clipboard text into the current document.
|
2008-02-04 12:36:43 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Cut current line(s) Ctrl-Shift-X Cuts the current line (and any lines with a
|
|
|
|
selection) to the clipboard.
|
|
|
|
|
|
|
|
Copy current line(s) Ctrl-Shift-C Copies the current line (and any lines with a
|
|
|
|
selection) to the clipboard.
|
2009-09-22 17:42:31 +00:00
|
|
|
=============================== ========================= ==================================================
|
2008-03-20 16:50:21 +00:00
|
|
|
|
|
|
|
|
2009-09-22 17:42:31 +00:00
|
|
|
Select keybindings
|
|
|
|
``````````````````
|
|
|
|
=============================== ========================= ==================================================
|
|
|
|
Action Default shortcut Description
|
|
|
|
=============================== ========================= ==================================================
|
2009-10-03 16:04:05 +00:00
|
|
|
Select all Ctrl-A (C) Makes a selection of all text in the current
|
2008-02-04 13:28:51 +00:00
|
|
|
document.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Select current word Alt-Shift-W Selects the current word under the cursor.
|
|
|
|
|
|
|
|
Select current paragraph Alt-Shift-P Selects the current paragraph under the cursor
|
|
|
|
which is defined by two empty lines around it.
|
|
|
|
|
|
|
|
Select current line(s) Alt-Shift-L Selects the current line under the cursor (and any
|
|
|
|
partially selected lines).
|
2009-10-20 16:01:07 +00:00
|
|
|
|
|
|
|
Select to previous word part (Extend) selection to previous word part boundary.
|
|
|
|
|
|
|
|
Select to next word part (Extend) selection to next word part boundary.
|
2009-09-22 17:42:31 +00:00
|
|
|
=============================== ========================= ==================================================
|
2008-03-20 16:50:21 +00:00
|
|
|
|
|
|
|
|
2009-09-22 17:42:31 +00:00
|
|
|
Insert keybindings
|
|
|
|
``````````````````
|
|
|
|
=============================== ========================= ==================================================
|
|
|
|
Action Default shortcut Description
|
|
|
|
=============================== ========================= ==================================================
|
2008-02-04 13:28:51 +00:00
|
|
|
Insert date Shift-Alt-D Inserts a customisable date.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-03-20 16:55:14 +00:00
|
|
|
Insert alternative whitespace Inserts a tab character when spaces should
|
2008-03-20 16:50:21 +00:00
|
|
|
be used for indentation and inserts space
|
2008-03-20 16:55:14 +00:00
|
|
|
characters of the amount of a tab width when
|
|
|
|
tabs should be used for indentation.
|
2010-10-15 17:15:13 +00:00
|
|
|
|
|
|
|
Insert New Line Before Current Inserts a new line with indentation.
|
|
|
|
|
|
|
|
Insert New Line After Current Inserts a new line with indentation.
|
2009-09-22 17:42:31 +00:00
|
|
|
=============================== ========================= ==================================================
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2007-09-13 16:40:19 +00:00
|
|
|
|
2009-09-22 17:42:31 +00:00
|
|
|
Format keybindings
|
|
|
|
``````````````````
|
|
|
|
=============================== ========================= ==================================================
|
|
|
|
Action Default shortcut Description
|
|
|
|
=============================== ========================= ==================================================
|
2008-03-20 16:50:21 +00:00
|
|
|
Toggle case of selection Ctrl-Alt-U Changes the case of the selection. A lowercase
|
|
|
|
selection will be changed into uppercase and vice
|
|
|
|
versa. If the selection contains lower- and
|
|
|
|
uppercase characters, all will be converted to
|
|
|
|
lowercase.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Comment line Comments current line or selection.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Uncomment line Uncomments current line or selection.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Toggle line commentation Ctrl-E Comments a line if it is not commented or removes
|
|
|
|
a comment if the line is commented.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Increase indent Ctrl-I Indents the current line or selection by one tab
|
2013-10-28 16:03:02 +00:00
|
|
|
or with spaces in the amount of the tab width
|
2008-03-20 16:50:21 +00:00
|
|
|
setting.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-03-20 16:55:14 +00:00
|
|
|
Decrease indent Ctrl-U Removes one tab or the amount of spaces of
|
2008-03-20 16:50:21 +00:00
|
|
|
the tab width setting from the indentation of the
|
|
|
|
current line or selection.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Increase indent by one space Indents the current line or selection by one
|
|
|
|
space.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Decrease indent by one space Deindents the current line or selection by one
|
|
|
|
space.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Smart line indent Indents the current line or all selected lines
|
2008-09-17 17:01:38 +00:00
|
|
|
with the same indentation as the previous line.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2009-02-25 23:28:01 +00:00
|
|
|
Send to Custom Command 1 (2,3) Ctrl-1 (2,3) Passes the current selection to a configured
|
|
|
|
external command (available for the first
|
2016-01-18 18:16:09 +01:00
|
|
|
9 configured commands, see
|
2009-09-27 16:54:03 +00:00
|
|
|
`Sending text through custom commands`_ for
|
2009-02-25 23:28:01 +00:00
|
|
|
details).
|
|
|
|
|
2009-03-16 14:03:20 +00:00
|
|
|
Send Selection to Terminal Sends the current selection or the current
|
2009-02-25 23:28:01 +00:00
|
|
|
line (if there is no selection) to the
|
|
|
|
embedded Terminal (VTE).
|
|
|
|
|
2009-08-17 15:07:59 +00:00
|
|
|
Reflow lines/block Reformat selected lines or current
|
|
|
|
(indented) text block,
|
2009-09-30 14:55:25 +00:00
|
|
|
breaking lines at the long line marker or the
|
|
|
|
line breaking column if line breaking is
|
|
|
|
enabled for the current document.
|
2009-09-22 17:42:31 +00:00
|
|
|
=============================== ========================= ==================================================
|
2009-07-24 15:44:14 +00:00
|
|
|
|
2009-02-25 23:28:01 +00:00
|
|
|
|
2009-09-22 17:42:31 +00:00
|
|
|
Settings keybindings
|
|
|
|
````````````````````
|
|
|
|
=============================== ========================= ==================================================
|
|
|
|
Action Default shortcut Description
|
|
|
|
=============================== ========================= ==================================================
|
2008-03-20 16:50:21 +00:00
|
|
|
Preferences Ctrl-Alt-P Opens preferences dialog.
|
2009-10-28 18:07:49 +00:00
|
|
|
|
|
|
|
Plugin Preferences Opens plugin preferences dialog.
|
2009-09-22 17:42:31 +00:00
|
|
|
=============================== ========================= ==================================================
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
|
2009-09-22 17:42:31 +00:00
|
|
|
Search keybindings
|
|
|
|
``````````````````
|
|
|
|
=============================== ========================= ==================================================
|
|
|
|
Action Default shortcut Description
|
|
|
|
=============================== ========================= ==================================================
|
2009-10-03 16:04:05 +00:00
|
|
|
Find Ctrl-F (C) Opens the Find dialog.
|
2007-09-13 16:40:19 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Find Next Ctrl-G Finds next result.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Find Previous Ctrl-Shift-G Finds previous result.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2016-01-03 18:33:25 +01:00
|
|
|
Find Next Selection Finds next occurrence of selected text.
|
2010-09-21 16:26:56 +00:00
|
|
|
|
2016-01-03 18:33:25 +01:00
|
|
|
Find Previous Selection Finds previous occurrence of selected text.
|
2010-09-21 16:26:56 +00:00
|
|
|
|
2009-10-03 16:04:05 +00:00
|
|
|
Replace Ctrl-H (C) Opens the Replace dialog.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Find in files Ctrl-Shift-F Opens the Find in files dialog.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-10-16 16:43:36 +00:00
|
|
|
Next message Jumps to the line with the next message in
|
|
|
|
the Messages window.
|
|
|
|
|
|
|
|
Previous message Jumps to the line with the previous message
|
|
|
|
in the Messages window.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2017-05-02 01:42:59 +03:00
|
|
|
Find Usage Ctrl-Shift-E Finds all occurrences of the current word
|
|
|
|
or selection (see note below) in all open
|
2008-10-16 16:43:36 +00:00
|
|
|
documents and displays them in the messages
|
|
|
|
window.
|
|
|
|
|
2017-05-02 01:42:59 +03:00
|
|
|
Find Document Usage Ctrl-Shift-D Finds all occurrences of the current word
|
|
|
|
or selection (see note below) in the current
|
2008-10-16 16:43:36 +00:00
|
|
|
document and displays them in the messages
|
|
|
|
window.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2009-09-22 17:42:31 +00:00
|
|
|
Mark All Ctrl-Shift-M Highlight all matches of the current
|
2017-05-02 01:42:59 +03:00
|
|
|
word/selection (see note below) in the current
|
|
|
|
document with a colored box. If there's nothing
|
|
|
|
to find, or the cursor is next to an existing
|
|
|
|
match, the highlighted matches will be cleared.
|
2009-09-22 17:42:31 +00:00
|
|
|
=============================== ========================= ==================================================
|
2009-08-17 15:07:59 +00:00
|
|
|
|
2017-05-02 01:42:59 +03:00
|
|
|
.. note::
|
|
|
|
The keybindings marked "see note below" work like this: if no text is
|
|
|
|
selected, the word under cursor is used, and *it has to match fully*
|
|
|
|
(like when `Match only a whole word` is enabled in the Search dialog).
|
|
|
|
However if some text is selected, then it is matched regardless of
|
|
|
|
word boundaries.
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2009-09-22 17:42:31 +00:00
|
|
|
Go to keybindings
|
|
|
|
`````````````````
|
|
|
|
=============================== ========================= ==================================================
|
|
|
|
Action Default shortcut Description
|
|
|
|
=============================== ========================= ==================================================
|
2011-11-15 13:41:54 +00:00
|
|
|
Navigate forward a location Alt-Right (C) Switches to the next location in the navigation
|
2008-03-20 16:50:21 +00:00
|
|
|
history. See the section called `Code Navigation
|
|
|
|
History`_.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2011-11-15 13:41:54 +00:00
|
|
|
Navigate back a location Alt-Left (C) Switches to the previous location in the
|
2008-03-20 16:50:21 +00:00
|
|
|
navigation history. See the section called
|
2009-09-22 15:01:24 +00:00
|
|
|
`Code navigation history`_.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2009-09-22 15:22:20 +00:00
|
|
|
Go to line Ctrl-L Focuses the Go to Line entry (if visible) or
|
|
|
|
shows the Go to line dialog.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Goto matching brace Ctrl-B If the cursor is ahead or behind a brace, then it
|
|
|
|
is moved to the brace which belongs to the current
|
|
|
|
one. If this keyboard shortcut is pressed again,
|
|
|
|
the cursor is moved back to the first brace.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Toggle marker Ctrl-M Set a marker on the current line, or clear the
|
|
|
|
marker if there already is one.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Goto next marker Ctrl-. Goto the next marker in the current document.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Goto previous marker Ctrl-, Goto the previous marker in the current document.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
Go to symbol definition Ctrl-T Jump to the definition of the current word or
|
|
|
|
selection. See `Go to symbol definition`_.
|
2011-11-17 16:15:38 +00:00
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
Go to symbol declaration Ctrl-Shift-T Jump to the declaration of the current word or
|
|
|
|
selection. See `Go to symbol declaration`_.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2012-06-24 17:21:50 +01:00
|
|
|
Go to Start of Line Home Move the caret to the start of the line.
|
|
|
|
Behaves differently if smart_home_key_ is set.
|
2008-09-26 18:29:42 +00:00
|
|
|
|
|
|
|
Go to End of Line End Move the caret to the end of the line.
|
|
|
|
|
2012-06-24 17:21:50 +01:00
|
|
|
Go to Start of Display Line Alt-Home Move the caret to the start of the display line.
|
2009-06-29 19:46:49 +00:00
|
|
|
This is useful when you use line wrapping and
|
2012-06-24 17:21:50 +01:00
|
|
|
want to jump to the start of the wrapped, virtual
|
|
|
|
line, not the real start of the whole line.
|
|
|
|
If the line is not wrapped, it behaves like
|
|
|
|
`Go to Start of Line`.
|
|
|
|
|
|
|
|
Go to End of Display Line Alt-End Move the caret to the end of the display line.
|
2009-06-29 19:46:49 +00:00
|
|
|
If the line is not wrapped, it behaves like
|
2012-06-24 17:21:50 +01:00
|
|
|
`Go to End of Line`.
|
2009-06-29 19:46:49 +00:00
|
|
|
|
2008-09-26 18:29:42 +00:00
|
|
|
Go to Previous Word Part Ctrl-/ Goto the previous part of the current word.
|
|
|
|
|
2012-06-24 17:21:50 +01:00
|
|
|
Go to Next Word Part Ctrl-\\ Goto the next part of the current word.
|
2009-09-22 17:42:31 +00:00
|
|
|
=============================== ========================= ==================================================
|
2008-09-26 18:29:42 +00:00
|
|
|
|
2009-09-22 17:42:31 +00:00
|
|
|
View keybindings
|
|
|
|
````````````````
|
|
|
|
=============================== ========================= ==================================================
|
|
|
|
Action Default shortcut Description
|
|
|
|
=============================== ========================= ==================================================
|
2009-10-03 16:04:05 +00:00
|
|
|
Fullscreen F11 (C) Switches to fullscreen mode.
|
2008-03-20 16:50:21 +00:00
|
|
|
|
|
|
|
Toggle Messages Window Toggles the message window (status and compiler
|
|
|
|
messages) on and off.
|
2007-09-13 16:40:19 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Toggle Sidebar Shows or hides the sidebar.
|
2007-09-13 16:40:19 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Toggle all additional widgets Hide and show all additional widgets like the
|
|
|
|
notebook tabs, the toolbar, the messages window
|
2010-02-24 15:08:41 +00:00
|
|
|
and the status bar.
|
2007-09-13 16:40:19 +00:00
|
|
|
|
2010-04-19 12:33:41 +00:00
|
|
|
Zoom In Ctrl-+ (C) Zooms in the text.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2010-04-19 12:33:41 +00:00
|
|
|
Zoom Out Ctrl-- (C) Zooms out the text.
|
2010-04-17 14:55:14 +00:00
|
|
|
|
2010-04-19 12:33:41 +00:00
|
|
|
Zoom Reset Ctrl-0 Reset any previous zoom on the text.
|
2009-09-22 17:42:31 +00:00
|
|
|
=============================== ========================= ==================================================
|
2008-03-20 16:50:21 +00:00
|
|
|
|
2009-09-22 17:42:31 +00:00
|
|
|
Focus keybindings
|
|
|
|
`````````````````
|
2010-02-21 18:06:42 +00:00
|
|
|
================================ ========================= ==================================================
|
|
|
|
Action Default shortcut Description
|
|
|
|
================================ ========================= ==================================================
|
|
|
|
Switch to Editor F2 Switches to editor widget.
|
2010-02-24 15:08:41 +00:00
|
|
|
Also reshows the document statistics line
|
|
|
|
(after a short timeout).
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2010-02-21 18:06:42 +00:00
|
|
|
Switch to Search Bar F7 Switches to the search bar in the toolbar (if
|
|
|
|
visible).
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2010-08-11 12:33:31 +00:00
|
|
|
Switch to Message Window Focus the Message Window's current tab.
|
2008-10-16 16:43:36 +00:00
|
|
|
|
2010-02-21 18:06:42 +00:00
|
|
|
Switch to Compiler Focus the Compiler message window tab.
|
2009-10-20 16:59:00 +00:00
|
|
|
|
2010-02-21 18:06:42 +00:00
|
|
|
Switch to Messages Focus the Messages message window tab.
|
|
|
|
|
2010-08-11 12:33:31 +00:00
|
|
|
Switch to Scribble F6 Switches to scribble widget.
|
2010-02-21 18:06:42 +00:00
|
|
|
|
2010-08-11 12:33:31 +00:00
|
|
|
Switch to VTE F4 Switches to VTE widget.
|
|
|
|
|
|
|
|
Switch to Sidebar Focus the Sidebar.
|
2010-02-21 18:06:42 +00:00
|
|
|
|
|
|
|
Switch to Sidebar Symbol List Focus the Symbol list tab in the Sidebar
|
2010-04-19 12:33:41 +00:00
|
|
|
(if visible).
|
2010-08-11 12:33:31 +00:00
|
|
|
|
|
|
|
Switch to Sidebar Document List Focus the Document list tab in the Sidebar
|
|
|
|
(if visible).
|
2010-02-21 18:06:42 +00:00
|
|
|
================================ ========================= ==================================================
|
2008-10-16 16:43:36 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
|
2009-09-22 17:42:31 +00:00
|
|
|
Notebook tab keybindings
|
|
|
|
````````````````````````
|
|
|
|
=============================== ========================= ==================================================
|
|
|
|
Action Default shortcut Description
|
|
|
|
=============================== ========================= ==================================================
|
2009-10-03 16:04:05 +00:00
|
|
|
Switch to left document Ctrl-PageUp (C) Switches to the previous open document.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2009-10-03 16:04:05 +00:00
|
|
|
Switch to right document Ctrl-PageDown (C) Switches to the next open document.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2009-05-18 15:01:21 +00:00
|
|
|
Switch to last used document Ctrl-Tab Switches to the previously shown document (if it's
|
|
|
|
still open).
|
|
|
|
Holding Ctrl (or another modifier if the keybinding
|
|
|
|
has been changed) will show a dialog, then repeated
|
|
|
|
presses of the keybinding will switch to the 2nd-last
|
|
|
|
used document, 3rd-last, etc. Also known as
|
|
|
|
Most-Recently-Used documents switching.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2011-11-17 15:36:22 +00:00
|
|
|
Move document left Ctrl-Shift-PageUp Changes the current document with the left hand
|
2008-02-04 13:28:51 +00:00
|
|
|
one.
|
2007-12-16 16:54:47 +00:00
|
|
|
|
2011-11-17 15:36:22 +00:00
|
|
|
Move document right Ctrl-Shift-PageDown Changes the current document with the right hand
|
2008-02-04 13:28:51 +00:00
|
|
|
one.
|
2007-12-16 16:54:47 +00:00
|
|
|
|
2008-02-04 13:28:51 +00:00
|
|
|
Move document first Moves the current document to the first position.
|
2007-12-16 16:54:47 +00:00
|
|
|
|
2008-02-04 13:28:51 +00:00
|
|
|
Move document last Moves the current document to the last position.
|
2009-09-22 17:42:31 +00:00
|
|
|
=============================== ========================= ==================================================
|
2007-12-16 16:54:47 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2009-09-22 17:42:31 +00:00
|
|
|
Document keybindings
|
|
|
|
````````````````````
|
2011-03-27 16:05:00 +00:00
|
|
|
==================================== ==================== ==================================================
|
|
|
|
Action Default shortcut Description
|
|
|
|
==================================== ==================== ==================================================
|
2012-12-12 13:59:29 +00:00
|
|
|
Clone See `Cloning documents`_.
|
|
|
|
|
2014-12-26 20:21:54 -08:00
|
|
|
Replace tabs with space Replaces all tabs with the right amount of spaces
|
|
|
|
in the whole document, or the current selection.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2014-12-26 20:21:54 -08:00
|
|
|
Replace spaces with tabs Replaces leading spaces with tab characters in the
|
|
|
|
whole document, or the current selection.
|
2008-06-19 15:58:10 +00:00
|
|
|
|
|
|
|
Toggle current fold Toggles the folding state of the current code block.
|
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Fold all Folds all contractible code blocks.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Unfold all Unfolds all contracted code blocks.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
Reload symbol list Ctrl-Shift-R Reloads the symbol list.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-06-19 15:58:10 +00:00
|
|
|
Toggle Line wrapping Enables or disables wrapping of long lines.
|
|
|
|
|
|
|
|
Toggle Line breaking Enables or disables automatic breaking of long
|
|
|
|
lines at a configurable column.
|
2010-04-17 14:55:14 +00:00
|
|
|
|
|
|
|
Remove Markers Remove any markers on lines or words which
|
|
|
|
were set by using 'Mark All' in the
|
|
|
|
search dialog or by manually marking lines.
|
|
|
|
|
|
|
|
Remove Error Indicators Remove any error indicators in the
|
|
|
|
current document.
|
2011-03-27 16:05:00 +00:00
|
|
|
|
|
|
|
Remove Markers and Error Indicators Combines ``Remove Markers`` and
|
|
|
|
``Remove Error Indicators``.
|
|
|
|
==================================== ==================== ==================================================
|
2008-06-19 15:58:10 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2012-01-08 17:14:04 +00:00
|
|
|
Project keybindings
|
|
|
|
```````````````````
|
|
|
|
=============================== ========================= ==================================================
|
|
|
|
Action Default shortcut Description
|
|
|
|
=============================== ========================= ==================================================
|
2012-01-09 16:35:29 +00:00
|
|
|
New Create a new project.
|
2012-01-08 17:14:04 +00:00
|
|
|
Open Opens a project file.
|
2012-01-09 16:35:29 +00:00
|
|
|
Properties Shows project properties.
|
|
|
|
Close Close the current project.
|
2012-01-08 17:14:04 +00:00
|
|
|
=============================== ========================= ==================================================
|
|
|
|
|
|
|
|
|
2009-09-22 17:42:31 +00:00
|
|
|
Build keybindings
|
|
|
|
`````````````````
|
|
|
|
=============================== ========================= ==================================================
|
|
|
|
Action Default shortcut Description
|
|
|
|
=============================== ========================= ==================================================
|
2008-03-20 16:50:21 +00:00
|
|
|
Compile F8 Compiles the current file.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Build F9 Builds (compiles if necessary and links) the
|
|
|
|
current file.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Make all Shift-F9 Builds the current file with the Make tool.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Make custom target Ctrl-Shift-F9 Builds the current file with the Make tool and a
|
|
|
|
given target.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2011-11-15 13:41:54 +00:00
|
|
|
Make object Shift-F8 Compiles the current file with the Make tool.
|
2007-08-12 19:30:45 +00:00
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Next error Jumps to the line with the next error from the
|
|
|
|
last build process.
|
2007-08-12 19:30:45 +00:00
|
|
|
|
2008-10-16 16:43:36 +00:00
|
|
|
Previous error Jumps to the line with the previous error from
|
|
|
|
the last build process.
|
|
|
|
|
2008-03-20 16:50:21 +00:00
|
|
|
Run F5 Executes the current file in a terminal emulation.
|
2007-08-12 19:30:45 +00:00
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
Set Build Commands Opens the build commands dialog.
|
2009-09-22 17:42:31 +00:00
|
|
|
=============================== ========================= ==================================================
|
2007-09-13 16:40:19 +00:00
|
|
|
|
2008-02-04 13:28:51 +00:00
|
|
|
|
2009-09-22 17:42:31 +00:00
|
|
|
Tools keybindings
|
|
|
|
`````````````````
|
|
|
|
=============================== ========================= ==================================================
|
|
|
|
Action Default shortcut Description
|
|
|
|
=============================== ========================= ==================================================
|
2008-11-18 17:46:24 +00:00
|
|
|
Show Color Chooser Opens the Color Chooser dialog.
|
2009-09-22 17:42:31 +00:00
|
|
|
=============================== ========================= ==================================================
|
2008-02-04 13:28:51 +00:00
|
|
|
|
|
|
|
|
2009-09-22 17:42:31 +00:00
|
|
|
Help keybindings
|
|
|
|
````````````````
|
|
|
|
=============================== ========================= ==================================================
|
|
|
|
Action Default shortcut Description
|
|
|
|
=============================== ========================= ==================================================
|
2009-10-03 16:04:05 +00:00
|
|
|
Help F1 (C) Opens the manual.
|
2009-09-22 17:42:31 +00:00
|
|
|
=============================== ========================= ==================================================
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Configuration files
|
|
|
|
===================
|
2009-12-02 16:34:25 +00:00
|
|
|
.. warning::
|
|
|
|
You must use UTF-8 encoding *without BOM* for configuration files.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
|
2010-12-07 17:42:31 +00:00
|
|
|
Configuration file paths
|
|
|
|
------------------------
|
|
|
|
Geany has default configuration files installed for the system and
|
|
|
|
also per-user configuration files.
|
|
|
|
|
|
|
|
The system files should not normally be edited because they will be
|
|
|
|
overwritten when upgrading Geany.
|
|
|
|
|
|
|
|
The user configuration directory can be overridden with the ``-c``
|
|
|
|
switch, but this is not normally done. See `Command line options`_.
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
Any missing subdirectories in the user configuration directory
|
|
|
|
will be created when Geany starts.
|
|
|
|
|
|
|
|
You can check the paths Geany is using with *Help->Debug Messages*.
|
|
|
|
Near the top there should be 2 lines with something like::
|
|
|
|
|
|
|
|
Geany-INFO: System data dir: /usr/share/geany
|
|
|
|
Geany-INFO: User config dir: /home/username/.config/geany
|
|
|
|
|
|
|
|
|
|
|
|
Paths on Unix-like systems
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
The system path is ``$prefix/share/geany``, where ``$prefix`` is the
|
|
|
|
path where Geany is installed (see `Installation prefix`_).
|
|
|
|
|
2011-11-16 17:26:19 +00:00
|
|
|
The user configuration directory is normally:
|
|
|
|
``/home/username/.config/geany``
|
|
|
|
|
|
|
|
Paths on Windows
|
|
|
|
^^^^^^^^^^^^^^^^
|
|
|
|
The system path is the ``data`` subfolder of the installation path
|
|
|
|
on Windows.
|
|
|
|
|
|
|
|
The user configuration directory might vary, but on Windows XP it's:
|
|
|
|
``C:\Documents and Settings\UserName\Application Data\geany``
|
2013-09-06 16:44:24 +02:00
|
|
|
On Windows 7 and above you most likely will find it at:
|
|
|
|
``C:\users\UserName\Roaming\geany``
|
2010-12-07 17:42:31 +00:00
|
|
|
|
|
|
|
|
2009-08-17 15:07:59 +00:00
|
|
|
Tools menu items
|
|
|
|
----------------
|
|
|
|
There's a *Configuration files* submenu in the *Tools* menu that
|
|
|
|
contains items for some of the available user configuration files.
|
|
|
|
Clicking on one opens it in the editor for you to update. Geany will
|
|
|
|
reload the file after you have saved it.
|
|
|
|
|
|
|
|
.. note::
|
2010-02-20 13:56:57 +00:00
|
|
|
Other configuration files not shown here will need to be opened
|
|
|
|
manually, and will not be automatically reloaded when saved.
|
|
|
|
(see *Reload Configuration* below).
|
2009-08-17 15:07:59 +00:00
|
|
|
|
|
|
|
There's also a *Reload Configuration* item which can be used if you
|
2010-02-21 18:06:42 +00:00
|
|
|
updated one of the other configuration files, or modified or added
|
2010-02-20 13:56:57 +00:00
|
|
|
template files.
|
|
|
|
|
|
|
|
*Reload Configuration* is also necessary to update syntax highlighting colors.
|
2009-08-17 15:07:59 +00:00
|
|
|
|
|
|
|
.. note::
|
2010-02-21 18:06:42 +00:00
|
|
|
Syntax highlighting colors aren't updated in open documents after
|
2010-11-15 15:16:00 +00:00
|
|
|
saving filetypes.common as this may take a significant
|
2010-02-20 13:56:57 +00:00
|
|
|
amount of time.
|
2009-08-17 15:07:59 +00:00
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Global configuration file
|
|
|
|
-------------------------
|
|
|
|
|
2010-12-07 17:42:31 +00:00
|
|
|
System administrators can add a global configuration file for Geany
|
|
|
|
which will be used when starting Geany and a user configuration file
|
|
|
|
does not exist.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2010-12-07 17:42:31 +00:00
|
|
|
The global configuration file is read from ``geany.conf`` in the
|
|
|
|
system configuration path - see `Configuration file paths`_. It can
|
|
|
|
contain any settings which are found in the usual configuration file
|
|
|
|
created by Geany, but does not have to contain all settings.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
.. note::
|
|
|
|
This feature is mainly intended for package maintainers or system
|
2007-08-12 19:30:45 +00:00
|
|
|
admins who want to set up Geany in a multi user environment and
|
2009-09-27 16:54:03 +00:00
|
|
|
set some sane default values for this environment. Usually users won't
|
2007-08-12 19:30:45 +00:00
|
|
|
need to do that.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Filetype definition files
|
2007-08-09 10:05:00 +00:00
|
|
|
-------------------------
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-11-18 17:46:24 +00:00
|
|
|
All color definitions and other filetype specific settings are
|
|
|
|
stored in the filetype definition files. Those settings are colors
|
2007-08-09 10:05:00 +00:00
|
|
|
for syntax highlighting, general settings like comment characters or
|
|
|
|
word delimiter characters as well as compiler and linker settings.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2010-12-07 17:42:31 +00:00
|
|
|
See also `Configuration file paths`_.
|
|
|
|
|
2011-03-29 13:51:50 +00:00
|
|
|
Filenames
|
|
|
|
^^^^^^^^^
|
|
|
|
Each filetype has a corresponding filetype definition file. The format
|
|
|
|
for built-in filetype `Foo` is::
|
|
|
|
|
|
|
|
filetypes.foo
|
|
|
|
|
|
|
|
The extension is normally just the filetype name in lower case.
|
|
|
|
|
|
|
|
However there are some exceptions:
|
|
|
|
|
|
|
|
=============== =========
|
|
|
|
Filetype Extension
|
|
|
|
=============== =========
|
|
|
|
C++ cpp
|
|
|
|
C# cs
|
|
|
|
Make makefile
|
|
|
|
Matlab/Octave matlab
|
|
|
|
=============== =========
|
|
|
|
|
|
|
|
There is also the `special file filetypes.common`_.
|
|
|
|
|
|
|
|
For `custom filetypes`_, the filename for `Foo` is different::
|
|
|
|
|
|
|
|
filetypes.Foo.conf
|
|
|
|
|
|
|
|
See the link for details.
|
|
|
|
|
2009-10-19 12:15:42 +00:00
|
|
|
System files
|
|
|
|
^^^^^^^^^^^^
|
2010-12-07 17:42:31 +00:00
|
|
|
The system-wide filetype configuration files can be found in the
|
|
|
|
system configuration path and are called ``filetypes.$ext``,
|
|
|
|
where $ext is the name of the filetype. For every
|
2007-08-09 10:05:00 +00:00
|
|
|
filetype there is a corresponding definition file. There is one
|
|
|
|
exception: ``filetypes.common`` -- this file is for general settings,
|
2009-06-01 14:37:53 +00:00
|
|
|
which are not specific to a certain filetype.
|
|
|
|
|
|
|
|
.. warning::
|
2009-09-27 16:54:03 +00:00
|
|
|
It is not recommended that users edit the system-wide files,
|
2009-06-01 14:37:53 +00:00
|
|
|
because they will be overridden when Geany is updated.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-10-19 12:15:42 +00:00
|
|
|
User files
|
|
|
|
^^^^^^^^^^
|
2010-12-07 17:42:31 +00:00
|
|
|
To change the settings, copy a file from the system configuration
|
|
|
|
path to the subdirectory ``filedefs`` in your user configuration
|
|
|
|
directory. Then you can edit the file and the changes will still be
|
|
|
|
available after an update of Geany.
|
2006-06-04 13:10:16 +00:00
|
|
|
|
2010-12-07 17:42:31 +00:00
|
|
|
Alternatively, you can create the file yourself and add only the
|
|
|
|
settings you want to change. All missing settings will be read from
|
|
|
|
the corresponding system configuration file.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2010-12-30 17:49:22 +00:00
|
|
|
Custom filetypes
|
|
|
|
^^^^^^^^^^^^^^^^
|
|
|
|
At startup Geany looks for ``filetypes.*.conf`` files in the system and
|
|
|
|
user filetype paths, adding any filetypes found with the name matching
|
|
|
|
the '``*``' wildcard - e.g. ``filetypes.Bar.conf``.
|
|
|
|
|
|
|
|
Custom filetypes are not as powerful as built-in filetypes, but
|
|
|
|
support for the following has been implemented:
|
|
|
|
|
2013-10-11 16:41:16 +01:00
|
|
|
* Recognizing and setting the filetype (after the user has manually updated
|
|
|
|
the `filetype extensions`_ file).
|
|
|
|
* `Filetype group membership`_.
|
2010-12-30 17:49:22 +00:00
|
|
|
* Reading filetype settings in the ``[settings]`` section, including:
|
|
|
|
* Using an existing syntax highlighting lexer (`lexer_filetype`_ key).
|
2015-07-19 21:25:44 +02:00
|
|
|
* Using an existing tags parser (`tag_parser`_ key).
|
2010-12-30 17:49:22 +00:00
|
|
|
* Build commands (``[build-menu]`` section).
|
2013-10-11 16:41:16 +01:00
|
|
|
* Loading global tags files (sharing the ``tag_parser`` filetype's namespace).
|
2010-12-30 17:49:22 +00:00
|
|
|
|
|
|
|
See `Filetype configuration`_ for details on each setting.
|
|
|
|
|
|
|
|
Creating a custom filetype from an existing filetype
|
|
|
|
````````````````````````````````````````````````````
|
|
|
|
Because most filetype settings will relate to the syntax
|
|
|
|
highlighting (e.g. styling, keywords, ``lexer_properties``
|
|
|
|
sections), it is best to copy an existing filetype file that uses
|
|
|
|
the lexer you wish to use as the basis of a custom filetype, using
|
|
|
|
the correct filename extension format shown above, e.g.::
|
|
|
|
|
|
|
|
cp filetypes.foo filetypes.Bar.conf
|
|
|
|
|
|
|
|
Then add the ``lexer_filetype=Foo`` setting (if not already present)
|
|
|
|
and add/adjust other settings.
|
|
|
|
|
|
|
|
.. warning::
|
|
|
|
The ``[styling]`` and ``[keywords]`` sections have key names
|
|
|
|
specific to each filetype/lexer. You must follow the same
|
|
|
|
names - in particular, some lexers only support one keyword
|
|
|
|
list, or none.
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2010-11-15 15:16:00 +00:00
|
|
|
Filetype configuration
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
As well as the sections listed below, each filetype file can contain
|
2011-04-01 12:25:10 +00:00
|
|
|
a [build-menu] section as described in `[build-menu] section`_.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
[styling] section
|
2007-08-09 10:05:00 +00:00
|
|
|
`````````````````
|
|
|
|
|
2008-11-18 17:46:24 +00:00
|
|
|
In this section the colors for syntax highlighting are defined. The
|
2009-06-03 15:42:01 +00:00
|
|
|
manual format is:
|
2009-06-01 14:37:53 +00:00
|
|
|
|
2009-06-22 15:26:44 +00:00
|
|
|
* ``key=foreground_color;background_color;bold_flag;italic_flag``
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-11-18 17:46:24 +00:00
|
|
|
Colors have to be specified as RGB hex values prefixed by
|
2011-12-25 14:37:30 -08:00
|
|
|
0x or # similar to HTML/CSS hex triplets. For example, all of the following
|
|
|
|
are valid values for pure red; 0xff0000, 0xf00, #ff0000, or #f00. The
|
|
|
|
values are case-insensitive but it is a good idea to use lower-case.
|
|
|
|
Note that you can also use *named colors* as well by substituting the
|
|
|
|
color value with the name of a color as defined in the ``[named_colors]``
|
|
|
|
section, see the `[named_colors] Section`_ for more information.
|
|
|
|
|
|
|
|
Bold and italic are flags and should only be "true" or "false". If their
|
2007-08-09 10:05:00 +00:00
|
|
|
value is something other than "true" or "false", "false" is assumed.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
You can omit fields to use the values from the style named ``"default"``.
|
2009-06-22 15:26:44 +00:00
|
|
|
|
|
|
|
E.g. ``key=0xff0000;;true``
|
|
|
|
|
|
|
|
This makes the key style have red foreground text, default background
|
|
|
|
color text and bold emphasis.
|
|
|
|
|
|
|
|
Using a named style
|
|
|
|
*******************
|
2009-06-03 15:42:01 +00:00
|
|
|
The second format uses a *named style* name to reference a style
|
|
|
|
defined in filetypes.common.
|
|
|
|
|
|
|
|
* ``key=named_style``
|
|
|
|
* ``key2=named_style2,bold,italic``
|
|
|
|
|
|
|
|
The bold and italic parts are optional, and if present are used to
|
|
|
|
toggle the bold or italic flags to the opposite of the named style's
|
2009-06-22 15:26:44 +00:00
|
|
|
flags. In contrast to style definition booleans, they are a literal
|
|
|
|
",bold,italic" and commas are used instead of semi-colons.
|
2009-06-03 15:42:01 +00:00
|
|
|
|
2009-06-22 15:26:44 +00:00
|
|
|
E.g. ``key=comment,italic``
|
|
|
|
|
|
|
|
This makes the key style match the ``"comment"`` named style, but with
|
|
|
|
italic emphasis.
|
2009-06-03 15:42:01 +00:00
|
|
|
|
|
|
|
To define named styles, see the filetypes.common `[named_styles]
|
|
|
|
Section`_.
|
2009-06-01 14:37:53 +00:00
|
|
|
|
2011-03-29 13:26:39 +00:00
|
|
|
Reading styles from another filetype
|
|
|
|
************************************
|
|
|
|
You can automatically copy all of the styles from another filetype
|
|
|
|
definition file by using the following syntax for the ``[styling]``
|
|
|
|
group::
|
|
|
|
|
|
|
|
[styling=Foo]
|
|
|
|
|
|
|
|
Where Foo is a filetype name. The corresponding ``[styling]``
|
|
|
|
section from ``filetypes.foo`` will be read.
|
|
|
|
|
|
|
|
This is useful when the same lexer is being used for multiple
|
|
|
|
filetypes (e.g. C/C++/C#/Java/etc). For example, to make the C++
|
|
|
|
styling the same as the C styling, you would put the following in
|
|
|
|
``filetypes.cpp``::
|
|
|
|
|
|
|
|
[styling=C]
|
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
[keywords] section
|
2007-08-09 10:05:00 +00:00
|
|
|
``````````````````
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
This section contains keys for different keyword lists specific to
|
|
|
|
the filetype. Some filetypes do not support keywords, so adding a
|
|
|
|
new key will not work. You can only add or remove keywords to/from
|
|
|
|
an existing list.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
.. important::
|
|
|
|
The keywords list must be in one line without line ending characters.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
[lexer_properties] section
|
2009-11-18 16:48:17 +00:00
|
|
|
``````````````````````````
|
|
|
|
Here any special properties for the Scintilla lexer can be set in the
|
|
|
|
format ``key.name.field=some.value``.
|
|
|
|
|
2010-11-22 12:45:20 +00:00
|
|
|
Properties Geany uses are listed in the system filetype files. To find
|
|
|
|
other properties you need Geany's source code::
|
|
|
|
|
|
|
|
egrep -o 'GetProperty\w*\("([^"]+)"[^)]+\)' scintilla/Lex*.cxx
|
|
|
|
|
2009-11-18 16:48:17 +00:00
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
[settings] section
|
2007-08-09 10:05:00 +00:00
|
|
|
``````````````````
|
|
|
|
|
2007-11-01 16:33:06 +00:00
|
|
|
extension
|
|
|
|
This is the default file extension used when saving files, not
|
|
|
|
including the period character (``.``). The extension used should
|
|
|
|
match one of the patterns associated with that filetype (see
|
|
|
|
`Filetype extensions`_).
|
|
|
|
|
|
|
|
*Example:* ``extension=cxx``
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
wordchars
|
|
|
|
These characters define word boundaries when making selections
|
|
|
|
and searching using word matching options.
|
|
|
|
|
|
|
|
*Example:* (look at system filetypes.\* files)
|
|
|
|
|
2010-09-09 15:38:36 +00:00
|
|
|
.. note::
|
2015-05-28 17:55:21 +02:00
|
|
|
This overrides the *wordchars* filetypes.common setting, and
|
|
|
|
has precedence over the *whitespace_chars* setting.
|
2010-09-09 15:38:36 +00:00
|
|
|
|
2011-03-20 15:02:22 +00:00
|
|
|
comment_single
|
|
|
|
A character or string which is used to comment code. If you want to use
|
|
|
|
multiline comments only, don't set this but rather comment_open and
|
|
|
|
comment_close.
|
|
|
|
|
|
|
|
Single-line comments are used in priority over multiline comments to
|
|
|
|
comment a line, e.g. with the `Comment/Uncomment line` command.
|
|
|
|
|
|
|
|
*Example:* ``comment_single=//``
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
comment_open
|
2011-03-20 15:02:22 +00:00
|
|
|
A character or string which is used to comment code. You need to also
|
|
|
|
set comment_close to really use multiline comments. If you want to use
|
|
|
|
single-line comments, prefer setting comment_single.
|
|
|
|
|
|
|
|
Multiline comments are used in priority over single-line comments to
|
|
|
|
comment a block, e.g. template comments.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
*Example:* ``comment_open=/*``
|
|
|
|
|
|
|
|
comment_close
|
|
|
|
If multiline comments are used, this is the character or string to
|
|
|
|
close the comment.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
*Example:* ``comment_close=*/``
|
|
|
|
|
|
|
|
comment_use_indent
|
|
|
|
Set this to false if a comment character or string should start at
|
2007-08-12 19:30:45 +00:00
|
|
|
column 0 of a line. If set to true it uses any indentation of the
|
|
|
|
line.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
Note: Comment indentation
|
|
|
|
|
2007-08-12 19:30:45 +00:00
|
|
|
``comment_use_indent=true`` would generate this if a line is
|
|
|
|
commented (e.g. with Ctrl-D)::
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
#command_example();
|
|
|
|
|
2007-08-12 19:30:45 +00:00
|
|
|
``comment_use_indent=false`` would generate this if a line is
|
|
|
|
commented (e.g. with Ctrl-D)::
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
# command_example();
|
|
|
|
|
|
|
|
|
2007-08-12 19:30:45 +00:00
|
|
|
Note: This setting only works for single line comments (like '//',
|
|
|
|
'#' or ';').
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
*Example:* ``comment_use_indent=true``
|
|
|
|
|
|
|
|
context_action_cmd
|
2009-09-27 16:54:03 +00:00
|
|
|
A command which can be executed on the current word or the current
|
|
|
|
selection.
|
|
|
|
|
|
|
|
Example usage: Open the API documentation for the
|
|
|
|
current function call at the cursor position.
|
|
|
|
|
|
|
|
The command can
|
2007-08-12 19:30:45 +00:00
|
|
|
be set for every filetype or if not set, a global command will
|
|
|
|
be used. The command itself can be specified without the full
|
|
|
|
path, then it is searched in $PATH. But for security reasons,
|
|
|
|
it is recommended to specify the full path to the command. The
|
|
|
|
wildcard %s will be replaced by the current word at the cursor
|
|
|
|
position or by the current selection.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
Hint: for PHP files the following could be quite useful:
|
|
|
|
context_action_cmd=firefox "http://www.php.net/%s"
|
|
|
|
|
|
|
|
*Example:* ``context_action_cmd=devhelp -s "%s"``
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2013-10-11 16:41:16 +01:00
|
|
|
.. _tag_parser:
|
|
|
|
|
2009-10-19 14:24:40 +00:00
|
|
|
tag_parser
|
2010-12-30 17:49:22 +00:00
|
|
|
The TagManager language name, e.g. "C". Usually the same as the
|
|
|
|
filetype name.
|
|
|
|
|
|
|
|
.. _lexer_filetype:
|
2009-10-19 14:24:40 +00:00
|
|
|
|
2009-10-19 14:58:51 +00:00
|
|
|
lexer_filetype
|
|
|
|
A filetype name to setup syntax highlighting from another filetype.
|
2009-12-07 14:12:40 +00:00
|
|
|
This must not be recursive, i.e. it should be a filetype name that
|
2010-12-30 17:49:22 +00:00
|
|
|
doesn't use the *lexer_filetype* key itself, e.g.::
|
|
|
|
|
|
|
|
lexer_filetype=C
|
|
|
|
#lexer_filetype=C++
|
|
|
|
|
|
|
|
The second line is wrong, because ``filetypes.cpp`` itself uses
|
|
|
|
``lexer_filetype=C``, which would be recursive.
|
2009-10-19 14:58:51 +00:00
|
|
|
|
2010-09-30 13:50:33 +00:00
|
|
|
symbol_list_sort_mode
|
|
|
|
What the default symbol list sort order should be.
|
|
|
|
|
2015-07-19 21:25:44 +02:00
|
|
|
===== ========================================
|
2010-09-30 13:50:33 +00:00
|
|
|
Value Meaning
|
2015-07-19 21:25:44 +02:00
|
|
|
===== ========================================
|
|
|
|
0 Sort symbols by name
|
|
|
|
1 Sort symbols by appearance (line number)
|
|
|
|
===== ========================================
|
2010-09-30 13:50:33 +00:00
|
|
|
|
2010-11-15 13:06:11 +00:00
|
|
|
.. _xml_indent_tags:
|
|
|
|
|
2010-11-11 17:58:21 +00:00
|
|
|
xml_indent_tags
|
|
|
|
If this setting is set to *true*, a new line after a line ending with an
|
|
|
|
unclosed XML/HTML tag will be automatically indented. This only applies
|
|
|
|
to filetypes for which the HTML or XML lexer is used. Such filetypes have
|
|
|
|
this setting in their system configuration files.
|
|
|
|
|
2013-10-15 02:39:24 +02:00
|
|
|
mime_type
|
|
|
|
The MIME type for this file type, e.g. "text/x-csrc". This is used
|
|
|
|
for example to chose the icon to display for this file type.
|
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2011-08-25 20:14:17 +00:00
|
|
|
[indentation] section
|
|
|
|
`````````````````````
|
|
|
|
|
|
|
|
This section allows definition of default indentation settings specific to
|
|
|
|
the file type, overriding the ones configured in the preferences. This can
|
|
|
|
be useful for file types requiring specific indentation settings (e.g. tabs
|
|
|
|
only for Makefile). These settings don't override auto-detection if activated.
|
|
|
|
|
|
|
|
width
|
|
|
|
The forced indentation width.
|
|
|
|
|
|
|
|
type
|
|
|
|
The forced indentation type.
|
|
|
|
|
|
|
|
===== =======================
|
|
|
|
Value Indentation type
|
|
|
|
===== =======================
|
|
|
|
0 Spaces only
|
|
|
|
1 Tabs only
|
|
|
|
2 Mixed (tabs and spaces)
|
|
|
|
===== =======================
|
|
|
|
|
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
[build_settings] section
|
2007-08-09 10:05:00 +00:00
|
|
|
````````````````````````
|
2009-07-20 03:50:53 +00:00
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
As of Geany 0.19 this section is supplemented by the `[build-menu] section`_.
|
2009-09-27 16:54:03 +00:00
|
|
|
Values that are set in the [build-menu] section will override those in this section.
|
2009-07-20 03:50:53 +00:00
|
|
|
|
2008-09-23 16:12:40 +00:00
|
|
|
error_regex
|
2016-02-17 20:33:28 +01:00
|
|
|
This is a Perl-compatible regular expression (PCRE) to parse a filename
|
|
|
|
(absolute or relative) and line number from the build output.
|
|
|
|
If undefined, Geany will fall back to its default error message parsing.
|
2008-09-23 16:12:40 +00:00
|
|
|
|
2016-02-17 20:33:28 +01:00
|
|
|
Only the first two match groups will be read by Geany. These groups can
|
|
|
|
occur in any order: the match group consisting of only digits will be used
|
|
|
|
as the line number, and the other group as the filename. In no group
|
|
|
|
consists of only digits, the match will fail.
|
2008-09-25 11:30:44 +00:00
|
|
|
|
2016-02-17 20:33:28 +01:00
|
|
|
*Example:* ``error_regex=^(.+):([0-9]+):[0-9]+``
|
2008-09-23 16:12:40 +00:00
|
|
|
|
2008-09-29 12:13:45 +00:00
|
|
|
This will parse a message such as:
|
|
|
|
``test.py:7:24: E202 whitespace before ']'``
|
2008-09-23 16:12:40 +00:00
|
|
|
|
2008-09-25 11:30:44 +00:00
|
|
|
**Build commands**
|
|
|
|
|
2009-08-24 12:43:19 +00:00
|
|
|
If any build menu item settings have been configured in the Build Menu Commands
|
2009-07-20 03:50:53 +00:00
|
|
|
dialog or the Build tab of the project preferences dialog then these
|
2009-08-24 12:43:19 +00:00
|
|
|
settings are stored in the [build-menu] section and override the settings in
|
2009-07-20 03:50:53 +00:00
|
|
|
this section for that item.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
compiler
|
|
|
|
This item specifies the command to compile source code files. But
|
|
|
|
it is also possible to use it with interpreted languages like Perl
|
|
|
|
or Python. With these filetypes you can use this option as a kind of
|
|
|
|
syntax parser, which sends output to the compiler message window.
|
|
|
|
|
|
|
|
You should quote the filename to also support filenames with
|
|
|
|
spaces. The following wildcards for filenames are available:
|
|
|
|
|
|
|
|
* %f -- complete filename without path
|
|
|
|
* %e -- filename without path and without extension
|
|
|
|
|
|
|
|
*Example:* ``compiler=gcc -Wall -c "%f"``
|
|
|
|
|
|
|
|
linker
|
|
|
|
This item specifies the command to link the file. If the file is not
|
|
|
|
already compiled, it will be compiled while linking. The -o option
|
|
|
|
is automatically added by Geany. This item works well with GNU gcc,
|
|
|
|
but may be problematic with other compilers (esp. with the linker).
|
|
|
|
|
|
|
|
*Example:* ``linker=gcc -Wall "%f"``
|
|
|
|
|
|
|
|
run_cmd
|
|
|
|
Use this item to execute your file. It has to have been built
|
|
|
|
already. Use the %e wildcard to have only the name of the executable
|
|
|
|
(i.e. without extension) or use the %f wildcard if you need the
|
|
|
|
complete filename, e.g. for shell scripts.
|
|
|
|
|
|
|
|
*Example:* ``run_cmd="./%e"``
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
|
|
|
Special file filetypes.common
|
2007-08-09 10:05:00 +00:00
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
There is a special filetype definition file called
|
|
|
|
filetypes.common. This file defines some general non-filetype-specific
|
|
|
|
settings.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2010-12-07 18:07:21 +00:00
|
|
|
You can open the user filetypes.common with the
|
|
|
|
*Tools->Configuration Files->filetypes.common* menu item. This adds
|
|
|
|
the default settings to the user file if the file doesn't exist.
|
|
|
|
Alternatively the file can be created manually, adding only the
|
|
|
|
settings you want to change. All missing settings will be read from
|
|
|
|
the system file.
|
|
|
|
|
2010-11-15 15:16:00 +00:00
|
|
|
.. note::
|
|
|
|
See the `Filetype configuration`_ section for how to define styles.
|
2009-06-03 15:42:01 +00:00
|
|
|
|
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
[named_styles] section
|
2009-06-01 14:37:53 +00:00
|
|
|
``````````````````````
|
|
|
|
Named styles declared here can be used in the [styling] section of any
|
|
|
|
filetypes.* file.
|
|
|
|
|
|
|
|
For example:
|
|
|
|
|
|
|
|
*In filetypes.common*::
|
|
|
|
|
|
|
|
[named_styles]
|
|
|
|
foo=0xc00000;0xffffff;false;true
|
|
|
|
bar=foo
|
|
|
|
|
|
|
|
*In filetypes.c*::
|
|
|
|
|
|
|
|
[styling]
|
|
|
|
comment=foo
|
|
|
|
|
|
|
|
This saves copying and pasting the whole style definition into several
|
|
|
|
different files.
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
You can define aliases for named styles, as shown with the ``bar``
|
2009-06-03 15:42:01 +00:00
|
|
|
entry in the above example, but they must be declared after the
|
|
|
|
original style.
|
|
|
|
|
2011-12-25 14:37:30 -08:00
|
|
|
|
|
|
|
[named_colors] section
|
|
|
|
``````````````````````
|
|
|
|
Named colors declared here can be used in the ``[styling]`` or
|
|
|
|
``[named_styles]`` section of any filetypes.* file or color scheme.
|
|
|
|
|
|
|
|
For example::
|
|
|
|
|
|
|
|
[named_colors]
|
|
|
|
my_red_color=#FF0000
|
|
|
|
my_blue_color=#0000FF
|
|
|
|
|
|
|
|
[named_styles]
|
|
|
|
foo=my_red_color;my_blue_color;false;true
|
|
|
|
|
2016-01-03 18:33:25 +01:00
|
|
|
This allows to define a color palette by name so that to change a color
|
2011-12-25 14:37:30 -08:00
|
|
|
scheme-wide only involves changing the hex value in a single location.
|
2009-06-01 14:37:53 +00:00
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
[styling] section
|
2009-06-01 14:37:53 +00:00
|
|
|
`````````````````
|
2007-08-09 10:05:00 +00:00
|
|
|
default
|
|
|
|
This is the default style. It is used for styling files without a
|
|
|
|
filetype set.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
*Example:* ``default=0x000000;0xffffff;false;false``
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
selection
|
2008-11-18 17:46:24 +00:00
|
|
|
The style for coloring selected text. The format is:
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-11-18 17:46:24 +00:00
|
|
|
* Foreground color
|
|
|
|
* Background color
|
|
|
|
* Use foreground color
|
|
|
|
* Use background color
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-11-18 17:46:24 +00:00
|
|
|
The colors are only set if the 3rd or 4th argument is true. When
|
|
|
|
the colors are not overridden, the default is a dark grey
|
2007-08-12 19:30:45 +00:00
|
|
|
background with syntax highlighted foreground text.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
*Example:* ``selection=0xc0c0c0;0x00007F;true;true``
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
brace_good
|
|
|
|
The style for brace highlighting when a matching brace was found.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
*Example:* ``brace_good=0xff0000;0xFFFFFF;true;false``
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
brace_bad
|
|
|
|
The style for brace highlighting when no matching brace was found.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
*Example:* ``brace_bad=0x0000ff;0xFFFFFF;true;false``
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
caret
|
2008-11-18 17:46:24 +00:00
|
|
|
The style for coloring the caret(the blinking cursor). Only first
|
2008-03-07 15:42:46 +00:00
|
|
|
and third argument is interpreted.
|
|
|
|
Set the third argument to true to change the caret into a block caret.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
*Example:* ``caret=0x000000;0x0;false;false``
|
|
|
|
|
|
|
|
caret_width
|
2007-08-12 19:30:45 +00:00
|
|
|
The width for the caret(the blinking cursor). Only the first
|
|
|
|
argument is interpreted. The width is specified in pixels with
|
|
|
|
a maximum of three pixel. Use the width 0 to make the caret
|
|
|
|
invisible.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2015-11-22 00:01:06 +01:00
|
|
|
*Example:* ``caret_width=3``
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
current_line
|
2008-11-18 17:46:24 +00:00
|
|
|
The style for coloring the background of the current line. Only
|
2007-08-09 10:05:00 +00:00
|
|
|
the second and third arguments are interpreted. The second argument
|
2008-11-18 17:46:24 +00:00
|
|
|
is the background color. Use the third argument to enable or
|
2007-08-09 10:05:00 +00:00
|
|
|
disable background highlighting for the current line (has to be
|
|
|
|
true/false).
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
*Example:* ``current_line=0x0;0xe5e5e5;true;false``
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
indent_guide
|
2008-11-18 17:46:24 +00:00
|
|
|
The style for coloring the indentation guides. Only the first and
|
2007-08-09 10:05:00 +00:00
|
|
|
second arguments are interpreted.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
*Example:* ``indent_guide=0xc0c0c0;0xffffff;false;false``
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
white_space
|
2008-11-18 17:46:24 +00:00
|
|
|
The style for coloring the white space if it is shown. The first
|
|
|
|
both arguments define the foreground and background colors, the
|
|
|
|
third argument sets whether to use the defined foreground color
|
|
|
|
or to use the color defined by each filetype for the white space.
|
|
|
|
The fourth argument defines whether to use the background color.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
*Example:* ``white_space=0xc0c0c0;0xffffff;true;true``
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2010-07-01 14:33:41 +00:00
|
|
|
margin_linenumber
|
|
|
|
Line number margin foreground and background colors.
|
|
|
|
|
2010-04-28 12:49:09 +00:00
|
|
|
.. _Folding Settings:
|
|
|
|
|
2010-07-01 14:33:41 +00:00
|
|
|
margin_folding
|
|
|
|
Fold margin foreground and background colors.
|
|
|
|
|
|
|
|
fold_symbol_highlight
|
|
|
|
Highlight color of folding symbols.
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
folding_style
|
2007-08-12 19:30:45 +00:00
|
|
|
The style of folding icons. Only first and second arguments are
|
|
|
|
used.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
Valid values for the first argument are:
|
|
|
|
|
|
|
|
* 1 -- for boxes
|
|
|
|
* 2 -- for circles
|
2010-04-22 17:16:46 +00:00
|
|
|
* 3 -- for arrows
|
|
|
|
* 4 -- for +/-
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
Valid values for the second argument are:
|
|
|
|
|
2010-04-22 17:16:46 +00:00
|
|
|
* 0 -- for no lines
|
2007-08-09 10:05:00 +00:00
|
|
|
* 1 -- for straight lines
|
|
|
|
* 2 -- for curved lines
|
|
|
|
|
2010-04-28 12:49:09 +00:00
|
|
|
*Default:* ``folding_style=1;1;``
|
2010-04-22 17:16:46 +00:00
|
|
|
|
2010-04-28 12:49:09 +00:00
|
|
|
*Arrows:* ``folding_style=3;0;``
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
folding_horiz_line
|
|
|
|
Draw a thin horizontal line at the line where text is folded. Only
|
|
|
|
first argument is used.
|
|
|
|
|
|
|
|
Valid values for the first argument are:
|
|
|
|
|
|
|
|
* 0 -- disable, do not draw a line
|
|
|
|
* 1 -- draw the line above folded text
|
|
|
|
* 2 -- draw the line below folded text
|
|
|
|
|
|
|
|
*Example:* ``folding_horiz_line=0;0;false;false``
|
|
|
|
|
2008-03-07 15:42:46 +00:00
|
|
|
line_wrap_visuals
|
|
|
|
First argument: drawing of visual flags to indicate a line is wrapped.
|
|
|
|
This is a bitmask of the values:
|
|
|
|
|
|
|
|
* 0 -- No visual flags
|
|
|
|
* 1 -- Visual flag at end of subline of a wrapped line
|
|
|
|
* 2 -- Visual flag at begin of subline of a wrapped line. Subline is
|
|
|
|
indented by at least 1 to make room for the flag.
|
|
|
|
|
|
|
|
Second argument: wether the visual flags to indicate a line is wrapped
|
|
|
|
are drawn near the border or near the text. This is a bitmask of the values:
|
|
|
|
|
|
|
|
* 0 -- Visual flags drawn near border
|
|
|
|
* 1 -- Visual flag at end of subline drawn near text
|
|
|
|
* 2 -- Visual flag at begin of subline drawn near text
|
|
|
|
|
2011-09-12 23:11:49 +00:00
|
|
|
Only first and second arguments are interpreted.
|
2008-03-07 15:42:46 +00:00
|
|
|
|
|
|
|
*Example:* ``line_wrap_visuals=3;0;false;false``
|
|
|
|
|
|
|
|
line_wrap_indent
|
2009-07-04 09:21:44 +00:00
|
|
|
First argument: sets the size of indentation of sublines for wrapped lines
|
|
|
|
in terms of the width of a space, only used when the second argument is ``0``.
|
2008-03-07 15:42:46 +00:00
|
|
|
|
2009-07-04 09:21:44 +00:00
|
|
|
Second argument: wrapped sublines can be indented to the position of their
|
|
|
|
first subline or one more indent level. Possible values:
|
2008-03-07 15:42:46 +00:00
|
|
|
|
2009-07-04 09:21:44 +00:00
|
|
|
* 0 - Wrapped sublines aligned to left of window plus amount set by the first argument
|
|
|
|
* 1 - Wrapped sublines are aligned to first subline indent (use the same indentation)
|
|
|
|
* 2 - Wrapped sublines are aligned to first subline indent plus one more level of indentation
|
2008-03-07 15:42:46 +00:00
|
|
|
|
2011-09-12 23:11:49 +00:00
|
|
|
Only first and second arguments are interpreted.
|
2008-03-07 15:42:46 +00:00
|
|
|
|
2009-07-04 09:21:44 +00:00
|
|
|
*Example:* ``line_wrap_indent=0;1;false;false``
|
2008-03-07 15:42:46 +00:00
|
|
|
|
|
|
|
translucency
|
2008-03-23 14:57:53 +00:00
|
|
|
Translucency for the current line (first argument) and the selection
|
2008-03-07 15:42:46 +00:00
|
|
|
(second argument). Values between 0 and 256 are accepted.
|
|
|
|
|
|
|
|
Note for Windows 95, 98 and ME users:
|
|
|
|
keep this value at 256 to disable translucency otherwise Geany might crash.
|
|
|
|
|
2011-09-12 23:11:49 +00:00
|
|
|
Only the first and second arguments are interpreted.
|
2008-03-07 15:42:46 +00:00
|
|
|
|
|
|
|
*Example:* ``translucency=256;256;false;false``
|
|
|
|
|
2008-03-23 14:57:53 +00:00
|
|
|
marker_line
|
2015-07-19 21:25:44 +02:00
|
|
|
The style for a highlighted line (e.g when using Goto line or goto symbol).
|
2008-11-18 17:46:24 +00:00
|
|
|
The foreground color (first argument) is only used when the Markers margin
|
2008-03-23 14:57:53 +00:00
|
|
|
is enabled (see View menu).
|
|
|
|
|
2011-09-12 23:11:49 +00:00
|
|
|
Only the first and second arguments are interpreted.
|
2008-03-23 14:57:53 +00:00
|
|
|
|
|
|
|
*Example:* ``marker_line=0x000000;0xffff00;false;false``
|
|
|
|
|
|
|
|
marker_search
|
2009-07-08 22:22:28 +00:00
|
|
|
The style for a marked search results (when using "Mark" in Search dialogs).
|
2011-11-03 18:16:13 +00:00
|
|
|
The second argument sets the background color for the drawn rectangle.
|
2009-07-08 22:22:28 +00:00
|
|
|
|
|
|
|
Only the second argument is interpreted.
|
|
|
|
|
|
|
|
*Example:* ``marker_search=0x000000;0xb8f4b8;false;false``
|
|
|
|
|
|
|
|
marker_mark
|
|
|
|
The style for a marked line (e.g when using the "Toggle Marker" keybinding
|
|
|
|
(Ctrl-M)). The foreground color (first argument) is only used
|
2008-03-23 14:57:53 +00:00
|
|
|
when the Markers margin is enabled (see View menu).
|
|
|
|
|
2011-09-12 23:11:49 +00:00
|
|
|
Only the first and second arguments are interpreted.
|
2008-03-23 14:57:53 +00:00
|
|
|
|
2009-07-08 22:22:28 +00:00
|
|
|
*Example:* ``marker_mark=0x000000;0xb8f4b8;false;false``
|
2008-03-23 14:57:53 +00:00
|
|
|
|
|
|
|
marker_translucency
|
|
|
|
Translucency for the line marker (first argument) and the search marker
|
|
|
|
(second argument). Values between 0 and 256 are accepted.
|
|
|
|
|
|
|
|
Note for Windows 95, 98 and ME users:
|
|
|
|
keep this value at 256 to disable translucency otherwise Geany might crash.
|
|
|
|
|
2011-09-12 23:11:49 +00:00
|
|
|
Only the first and second arguments are interpreted.
|
2008-03-23 14:57:53 +00:00
|
|
|
|
|
|
|
*Example:* ``marker_translucency=256;256;false;false``
|
|
|
|
|
2009-07-08 22:21:45 +00:00
|
|
|
line_height
|
|
|
|
Amount of space to be drawn above and below the line's baseline.
|
|
|
|
The first argument defines the amount of space to be drawn above the line, the second
|
|
|
|
argument defines the amount of space to be drawn below.
|
|
|
|
|
2011-09-12 23:11:49 +00:00
|
|
|
Only the first and second arguments are interpreted.
|
2009-07-08 22:21:45 +00:00
|
|
|
|
|
|
|
*Example:* ``line_height=0;0;false;false``
|
|
|
|
|
2009-12-29 18:45:21 +00:00
|
|
|
calltips
|
|
|
|
The style for coloring the calltips. The first two arguments
|
|
|
|
define the foreground and background colors, the third and fourth
|
|
|
|
arguments set whether to use the defined colors.
|
|
|
|
|
|
|
|
*Example:* ``calltips=0xc0c0c0;0xffffff;false;false``
|
|
|
|
|
2016-08-21 14:20:21 +02:00
|
|
|
indicator_error
|
|
|
|
The color of the error indicator.
|
|
|
|
|
|
|
|
Only the first argument (foreground color) is used.
|
|
|
|
|
|
|
|
*Example:* ``indicator_error=0xff0000``
|
|
|
|
|
2009-06-03 15:42:01 +00:00
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
[settings] section
|
2009-06-01 14:37:53 +00:00
|
|
|
``````````````````
|
2007-08-09 10:05:00 +00:00
|
|
|
whitespace_chars
|
|
|
|
Characters to treat as whitespace. These characters are ignored
|
|
|
|
when moving, selecting and deleting across word boundaries
|
|
|
|
(see `Scintilla keyboard commands`_).
|
|
|
|
|
|
|
|
This should include space (\\s) and tab (\\t).
|
|
|
|
|
2007-08-31 12:01:22 +00:00
|
|
|
*Example:* ``whitespace_chars=\s\t!\"#$%&'()*+,-./:;<=>?@[\\]^`{|}~``
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2015-05-28 17:55:21 +02:00
|
|
|
wordchars
|
|
|
|
These characters define word boundaries when making selections
|
|
|
|
and searching using word matching options.
|
|
|
|
|
|
|
|
*Example:* ``wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789``
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
This has precedence over the *whitespace_chars* setting.
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
|
|
|
|
Filetype extensions
|
|
|
|
-------------------
|
|
|
|
|
2013-10-11 16:41:16 +01:00
|
|
|
.. note::
|
|
|
|
To change the default filetype extension used when saving a new file,
|
|
|
|
see `Filetype definition files`_.
|
2007-11-01 16:33:06 +00:00
|
|
|
|
2010-12-07 17:42:31 +00:00
|
|
|
You can override the list of file extensions that Geany uses to detect
|
|
|
|
filetypes using the user ``filetype_extensions.conf`` file. Use the
|
|
|
|
*Tools->Configuration Files->filetype_extensions.conf* menu item. See
|
|
|
|
also `Configuration file paths`_.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2010-12-07 17:42:31 +00:00
|
|
|
You should only list lines for filetype extensions that you want to
|
|
|
|
override in the user configuration file and remove or comment out
|
|
|
|
others. The patterns are listed after the ``=`` sign, using a
|
|
|
|
semi-colon separated list of patterns which should be matched for
|
|
|
|
that filetype.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2010-12-07 17:42:31 +00:00
|
|
|
For example, to override the filetype extensions for Make, the file
|
|
|
|
should look like::
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
[Extensions]
|
|
|
|
Make=Makefile*;*.mk;Buildfile;
|
|
|
|
|
2011-04-30 15:25:09 +00:00
|
|
|
Filetype group membership
|
2013-10-11 16:41:16 +01:00
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
2011-04-30 15:25:09 +00:00
|
|
|
Group membership is also stored in ``filetype_extensions.conf``. This
|
|
|
|
file is used to store information Geany needs at startup, whereas the
|
|
|
|
separate filetype definition files hold information only needed when
|
|
|
|
a document with their filetype is used.
|
|
|
|
|
|
|
|
The format looks like::
|
|
|
|
|
|
|
|
[Groups]
|
|
|
|
Programming=C;C++;
|
|
|
|
Script=Perl;Python;
|
|
|
|
Markup=HTML;XML;
|
|
|
|
Misc=Diff;Conf;
|
|
|
|
None=None;
|
|
|
|
|
|
|
|
The key names cannot be configured.
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
Group membership is only read at startup.
|
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
Preferences file format
|
2009-07-20 03:50:53 +00:00
|
|
|
-----------------------
|
|
|
|
|
2010-12-07 17:42:31 +00:00
|
|
|
The user preferences file ``geany.conf`` holds settings for all the items configured
|
2010-04-07 19:51:48 +00:00
|
|
|
in the preferences dialog. This file should not be edited while Geany is running
|
|
|
|
as the file will be overwritten when the preferences in Geany are changed or Geany
|
2010-12-07 17:42:31 +00:00
|
|
|
is quit.
|
2009-07-20 03:50:53 +00:00
|
|
|
|
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
[build-menu] section
|
2009-07-20 03:50:53 +00:00
|
|
|
^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
The [build-menu] section contains the configuration of the build menu.
|
2009-08-24 12:43:19 +00:00
|
|
|
This section can occur in filetype, preferences and project files and
|
2009-07-20 03:50:53 +00:00
|
|
|
always has the format described here. Different menu items are loaded
|
2009-10-22 21:38:37 +00:00
|
|
|
from different files, see the table in the `Build Menu Configuration`_
|
2009-07-20 03:50:53 +00:00
|
|
|
section for details. All the settings can be configured from the dialogs
|
|
|
|
except the execute command in filetype files and filetype definitions in
|
|
|
|
the project file, so these are the only ones which need hand editing.
|
|
|
|
|
|
|
|
The build-menu section stores one entry for each setting for each menu item that
|
|
|
|
is configured. The keys for these settings have the format:
|
|
|
|
|
|
|
|
``GG_NN_FF``
|
|
|
|
|
|
|
|
where:
|
|
|
|
|
|
|
|
* GG - is the menu item group,
|
|
|
|
|
|
|
|
- FT for filetype
|
2010-11-17 15:33:24 +00:00
|
|
|
- NF for independent (non-filetype)
|
2009-07-20 03:50:53 +00:00
|
|
|
- EX for execute
|
2009-08-24 12:43:19 +00:00
|
|
|
|
2009-07-20 03:50:53 +00:00
|
|
|
* NN - is a two decimal digit number of the item within the group,
|
|
|
|
starting at 00
|
|
|
|
* FF - is the field,
|
|
|
|
|
|
|
|
- LB for label
|
|
|
|
- CM for command
|
|
|
|
- WD for working directory
|
|
|
|
|
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
Project file format
|
2009-07-20 03:50:53 +00:00
|
|
|
-------------------
|
|
|
|
|
2009-08-24 12:43:19 +00:00
|
|
|
The project file contains project related settings and possibly a
|
2009-07-20 03:50:53 +00:00
|
|
|
record of the current session files.
|
|
|
|
|
|
|
|
|
2011-04-01 12:25:10 +00:00
|
|
|
[build-menu] additions
|
2009-07-20 03:50:53 +00:00
|
|
|
^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
2009-08-24 12:43:19 +00:00
|
|
|
The project file also can have extra fields in the [build-menu] section
|
2011-04-01 12:25:10 +00:00
|
|
|
in addition to those listed in `[build-menu] section`_ above.
|
2009-07-20 03:50:53 +00:00
|
|
|
|
2009-08-24 12:43:19 +00:00
|
|
|
When filetype menu items are configured for the project they are stored
|
2009-07-20 03:50:53 +00:00
|
|
|
in the project file.
|
|
|
|
|
2009-08-24 12:43:19 +00:00
|
|
|
The ``filetypes`` entry is a list of the filetypes which exist in the
|
2009-07-20 03:50:53 +00:00
|
|
|
project file.
|
|
|
|
|
2009-08-24 12:43:19 +00:00
|
|
|
For each filetype the entries for that filetype have the format defined in
|
2011-04-01 12:25:10 +00:00
|
|
|
`[build-menu] section`_ but the key is prefixed by the name of the filetype
|
2009-08-24 12:43:19 +00:00
|
|
|
as it appears in the ``filetypes`` entry, eg the entry for the label of
|
2009-07-20 03:50:53 +00:00
|
|
|
filetype menu item 0 for the C filetype would be
|
|
|
|
|
|
|
|
``CFT_00_LB=Label``
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
|
|
|
|
Templates
|
|
|
|
---------
|
|
|
|
|
|
|
|
Geany supports the following templates:
|
|
|
|
|
|
|
|
* ChangeLog entry
|
|
|
|
* File header
|
|
|
|
* Function description
|
|
|
|
* Short GPL notice
|
|
|
|
* Short BSD notice
|
2009-10-01 16:26:44 +00:00
|
|
|
* File templates
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
To use these templates, just open the Edit menu or open the popup menu
|
|
|
|
by right-clicking in the editor widget, and choose "Insert Comments"
|
|
|
|
and insert templates as you want.
|
|
|
|
|
|
|
|
Some templates (like File header or ChangeLog entry) will always be
|
|
|
|
inserted at the top of the file.
|
|
|
|
|
|
|
|
To insert a function description, the cursor must be inside
|
|
|
|
of the function, so that the function name can be determined
|
|
|
|
automatically. The description will be positioned correctly one line
|
|
|
|
above the function, just check it out. If the cursor is not inside
|
2007-12-07 14:13:05 +00:00
|
|
|
of a function or the function name cannot be determined, the inserted
|
|
|
|
function description won't contain the correct function name but "unknown"
|
|
|
|
instead.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2010-05-06 12:45:19 +00:00
|
|
|
.. note::
|
|
|
|
Geany automatically reloads template information when it notices you
|
|
|
|
save a file in the user's template configuration directory. You can
|
|
|
|
also force this by selecting *Tools->Reload Configuration*.
|
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2008-11-18 17:46:24 +00:00
|
|
|
Template meta data
|
|
|
|
^^^^^^^^^^^^^^^^^^
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-11-18 17:46:24 +00:00
|
|
|
Meta data can be used with all templates, but by default user set
|
|
|
|
meta data is only used for the ChangeLog and File header templates.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
In the configuration dialog you can find a tab "Templates" (see
|
2010-02-21 18:06:42 +00:00
|
|
|
`Template preferences`_). You can define the default values
|
2011-04-26 16:39:41 +00:00
|
|
|
which will be inserted in the templates.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2008-05-13 17:18:14 +00:00
|
|
|
File templates
|
|
|
|
^^^^^^^^^^^^^^
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2008-05-13 17:18:14 +00:00
|
|
|
File templates are templates used as the basis of a new file. To
|
2007-08-09 10:05:00 +00:00
|
|
|
use them, choose the *New (with Template)* menu item from the *File*
|
|
|
|
menu.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-10-01 16:26:44 +00:00
|
|
|
By default, file templates are installed for some filetypes. Custom
|
2010-07-02 12:05:43 +00:00
|
|
|
file templates can be added by creating the appropriate template file. You can
|
2010-02-20 13:56:57 +00:00
|
|
|
also edit the default file templates.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2009-10-01 16:26:44 +00:00
|
|
|
The file's contents are just the text to place in the document, with
|
|
|
|
optional template wildcards like ``{fileheader}``. The fileheader
|
|
|
|
wildcard can be placed anywhere, but it's usually put on the first
|
|
|
|
line of the file, followed by a blank line.
|
2008-05-13 17:18:14 +00:00
|
|
|
|
2011-04-01 16:27:38 +00:00
|
|
|
Adding file templates
|
2008-05-13 17:18:14 +00:00
|
|
|
`````````````````````
|
|
|
|
|
2011-04-01 16:27:38 +00:00
|
|
|
File templates are read from ``templates/files`` under the
|
|
|
|
`Configuration file paths`_.
|
2009-10-01 16:26:44 +00:00
|
|
|
|
|
|
|
The filetype to use is detected from the template file's extension, if
|
|
|
|
any. For example, creating a file ``module.c`` would add a menu item
|
|
|
|
which created a new document with the filetype set to 'C'.
|
2008-05-13 17:18:14 +00:00
|
|
|
|
|
|
|
The template file is read from disk when the corresponding menu item is
|
2010-05-06 12:45:19 +00:00
|
|
|
clicked.
|
2008-05-13 17:18:14 +00:00
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
Customizing templates
|
2007-08-09 10:05:00 +00:00
|
|
|
^^^^^^^^^^^^^^^^^^^^^
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-12 19:30:45 +00:00
|
|
|
Each template can be customized to your needs. The templates are
|
2008-11-13 14:37:47 +00:00
|
|
|
stored in the ``~/.config/geany/templates/`` directory (see the section called
|
2007-08-12 19:30:45 +00:00
|
|
|
`Command line options`_ for further information about the configuration
|
2007-08-09 10:05:00 +00:00
|
|
|
directory). Just open the desired template with an editor (ideally,
|
|
|
|
Geany ;-) ) and edit the template to your needs. There are some
|
|
|
|
wildcards which will be automatically replaced by Geany at startup.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-12 19:30:45 +00:00
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
Template wildcards
|
2007-08-09 10:05:00 +00:00
|
|
|
``````````````````
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
All wildcards must be enclosed by "{" and "}", e.g. {date}.
|
|
|
|
|
2010-05-05 15:05:57 +00:00
|
|
|
**Wildcards for character escaping**
|
|
|
|
|
2008-11-10 18:27:23 +00:00
|
|
|
============== ============================================= =======================================
|
2007-08-12 19:30:45 +00:00
|
|
|
Wildcard Description Available in
|
2008-11-10 18:27:23 +00:00
|
|
|
============== ============================================= =======================================
|
2010-04-22 13:01:45 +00:00
|
|
|
ob { Opening Brace (used to prevent other file templates, file header, snippets.
|
2010-04-21 16:47:54 +00:00
|
|
|
wildcards being expanded).
|
2010-04-22 13:01:45 +00:00
|
|
|
cb } Closing Brace. file templates, file header, snippets.
|
|
|
|
pc \% Percent (used to escape e.g. %block% in
|
|
|
|
snippets). snippets.
|
2010-05-05 15:05:57 +00:00
|
|
|
============== ============================================= =======================================
|
|
|
|
|
|
|
|
**Global wildcards**
|
2010-04-21 16:47:54 +00:00
|
|
|
|
2010-05-05 15:05:57 +00:00
|
|
|
These are configurable, see `Template preferences`_.
|
|
|
|
|
|
|
|
============== ============================================= =======================================
|
|
|
|
Wildcard Description Available in
|
|
|
|
============== ============================================= =======================================
|
2010-04-21 16:58:02 +00:00
|
|
|
developer The name of the developer. file templates, file header,
|
2008-11-10 18:27:23 +00:00
|
|
|
function description, ChangeLog entry,
|
2010-04-21 16:58:02 +00:00
|
|
|
bsd, gpl, snippets.
|
2007-08-12 19:30:45 +00:00
|
|
|
|
2010-04-21 16:58:02 +00:00
|
|
|
initial The developer's initials, e.g. "ET" for file templates, file header,
|
2008-11-10 18:27:23 +00:00
|
|
|
Enrico Tröger or "JFD" for John Foobar Doe. function description, ChangeLog entry,
|
2010-04-21 16:58:02 +00:00
|
|
|
bsd, gpl, snippets.
|
2007-08-12 19:30:45 +00:00
|
|
|
|
2010-04-21 16:58:02 +00:00
|
|
|
mail The email address of the developer. file templates, file header,
|
2008-11-10 18:27:23 +00:00
|
|
|
function description, ChangeLog entry,
|
2010-04-21 16:58:02 +00:00
|
|
|
bsd, gpl, snippets.
|
2007-08-12 19:30:45 +00:00
|
|
|
|
2010-04-21 16:58:02 +00:00
|
|
|
company The company the developer is working for. file templates, file header,
|
2008-11-10 18:27:23 +00:00
|
|
|
function description, ChangeLog entry,
|
2010-04-21 16:58:02 +00:00
|
|
|
bsd, gpl, snippets.
|
2007-08-12 19:30:45 +00:00
|
|
|
|
2010-05-05 15:05:57 +00:00
|
|
|
version The initial version of a new file. file templates, file header,
|
2008-11-10 18:27:23 +00:00
|
|
|
function description, ChangeLog entry,
|
2010-04-21 16:58:02 +00:00
|
|
|
bsd, gpl, snippets.
|
2010-05-05 15:05:57 +00:00
|
|
|
============== ============================================= =======================================
|
2007-08-12 19:30:45 +00:00
|
|
|
|
2010-05-05 15:05:57 +00:00
|
|
|
**Date & time wildcards**
|
|
|
|
|
|
|
|
The format for these wildcards can be changed in the preferences
|
|
|
|
dialog, see `Template preferences`_. You can use any conversion
|
|
|
|
specifiers which can be used with the ANSI C strftime function.
|
|
|
|
For details please see http://man.cx/strftime.
|
|
|
|
|
|
|
|
============== ============================================= =======================================
|
|
|
|
Wildcard Description Available in
|
|
|
|
============== ============================================= =======================================
|
|
|
|
year The current year. Default format is: YYYY. file templates, file header,
|
2008-11-10 18:27:23 +00:00
|
|
|
function description, ChangeLog entry,
|
2010-04-21 16:58:02 +00:00
|
|
|
bsd, gpl, snippets.
|
2007-08-12 19:30:45 +00:00
|
|
|
|
2010-05-05 15:05:57 +00:00
|
|
|
date The current date. Default format: file templates, file header,
|
2010-04-21 16:47:54 +00:00
|
|
|
YYYY-MM-DD. function description, ChangeLog entry,
|
2010-04-21 16:58:02 +00:00
|
|
|
bsd, gpl, snippets.
|
2007-08-12 19:30:45 +00:00
|
|
|
|
2010-05-05 15:05:57 +00:00
|
|
|
datetime The current date and time. Default format: file templates, file header,
|
|
|
|
DD.MM.YYYY HH:mm:ss ZZZZ. function description, ChangeLog entry,
|
|
|
|
bsd, gpl, snippets.
|
|
|
|
============== ============================================= =======================================
|
|
|
|
|
|
|
|
**Dynamic wildcards**
|
|
|
|
|
|
|
|
============== ============================================= =======================================
|
|
|
|
Wildcard Description Available in
|
|
|
|
============== ============================================= =======================================
|
2010-04-21 16:58:02 +00:00
|
|
|
untitled The string "untitled" (this will be file templates, file header,
|
2008-11-10 18:27:23 +00:00
|
|
|
translated to your locale), used in function description, ChangeLog entry,
|
2010-04-21 16:58:02 +00:00
|
|
|
file templates. bsd, gpl, snippets.
|
2007-08-12 19:30:45 +00:00
|
|
|
|
2010-04-21 16:58:02 +00:00
|
|
|
geanyversion The actual Geany version, e.g. file templates, file header,
|
2008-11-10 18:27:23 +00:00
|
|
|
"Geany |(version)|". function description, ChangeLog entry,
|
2010-04-21 16:58:02 +00:00
|
|
|
bsd, gpl, snippets.
|
2007-08-12 19:30:45 +00:00
|
|
|
|
2010-05-05 12:50:59 +00:00
|
|
|
filename The filename of the current file. file header, snippets, file
|
2010-05-05 15:05:57 +00:00
|
|
|
For new files, it's only replaced when templates.
|
2013-03-05 23:52:45 +01:00
|
|
|
first saving if found on the first 4 lines
|
2010-05-05 15:05:57 +00:00
|
|
|
of the file.
|
2007-08-12 19:30:45 +00:00
|
|
|
|
2010-05-05 13:06:53 +00:00
|
|
|
project The current project's name, if any. file header, snippets, file templates.
|
|
|
|
|
|
|
|
description The current project's description, if any. file header, snippets, file templates.
|
|
|
|
|
2010-04-21 16:58:02 +00:00
|
|
|
functionname The function name of the function at the function description.
|
2010-05-05 15:05:57 +00:00
|
|
|
cursor position. This wildcard will only be
|
|
|
|
replaced in the function description
|
2007-08-12 19:30:45 +00:00
|
|
|
template.
|
|
|
|
|
2010-04-21 16:58:02 +00:00
|
|
|
command:path Executes the specified command and replace file templates, file header,
|
2010-01-24 14:52:46 +00:00
|
|
|
the wildcard with the command's standard function description, ChangeLog entry,
|
2010-04-21 16:58:02 +00:00
|
|
|
output. See `Special {command:} wildcard`_ bsd, gpl, snippets.
|
2010-01-24 14:52:46 +00:00
|
|
|
for details.
|
2008-11-10 18:27:23 +00:00
|
|
|
============== ============================================= =======================================
|
2007-08-12 19:30:45 +00:00
|
|
|
|
2010-05-05 15:05:57 +00:00
|
|
|
**Template insertion wildcards**
|
|
|
|
|
|
|
|
============== ============================================= =======================================
|
|
|
|
Wildcard Description Available in
|
|
|
|
============== ============================================= =======================================
|
|
|
|
gpl This wildcard inserts a short GPL notice. file header.
|
|
|
|
|
|
|
|
bsd This wildcard inserts a BSD licence notice. file header.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2010-05-05 15:05:57 +00:00
|
|
|
fileheader The file header template. This wildcard snippets, file templates.
|
2011-04-01 16:27:38 +00:00
|
|
|
will only be replaced in file templates.
|
2010-05-05 15:05:57 +00:00
|
|
|
============== ============================================= =======================================
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
|
2010-04-21 16:47:54 +00:00
|
|
|
Special {command:} wildcard
|
|
|
|
***************************
|
2010-01-24 14:52:46 +00:00
|
|
|
|
2010-04-21 16:47:54 +00:00
|
|
|
The {command:} wildcard is a special one because it can execute
|
2010-01-24 14:52:46 +00:00
|
|
|
a specified command and put the command's output (stdout) into
|
|
|
|
the template.
|
|
|
|
|
|
|
|
Example::
|
|
|
|
|
|
|
|
{command:uname -a}
|
|
|
|
|
|
|
|
will result in::
|
|
|
|
|
|
|
|
Linux localhost 2.6.9-023stab046.2-smp #1 SMP Mon Dec 10 15:04:55 MSK 2007 x86_64 GNU/Linux
|
|
|
|
|
|
|
|
Using this wildcard you can insert nearly any arbitrary text into the
|
|
|
|
template.
|
|
|
|
|
2010-01-24 16:17:11 +00:00
|
|
|
In the environment of the executed command the variables
|
|
|
|
``GEANY_FILENAME``, ``GEANY_FILETYPE`` and ``GEANY_FUNCNAME`` are set.
|
|
|
|
The value of these variables is filled in only if Geany knows about it.
|
|
|
|
For example, ``GEANY_FUNCNAME`` is only filled within the function
|
|
|
|
description template. However, these variables are ``always`` set,
|
|
|
|
just maybe with an empty value.
|
|
|
|
You can easily access them e.g. within an executed shell script using::
|
|
|
|
|
|
|
|
$GEANY_FILENAME
|
|
|
|
|
|
|
|
|
2010-01-24 14:52:46 +00:00
|
|
|
.. note::
|
|
|
|
If the specified command could not be found or not executed, the wildcard is substituted
|
|
|
|
by an empty string. In such cases, you can find the occurred error message on Geany's
|
|
|
|
standard error and in the Help->Debug Messages dialog.
|
|
|
|
|
|
|
|
|
2008-12-06 11:10:06 +00:00
|
|
|
Customizing the toolbar
|
|
|
|
-----------------------
|
|
|
|
|
2010-12-07 17:42:31 +00:00
|
|
|
You can add, remove and reorder the elements in the toolbar by using
|
|
|
|
the toolbar editor, or by manually editing the configuration file
|
|
|
|
``ui_toolbar.xml``.
|
2009-06-25 17:21:45 +00:00
|
|
|
|
|
|
|
The toolbar editor can be opened from the preferences editor on the Toolbar tab or
|
|
|
|
by right-clicking on the toolbar itself and choosing it from the menu.
|
|
|
|
|
2010-12-07 17:42:31 +00:00
|
|
|
Manually editing the toolbar layout
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2008-12-06 11:10:06 +00:00
|
|
|
|
2010-12-07 17:42:31 +00:00
|
|
|
To override the system-wide configuration file, copy it to your user
|
|
|
|
configuration directory (see `Configuration file paths`_).
|
2008-12-06 11:10:06 +00:00
|
|
|
|
|
|
|
For example::
|
|
|
|
|
|
|
|
% cp /usr/local/share/geany/ui_toolbar.xml /home/username/.config/geany/
|
|
|
|
|
|
|
|
Then edit it and add any of the available elements listed in the file or remove
|
|
|
|
any of the existing elements. Of course, you can also reorder the elements as
|
|
|
|
you wish and add or remove additional separators.
|
2009-04-03 13:53:04 +00:00
|
|
|
This file must be valid XML, otherwise the global toolbar UI definition
|
|
|
|
will be used instead.
|
2008-12-06 11:10:06 +00:00
|
|
|
|
2009-06-20 16:51:32 +00:00
|
|
|
Your changes are applied once you save the file.
|
|
|
|
|
2008-12-06 11:10:06 +00:00
|
|
|
.. note::
|
|
|
|
(1) You cannot add new actions which are not listed below.
|
|
|
|
(2) Everything you add or change must be inside the /ui/toolbar/ path.
|
|
|
|
|
|
|
|
|
|
|
|
Available toolbar elements
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
================== ==============================================================================
|
|
|
|
Element name Description
|
|
|
|
================== ==============================================================================
|
|
|
|
New Create a new file
|
|
|
|
Open Open an existing file
|
|
|
|
Save Save the current file
|
|
|
|
SaveAll Save all open files
|
|
|
|
Reload Reload the current file from disk
|
|
|
|
Close Close the current file
|
2008-12-09 20:31:38 +00:00
|
|
|
CloseAll Close all open files
|
2009-04-21 20:53:42 +00:00
|
|
|
Print Print the current file
|
2008-12-06 11:10:06 +00:00
|
|
|
Cut Cut the current selection
|
|
|
|
Copy Copy the current selection
|
|
|
|
Paste Paste the contents of the clipboard
|
|
|
|
Delete Delete the current selection
|
|
|
|
Undo Undo the last modification
|
|
|
|
Redo Redo the last modification
|
|
|
|
NavBack Navigate back a location
|
|
|
|
NavFor Navigate forward a location
|
|
|
|
Compile Compile the current file
|
2009-09-27 16:54:03 +00:00
|
|
|
Build Build the current file, includes a submenu for Make commands. Geany
|
2009-01-17 17:59:20 +00:00
|
|
|
remembers the last chosen action from the submenu and uses this as default
|
|
|
|
action when the button itself is clicked.
|
2008-12-06 11:10:06 +00:00
|
|
|
Run Run or view the current file
|
|
|
|
Color Open a color chooser dialog, to interactively pick colors from a palette
|
|
|
|
ZoomIn Zoom in the text
|
|
|
|
ZoomOut Zoom out the text
|
|
|
|
UnIndent Decrease indentation
|
|
|
|
Indent Increase indentation
|
2009-05-30 14:09:55 +00:00
|
|
|
Replace Replace text in the current document
|
2008-12-06 11:10:06 +00:00
|
|
|
SearchEntry The search field belonging to the 'Search' element (can be used alone)
|
|
|
|
Search Find the entered text in the current file (only useful if you also
|
|
|
|
use 'SearchEntry')
|
|
|
|
GotoEntry The goto field belonging to the 'Goto' element (can be used alone)
|
2009-04-03 13:53:04 +00:00
|
|
|
Goto Jump to the entered line number (only useful if you also use 'GotoEntry')
|
2008-12-09 20:31:38 +00:00
|
|
|
Preferences Show the preferences dialog
|
2008-12-06 11:10:06 +00:00
|
|
|
Quit Quit Geany
|
|
|
|
================== ==============================================================================
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-10-02 13:37:35 +00:00
|
|
|
Plugin documentation
|
|
|
|
====================
|
|
|
|
|
2011-01-04 18:24:35 +00:00
|
|
|
HTML Characters
|
|
|
|
---------------
|
2010-11-07 18:54:18 +00:00
|
|
|
|
2011-01-04 18:24:35 +00:00
|
|
|
The HTML Characters plugin helps when working with special
|
|
|
|
characters in XML/HTML, e.g. German Umlauts ü and ä.
|
2010-11-07 18:54:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
Insert entity dialog
|
|
|
|
^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
When the plugin is enabled, you can insert special character
|
|
|
|
entities using *Tools->Insert Special HTML Characters*.
|
|
|
|
|
|
|
|
This opens up a dialog where you can find a huge amount of special
|
|
|
|
characters sorted by category that you might like to use inside your
|
|
|
|
document. You can expand and collapse the categories by clicking on
|
|
|
|
the little arrow on the left hand side. Once you have found the
|
|
|
|
desired character click on it and choose "Insert". This will insert
|
|
|
|
the entity for the character at the current cursor position. You
|
|
|
|
might also like to double click the chosen entity instead.
|
|
|
|
|
|
|
|
|
|
|
|
Replace special chars by its entity
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
To help make a XML/HTML document valid the plugin supports
|
|
|
|
replacement of special chars known by the plugin. Both bulk
|
|
|
|
replacement and immediate replacement during typing are supported.
|
|
|
|
|
|
|
|
A few characters will not be replaced. These are
|
|
|
|
* "
|
|
|
|
* &
|
|
|
|
* <
|
|
|
|
* >
|
|
|
|
* (` `)
|
|
|
|
|
|
|
|
|
|
|
|
At typing time
|
|
|
|
``````````````
|
|
|
|
|
|
|
|
You can activate/deactivate this feature using the *Tools->HTML
|
|
|
|
Replacement->Auto-replace Special Characters* menu item. If it's
|
|
|
|
activated, all special characters (beside the given exceptions from
|
|
|
|
above) known by the plugin will be replaced by their entities.
|
|
|
|
|
|
|
|
You could also set a keybinding for the plugin to toggle the status
|
|
|
|
of this feature.
|
|
|
|
|
|
|
|
|
|
|
|
Bulk replacement
|
|
|
|
````````````````
|
|
|
|
|
|
|
|
After inserting a huge amount of text, e.g. by using copy & paste, the
|
|
|
|
plugin allows bulk replacement of all known characters (beside the
|
|
|
|
mentioned exceptions). You can find the function under the same
|
|
|
|
menu at *Tools->HTML Replacement->Replace Characters in Selection*, or
|
|
|
|
configure a keybinding for the plugin.
|
|
|
|
|
|
|
|
|
2009-09-27 16:54:03 +00:00
|
|
|
Save Actions
|
|
|
|
------------
|
2008-10-02 13:37:35 +00:00
|
|
|
|
2014-03-04 14:33:47 +01:00
|
|
|
Auto Save
|
|
|
|
^^^^^^^^^
|
|
|
|
|
|
|
|
This plugin provides an option to automatically save documents.
|
|
|
|
You can choose to save the current document, or all of your documents, at
|
|
|
|
a given delay.
|
|
|
|
|
|
|
|
|
2014-03-04 17:04:44 +01:00
|
|
|
Save on focus out
|
|
|
|
^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
You can save the current document when the editor's focus goes out.
|
|
|
|
Every pop-up, menu dialogs, or anything else that can make the editor lose the focus,
|
|
|
|
will make the current document to be saved.
|
|
|
|
|
|
|
|
|
2008-10-02 13:37:35 +00:00
|
|
|
Instant Save
|
2009-09-27 16:54:03 +00:00
|
|
|
^^^^^^^^^^^^
|
2010-11-07 18:54:18 +00:00
|
|
|
This plugin sets on every new file (*File->New* or *File->New (with template)*)
|
2008-10-02 13:37:35 +00:00
|
|
|
a randomly chosen filename and set its filetype appropriate to the used template
|
|
|
|
or when no template was used, to a configurable default filetype.
|
|
|
|
This enables you to quickly compile, build and/or run the new file without the
|
|
|
|
need to give it an explicit filename using the Save As dialog. This might be
|
|
|
|
useful when you often create new files just for testing some code or something
|
|
|
|
similar.
|
|
|
|
|
|
|
|
|
|
|
|
Backup Copy
|
2009-09-27 16:54:03 +00:00
|
|
|
^^^^^^^^^^^
|
2008-10-02 13:37:35 +00:00
|
|
|
|
|
|
|
This plugin creates a backup copy of the current file in Geany when it is
|
|
|
|
saved. You can specify the directory where the backup copy is saved and
|
|
|
|
you can configure the automatically added extension in the configure dialog
|
|
|
|
in Geany's plugin manager.
|
|
|
|
|
|
|
|
After the plugin was loaded in Geany's plugin manager, every file is
|
2015-01-31 16:11:48 +01:00
|
|
|
copied into the configured backup directory *after* the file has been saved
|
|
|
|
in Geany.
|
|
|
|
|
|
|
|
The created backup copy file permissions are set to read-write only for
|
|
|
|
the user. This should help to not create world-readable files on possibly
|
|
|
|
unsecure destination directories like /tmp (especially useful
|
|
|
|
on multi-user systems).
|
|
|
|
This applies only to non-Windows systems. On Windows, no explicit file
|
|
|
|
permissions are set.
|
|
|
|
|
|
|
|
|
|
|
|
Additionally, you can define how many levels of the original file's
|
|
|
|
directory structure should be replicated in the backup copy path.
|
|
|
|
For example, setting the option
|
|
|
|
*Directory levels to include in the backup destination* to *2*
|
|
|
|
cause the plugin to create the last two components of the original
|
|
|
|
file's path in the backup copy path and place the new file there.
|
2008-10-02 13:37:35 +00:00
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Contributing to this document
|
|
|
|
=============================
|
|
|
|
|
|
|
|
This document (``geany.txt``) is written in `reStructuredText`__
|
2007-08-09 12:46:21 +00:00
|
|
|
(or "reST"). The source file for it is located in Geany's ``doc``
|
2007-08-09 10:05:00 +00:00
|
|
|
subdirectory. If you intend on making changes, you should grab the
|
2014-08-18 00:07:43 +02:00
|
|
|
source right from Git to make sure you've got the newest version.
|
|
|
|
First, you need to configure the build system to generate the HTML
|
|
|
|
documentation passing the *--enable-html-docs* option to the *configure*
|
|
|
|
script. Then after editing the file, run ``make`` (from the root build
|
|
|
|
directory or from the *doc* subdirectory) to build the HTML documentation
|
|
|
|
and see how your changes look. This regenerates the ``geany.html`` file
|
|
|
|
inside the *doc* subdirectory. To generate a PDF file, configure with
|
|
|
|
*--enable-pdf-docs* and run ``make`` as for the HTML version. The generated
|
|
|
|
PDF file is named geany-|(version)|.pdf and is located inside the *doc*
|
|
|
|
subdirectory.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
__ http://docutils.sourceforge.net/rst.html
|
|
|
|
|
2012-04-29 17:36:45 +02:00
|
|
|
After you are happy with your changes, create a patch e.g. by using::
|
2007-08-09 10:05:00 +00:00
|
|
|
|
2012-04-29 17:36:45 +02:00
|
|
|
% git diff geany.txt > foo.patch
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2012-06-02 11:41:52 +02:00
|
|
|
or even better, by creating a Git-formatted patch which will keep authoring
|
|
|
|
and description data, by first committing your changes (doing so in a fresh
|
2014-08-02 22:03:34 +02:00
|
|
|
new branch is recommended for `master` not to diverge from upstream) and then
|
2012-06-02 11:41:52 +02:00
|
|
|
using git format-patch::
|
|
|
|
|
|
|
|
% git checkout -b my-documentation-changes # create a fresh branch
|
|
|
|
% git commit geany.txt
|
|
|
|
Write a good commit message...
|
|
|
|
% git format-patch HEAD^
|
|
|
|
% git checkout master # go back to master
|
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
and then submit that file to the mailing list for review.
|
|
|
|
|
2012-05-31 22:33:07 +02:00
|
|
|
Also you can clone the Geany repository at GitHub and send a pull request.
|
2012-04-29 17:36:45 +02:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Note, you will need the Python docutils software package installed
|
2007-08-09 12:46:21 +00:00
|
|
|
to build the docs. The package is named ``python-docutils`` on Debian
|
2007-08-09 10:05:00 +00:00
|
|
|
and Fedora systems.
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
Scintilla keyboard commands
|
2007-08-09 10:05:00 +00:00
|
|
|
===========================
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Copyright © 1998, 2006 Neil Hodgson <neilh(at)scintilla(dot)org>
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
This appendix is distributed under the terms of the License for
|
|
|
|
Scintilla and SciTE. A copy of this license can be found in the file
|
|
|
|
``scintilla/License.txt`` included with the source code of this
|
|
|
|
program and in the appendix of this document. See `License for
|
|
|
|
Scintilla and SciTE`_.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
20 June 2006
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Keyboard commands
|
2007-08-09 10:05:00 +00:00
|
|
|
-----------------
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
Keyboard commands for Scintilla mostly follow common Windows and GTK+
|
2007-08-09 10:05:00 +00:00
|
|
|
conventions. All move keys (arrows, page up/down, home and end)
|
|
|
|
allows to extend or reduce the stream selection when holding the
|
2012-01-25 12:45:01 +00:00
|
|
|
Shift key, and the rectangular selection when holding the
|
|
|
|
appropriate keys (see `Column mode editing (rectangular selections)`_).
|
|
|
|
|
|
|
|
Some keys may not be available with some national keyboards
|
2007-08-09 10:05:00 +00:00
|
|
|
or because they are taken by the system such as by a window manager
|
2008-09-08 14:24:03 +00:00
|
|
|
or GTK. Keyboard equivalents of menu commands are listed in the
|
2007-08-09 10:05:00 +00:00
|
|
|
menus. Some less common commands with no menu equivalent are:
|
|
|
|
|
|
|
|
============================================= ======================
|
|
|
|
Action Shortcut key
|
|
|
|
============================================= ======================
|
2011-02-06 16:12:49 +00:00
|
|
|
Magnify text size. Ctrl-Keypad+
|
|
|
|
Reduce text size. Ctrl-Keypad-
|
|
|
|
Restore text size to normal. Ctrl-Keypad/
|
2007-08-09 10:05:00 +00:00
|
|
|
Indent block. Tab
|
2011-02-06 16:12:49 +00:00
|
|
|
Dedent block. Shift-Tab
|
|
|
|
Delete to start of word. Ctrl-BackSpace
|
|
|
|
Delete to end of word. Ctrl-Delete
|
|
|
|
Delete to start of line. Ctrl-Shift-BackSpace
|
|
|
|
Go to start of document. Ctrl-Home
|
|
|
|
Extend selection to start of document. Ctrl-Shift-Home
|
|
|
|
Go to start of display line. Alt-Home
|
|
|
|
Extend selection to start of display line. Alt-Shift-Home
|
|
|
|
Go to end of document. Ctrl-End
|
|
|
|
Extend selection to end of document. Ctrl-Shift-End
|
|
|
|
Extend selection to end of display line. Alt-Shift-End
|
|
|
|
Previous paragraph. Shift extends selection. Ctrl-Up
|
|
|
|
Next paragraph. Shift extends selection. Ctrl-Down
|
|
|
|
Previous word. Shift extends selection. Ctrl-Left
|
|
|
|
Next word. Shift extends selection. Ctrl-Right
|
2007-08-09 10:05:00 +00:00
|
|
|
============================================= ======================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-08-13 16:35:49 +00:00
|
|
|
Tips and tricks
|
|
|
|
===============
|
|
|
|
|
2008-08-14 16:39:51 +00:00
|
|
|
Document notebook
|
|
|
|
-----------------
|
|
|
|
|
2008-08-13 16:35:49 +00:00
|
|
|
* Double-click on empty space in the notebook tab bar to open a
|
|
|
|
new document.
|
2010-04-05 11:44:56 +00:00
|
|
|
* Middle-click on a document's notebook tab to close the document.
|
|
|
|
* Hold `Ctrl` and click on any notebook tab to switch to the last used
|
|
|
|
document.
|
2008-08-13 16:35:49 +00:00
|
|
|
* Double-click on a document's notebook tab to toggle all additional
|
2008-12-11 16:29:54 +00:00
|
|
|
widgets (to show them again use the View menu or the keyboard
|
|
|
|
shortcut). The interface pref must be enabled for this to work.
|
2008-08-14 16:39:51 +00:00
|
|
|
|
2008-11-08 13:14:09 +00:00
|
|
|
Editor
|
|
|
|
------
|
2008-08-14 16:39:51 +00:00
|
|
|
|
2008-11-26 16:43:14 +00:00
|
|
|
* Alt-scroll wheel moves up/down a page.
|
|
|
|
* Ctrl-scroll wheel zooms in/out.
|
2008-12-11 17:18:06 +00:00
|
|
|
* Shift-scroll wheel scrolls 8 characters right/left.
|
2015-07-19 21:25:44 +02:00
|
|
|
* Ctrl-click on a word in a document to perform *Go to Symbol Definition*.
|
2008-11-08 13:14:09 +00:00
|
|
|
* Ctrl-click on a bracket/brace to perform *Go to Matching Brace*.
|
|
|
|
|
|
|
|
Interface
|
|
|
|
---------
|
|
|
|
|
2008-08-13 16:35:49 +00:00
|
|
|
* Double-click on a symbol-list group to expand or compact it.
|
|
|
|
|
|
|
|
GTK-related
|
|
|
|
-----------
|
|
|
|
|
|
|
|
* Scrolling the mouse wheel over a notebook tab bar will switch
|
|
|
|
notebook pages.
|
|
|
|
|
|
|
|
The following are derived from X-Windows features (but GTK still supports
|
|
|
|
them on Windows):
|
|
|
|
|
|
|
|
* Middle-click pastes the last selected text.
|
|
|
|
* Middle-click on a scrollbar moves the scrollbar to that
|
|
|
|
position without having to drag it.
|
|
|
|
|
|
|
|
|
2007-08-28 15:45:54 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Compile-time options
|
|
|
|
====================
|
|
|
|
|
2008-04-23 16:47:42 +00:00
|
|
|
There are some options which can only be changed at compile time,
|
|
|
|
and some options which are used as the default for configurable
|
|
|
|
options. To change these options, edit the appropriate source file
|
|
|
|
in the ``src`` subdirectory. Look for a block of lines starting with
|
|
|
|
``#define GEANY_*``. Any definitions which are not listed here should
|
|
|
|
not be changed.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
.. note::
|
|
|
|
Most users should not need to change these options.
|
|
|
|
|
2008-04-23 16:47:42 +00:00
|
|
|
src/geany.h
|
|
|
|
-----------
|
|
|
|
|
2007-08-12 19:30:45 +00:00
|
|
|
============================== ============================================ ==================
|
|
|
|
Option Description Default
|
|
|
|
============================== ============================================ ==================
|
|
|
|
GEANY_STRING_UNTITLED A string used as the default name for new untitled
|
|
|
|
files. Be aware that the string can be
|
|
|
|
translated, so change it only if you know
|
|
|
|
what you are doing.
|
|
|
|
GEANY_WINDOW_MINIMAL_WIDTH The minimal width of the main window. 620
|
|
|
|
GEANY_WINDOW_MINIMAL_HEIGHT The minimal height of the main window. 440
|
|
|
|
GEANY_WINDOW_DEFAULT_WIDTH The default width of the main window at the 900
|
|
|
|
first start.
|
|
|
|
GEANY_WINDOW_DEFAULT_HEIGHT The default height of the main window at the 600
|
|
|
|
first start.
|
2008-04-23 16:47:42 +00:00
|
|
|
**Windows specific**
|
|
|
|
GEANY_USE_WIN32_DIALOG Set this to 1 if you want to use the default 0
|
|
|
|
Windows file open and save dialogs instead
|
|
|
|
GTK's file open and save dialogs. The
|
|
|
|
default Windows file dialogs are missing
|
|
|
|
some nice features like choosing a filetype
|
|
|
|
or an encoding. *Do not touch this setting
|
|
|
|
when building on a non-Win32 system.*
|
|
|
|
============================== ============================================ ==================
|
|
|
|
|
|
|
|
project.h
|
|
|
|
---------
|
|
|
|
|
|
|
|
============================== ============================================ ==================
|
|
|
|
Option Description Default
|
|
|
|
============================== ============================================ ==================
|
|
|
|
GEANY_PROJECT_EXT The default filename extension for Geany geany
|
|
|
|
project files. It is used when creating new
|
|
|
|
projects and as filter mask for the project
|
|
|
|
open dialog.
|
|
|
|
============================== ============================================ ==================
|
|
|
|
|
2011-10-22 22:55:57 +11:00
|
|
|
filetypes.c
|
|
|
|
-----------
|
|
|
|
|
|
|
|
============================== ============================================ ==================
|
|
|
|
Option Description Default
|
|
|
|
============================== ============================================ ==================
|
|
|
|
GEANY_FILETYPE_SEARCH_LINES The number of lines to search for the 2
|
|
|
|
filetype with the extract filetype regex.
|
|
|
|
============================== ============================================ ==================
|
|
|
|
|
2008-04-23 16:47:42 +00:00
|
|
|
editor.h
|
|
|
|
--------
|
|
|
|
|
|
|
|
============================== ============================================ ==================
|
|
|
|
Option Description Default
|
|
|
|
============================== ============================================ ==================
|
|
|
|
GEANY_WORDCHARS These characters define word boundaries when a string with:
|
|
|
|
making selections and searching using word a-z, A-Z, 0-9 and
|
|
|
|
matching options. underscore.
|
|
|
|
============================== ============================================ ==================
|
|
|
|
|
|
|
|
keyfile.c
|
|
|
|
---------
|
|
|
|
|
|
|
|
These are default settings that can be overridden in the `Preferences`_ dialog.
|
|
|
|
|
|
|
|
============================== ============================================ ==================
|
|
|
|
Option Description Default
|
|
|
|
============================== ============================================ ==================
|
|
|
|
GEANY_MIN_SYMBOLLIST_CHARS How many characters you need to type to 4
|
2009-07-08 12:29:20 +00:00
|
|
|
trigger the autocompletion list.
|
2008-04-23 16:47:42 +00:00
|
|
|
GEANY_DISK_CHECK_TIMEOUT Time in seconds between checking a file for 30
|
|
|
|
external changes.
|
2007-08-12 19:30:45 +00:00
|
|
|
GEANY_DEFAULT_TOOLS_MAKE The make tool. This can also include a path. "make"
|
2013-02-21 17:07:42 +11:00
|
|
|
GEANY_DEFAULT_TOOLS_TERMINAL A terminal emulator command, see See below.
|
|
|
|
`Terminal emulators`_.
|
2007-08-12 19:30:45 +00:00
|
|
|
GEANY_DEFAULT_TOOLS_BROWSER A web browser. This can also include a path. "firefox"
|
|
|
|
GEANY_DEFAULT_TOOLS_PRINTCMD A printing tool. It should be able to accept "lpr"
|
|
|
|
and process plain text files. This can also
|
|
|
|
include a path.
|
|
|
|
GEANY_DEFAULT_TOOLS_GREP A grep tool. It should be compatible with "grep"
|
|
|
|
GNU grep. This can also include a path.
|
2008-04-23 16:47:42 +00:00
|
|
|
GEANY_DEFAULT_MRU_LENGTH The length of the "Recent files" list. 10
|
2007-08-12 19:30:45 +00:00
|
|
|
GEANY_DEFAULT_FONT_SYMBOL_LIST The font used in sidebar to show symbols and "Sans 9"
|
|
|
|
open files.
|
|
|
|
GEANY_DEFAULT_FONT_MSG_WINDOW The font used in the messages window. "Sans 9"
|
|
|
|
GEANY_DEFAULT_FONT_EDITOR The font used in the editor window. "Monospace 10"
|
2008-08-29 17:00:02 +00:00
|
|
|
GEANY_TOGGLE_MARK A string which is used to mark a toggled "~ "
|
|
|
|
comment.
|
2009-07-08 12:29:20 +00:00
|
|
|
GEANY_MAX_AUTOCOMPLETE_WORDS How many autocompletion suggestions should 30
|
2008-08-29 17:00:02 +00:00
|
|
|
Geany provide.
|
2011-10-22 22:55:57 +11:00
|
|
|
GEANY_DEFAULT_FILETYPE_REGEX The default regex to extract filetypes from See below.
|
|
|
|
files.
|
2007-08-12 19:30:45 +00:00
|
|
|
============================== ============================================ ==================
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2011-10-22 22:55:57 +11:00
|
|
|
The GEANY_DEFAULT_FILETYPE_REGEX default value is -\\*-\\s*([^\\s]+)\\s*-\\*- which finds Emacs filetypes.
|
|
|
|
|
2013-02-21 17:07:42 +11:00
|
|
|
The GEANY_DEFAULT_TOOLS_TERMINAL default value on Windows is::
|
|
|
|
|
|
|
|
cmd.exe /Q /C %c
|
|
|
|
|
|
|
|
and on any non-Windows system is::
|
|
|
|
|
|
|
|
xterm -e "/bin/sh %c"
|
|
|
|
|
|
|
|
|
2010-07-01 17:08:00 +00:00
|
|
|
build.c
|
2009-04-21 20:54:50 +00:00
|
|
|
-------
|
|
|
|
|
|
|
|
============================== ============================================ ==================
|
|
|
|
Option Description Default
|
|
|
|
============================== ============================================ ==================
|
2010-07-01 17:08:00 +00:00
|
|
|
GEANY_BUILD_ERR_HIGHLIGHT_MAX Amount of build error indicators to 50
|
|
|
|
be shown in the editor window.
|
|
|
|
This affects the special coloring
|
2009-04-21 20:54:50 +00:00
|
|
|
when Geany detects a compiler output line as
|
2010-07-01 17:08:00 +00:00
|
|
|
an error message and then highlights the
|
2009-04-21 20:54:50 +00:00
|
|
|
corresponding line in the source code.
|
|
|
|
Usually only the first few messages are
|
|
|
|
interesting because following errors are
|
2010-07-01 17:08:00 +00:00
|
|
|
just after-effects.
|
|
|
|
All errors in the Compiler window are parsed
|
|
|
|
and unaffected by this value.
|
2009-07-20 03:50:53 +00:00
|
|
|
PRINTBUILDCMDS Every time a build menu item priority FALSE
|
2009-08-24 12:43:19 +00:00
|
|
|
calculation is run, print the state of the
|
2009-07-20 03:50:53 +00:00
|
|
|
menu item table in the form of the table
|
2009-08-24 12:43:19 +00:00
|
|
|
in `Build Menu Configuration`_. May be
|
|
|
|
useful to debug configuration file
|
|
|
|
overloading. Warning produces a lot of
|
2009-07-20 03:50:53 +00:00
|
|
|
output. Can also be enabled/disabled by the
|
|
|
|
debugger by setting printbuildcmds to 1/0
|
|
|
|
overriding the compile setting.
|
|
|
|
============================== ============================================ ==================
|
|
|
|
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
GNU General Public License
|
|
|
|
==========================
|
|
|
|
|
|
|
|
::
|
|
|
|
|
|
|
|
GNU GENERAL PUBLIC LICENSE
|
|
|
|
Version 2, June 1991
|
|
|
|
|
|
|
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
2012-08-24 19:25:57 +02:00
|
|
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
2007-08-09 10:05:00 +00:00
|
|
|
Everyone is permitted to copy and distribute verbatim copies
|
|
|
|
of this license document, but changing it is not allowed.
|
|
|
|
|
|
|
|
Preamble
|
|
|
|
|
|
|
|
The licenses for most software are designed to take away your
|
|
|
|
freedom to share and change it. By contrast, the GNU General Public
|
|
|
|
License is intended to guarantee your freedom to share and change free
|
|
|
|
software--to make sure the software is free for all its users. This
|
|
|
|
General Public License applies to most of the Free Software
|
|
|
|
Foundation's software and to any other program whose authors commit to
|
|
|
|
using it. (Some other Free Software Foundation software is covered by
|
|
|
|
the GNU Library General Public License instead.) You can apply it to
|
|
|
|
your programs, too.
|
|
|
|
|
|
|
|
When we speak of free software, we are referring to freedom, not
|
|
|
|
price. Our General Public Licenses are designed to make sure that you
|
|
|
|
have the freedom to distribute copies of free software (and charge for
|
|
|
|
this service if you wish), that you receive source code or can get it
|
|
|
|
if you want it, that you can change the software or use pieces of it
|
|
|
|
in new free programs; and that you know you can do these things.
|
|
|
|
|
|
|
|
To protect your rights, we need to make restrictions that forbid
|
|
|
|
anyone to deny you these rights or to ask you to surrender the rights.
|
|
|
|
These restrictions translate to certain responsibilities for you if you
|
|
|
|
distribute copies of the software, or if you modify it.
|
|
|
|
|
|
|
|
For example, if you distribute copies of such a program, whether
|
|
|
|
gratis or for a fee, you must give the recipients all the rights that
|
|
|
|
you have. You must make sure that they, too, receive or can get the
|
|
|
|
source code. And you must show them these terms so they know their
|
|
|
|
rights.
|
|
|
|
|
|
|
|
We protect your rights with two steps: (1) copyright the software, and
|
|
|
|
(2) offer you this license which gives you legal permission to copy,
|
|
|
|
distribute and/or modify the software.
|
|
|
|
|
|
|
|
Also, for each author's protection and ours, we want to make certain
|
|
|
|
that everyone understands that there is no warranty for this free
|
|
|
|
software. If the software is modified by someone else and passed on, we
|
|
|
|
want its recipients to know that what they have is not the original, so
|
|
|
|
that any problems introduced by others will not reflect on the original
|
|
|
|
authors' reputations.
|
|
|
|
|
|
|
|
Finally, any free program is threatened constantly by software
|
|
|
|
patents. We wish to avoid the danger that redistributors of a free
|
|
|
|
program will individually obtain patent licenses, in effect making the
|
|
|
|
program proprietary. To prevent this, we have made it clear that any
|
|
|
|
patent must be licensed for everyone's free use or not licensed at all.
|
|
|
|
|
|
|
|
The precise terms and conditions for copying, distribution and
|
|
|
|
modification follow.
|
|
|
|
|
|
|
|
GNU GENERAL PUBLIC LICENSE
|
|
|
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
|
|
|
|
|
|
|
0. This License applies to any program or other work which contains
|
|
|
|
a notice placed by the copyright holder saying it may be distributed
|
|
|
|
under the terms of this General Public License. The "Program", below,
|
|
|
|
refers to any such program or work, and a "work based on the Program"
|
|
|
|
means either the Program or any derivative work under copyright law:
|
|
|
|
that is to say, a work containing the Program or a portion of it,
|
|
|
|
either verbatim or with modifications and/or translated into another
|
|
|
|
language. (Hereinafter, translation is included without limitation in
|
|
|
|
the term "modification".) Each licensee is addressed as "you".
|
|
|
|
|
|
|
|
Activities other than copying, distribution and modification are not
|
|
|
|
covered by this License; they are outside its scope. The act of
|
|
|
|
running the Program is not restricted, and the output from the Program
|
|
|
|
is covered only if its contents constitute a work based on the
|
|
|
|
Program (independent of having been made by running the Program).
|
|
|
|
Whether that is true depends on what the Program does.
|
|
|
|
|
|
|
|
1. You may copy and distribute verbatim copies of the Program's
|
|
|
|
source code as you receive it, in any medium, provided that you
|
|
|
|
conspicuously and appropriately publish on each copy an appropriate
|
|
|
|
copyright notice and disclaimer of warranty; keep intact all the
|
|
|
|
notices that refer to this License and to the absence of any warranty;
|
|
|
|
and give any other recipients of the Program a copy of this License
|
|
|
|
along with the Program.
|
|
|
|
|
|
|
|
You may charge a fee for the physical act of transferring a copy, and
|
|
|
|
you may at your option offer warranty protection in exchange for a fee.
|
|
|
|
|
|
|
|
2. You may modify your copy or copies of the Program or any portion
|
|
|
|
of it, thus forming a work based on the Program, and copy and
|
|
|
|
distribute such modifications or work under the terms of Section 1
|
|
|
|
above, provided that you also meet all of these conditions:
|
|
|
|
|
|
|
|
a) You must cause the modified files to carry prominent notices
|
|
|
|
stating that you changed the files and the date of any change.
|
|
|
|
|
|
|
|
b) You must cause any work that you distribute or publish, that in
|
|
|
|
whole or in part contains or is derived from the Program or any
|
|
|
|
part thereof, to be licensed as a whole at no charge to all third
|
|
|
|
parties under the terms of this License.
|
|
|
|
|
|
|
|
c) If the modified program normally reads commands interactively
|
|
|
|
when run, you must cause it, when started running for such
|
|
|
|
interactive use in the most ordinary way, to print or display an
|
|
|
|
announcement including an appropriate copyright notice and a
|
|
|
|
notice that there is no warranty (or else, saying that you provide
|
|
|
|
a warranty) and that users may redistribute the program under
|
|
|
|
these conditions, and telling the user how to view a copy of this
|
|
|
|
License. (Exception: if the Program itself is interactive but
|
|
|
|
does not normally print such an announcement, your work based on
|
|
|
|
the Program is not required to print an announcement.)
|
|
|
|
|
|
|
|
These requirements apply to the modified work as a whole. If
|
|
|
|
identifiable sections of that work are not derived from the Program,
|
|
|
|
and can be reasonably considered independent and separate works in
|
|
|
|
themselves, then this License, and its terms, do not apply to those
|
|
|
|
sections when you distribute them as separate works. But when you
|
|
|
|
distribute the same sections as part of a whole which is a work based
|
|
|
|
on the Program, the distribution of the whole must be on the terms of
|
|
|
|
this License, whose permissions for other licensees extend to the
|
|
|
|
entire whole, and thus to each and every part regardless of who wrote it.
|
|
|
|
|
|
|
|
Thus, it is not the intent of this section to claim rights or contest
|
|
|
|
your rights to work written entirely by you; rather, the intent is to
|
|
|
|
exercise the right to control the distribution of derivative or
|
|
|
|
collective works based on the Program.
|
|
|
|
|
|
|
|
In addition, mere aggregation of another work not based on the Program
|
|
|
|
with the Program (or with a work based on the Program) on a volume of
|
|
|
|
a storage or distribution medium does not bring the other work under
|
|
|
|
the scope of this License.
|
|
|
|
|
|
|
|
3. You may copy and distribute the Program (or a work based on it,
|
|
|
|
under Section 2) in object code or executable form under the terms of
|
|
|
|
Sections 1 and 2 above provided that you also do one of the following:
|
|
|
|
|
|
|
|
a) Accompany it with the complete corresponding machine-readable
|
|
|
|
source code, which must be distributed under the terms of Sections
|
|
|
|
1 and 2 above on a medium customarily used for software interchange; or,
|
|
|
|
|
|
|
|
b) Accompany it with a written offer, valid for at least three
|
|
|
|
years, to give any third party, for a charge no more than your
|
|
|
|
cost of physically performing source distribution, a complete
|
|
|
|
machine-readable copy of the corresponding source code, to be
|
|
|
|
distributed under the terms of Sections 1 and 2 above on a medium
|
|
|
|
customarily used for software interchange; or,
|
|
|
|
|
|
|
|
c) Accompany it with the information you received as to the offer
|
|
|
|
to distribute corresponding source code. (This alternative is
|
|
|
|
allowed only for noncommercial distribution and only if you
|
|
|
|
received the program in object code or executable form with such
|
|
|
|
an offer, in accord with Subsection b above.)
|
|
|
|
|
|
|
|
The source code for a work means the preferred form of the work for
|
|
|
|
making modifications to it. For an executable work, complete source
|
|
|
|
code means all the source code for all modules it contains, plus any
|
|
|
|
associated interface definition files, plus the scripts used to
|
|
|
|
control compilation and installation of the executable. However, as a
|
|
|
|
special exception, the source code distributed need not include
|
|
|
|
anything that is normally distributed (in either source or binary
|
|
|
|
form) with the major components (compiler, kernel, and so on) of the
|
|
|
|
operating system on which the executable runs, unless that component
|
|
|
|
itself accompanies the executable.
|
|
|
|
|
|
|
|
If distribution of executable or object code is made by offering
|
|
|
|
access to copy from a designated place, then offering equivalent
|
|
|
|
access to copy the source code from the same place counts as
|
|
|
|
distribution of the source code, even though third parties are not
|
|
|
|
compelled to copy the source along with the object code.
|
|
|
|
|
|
|
|
4. You may not copy, modify, sublicense, or distribute the Program
|
|
|
|
except as expressly provided under this License. Any attempt
|
|
|
|
otherwise to copy, modify, sublicense or distribute the Program is
|
|
|
|
void, and will automatically terminate your rights under this License.
|
|
|
|
However, parties who have received copies, or rights, from you under
|
|
|
|
this License will not have their licenses terminated so long as such
|
|
|
|
parties remain in full compliance.
|
|
|
|
|
|
|
|
5. You are not required to accept this License, since you have not
|
|
|
|
signed it. However, nothing else grants you permission to modify or
|
|
|
|
distribute the Program or its derivative works. These actions are
|
|
|
|
prohibited by law if you do not accept this License. Therefore, by
|
|
|
|
modifying or distributing the Program (or any work based on the
|
|
|
|
Program), you indicate your acceptance of this License to do so, and
|
|
|
|
all its terms and conditions for copying, distributing or modifying
|
|
|
|
the Program or works based on it.
|
|
|
|
|
|
|
|
6. Each time you redistribute the Program (or any work based on the
|
|
|
|
Program), the recipient automatically receives a license from the
|
|
|
|
original licensor to copy, distribute or modify the Program subject to
|
|
|
|
these terms and conditions. You may not impose any further
|
|
|
|
restrictions on the recipients' exercise of the rights granted herein.
|
|
|
|
You are not responsible for enforcing compliance by third parties to
|
2007-05-21 15:24:27 +00:00
|
|
|
this License.
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
7. If, as a consequence of a court judgment or allegation of patent
|
|
|
|
infringement or for any other reason (not limited to patent issues),
|
|
|
|
conditions are imposed on you (whether by court order, agreement or
|
|
|
|
otherwise) that contradict the conditions of this License, they do not
|
|
|
|
excuse you from the conditions of this License. If you cannot
|
|
|
|
distribute so as to satisfy simultaneously your obligations under this
|
|
|
|
License and any other pertinent obligations, then as a consequence you
|
|
|
|
may not distribute the Program at all. For example, if a patent
|
|
|
|
license would not permit royalty-free redistribution of the Program by
|
|
|
|
all those who receive copies directly or indirectly through you, then
|
|
|
|
the only way you could satisfy both it and this License would be to
|
|
|
|
refrain entirely from distribution of the Program.
|
|
|
|
|
|
|
|
If any portion of this section is held invalid or unenforceable under
|
|
|
|
any particular circumstance, the balance of the section is intended to
|
|
|
|
apply and the section as a whole is intended to apply in other
|
|
|
|
circumstances.
|
|
|
|
|
|
|
|
It is not the purpose of this section to induce you to infringe any
|
|
|
|
patents or other property right claims or to contest validity of any
|
|
|
|
such claims; this section has the sole purpose of protecting the
|
|
|
|
integrity of the free software distribution system, which is
|
|
|
|
implemented by public license practices. Many people have made
|
|
|
|
generous contributions to the wide range of software distributed
|
|
|
|
through that system in reliance on consistent application of that
|
|
|
|
system; it is up to the author/donor to decide if he or she is willing
|
|
|
|
to distribute software through any other system and a licensee cannot
|
|
|
|
impose that choice.
|
|
|
|
|
|
|
|
This section is intended to make thoroughly clear what is believed to
|
|
|
|
be a consequence of the rest of this License.
|
|
|
|
|
|
|
|
8. If the distribution and/or use of the Program is restricted in
|
|
|
|
certain countries either by patents or by copyrighted interfaces, the
|
|
|
|
original copyright holder who places the Program under this License
|
|
|
|
may add an explicit geographical distribution limitation excluding
|
|
|
|
those countries, so that distribution is permitted only in or among
|
|
|
|
countries not thus excluded. In such case, this License incorporates
|
|
|
|
the limitation as if written in the body of this License.
|
|
|
|
|
|
|
|
9. The Free Software Foundation may publish revised and/or new versions
|
|
|
|
of the General Public License from time to time. Such new versions will
|
|
|
|
be similar in spirit to the present version, but may differ in detail to
|
|
|
|
address new problems or concerns.
|
|
|
|
|
|
|
|
Each version is given a distinguishing version number. If the Program
|
|
|
|
specifies a version number of this License which applies to it and "any
|
|
|
|
later version", you have the option of following the terms and conditions
|
|
|
|
either of that version or of any later version published by the Free
|
|
|
|
Software Foundation. If the Program does not specify a version number of
|
|
|
|
this License, you may choose any version ever published by the Free Software
|
|
|
|
Foundation.
|
|
|
|
|
|
|
|
10. If you wish to incorporate parts of the Program into other free
|
|
|
|
programs whose distribution conditions are different, write to the author
|
|
|
|
to ask for permission. For software which is copyrighted by the Free
|
|
|
|
Software Foundation, write to the Free Software Foundation; we sometimes
|
|
|
|
make exceptions for this. Our decision will be guided by the two goals
|
|
|
|
of preserving the free status of all derivatives of our free software and
|
|
|
|
of promoting the sharing and reuse of software generally.
|
|
|
|
|
|
|
|
NO WARRANTY
|
|
|
|
|
|
|
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
|
|
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
|
|
|
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
|
|
|
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
|
|
|
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
|
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
|
|
|
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
|
|
|
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
|
|
|
REPAIR OR CORRECTION.
|
|
|
|
|
|
|
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
|
|
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
|
|
|
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
|
|
|
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
|
|
|
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
|
|
|
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
|
|
|
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
|
|
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
|
|
|
POSSIBILITY OF SUCH DAMAGES.
|
|
|
|
|
|
|
|
END OF TERMS AND CONDITIONS
|
|
|
|
|
|
|
|
How to Apply These Terms to Your New Programs
|
|
|
|
|
|
|
|
If you develop a new program, and you want it to be of the greatest
|
|
|
|
possible use to the public, the best way to achieve this is to make it
|
|
|
|
free software which everyone can redistribute and change under these terms.
|
|
|
|
|
|
|
|
To do so, attach the following notices to the program. It is safest
|
|
|
|
to attach them to the start of each source file to most effectively
|
|
|
|
convey the exclusion of warranty; and each file should have at least
|
|
|
|
the "copyright" line and a pointer to where the full notice is found.
|
|
|
|
|
|
|
|
<one line to give the program's name and a brief idea of what it does.>
|
|
|
|
Copyright (C) <year> <name of author>
|
|
|
|
|
|
|
|
This program 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 2 of the License, or
|
|
|
|
(at your option) any later version.
|
|
|
|
|
|
|
|
This program 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.
|
|
|
|
|
2012-08-24 19:25:57 +02:00
|
|
|
You should have received a copy of the GNU General Public License along
|
|
|
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
|
|
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
2007-08-09 10:05:00 +00:00
|
|
|
|
|
|
|
|
|
|
|
Also add information on how to contact you by electronic and paper mail.
|
|
|
|
|
|
|
|
If the program is interactive, make it output a short notice like this
|
|
|
|
when it starts in an interactive mode:
|
|
|
|
|
|
|
|
Gnomovision version 69, Copyright (C) year name of author
|
|
|
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
|
|
|
This is free software, and you are welcome to redistribute it
|
|
|
|
under certain conditions; type `show c' for details.
|
|
|
|
|
|
|
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
|
|
|
parts of the General Public License. Of course, the commands you use may
|
|
|
|
be called something other than `show w' and `show c'; they could even be
|
|
|
|
mouse-clicks or menu items--whatever suits your program.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
You should also get your employer (if you work as a programmer) or your
|
|
|
|
school, if any, to sign a "copyright disclaimer" for the program, if
|
|
|
|
necessary. Here is a sample; alter the names:
|
|
|
|
|
|
|
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
|
|
|
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
<signature of Ty Coon>, 1 April 1989
|
|
|
|
Ty Coon, President of Vice
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
This General Public License does not permit incorporating your program into
|
|
|
|
proprietary programs. If your program is a subroutine library, you may
|
|
|
|
consider it more useful to permit linking proprietary applications with the
|
|
|
|
library. If this is what you want to do, use the GNU Library General
|
|
|
|
Public License instead of this License.
|
2007-05-21 15:24:27 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
License for Scintilla and SciTE
|
|
|
|
===============================
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Copyright 1998-2003 by Neil Hodgson <neilh(at)scintilla(dot)org>
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
All Rights Reserved
|
2007-05-21 15:24:27 +00:00
|
|
|
|
2007-08-09 10:05:00 +00:00
|
|
|
Permission to use, copy, modify, and distribute this software and
|
|
|
|
its documentation for any purpose and without fee is hereby granted,
|
|
|
|
provided that the above copyright notice appear in all copies and
|
|
|
|
that both that copyright notice and this permission notice appear in
|
|
|
|
supporting documentation.
|
|
|
|
|
|
|
|
NEIL HODGSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
|
|
|
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
|
|
|
|
NO EVENT SHALL NEIL HODGSON BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
|
|
|
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
|
|
|
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
|
|
|
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
|
|
|
|
USE OR PERFORMANCE OF THIS SOFTWARE.
|