SF.net SVN: geany: [1320] branches/geany-0.10.1/doc

eht16 at users.sourceforge.net eht16 at xxxxx
Fri Feb 23 12:16:29 UTC 2007


Revision: 1320
          http://svn.sourceforge.net/geany/?rev=1320&view=rev
Author:   eht16
Date:     2007-02-23 04:16:29 -0800 (Fri, 23 Feb 2007)

Log Message:
-----------
Updated for 0.10.1 release.

Modified Paths:
--------------
    branches/geany-0.10.1/doc/geany.txt
    branches/geany-0.10.1/doc/html/apa.html
    branches/geany-0.10.1/doc/html/apb.html
    branches/geany-0.10.1/doc/html/apbs02.html
    branches/geany-0.10.1/doc/html/apbs03.html
    branches/geany-0.10.1/doc/html/apc.html
    branches/geany-0.10.1/doc/html/ch01.html
    branches/geany-0.10.1/doc/html/ch01s02.html
    branches/geany-0.10.1/doc/html/ch01s03.html
    branches/geany-0.10.1/doc/html/ch01s04.html
    branches/geany-0.10.1/doc/html/ch02.html
    branches/geany-0.10.1/doc/html/ch02s02.html
    branches/geany-0.10.1/doc/html/ch02s03.html
    branches/geany-0.10.1/doc/html/ch03.html
    branches/geany-0.10.1/doc/html/ch03s02.html
    branches/geany-0.10.1/doc/html/ch03s03.html
    branches/geany-0.10.1/doc/html/ch03s04.html
    branches/geany-0.10.1/doc/html/ch03s05.html
    branches/geany-0.10.1/doc/html/ch03s06.html
    branches/geany-0.10.1/doc/html/ch03s07.html
    branches/geany-0.10.1/doc/html/ch03s08.html
    branches/geany-0.10.1/doc/html/ch03s09.html
    branches/geany-0.10.1/doc/html/ch04.html
    branches/geany-0.10.1/doc/html/ch04s02.html
    branches/geany-0.10.1/doc/html/ch04s03.html
    branches/geany-0.10.1/doc/html/index.html

Modified: branches/geany-0.10.1/doc/geany.txt
===================================================================
--- branches/geany-0.10.1/doc/geany.txt	2007-02-23 12:15:01 UTC (rev 1319)
+++ branches/geany-0.10.1/doc/geany.txt	2007-02-23 12:16:29 UTC (rev 1320)
@@ -1,1685 +1,2065 @@
+Geany 0.10.1
 
-Geany 0.9
-
 Enrico Tröger
 
 Nick Treleaven
 
 Frank Lanitz
 
-   Copyright \xA9 2005-2006
+Copyright © 2005-2007
 
-   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 see Appendix B.
-     _________________________________________________________
+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 see
+Appendix B, GNU General Public License.
 
-   Table of Contents
-   1. Introduction
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 
-        1.1. About Geany
-        1.2. About this document
-        1.3. Where to get it
-        1.4. License
+Table of Contents
 
-   2. Installation
+1. Introduction
 
-        2.1. Requirements
-        2.2. Source compilation
-        2.3. Binary packages
+    About Geany
+    About this document
+    Where to get it
+    License
 
-              2.3.1. Fedora
-              2.3.2. Debian
-              2.3.3. SuSE
-              2.3.4. Gentoo
+2. Installation
 
-   3. Usage
+    Requirements
+    Source compilation
+    Binary packages
 
-        3.1. Getting started
-        3.2. Command line options
-        3.3. General
+        Fedora
+        Debian
+        SuSE
+        Gentoo
 
-              3.3.1. Startup
-              3.3.2. Opening files from the command-line in a
-                      running instance
+3. Usage
 
-              3.3.3. Virtual terminal emulator widget (VTE)
+    Getting started
+    Command line options
+    General
 
-        3.4. Character sets and Unicode Byte-Order-Mark (BOM)
-        3.5. Search, replace and go to
+        Startup
+        Opening files from the command-line in a running instance
+        Virtual terminal emulator widget (VTE)
 
-              3.5.1. Find
-              3.5.2. Find usage
-              3.5.3. Find in files
-              3.5.4. Replace
-              3.5.5. Go to tag definition
-              3.5.6. Go to tag declaration
-              3.5.7. Go to line
-              3.5.8. Regular expressions
+    Character sets and Unicode Byte-Order-Mark (BOM)
 
-        3.6. Preferences
+        Using character sets
+        Special encoding "None"
+        Unicode Byte-Order-Mark (BOM)
 
-              3.6.1. Compile time options
+    Search, replace and go to
 
-        3.7. Build system
+        Find
+        Find usage
+        Find in files
+        Replace
+        Go to tag definition
+        Go to tag declaration
+        Go to line
+        Regular expressions
 
-              3.7.1. Compile
-              3.7.2. Build
-              3.7.3. Make all
-              3.7.4. Make custom target
-              3.7.5. Make object
-              3.7.6. Execute
-              3.7.7. Set Includes and Arguments
-              3.7.8. Indicators
-              3.7.9. File type configuration settings
+    Preferences
 
-        3.8. Printing support
-        3.9. Keybindings
+        Compile time options
 
-   4. Configuration files
+    Build system
 
-        4.1. Filetype definition files
+        Compile
+        Build
+        Make all
+        Make custom target
+        Make object
+        Execute
+        Stopping running processes
+        Set Includes and Arguments
+        Indicators
+        File type configuration settings
 
-              4.1.1. Format
-              4.1.2. Special file filetypes.common
+    Printing support
+    Keybindings
 
-        4.2. Filetype extensions
-        4.3. Templates
+4. Configuration files
 
-   A. Scintilla keyboard commands
+    Filetype definition files
 
-        A.1. Keyboard commands
+        Format
+        Special file filetypes.common
 
-   B. GNU General Public License
+    Filetype extensions
+    Templates
 
-        B.1. Preamble
-        B.2. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND
-                MODIFICATION
+A. Scintilla keyboard commands
 
-              B.2.1. Section 0
-              B.2.2. Section 1
-              B.2.3. Section 2
-              B.2.4. Section 3
-              B.2.5. Section 4
-              B.2.6. Section 5
-              B.2.7. Section 6
-              B.2.8. Section 7
-              B.2.9. Section 8
-              B.2.10. Section 9
-              B.2.11. Section 10
-              B.2.12. Section 11 NO WARRANTY
-              B.2.13. Section 12
+    Keyboard commands
 
-        B.3. How to Apply These Terms to Your New Programs
+B. GNU General Public License
 
-   C. License for Scintilla and SciTE
+    Preamble
+    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
-   List of Tables
-   3-1. Command line Options
-   3-2. Regular expressions
-   3-3. Compile time options
-   3-4. Keybindings action table
-   4-1. General settings
-   4-2. Build settings
-   4-3. General settings
-   4-4. Template wildcards
-   A-1. Scintilla keyboard commands
+        Section 0
+        Section 1
+        Section 2
+        Section 3
+        Section 4
+        Section 5
+        Section 6
+        Section 7
+        Section 8
+        Section 9
+        Section 10
+        Section 11 NO WARRANTY
+        Section 12
 
-   List of Figures
-   3-1. Find dialog
-   3-2. General tab in preferences dialog
-   3-3. Interface tab in preferences dialog
-   3-4. Toolbar tab in preferences dialog
-   3-5. Editor tab in preferences dialog
-   3-6. Tools tab in preferences dialog
-   3-7. Template tab in preferences dialog
-   3-8. Keybinding tab in preferences dialog
-   3-9. VTE tab in preferences dialog
+    How to Apply These Terms to Your New Programs
 
-   List of Examples
-   4-1. Comment indentation
-     _________________________________________________________
+C. License for Scintilla and SciTE
 
-Chapter 1. Introduction
+List of Figures
 
-1.1. About Geany
+3.1. Find dialog
+3.2. Find in files dialog
+3.3. Replace dialog
+3.4. General tab in preferences dialog
+3.5. Interface tab in preferences dialog
+3.6. Toolbar tab in preferences dialog
+3.7. Files tab in preferences dialog
+3.8. Editor tab in preferences dialog
+3.9. Tools tab in preferences dialog
+3.10. Template tab in preferences dialog
+3.11. Keybinding tab in preferences dialog
+3.12. VTE tab in preferences dialog
 
-   Geany is a small and lightweight Integrated Development
-   Environment. It was developed to provide a small and fast IDE,
-   which has only a few dependencies from other packages. Another
-   goal was to be as independent as possible from a special
-   Desktop Environment like KDE or GNOME, so Geany only requires
-   the GTK2 toolkit and therefore you only need the GTK2 runtime
-   libraries installed to run it.
+List of Tables
 
-   The basic features of Geany are:
+3.1. Command line Options
+3.2. Regular expressions
+3.3. Compile time options
+3.4. Keybindings action table
+4.1. General settings
+4.2. Build settings
+4.3. General settings
+4.4. Template wildcards
+A.1. Scintilla keyboard commands
 
-     * Syntax highlighting
-     * Code completion
-     * Auto completion of often used constructs like if, for and
-       while
-     * Auto completion of XML and HTML tags
-     * Call tips
-     * Many supported filetypes like C, Java, PHP, HTML, Python,
-       Perl, Pascal
-     * Tag/Symbol lists
-     _________________________________________________________
+List of Examples
 
-1.2. About this document
+4.1. Comment indentation
 
-   This documentation is available in various formats like HTML,
-   text and PDF. The latest version is always available at
-   http://geany.uvena.de.
-     _________________________________________________________
+Chapter 1.  Introduction
 
-1.3. Where to get it
+Table of Contents
 
-   You can obtain Geany from http://geany.uvena.de or perhaps
-   from your distributor.
-     _________________________________________________________
+About Geany
+About this document
+Where to get it
+License
 
-1.4. License
+About Geany
 
-   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 code of this program or see
-   Appendix B.
+Geany is a small and lightweight Integrated Development Environment. It was
+developed to provide a small and fast IDE, which has only a few dependencies
+from other packages. Another goal was to be as independent as possible from a
+special Desktop Environment like KDE or GNOME, so Geany only requires the GTK2
+toolkit and therefore you only need the GTK2 runtime libraries installed to run
+it.
 
-   The included Scintilla library (found in the subdirectory
-   scintilla/) has its own license, which can be found in the
-   appendix (see Appendix C).
-     _________________________________________________________
+The basic features of Geany are:
 
-Chapter 2. Installation
+  ● Syntax highlighting
 
-2.1. Requirements
+  ● Code completion
 
-   For compiling Geany yourself, you will need the GTK (>= 2.6.0)
-   libraries and header files. You will also need the Pango, Glib
-   and ATK libraries and header files. All these files are
-   available at http://www.gtk.org.
+  ● Auto completion of often used constructs like if, for and while
 
-   Furthermore you need, of course, a C compiler and the Make
-   tool; a C++ compiler is also required for the included
-   Scintilla library. The GNU versions of these tools are
-   recommended.
-     _________________________________________________________
+  ● Auto completion of XML and HTML tags
 
-2.2. Source compilation
+  ● Call tips
 
-   Compiling Geany is quite easy. The following should do it:
+  ● Many supported filetypes like C, Java, PHP, HTML, Python, Perl, Pascal
+
+  ● Tag/Symbol lists
+
+About this document
+
+This documentation is available in various formats like HTML, text and PDF. The
+latest version is always available at http://geany.uvena.de.
+
+Where to get it
+
+You can obtain Geany from http://geany.uvena.de or perhaps from your
+distributor.
+
+License
+
+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 code of this program or see Appendix B,
+GNU General Public License.
+
+The included Scintilla library (found in the subdirectory scintilla/) has its
+own license, which can be found in the appendix (see Appendix C, License for
+Scintilla and SciTE).
+
+Chapter 2.  Installation
+
+Table of Contents
+
+Requirements
+Source compilation
+Binary packages
+
+    Fedora
+    Debian
+    SuSE
+    Gentoo
+
+Requirements
+
+For compiling Geany yourself, you will need the GTK (>= 2.6.0) libraries and
+header files. You will also need the Pango, Glib and ATK libraries and header
+files. All these files are available at http://www.gtk.org.
+
+Furthermore you need, of course, a C compiler and the Make tool; a C++ compiler
+is also required for the included Scintilla library. The GNU versions of these
+tools are recommended.
+
+Source compilation
+
+Compiling Geany is quite easy. The following should do it:
+
                                         % ./configure
                                         % make
                                         % make install
 
-   The configure script supports several common options, for a
-   detailed list, type
+The configure script supports several common options, for a detailed list, type
+
                                         % ./configure --help
 
-   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 support to automatically load
-   libvte.so.4 if available.
+There also some compile time options which can be found in src/geany.h. Please
+see the section called “Compile time options” for more information.
 
-   Geany has been successfully compiled and tested under Debian
-   3.1 Sarge, Debian 3.2 Etch, Fedora Core 4, LinuxFromScratch
-   and FreeBSD 6.0. It also compiles under Microsoft Windows(TM),
-   but there are lots of changes to the makefiles necessary.
+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 support to automatically load
+libvte.so.4 if available.
 
-   If there are any errors during compilation, check your build
-   environment and try to find the error, otherwise contact the
-   author at <enrico.troeger at uvena.de>.
-     _________________________________________________________
+Geany has been successfully compiled and tested under Debian 3.1 Sarge, Debian
+4.0 Etch, Fedora Core 3/4/5, LinuxFromScratch and FreeBSD 6.0. It also compiles
+under Microsoft Windows™.
 
-2.3. Binary packages
+If there are any errors during compilation, check your build environment and
+try to find the error, otherwise contact the author at <enrico.troeger at uvena.de
+>.
 
-2.3.1. Fedora
+Binary packages
 
-   You can use the Fedora Core 4 repository from
-   http://naturidentisch.de/packages/fc4/.
+Fedora
 
-   You can also use the Fedora Core 5 repository from
-   http://naturidentisch.de/packages/fc5/.
-     _________________________________________________________
+You can use the Fedora Core 4 repository from http://naturidentisch.de/packages
+/fc4/.
 
-2.3.2. Debian
+You can also use the Fedora Core 5 repository from http://naturidentisch.de/
+packages/fc5/.
 
-   Geany is available through the official Debian archives.
+Debian
 
-   apt-get install geany
-     _________________________________________________________
+Geany is available through the official Debian archives.
 
-2.3.3. SuSE
+apt-get install geany
 
-   Packages for SuSE are not yet available.
-     _________________________________________________________
+SuSE
 
-2.3.4. Gentoo
+Packages for SuSE are not yet available.
 
-   An ebuild for Gentoo can be found on http://bugs.gentoo.de.
-     _________________________________________________________
+Gentoo
 
-Chapter 3. Usage
+An ebuild for Gentoo can be found on http://bugs.gentoo.de.
 
-3.1. Getting started
+Chapter 3. Usage
 
-   You can start Geany in the following ways:
+Table of Contents
 
-     * From the Desktop Environment menu
-       Choose in your application menu of your used Desktop
-       Environment: Development->Geany.
-     * From the command line
-       To start Geany from a command line, type the following and
-       press Return:
-                                                                % geany
-     _________________________________________________________
+Getting started
+Command line options
+General
 
-3.2. Command line options
+    Startup
+    Opening files from the command-line in a running instance
+    Virtual terminal emulator widget (VTE)
 
-   Table 3-1. Command line Options
-   Short option Long option Function
-   -s --no-session Don't load the previous session's files.
-   -n --no-ctags Do not load auto completion and call tip data.
-   Use this option if you do not want to use them.
-   -m --no-msgwin Do not show the message window. Use this option
-   if you do not need compiler messages or VTE support.
-   -i --new-instance Do not open files in a running instance,
-   force opening a new instance.
-   -t --no-terminal Do not load terminal support. Use this option
-   if you do not want to load the virtual terminal emulator
-   widget at startup. If you do not have libvte.so.4 installed,
-   then terminal-support is automatically disabled.
-   -l --vte-lib Specify explicitly the path including filename or
-   only the filename to the VTE library, e.g. /usr/lib/libvte.so
-   or libvte.so. This option is only needed when the
-   autodetection does not work.
-   -c directory_name --config=directory_name Use an alternate
-   configuration directory. Default configuration directory is
-   ~/.geany/ and there resides geany.conf and other configuration
-   files.
-   -d --debug Run Geany in debug mode, which means being verbose
-   and printing lots of information.
-   -? --help Show help information and exit.
-   -v --version Show version information and exit.
-     [files ...] Open all given files at startup. This option
-   causes Geany to ignore loading stored files from the last
-   session (if enabled).
-   Geany supports all generic GTK options, a list is available on
-   the help screen.
-     _________________________________________________________
+Character sets and Unicode Byte-Order-Mark (BOM)
 
-3.3. General
+    Using character sets
+    Special encoding "None"
+    Unicode Byte-Order-Mark (BOM)
 
-3.3.1. Startup
+Search, replace and go to
 
-   At startup, Geany loads the first 15 files from the last time
-   Geany was launched. You can disable this feature in the
-   preferences dialog(see Figure 3-2). If you specify some files
-   on the command line, only these files will be opened, but you
-   can find the files from the last session in the file menu
-   under the "Recent files" item. This contains the last 15
-   recently opened files. It may be that Geany loads not exactly
-   15 session files, this depends on the compile time option
-   GEANY_SESSION_FILES; the default is 15. For details see
-   Section 3.6.1.
+    Find
+    Find usage
+    Find in files
+    Replace
+    Go to tag definition
+    Go to tag declaration
+    Go to line
+    Regular expressions
 
-   You can start several instances of Geany, but only the first
-   will load files from the last session. 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.
-     _________________________________________________________
+Preferences
 
-3.3.2. Opening files from the command-line in a running instance
+    Compile time options
 
-   Geany detects an already running instance of itself and opens
-   files from the command-line in the already running instance.
-   So, Geany can be used to view and edit files by opening them
-   from other programs such as a file manager. If you do not like
-   this for some reason, you can disable using the first instance
-   by using the appropriate command line option - see Section
-   3.2.
-     _________________________________________________________
+Build system
 
-3.3.3. Virtual terminal emulator widget (VTE)
+    Compile
+    Build
+    Make all
+    Make custom target
+    Make object
+    Execute
+    Stopping running processes
+    Set Includes and Arguments
+    Indicators
+    File type configuration settings
 
-   If you have installed libvte.so in your system, it is loaded
-   automatically by Geany, and you will have a terminal widget in
-   the notebook at the bottom.
+Printing support
+Keybindings
 
-   If Geany cannot find libvte.so at startup, the terminal widget
-   will not be loaded. So there is no need to install the package
-   containing 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 Section 3.2.
+Getting started
 
-   You can use this terminal (from now on called VTE) nearly as
-   an usual terminal program like xterm. There is basic clipboard
-   support. You can paste the contents of the clipboard by
-   pressing the right mouse button to open the popup menu and
-   choosing Paste. To copy text from 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).
+You can start Geany in the following ways:
 
-   Note
+  ● From the Desktop Environment menu
 
-   Geany tries to load libvte.so. If this fails, it tries to load
-   libvte.so.4. If this fails too, you should check whether you
-   installed libvte correctly. Again, Geany also runs without
-   this library.
+    Choose in your application menu of your used Desktop Environment:
+    Development → Geany.
 
-   It could be, that the library is called something else than
-   libvte.so.4 (e.g. on FreeBSD 6.0 it is called libvte.so.8). So
-   please set a link to the correct file (as root).
+  ● From the command line
+
+    To start Geany from a command line, type the following and press Return:
+
+                                                                    % geany
+
+
+Command line options
+
+Table 3.1. Command line Options
+
+┌──────────┬────────────────┬─────────────────────────────────────────────────┐
+│  Short   │  Long option   │                    Function                     │
+│  option  │                │                                                 │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│          │                │ Use an alternate configuration directory.       │
+│ -c       │ --config=      │ Default configuration directory is ~/.geany/    │
+│ dir_name │ directory_name │ and there resides geany.conf and other          │
+│          │                │ configuration files.                            │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│ -d       │ --debug        │ Run Geany in debug mode, which means being      │
+│          │                │ verbose and printing lots of information.       │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│          │                │ Do not open files in a running instance, force  │
+│ -i       │ --new-instance │ opening a new instance. Only available if Geany │
+│          │                │ was compiled with support for Sockets.          │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│ -l       │ --line         │ Set initial line number for the first opened    │
+│          │                │ file.                                           │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│          │                │ Do not show the message window. Use this option │
+│ -m       │ --no-msgwin    │ if you do not need compiler messages or VTE     │
+│          │                │ support.                                        │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│ -n       │ --no-ctags     │ Do not load auto completion and call tip data.  │
+│          │                │ Use this option if you do not want to use them. │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│ -s       │ --no-session   │ Don't load the previous session's files.        │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│          │                │ Do not load terminal support. Use this option   │
+│          │                │ if you do not want to load the virtual terminal │
+│ -t       │ --no-terminal  │ emulator widget at startup. If you do not have  │
+│          │                │ libvte.so.4 installed, then terminal-support is │
+│          │                │ automatically disabled. Only available if Geany │
+│          │                │ was compiled with support for VTE.              │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│          │                │ Specify explicitly the path including filename  │
+│          │                │ or only the filename to the VTE library, e.g. / │
+│          │ --vte-lib      │ usr/lib/libvte.so or libvte.so. This option is  │
+│          │                │ only needed when the autodetection does not     │
+│          │                │ work. Only available if Geany was compiled with │
+│          │                │ support for VTE.                                │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│ -v       │ --version      │ Show version information and exit.              │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│ -?       │ --help         │ Show help information and exit.                 │
+├──────────┼────────────────┼─────────────────────────────────────────────────┤
+│          │                │ Open all given files at startup. This option    │
+│          │ [files ...]    │ causes Geany to ignore loading stored files     │
+│          │                │ from the last session (if enabled).             │
+└──────────┴────────────────┴─────────────────────────────────────────────────┘
+
+
+Geany supports all generic GTK options, a list is available on the help screen.
+
+General
+
+Startup
+
+At startup, Geany loads all files from the last time Geany was launched. You
+can disable this feature in the preferences dialog(see Figure 3.4, “General tab
+in preferences dialog”). If you specify some files on the command line, only
+these files will be opened, but you can find the files from the last session in
+the file menu under the "Recent files" item. By default this contains the last
+10 recently opened files. You can change the amount of recently opened files in
+the preferences dialog.
+
+You can start several instances of Geany, but only the first will load files
+from the last session. 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.
+
+Opening files from the command-line in a running instance
+
+Geany detects an already running instance of itself and opens files from the
+command-line in the already running instance. So, Geany can be used to view and
+edit files by opening them from other programs such as a file manager. 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”.
+
+Virtual terminal emulator widget (VTE)
+
+If you have installed libvte.so in your system, it is loaded automatically by
+Geany, and you will have a terminal widget in the notebook at the bottom.
+
+If Geany cannot find libvte.so at startup, the terminal widget will not be
+loaded. So there is no need to install the package containing 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”.
+
+You can use this terminal (from now on called VTE) nearly as an usual terminal
+program like xterm. There is basic clipboard support. You can paste the
+contents of the clipboard by pressing the right mouse button to open the popup
+menu and choosing Paste. To copy text from 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).
+
+Note
+
+Geany tries to load libvte.so. If this fails, it tries to load libvte.so.4. If
+this fails too, you should check whether you installed libvte correctly. Again,
+Geany also runs without this library.
+
+It could be, that the library is called something else than libvte.so.4 (e.g.
+on FreeBSD 6.0 it is called libvte.so.8). So please set a link to the correct
+file (as root).
+
 # ln -s /usr/lib/libvte.so.X /usr/lib/libvte.so.4
 
-   Obviously, you have to adjust the paths and set X to the
-   number of your libvte.so.
-     _________________________________________________________
+Obviously, you have to adjust the paths and set X to the number of your
+libvte.so.
 
-3.4. Character sets and Unicode Byte-Order-Mark (BOM)
+Character sets and Unicode Byte-Order-Mark (BOM)
 
-   Geany provides support for detecting and converting character
-   sets. So you can open and save files in different character
-   sets and even can convert a file from a character set to
-   another one. To do this, Geany uses the character conversion
-   capabilities of the GLib.
+Using character sets
 
-   Furthermore, Geany detects an Unicode Byte Order Mark (see
-   http://en.wikipedia.org/wiki/Byte_Order_Mark for details). Of
-   course, this feature is only available if the opened file is
-   in an unicode 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 using a Byte Order
-   Mark could cause some problems, e.g. the gcc stops 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 not. If you want to set a BOM for a file or if
-   you want to remove it from a file, just use the document menu
-   and toggle the checkbox.
+Geany provides support for detecting and converting character sets. So you can
+open and save files in different character sets and even can convert a file
+from a character set to another one. To do this, Geany uses the character
+conversion capabilities of the GLib.
 
-   Note
+Only text files are supported, i.e. opening files which contain NUL-bytes may
+fail. Geany will try to open the file anyway but it is likely that the file
+will be truncated because it can only opened up to the first occurrence of the
+first NUL-byte. All characters after this position are lost and are not written
+when you save the file.
 
-   If you are unsure what a BOM is or if you do not understand
-   where to use it, then it is not important for you and you can
-   safely ignore it.
-     _________________________________________________________
+Geany tries to detect the encoding of a file while opening it. It might be that
+the encoding of a file cannot be detected correctly so you have to set manually
+the encoding of the file 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 file menu item "Reload as". The auto detection works well for
+most encodings but there are also some encodings known where auto detection has
+its problems. Auto detecting the encoding of a file is not easy and sometimes
+an encoding might be detected not correctly.
 
-3.5. Search, replace and go to
+There are different ways to use different encodings in Geany:
 
-   This section describes search-related commands from the Search
-   menu and the editor window's popup menu:
+ 1. Using the file open dialog
 
-     * Find
-     * Find usage *
-     * Find in files
-     * Replace
-     * Go to tag definition *
-     * Go to tag declaration *
-     * Go to line
+    This opens the file with the encoding specified in the encoding drop down
+    box. If the encoding is set to "Detect from file" auto detection will be
+    used. If the encoding is set to "Without encoding (None)" the file will be
+    opened without any character conversion and Geany will not try to auto
+    detect the encoding(see below for more information).
 
-   * These items are available from the editor window's popup
-   menu, or by using a keyboard shortcut (see Section 3.9).
-     _________________________________________________________
+ 2. Using the "Reload as" menu item
 
-3.5.1. Find
+    This item reloads the current file with the specified encoding. It can help
+    if you opened a file and found out that a wrong encoding was used.
 
-   The Find dialog is used for finding text within the current
-   document. The syntax for the "Use regular expressions" option
-   is shown in Table 3-2.
+ 3. Using the "Set encoding" menu item
 
-   Figure 3-1. Find dialog
+    In contrary to the above two options, this will not change or reload the
+    current file unless you save it. It is useful when you want to change the
+    encoding of the file.
 
-   [find_dialog.jpg]
-     _________________________________________________________
+Special encoding "None"
 
-3.5.2. Find usage
+There is a special encoding "None" which is actually no real encoding. It is
+useful when you know that Geany cannot auto detect the encoding of a file and
+it is not displayed correctly. Especially when the file contains NUL-bytes this
+can be useful to skip auto detection and open the file properly at least until
+the occurrence of the first NUL-byte. Using this encoding opens the file as it
+is without any character conversion.
 
-   Find usage searches all open files. 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 window.
-     _________________________________________________________
+Unicode Byte-Order-Mark (BOM)
 
-3.5.3. Find in files
+Furthermore, Geany detects an Unicode Byte Order Mark (see http://
+en.wikipedia.org/wiki/Byte_Order_Mark for details). Of course, this feature is
+only available if the opened file is in an unicode 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 using a Byte Order Mark could cause
+some problems, e.g. the gcc stops 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 not. If you want to set a BOM for a file or if you want to remove it
+from a file, just use the document menu and toggle the checkbox.
 
-   Find in files is a more powerful version of Find usage that
-   searches 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 utility.
-     _________________________________________________________
+Note
 
-3.5.4. Replace
+If you are unsure what a BOM is or if you do not understand where to use it,
+then it is not important for you and you can safely ignore it.
 
-   The Replace dialog has the same options for finding text as
-   the Find dialog. There is also a "Replace in all files"
-   option, which is used with the Replace All button to perform
-   the replacement for all open files.
+Search, replace and go to
 
-   The "Use regular expressions" option applies both to the
-   search string and to the replacement text; for the latter back
-   references can be used - see the entry for '\n' in Table 3-2.
-     _________________________________________________________
+This section describes search-related commands from the Search menu and the
+editor window's popup menu:
 
-3.5.5. Go to tag definition
+  ● Find
 
-   If the current word is the name of a function and the file
-   containing the function definition (a.k.a. function body) is
-   open, Go to tag definition will switch to that file and go to
-   the corresponding line number. 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.
-     _________________________________________________________
+  ● Find usage *
 
-3.5.6. Go to tag declaration
+  ● Find in files
 
-   Like Go to tag definition, but for a forward function
-   declaration (a.k.a. function prototype) instead of a function
-   definition.
-     _________________________________________________________
+  ● Replace
 
-3.5.7. Go to line
+  ● Go to tag definition *
 
-   Go to a particular line number in the current file.
-     _________________________________________________________
+  ● Go to tag declaration *
 
-3.5.8. Regular expressions
+  ● Go to line
 
-   You can use regular expressions in the Find and Replace
-   dialogs by selecting the "Use regular expressions" check box.
-   The syntax is POSIX-like, as described below in Table 3-2.
+* These items are available from the editor window's popup menu, or by using a
+keyboard shortcut (see the section called “Keybindings”).
 
-   Note
+Find
 
-   Searching backwards with regular expressions is not supported.
+The Find dialog is used for finding text within the current document. The
+syntax for the "Use regular expressions" option is shown in Table 3.2, “Regular
+expressions”.
 
-   Table 3-2. Regular expressions
-   In a regular expression, the following characters are
-   interpreted:
-   . Matches any character.
-   ( This marks the start of a region for tagging a match.
-   ) This marks the end of a tagged region.
-   \n Where n is 1 through 9 refers to the first through ninth
-   tagged region when replacing. For example, if the search
-   string was Fred([1-9])XXX and the replace string was Sam\1YYY,
-   when applied to Fred2XXX this would generate Sam2YYY.
-   \< This matches the start of a word.
-   \> This matches the end of a word.
-   \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.
-   [...] This indicates a set of characters, for example, [abc]
-   means any of the characters a, b or c. You can also use
-   ranges, for example [a-z] for any lower case character.
-   [^...] The complement of the characters in the set. For
-   example, [^A-Za-z] means any character except an alphabetic
-   character.
-   ^ This matches the start of a line (unless used inside a set,
-   see above).
-   $ This matches the end of a line.
-   * This matches 0 or more times. For example, Sa*m matches Sm,
-   Sam, Saam, Saaam and so on.
-   + This matches 1 or more times. For example, Sa+m matches Sam,
-   Saam, Saaam and so on.
+Figure 3.1. Find dialog
 
-   Note Partial POSIX compatibility
+Find dialog
 
 
-   Note that the POSIX '?' regular expression character for
-   optional matching is not supported by the Find and Replace
-   dialogs.
-     _________________________________________________________
+Find usage
 
-3.6. Preferences
+Find usage searches all open files. 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 window.
 
-   should be written
+Find in files
 
-   Figure 3-2. General tab in preferences dialog
+Find in files is a more powerful version of Find usage that searches 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 utility.
 
-   [pref_dialog_gen.jpg]
+Figure 3.2. Find in files dialog
 
-   Figure 3-3. Interface tab in preferences dialog
+Find in files dialog
 
-   [pref_dialog_interface.jpg]
 
-   Figure 3-4. Toolbar tab in preferences dialog
+Replace
 
-   [pref_dialog_toolbar.jpg]
+The Replace dialog has the same options for finding text as the Find dialog.
+There is also a "Replace in all files" option, which is used with the Replace
+All button to perform the replacement for all open files.
 
-   Figure 3-5. Editor tab in preferences dialog
+Figure 3.3. Replace dialog
 
-   [pref_dialog_edit.jpg]
+Replace dialog
 
-   Figure 3-6. Tools tab in preferences dialog
 
-   [pref_dialog_tools.jpg]
+The "Use regular expressions" option applies both to the search string and to
+the replacement text; for the latter back references can be used - see the
+entry for '\n' in Table 3.2, “Regular expressions”.
 
-   Figure 3-7. Template tab in preferences dialog
+Go to tag definition
 
-   [pref_dialog_templ.jpg]
+If the current word is the name of a function and the file containing the
+function definition (a.k.a. function body) is open, Go to tag definition will
+switch to that file and go to the corresponding line number. 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.
 
-   Figure 3-8. Keybinding tab in preferences dialog
+Go to tag declaration
 
-   [pref_dialog_keys.jpg]
+Like Go to tag definition, but for a forward function declaration (a.k.a.
+function prototype) instead of a function definition.
 
-   Note
+Go to line
 
-   For more information see Section 3.9.
+Go to a particular line number in the current file.
 
-   Figure 3-9. VTE tab in preferences dialog
+Regular expressions
 
-   [pref_dialog_vte.jpg]
-     _________________________________________________________
+You can use regular expressions in the Find and Replace dialogs by selecting
+the "Use regular expressions" check box. The syntax is POSIX-like, as described
+below in Table 3.2, “Regular expressions”.
 
-3.6.1. Compile time options
+Note
 
-   There are some options which can only be changed at compile
-   time. To change these options, edit the file src/geany.h. Look
-   for a block of lines starting with "#define GEANY_*". Any
-   definitions which are not listed here should not be changed.
+Searching backwards with regular expressions is not supported.
 
-   Table 3-3. Compile time options
-   Option Description Default
-   GEANY_MAX_OPEN_FILES The limit to how many files can be open
-   at the same time. 25
-   GEANY_SESSION_FILES How many files should be reopened from the
-   last run. Obviously, the value should be smaller than
-   GEANY_MAX_OPEN_FILES. 15
-   GEANY_WORDCHARS These characters define word boundaries. (look
-   at sourcecode)
-   GEANY_MAX_AUTOCOMPLETE_WORDS How many auto completion
-   suggestions should Geany provide. 30
-   GEANY_STRING_UNTITLED A string used as the default name for
-   new files. Be aware that the string can be translated, so
-   change it only if you know what you are doing. untitled
-   GEANY_CHECK_FILE_DELAY Time in seconds between checking a file
-   for external changes. 30
-   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 first start. 900
-   GEANY_WINDOW_DEFAULT_HEIGHT The default height of the main
-   window at the first start. 600
-   Default values
-   GEANY_DEFAULT_TOOLS_MAKE The make tool. This can also include
-   a path. "make"
-   GEANY_DEFAULT_TOOLS_TERMINAL A terminal emulator. It has to
-   accept the command line option "-e". This can also include a
-   path. "xterm"
-   GEANY_DEFAULT_TOOLS_BROWSER A web browser. This can also
-   include a path. "mozilla"
-   GEANY_DEFAULT_TOOLS_PRINTCMD A printing tool. It should be
-   able to accept and process plain text files. This can also
-   include a path. "lpr"
-   GEANY_DEFAULT_TOOLS_GREP A grep tool. It should be compatible
-   with GNU grep. This can also include a path. "grep"
-   GEANY_DEFAULT_MRU_LENGHTH The length of the "Recent files"
-   list. "10"
-   GEANY_DEFAULT_FONT_SYMBOL_LIST The font used in sidebar to
-   show symbols and open files. "Cursor 8"
-   GEANY_DEFAULT_FONT_MSG_WINDOW The font used in the messages
-   window. "Cursor 8"
-   GEANY_DEFAULT_FONT_EDITOR The font used in the editor window.
-   "Courier New 9"
-     _________________________________________________________
+Table 3.2. Regular expressions
 
-3.7. Build system
+┌─────────────────────────────────────────────────────────────────────────────┐
+│ In a regular expression, the following characters are interpreted:          │
+├────────┬────────────────────────────────────────────────────────────────────┤
+│ .      │ Matches any character.                                             │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│ (      │ This marks the start of a region for tagging a match.              │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│ )      │ This marks the end of a tagged region.                             │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│        │ Where n is 1 through 9 refers to the first through ninth tagged    │
+│ \n     │ region when replacing. For example, if the search string was Fred  │
+│        │ ([1-9])XXX and the replace string was Sam\1YYY, when applied to    │
+│        │ Fred2XXX this would generate Sam2YYY.                              │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│ \<     │ This matches the start of a word.                                  │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│ \>     │ This matches the end of a word.                                    │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│        │ This allows you to use a character x that would otherwise have a   │
+│ \x     │ special meaning. For example, \[ would be interpreted as [ and not │
+│        │ as the start of a character set. Use \\ for a literal backslash.   │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│        │ This indicates a set of characters, for example, [abc] means any   │
+│ [...]  │ of the characters a, b or c. You can also use ranges, for example  │
+│        │ [a-z] for any lower case character.                                │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│ [^...] │ The complement of the characters in the set. For example, [^       │
+│        │ A-Za-z] means any character except an alphabetic character.        │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│ ^      │ This matches the start of a line (unless used inside a set, see    │
+│        │ above).                                                            │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│ $      │ This matches the end of a line.                                    │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│ *      │ This matches 0 or more times. For example, Sa*m matches Sm, Sam,   │
+│        │ Saam, Saaam and so on.                                             │
+├────────┼────────────────────────────────────────────────────────────────────┤
+│ +      │ This matches 1 or more times. For example, Sa+m matches Sam, Saam, │
+│        │ Saaam and so on.                                                   │
+└────────┴────────────────────────────────────────────────────────────────────┘
 
-   Geany has an integrated build system. Firstly this means that
-   the current source file will be saved before it is processed.
-   This is for convenience so that you don't need to keep saving
-   small changes to the current file before building.
 
-   Secondly the output for Compile, Build and Make actions will
-   be captured in the Compiler notebook tab of the messages
-   window (assuming you have it visible). If there are any
-   warnings or errors with line numbers shown in the Compiler
-   output tab, you can double click on them and Geany will switch
-   to the relevant source file (if it is open) and mark the line
-   number so the problem can be corrected. Geany will also set
-   indicators for warnings or errors with line numbers.
+Partial POSIX compatibility
 
-   Depending on the current file's filetype, the Build menu will
-   contain the following items:
+Note that the POSIX '?' regular expression character for optional matching is
+not supported by the Find and Replace dialogs.
 
-     * Compile
-     * Build
-     * Make all
-     * Make custom target
-     * Make object
-     * Execute
-     * Set Includes and Arguments
-     _________________________________________________________
+Preferences
 
-3.7.1. Compile
+should be written
 
-   The Compile command has different uses for different kinds of
-   files.
+Figure 3.4. General tab in preferences dialog
 
-   For compilable languages such as C and C++, the Compile
-   command is setup to compile the current source file into a
-   binary object file.
+General tab in preferences dialog
 
-   Java source files will be compiled to class file bytecode.
-   Interpreted languages such as Perl, Python, Ruby will compile
-   to bytecode if the language supports it, or will run a syntax
-   check, or failing that will run the file in its language
-   interpreter.
-     _________________________________________________________
 
-3.7.2. Build
+Figure 3.5. Interface tab in preferences dialog
 
-   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.
+Interface tab in preferences dialog
 
-   Interpreted languages do not use the Build command.
-     _________________________________________________________
 
-3.7.3. Make all
+Figure 3.6. Toolbar tab in preferences dialog
 
-   This effectively runs "make all" in the same directory as the
-   current file.
+Toolbar tab in preferences dialog
 
-   Note
 
-   For each of the Make commands, The Make tool path must be
-   correctly set in the Tools tab of the Preferences dialog.
-     _________________________________________________________
+Figure 3.7. Files tab in preferences dialog
 
-3.7.4. Make custom target
+Files tab in preferences dialog
 
-   This is similar to running 'Make all' but you will be prompted
-   for the make target name to be passed to the Make tool. For
-   example, typing 'clean' in the dialog prompt will run "make
-   clean".
-     _________________________________________________________
 
-3.7.5. Make object
+Figure 3.8. Editor tab in preferences dialog
 
-   Make object will run "make current_file.o" in the same
-   directory as the current file, using its prefix for
-   'current_file'. It is useful for compiling just the current
-   file without building the whole project.
-     _________________________________________________________
+Editor tab in preferences dialog
 
-3.7.6. Execute
 
-   Execute will run the corresponding executable file, shell
-   script or interpreted script in a terminal window. Note that
-   the Terminal tool path must be correctly set in the Tools tab
-   of the Preferences dialog - you can use any terminal program
-   that runs a Bourne compatible shell.
+Figure 3.9. Tools tab in preferences dialog
 
-   After your program or script has finished executing, you will
-   be prompted to press the return key. This allows you to review
-   any text output from the program before the terminal window is
-   closed.
-     _________________________________________________________
+Tools tab in preferences dialog
 
-3.7.7. Set Includes and Arguments
 
-   By default the Compile and Build commands invoke the compiler
-   and linker with only the basic arguments needed by all
-   programs. Using Set Includes and Arguments 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.
+Figure 3.10. Template tab in preferences dialog
 
-   Note
+Template tab in preferences dialog
 
-   If you are using the Build command to compile and link in one
-   step, you will need to set both the compiler arguments and the
-   linker arguments in the linker command setting.
 
-   These settings are not saved when Geany is shut down. See
-   below for how to set permanent arguments.
+Figure 3.11. Keybinding tab in preferences dialog
 
-   If you need complex settings for your build system, or several
-   different settings, then writing a Makefile and using the Make
-   commands is recommended.
-     _________________________________________________________
+Keybinding tab in preferences dialog
 
-3.7.8. Indicators
 
-   Indicators are red squiggly underlines which are used to
-   highlight errors which occured while compiling the current
-   file. So you can easily see where your code failed to compile.
-   To remove the indicators, just click on "Remove all
-   indicators" in the document file menu.
+Note
 
-   If you do not like this feature, you can disable it in the
-   preferences dialog.
-     _________________________________________________________
+For more information see the section called “Keybindings”.
 
-3.7.9. File type configuration settings
+Figure 3.12. VTE tab in preferences dialog
 
-   You can set the commands to run for compiling, building or
-   executing by opening the relevant filetypes.* configuration
-   file, and checking the [build_settings] section. See Section
-   4.1 for more information.
-     _________________________________________________________
+VTE tab in preferences dialog
 
-3.8. Printing support
 
-   Geany has basic printing support. This means you can print a
-   file by passing the filename of the current file to a command
-   which actually prints the file. 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:
+Compile time options
+
+There are some options which can only be changed at compile time. To change
+these options, edit the file src/geany.h. Look for a block of lines starting
+with “#define GEANY_*”. Any definitions which are not listed here should not be
+changed.
+
+Table 3.3. Compile time options
+
+┌────────────────────────────────┬──────────────────────────────┬─────────────┐
+│             Option             │         Description          │   Default   │
+├────────────────────────────────┼──────────────────────────────┼─────────────┤
+│                                │ These characters define word │             │
+│ GEANY_WORDCHARS                │ boundaries when making       │ (look at    │
+│                                │ selections and searching     │ sourcecode) │
+│                                │ using word matching options. │             │
+├────────────────────────────────┼──────────────────────────────┼─────────────┤
+│                                │ How many auto completion     │             │
+│ GEANY_MAX_AUTOCOMPLETE_WORDS   │ suggestions should Geany     │ 30          │
+│                                │ provide.                     │             │
+├────────────────────────────────┼──────────────────────────────┼─────────────┤
+│                                │ How many suggestions should  │             │
+│ GEANY_MAX_AUTOCOMPLETE_HEIGHT  │ be visible in the auto       │ 10          │
+│                                │ completion list.             │             │
+├────────────────────────────────┼──────────────────────────────┼─────────────┤
+│                                │ A string used as the default │             │
+│                                │ name for new files. Be aware │             │
+│ GEANY_STRING_UNTITLED          │ that the string can be       │ untitled    │
+│                                │ translated, so change it     │             │
+│                                │ only if you know what you    │             │
+│                                │ are doing.                   │             │
+├────────────────────────────────┼──────────────────────────────┼─────────────┤
+│                                │ Time in seconds between      │             │
+│ GEANY_CHECK_FILE_DELAY         │ checking a file for external │ 30          │
+│                                │ changes.                     │             │
+├────────────────────────────────┼──────────────────────────────┼─────────────┤
+│ GEANY_WINDOW_MINIMAL_WIDTH     │ The minimal width of the     │ 620         │
+│                                │ main window.                 │             │
+├────────────────────────────────┼──────────────────────────────┼─────────────┤
+│ GEANY_WINDOW_MINIMAL_HEIGHT    │ The minimal height of the    │ 440         │
+│                                │ main window.                 │             │
+├────────────────────────────────┼──────────────────────────────┼─────────────┤
+│                                │ The default width of the     │             │
+│ GEANY_WINDOW_DEFAULT_WIDTH     │ main window at the first     │ 900         │
+│                                │ start.                       │             │
+├────────────────────────────────┼──────────────────────────────┼─────────────┤
+│                                │ The default height of the    │             │
+│ GEANY_WINDOW_DEFAULT_HEIGHT    │ main window at the first     │ 600         │
+│                                │ start.                       │             │
+├────────────────────────────────┴──────────────────────────────┴─────────────┤
+│ Default values                                                              │
+├────────────────────────────────┬──────────────────────────────┬─────────────┤
+│ GEANY_DEFAULT_TOOLS_MAKE       │ The make tool. This can also │ "make"      │
+│                                │ include a path.              │             │
+├────────────────────────────────┼──────────────────────────────┼─────────────┤
+│                                │ A terminal emulator. It has  │             │
+│ GEANY_DEFAULT_TOOLS_TERMINAL   │ to accept the command line   │ "xterm"     │
+│                                │ option "-e". This can also   │             │
+│                                │ include a path.              │             │
+├────────────────────────────────┼──────────────────────────────┼─────────────┤
+│ GEANY_DEFAULT_TOOLS_BROWSER    │ A web browser. This can also │ "mozilla"   │
+│                                │ include a path.              │             │
+├────────────────────────────────┼──────────────────────────────┼─────────────┤
+│                                │ A printing tool. It should   │             │
+│                                │ be able to accept and        │             │
+│ GEANY_DEFAULT_TOOLS_PRINTCMD   │ process plain text files.    │ "lpr"       │
+│                                │ This can also include a      │             │
+│                                │ path.                        │             │
+├────────────────────────────────┼──────────────────────────────┼─────────────┤
+│                                │ A grep tool. It should be    │             │
+│ GEANY_DEFAULT_TOOLS_GREP       │ compatible with GNU grep.    │ "grep"      │
+│                                │ This can also include a      │             │
+│                                │ path.                        │             │
+├────────────────────────────────┼──────────────────────────────┼─────────────┤
+│ GEANY_DEFAULT_MRU_LENGHTH      │ The length of the "Recent    │ "10"        │
+│                                │ files" list.                 │             │
+├────────────────────────────────┼──────────────────────────────┼─────────────┤
+│ GEANY_DEFAULT_FONT_SYMBOL_LIST │ The font used in sidebar to  │ "Sans 9"    │
+│                                │ show symbols and open files. │             │
+├────────────────────────────────┼──────────────────────────────┼─────────────┤
+│ GEANY_DEFAULT_FONT_MSG_WINDOW  │ The font used in the         │ "Sans 9"    │
+│                                │ messages window.             │             │
+├────────────────────────────────┼──────────────────────────────┼─────────────┤
+│ GEANY_DEFAULT_FONT_EDITOR      │ The font used in the editor  │ "Monospace  │
+│                                │ window.                      │ 10"         │
+├────────────────────────────────┴──────────────────────────────┴─────────────┤
+│ Windows specific                                                            │
+├────────────────────────────────┬──────────────────────────────┬─────────────┤
+│                                │ Set this to 1 if you want to │             │
+│                                │ use the default Windows file │             │
+│                                │ open dialog instead GTK's    │             │
+│                                │ file open dialog. The        │             │
+│                                │ default Windows file open    │             │
+│ GEANY_USE_WIN32_DIALOG         │ dialog is missing some nice  │ 0           │
+│                                │ features like choosing a     │             │
+│                                │ filetype or an encoding. Do  │             │
+│                                │ not touch this setting when  │             │
+│                                │ building on a non-Win32      │             │
+│                                │ system.                      │             │
+└────────────────────────────────┴──────────────────────────────┴─────────────┘
+
+
+Build system
+
+Geany has an integrated build system. Firstly this means that the current
+source file will be saved before it is processed. This is for convenience so
+that you don't need to keep saving small changes to the current file before
+building.
+
+Secondly the output for Compile, Build and Make actions will be captured in the
+Compiler notebook tab of the messages window (assuming you have it visible). If
+there are any warnings or errors with line numbers shown in the Compiler output
+tab, you can double click on them and Geany will switch to the relevant source
+file (if it is open) and mark the line number so the problem can be corrected.
+Geany will also set indicators for warnings or errors with line numbers.
+
+Depending on the current file's filetype, the Build menu will contain the
+following items:
+
+  ● Compile
+
+  ● Build
+
+  ● Make all
+
+  ● Make custom target
+
+  ● Make object
+
+  ● Execute
+
+  ● Set Includes and Arguments
+
+Compile
+
+The Compile command has different uses for different kinds of files.
+
+For compilable languages such as C and C++, the Compile command is setup to
+compile the current source file into a binary object file.
+
+Java source files will be compiled to class file bytecode. Interpreted
+languages such as Perl, Python, Ruby will compile to bytecode if the language
+supports it, or will run a syntax check, or failing that will run the file in
+its language interpreter.
+
+Build
+
+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.
+
+Interpreted languages do not use the Build command.
+
+Make all
+
+This effectively runs "make all" in the same directory as the current file.
+
+Note
+
+For each of the Make commands, The Make tool path must be correctly set in the
+Tools tab of the Preferences dialog.
+
+Make custom target
+
+This is similar to running 'Make all' but you will be prompted for the make
+target name to be passed to the Make tool. For example, typing 'clean' in the
+dialog prompt will run "make clean".
+
+Make object
+
+Make object will run "make current_file.o" in the same directory as the current
+file, using its prefix for 'current_file'. It is useful for compiling just the
+current file without building the whole project.
+
+Execute
+
+Execute will run the corresponding executable file, shell script or interpreted
+script in a terminal window. Note that the Terminal tool path must be correctly
+set in the Tools tab of the Preferences dialog - you can use any terminal
+program that runs a Bourne compatible shell and accept the "-e" command line
+argument to start a command.
+
+After your program or script has finished executing, you will be prompted to
+press the return key. This allows you to review any text output from the
+program before the terminal window is closed.
+
+Stopping running processes
+
+If you started a build action (Compile, Build or Run) the Run button in the
+toolbar becomes a stop button and you can stop the curent action. This works by
+sending a signal to the process (and its child process(es)) to stop the
+process. The used signal is SIGQUIT.
+
+Depending on the process you started it might occur that the process cannot be
+stopped. This can happen when the process creates more than one child process.
+Therefore stopping any make actions is not possible because make creates child
+processes and these child processes creates again child process. There might be
+some other programs which cannot be stopped correctly, e.g. "Terminal" (the
+terminal program of Xfce). Xterm is known to work properly.
+
+Set Includes and Arguments
+
+By default the Compile and Build commands invoke the compiler and linker with
+only the basic arguments needed by all programs. Using Set Includes and
+Arguments 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.
+
+Note
+
+If you are using the Build command to compile and link in one step, you will
+need to set both the compiler arguments and the linker arguments in the linker
+command setting.
+
+These settings are not saved when Geany is shut down. See below for how to set
+permanent arguments.
+
+If you need complex settings for your build system, or several different
+settings, then writing a Makefile and using the Make commands is recommended.
+
+Indicators
+
+Indicators are red squiggly underlines which are used to highlight errors which
+occured while compiling the current file. So you can easily see where your code
+failed to compile. To remove the indicators, just click on "Remove all
+indicators" in the document file menu.
+
+If you do not like this feature, you can disable it in the preferences dialog.
+
+File type configuration settings
+
+You can set the commands to run for compiling, building or executing by opening
+the relevant filetypes.* configuration file, and checking the [build_settings]
+section. See the section called “Filetype definition files” for more
+information.
+
+Printing support
+
+Geany has basic printing support. This means you can print a file by passing
+the filename of the current file to a command which actually prints the file.
+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:
+
 % lpr %f
 
-   %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).
+%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).
 
-   A nicer example, which I prefer is:
+A nicer example, which I prefer is:
+
 % a2ps -1 --medium=A4 -o - %f | xfprint4
 
-   But this depends on a2ps and xfprint4. As a replacement for
-   xfprint4, gtklp or similar programs can be used.
+But this depends on a2ps and xfprint4. As a replacement for xfprint4, gtklp or
+similar programs can be used.
 
-   Note
+Note
 
-   The printing support of Geany will be improved in the future.
-   With GTK 2.10, better printing (including syntax highlighting)
-   will be possible.
-     _________________________________________________________
+The printing support of Geany will be improved in the future. With GTK 2.10,
+better printing (including syntax highlighting) will be possible.
 
-3.9. Keybindings
+Keybindings
 
-   Geany supports the default keyboard shortcuts for the
-   Scintilla editing widget. For a list of these commands, see
-   Appendix A. The Scintilla keyboard shortcuts will be
-   overridden by any custom keybindings with the same keyboard
-   shortcut.
+Geany supports the default keyboard shortcuts for the Scintilla editing widget.
+For a list of these commands, see Appendix A, Scintilla keyboard commands. The
+Scintilla keyboard shortcuts will be overridden by any custom keybindings with
+the same keyboard shortcut.
 
-   For all actions listed below you can define your own
-   keybindings. Open the Preferences dialog, select the desired
-   action and click on change. In the opening dialog you can
-   press any key combination you want and it will be saved when
-   you press OK. You can define only one key combination for one
-   action.
+For all actions listed below you can define your own keybindings. Open the
+Preferences dialog, select the desired action and click on change. In the
+opening dialog you can press any key combination you want and it will be saved
+when you press OK. You can define only one key combination for one action.
 
-   Some of the default key combinations cannot be changed, e.g.
-   menu_new or menu_open. These are set by GTK and should be
-   kept, but you can still add other key combinations for these
-   actions. For example to execute menu_open by default Ctrl-O is
-   set, but you can also define Alt-O, so that the file open
-   dialog is shown by pressing either Ctrl-O or Alt-O.
+Some of the default key combinations cannot be changed, e.g. menu_new or
+menu_open. These are set by GTK and should be kept, but you can still add other
+key combinations for these actions. For example to execute menu_open by default
+Ctrl-O is set, but you can also define Alt-O, so that the file open dialog is
+shown by pressing either Ctrl-O or Alt-O.
 
-   The following table lists all customizable keyboard shortcuts.
+The following table lists all customizable keyboard shortcuts.
 
-   Table 3-4. Keybindings action table
-   Action Description
-   Menu items
-   New Creates a new file.
-   Open Opens a file.
-   Save Saves the current file.
-   Save all Saves all open files.
-   Close all Closes all open files.
-   Close Closes the current file.
-   Reload file Reloads the current file. All unsaved changes will
-   be lost.
-   Print Prints the current file.
-   Undo Undoes the last action.
-   Redo Redoes the last action.
-   Select all Makes a selection of all text in the current
-   document.
-   Preferences Opens preferences dialog.
-   Find Next Finds next result.
-   Find Previous Finds previous result.
-   Replace Opens the Replace dialog.
-   Find in files Opens the Find in files dialog.
-   Go to line Opens the Go to line dialog.
-   Show Colour Chooser Opens the Colour Chooser dialog.
-   Fullscreen Switches to fullscreen mode.
-   Toggle Messages Window Toggles the message window (status and
-   compiler messages) on and off.
-   Toggle Sidebar Shows or hides the sidebar.
-   Zoom In Zooms in the text
-   Zoom Out Zooms out the text
-   Replace tabs by space Replaces all tabs with the right amount
-   of spaces.
-   Fold all Folds all contractible code blocks.
-   Unfold all Unfolds all contracted code blocks.
-   Build options
-   Compile Compiles the current file.
-   Build Builds (compiles if necessary and links) the current
-   file.
-   Make all Builds the current file with the Make tool.
-   Make custom target Builds the current file with the Make tool
-   and a given target.
-   Make object Compiles the current file with the Make tool.
-   Run Executes the current file in a terminal emulation.
-   Run (alternative command) Executes the current file in a
-   terminal emulation.
-   Build options Opens the build options dialog.
-   Miscellaneous
-   Reload symbol list Reloads the tag/symbol list.
-   Switch to Editor Switches to editor widget.
-   Switch to Scribble Switches to scribble widget.
-   Switch to VTE Switches to VTE widget.
-   Switch to left document Switches to the previous open
-   document.
-   Switch to right document Switches to the next open document.
-   Editing operations
-   Duplicate line or selection Duplicates the current line or
-   selection.
-   Comment line Comments current line or selection.
-   Complete word Shows auto completion list.
-   Show calltip Shows call tips for the current function or
-   method.
-   Show macro list Shows a list of available macros and variables
-   in the workspace.
-   Suppress auto completion If you type something like if or for
-   and press this key, it will not be auto completed.
-   Find Usage Finds all occurrences of the current word (near the
-   keyboard cursor) and displays them in the messages window.
-   Go to tag definition Jump to the definition of the current
-   word (near the keyboard cursor). If the definition cannot be
-   found (e.g. the relevant file is not open) Geany will beep and
-   do nothing. Used for function definitions.
-   Go to tag declaration Jump to the declaration of the current
-   word (near the keyboard cursor). If the declaration cannot be
-   found (e.g. the relevant file is not open) Geany will beep and
-   do nothing. Used for function prototypes.
-     _________________________________________________________
+Table 3.4. Keybindings action table
 
-Chapter 4. Configuration files
+┌──────────────┬──────────────────────────────────────────────────────────────┐
+│    Action    │                         Description                          │
+├──────────────┴──────────────────────────────────────────────────────────────┤
+│ Menu items                                                                  │
+├──────────────┬──────────────────────────────────────────────────────────────┤
+│ New          │ Creates a new file.                                          │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Open         │ Opens a file.                                                │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Save         │ Saves the current file.                                      │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Save all     │ Saves all open files.                                        │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Close all    │ Closes all open files.                                       │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Close        │ Closes the current file.                                     │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Reload file  │ Reloads the current file. All unsaved changes will be lost.  │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Print        │ Prints the current file.                                     │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Undo         │ Undoes the last action.                                      │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Redo         │ Redoes the last action.                                      │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Select all   │ Makes a selection of all text in the current document.       │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Preferences  │ Opens preferences dialog.                                    │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Find Next    │ Finds next result.                                           │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Find         │ Finds previous result.                                       │
+│ Previous     │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Replace      │ Opens the Replace dialog.                                    │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Find in      │ Opens the Find in files dialog.                              │
+│ files        │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Go to line   │ Opens the Go to line dialog.                                 │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Show Colour  │ Opens the Colour Chooser dialog.                             │
+│ Chooser      │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Fullscreen   │ Switches to fullscreen mode.                                 │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Toggle       │ Toggles the message window (status and compiler messages) on │
+│ Messages     │ and off.                                                     │
+│ Window       │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Toggle       │ Shows or hides the sidebar.                                  │
+│ Sidebar      │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Zoom In      │ Zooms in the text                                            │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Zoom Out     │ Zooms out the text                                           │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Replace tabs │ Replaces all tabs with the right amount of spaces.           │
+│ by space     │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Fold all     │ Folds all contractible code blocks.                          │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Unfold all   │ Unfolds all contracted code blocks.                          │
+├──────────────┴──────────────────────────────────────────────────────────────┤
+│ Build options                                                               │
+├──────────────┬──────────────────────────────────────────────────────────────┤
+│ Compile      │ Compiles the current file.                                   │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Build        │ Builds (compiles if necessary and links) the current file.   │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Make all     │ Builds the current file with the Make tool.                  │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Make custom  │ Builds the current file with the Make tool and a given       │
+│ target       │ target.                                                      │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Make object  │ Compiles the current file with the Make tool.                │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Run          │ Executes the current file in a terminal emulation.           │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Run          │                                                              │
+│ (alternative │ Executes the current file in a terminal emulation.           │
+│ command)     │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Build        │ Opens the build options dialog.                              │
+│ options      │                                                              │
+├──────────────┴──────────────────────────────────────────────────────────────┤
+│ Miscellaneous                                                               │
+├──────────────┬──────────────────────────────────────────────────────────────┤
+│ Reload       │ Reloads the tag/symbol list.                                 │
+│ symbol list  │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Switch to    │ Switches to editor widget.                                   │
+│ Editor       │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Switch to    │ Switches to scribble widget.                                 │
+│ Scribble     │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Switch to    │ Switches to VTE widget.                                      │
+│ VTE          │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Switch to    │                                                              │
+│ left         │ Switches to the previous open document.                      │
+│ document     │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Switch to    │                                                              │
+│ right        │ Switches to the next open document.                          │
+│ document     │                                                              │
+├──────────────┴──────────────────────────────────────────────────────────────┤
+│ Editing operations                                                          │
+├──────────────┬──────────────────────────────────────────────────────────────┤
+│ Duplicate    │                                                              │
+│ line or      │ Duplicates the current line or selection.                    │
+│ selection    │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Comment line │ Comments current line or selection.                          │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Uncomment    │ Uncomments current line or selection.                        │
+│ line         │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Toggle line  │ Comments a line if it is not commented or removes a comment  │
+│ commentation │ if the line is commented.                                    │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Increase     │ Indents the current line or selection by one tabulator.      │
+│ indent       │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Decrease     │ Removes one tabulator from the indentation of the current    │
+│ indent       │ line or selection.                                           │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Goto         │ If the cursor is ahead or behind a brace, then it is moved   │
+│ matching     │ to the brace which belongs to the current one. If this       │
+│ brace        │ keyboard shortcut is pressed again, the cursor is moved back │
+│              │ to the first brace.                                          │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Complete     │ Shows auto completion list.                                  │
+│ word         │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Show calltip │ Shows call tips for the current function or method.          │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Show macro   │ Shows a list of available macros and variables in the        │
+│ list         │ workspace.                                                   │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Suppress     │ If you type something like if or for and press this key, it  │
+│ auto         │ will not be auto completed.                                  │
+│ completion   │                                                              │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│ Find Usage   │ Finds all occurrences of the current word (near the keyboard │
+│              │ cursor) and displays them in the messages window.            │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│              │ Jump to the definition of the current word (near the         │
+│ Go to tag    │ keyboard cursor). If the definition cannot be found (e.g.    │
+│ definition   │ the relevant file is not open) Geany will beep and do        │
+│              │ nothing. Used for function definitions.                      │
+├──────────────┼──────────────────────────────────────────────────────────────┤
+│              │ Jump to the declaration of the current word (near the        │
+│ Go to tag    │ keyboard cursor). If the declaration cannot be found (e.g.   │
+│ declaration  │ the relevant file is not open) Geany will beep and do        │
+│              │ nothing. Used for function prototypes.                       │
+└──────────────┴──────────────────────────────────────────────────────────────┘
 
-4.1. Filetype definition files
 
-   All colour definitions and other filetype specific settings
-   are stored in the filetype definition files. Those settings
-   are colours for syntax highlighting, general settings like
-   comment characters or word delimiter characters as well as
-   compiler and linker settings.
+Chapter 4. Configuration files
 
-   The system-wide configuration files can be found in
-   $prefix/share/geany and are called filetypes.$ext, where
-   $prefix is the path where Geany is installed (commonly
-   /usr/local) and $ext is the name of the filetype. For every
-   filetype there is a corresponding definition file. There is
-   one exception: filetypes.common - this file is for general
-   settings, which are not specific to a certain filetype. It is
-   not recommended to edit the system-wide files, because they
-   will be overridden when Geany is updated.
+Table of Contents
 
-   To change the settings, copy a file from $prefix/share/geany
-   to the subdirectory filedefs in your configuration directory
-   (usually ~/.geany/).
+Filetype definition files
 
-   For example:
+    Format
+    Special file filetypes.common
+
+Filetype extensions
+Templates
+
+Filetype definition files
+
+All colour definitions and other filetype specific settings are stored in the
+filetype definition files. Those settings are colours for syntax highlighting,
+general settings like comment characters or word delimiter characters as well
+as compiler and linker settings.
+
+The system-wide configuration files can be found in $prefix/share/geany and are
+called filetypes.$ext, where $prefix is the path where Geany is installed
+(commonly /usr/local) and $ext is the name of the filetype. For every filetype
+there is a corresponding definition file. There is one exception:
+filetypes.common - this file is for general settings, which are not specific to
+a certain filetype. It is not recommended to edit the system-wide files,
+because they will be overridden when Geany is updated.
+
+To change the settings, copy a file from $prefix/share/geany to the
+subdirectory filedefs in your configuration directory (usually ~/.geany/).
+
+For example:
+
 % cp /usr/local/share/geany/filetypes.c /home/username/.geany/filedefs/
 
-   Then you can edit the file and the changes are also available
-   after an update of Geany because they reside in your
-   configuration directory. Alternatively, you can create a file
-   ~/.geany/filedefs/filetypes.X and add only these settings you
-   want to change. All missing settings will be read from the
-   corresponding global definition file in $prefix/share/geany.
-     _________________________________________________________
+Then you can edit the file and the changes are also available after an update
+of Geany because they reside in your configuration directory. Alternatively,
+you can create a file ~/.geany/filedefs/filetypes.X and add only these settings
+you want to change. All missing settings will be read from the corresponding
+global definition file in $prefix/share/geany.
 
-4.1.1. Format
+Format
 
-4.1.1.1. [styling] Section
+[styling] Section
 
-   In this section the colours for syntax highlighting are
-   defined. The format is always:
-   key=forground_colour;background_colour;bold;italic
+In this section the colours for syntax highlighting are defined. The format is
+always: key=forground_colour;background_colour;bold;italic
 
-   Colours have to be specified as RGB hex values prefixed by 0x.
-   For example red is 0xff0000, blue is 0x0000ff. The values are
-   case-insensitive, but it is a good idea to use small letters.
-   Bold and italic are flags and should only be "true" or
-   "false". If their value is something other than "true" or
-   "false", "false" is assumed.
-     _________________________________________________________
+Colours have to be specified as RGB hex values prefixed by 0x. For example red
+is 0xff0000, blue is 0x0000ff. The values are case-insensitive, but it is a
+good idea to use small letters. Bold and italic are flags and should only be
+"true" or "false". If their value is something other than "true" or "false",
+"false" is assumed.
 
-4.1.1.2. [keywords] Section
+[keywords] Section
 
-   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.
+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.
 
-   Important
+Important
 
-   The keywords list must be in one line without line ending
-   characters.
-     _________________________________________________________
+The keywords list must be in one line without line ending characters.
 
-4.1.1.3. [settings] Section
+[settings] Section
 
-   Table 4-1. General settings
-   Key Description Example
-   wordchars Word delimiting characters. These characters define
-   word boundaries. (look at sourcecode)
-   comment_open A character or string which is used to comment
-   code. If you want to use multiline comments, also set
-   comment_close, otherwise leave it empty. comment_open=/*
-   comment_close If multiline comments are used, this is the
-   character or string to close the comment. comment_close=*/
-   comment_use_indent Set this to false if a comment character or
-   string should start at column 0 of a line. If set to true it
-   uses any indentation of the line.
+Table 4.1. General settings
 
-   Example 4-1. Comment indentation
+┌────────────────────┬───────────────────────────────────┬────────────────────┐
+│        Key         │            Description            │      Example       │
+├────────────────────┼───────────────────────────────────┼────────────────────┤
+│                    │ These characters define word      │                    │
+│ wordchars          │ boundaries when making selections │ (look at system    │
+│                    │ and searching using word matching │ filetypes.* files) │
+│                    │ options.                          │                    │
+├────────────────────┼───────────────────────────────────┼────────────────────┤
+│                    │ A character or string which is    │                    │
+│                    │ used to comment code. If you want │                    │
+│ comment_open       │ to use multiline comments, also   │ comment_open=/*    │
+│                    │ set comment_close, otherwise      │                    │
+│                    │ leave it empty.                   │                    │
+├────────────────────┼───────────────────────────────────┼────────────────────┤
+│                    │ If multiline comments are used,   │                    │
+│ comment_close      │ this is the character or string   │ comment_close=*/   │
+│                    │ to close the comment.             │                    │
+├────────────────────┼───────────────────────────────────┼────────────────────┤
+│                    │ Set this to false if a comment    │                    │
+│                    │ character or string should start  │                    │
+│                    │ at column 0 of a line. If set to  │                    │
+│                    │ true it uses any indentation of   │                    │
+│                    │ the line.                         │                    │
+│                    │                                   │                    │
+│                    │ Example 4.1. Comment indentation  │                    │
+│                    │                                   │                    │
+│                    │ comment_use_indent=true would     │                    │
+│                    │ generate this if a line is        │                    │
+│                    │ commented (e.g. with Ctrl-D)      │                    │
+│                    │                                   │ comment_use_indent │
+│ comment_use_indent │         #command_example();       │ =true              │
+│                    │                                   │                    │
+│                    │ comment_use_indent=false would    │                    │
+│                    │ generate this if a line is        │                    │
+│                    │ commented (e.g. with Ctrl-D)      │                    │
+│                    │                                   │                    │
+│                    │ #command_example();               │                    │
+│                    │                                   │                    │
+│                    │                                   │                    │
+│                    │ Note                              │                    │
+│                    │                                   │                    │
+│                    │ This setting only works for       │                    │
+│                    │ single line comments.             │                    │
+└────────────────────┴───────────────────────────────────┴────────────────────┘
 
-   comment_use_indent=true would generate this if a line is
-   commented (e.g. with Ctrl-D)
-        #command_example();
 
-   comment_use_indent=false would generate this if a line is
-   commented (e.g. with Ctrl-D)
-#command_example();
+[build_settings] Section
 
-   Note
+Table 4.2. Build settings
 
-   This setting only works for single line comments.
-   comment_use_indent=true
-     _________________________________________________________
+┌──────────┬───────────────────────────────────────────────────────┬──────────┐
+│   Key    │                      Description                      │ Example  │
+├──────────┼───────────────────────────────────────────────────────┼──────────┤
+│          │ 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.                                               │ compiler │
+│ compiler │                                                       │ =gcc     │
+│          │ You should quote the filename to also support         │ -Wall -c │
+│          │ filenames with spaces. The following wildcards for    │ "%f"     │
+│          │ filenames are available:                              │          │
+│          │                                                       │          │
+│          │   ● %f - complete filename without path               │          │
+│          │                                                       │          │
+│          │   ● %e - filename without path and without extension  │          │
+├──────────┼───────────────────────────────────────────────────────┼──────────┤
+│          │ This item specifies the command to link the file. If  │          │
+│          │ the file is not already compiled, it will be compiled │ linker=  │
+│ linker   │ while linking. The -o option is automatically added   │ gcc      │
+│          │ by Geany. This item works well with GNU gcc, but may  │ -Wall    │
+│          │ be problematic with other compilers (esp. with the    │ "%f"     │
+│          │ linker).                                              │          │
+├──────────┼───────────────────────────────────────────────────────┼──────────┤
+│          │ Use this item to execute your file. It has to have    │          │
+│          │ been built already. Use the %e wildcard to have only  │ run_cmd= │
+│ run_cmd  │ the name of the executable (i.e. without extension)   │ "./%e"   │
+│          │ or use the %f wildcard if you need the complete       │          │
+│          │ filename, e.g. for shell scripts.                     │          │
+└──────────┴───────────────────────────────────────────────────────┴──────────┘
 
-4.1.1.4. [build_settings] Section
 
-   Table 4-2. Build settings
-   Key Description Example
-   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.
+Special file filetypes.common
 
-   You should quote the filename to also support filenames with
-   spaces. The following wildcards for filenames are available:
+There is a special filetype definition file called filetypes.common. This file
+defines some general non-filetype-specific settings.
 
-     * %f - complete filename without path
-     * %e - filename without path and without extension
+Table 4.3. General settings
 
-   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). 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. run_cmd="./%e"
-     _________________________________________________________
+┌────────────────────┬───────────────────────────────────┬────────────────────┐
+│        Key         │            Description            │      Example       │
+├────────────────────┼───────────────────────────────────┼────────────────────┤
+│                    │ The style for colouring selected  │                    │
+│                    │ text. The format is:              │                    │
+│                    │                                   │                    │
+│                    │   ● Foreground colour             │                    │
+│                    │                                   │                    │
+│                    │   ● Background colour             │                    │
+│                    │                                   │                    │
+│                    │   ● Use foreground colour         │ selection=         │
+│ selection          │                                   │ 0xc0c0c0;0x00007F; │

@@ Diff output truncated at 100000 characters. @@

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Commits mailing list