Revision: 1551 http://svn.sourceforge.net/geany/?rev=1551&view=rev Author: eht16 Date: 2007-05-21 08:24:27 -0700 (Mon, 21 May 2007)
Log Message: ----------- Updated for Geany 0.11.
Modified Paths: -------------- trunk/ChangeLog trunk/NEWS trunk/doc/geany.1.in trunk/doc/geany.docbook trunk/doc/geany.txt trunk/doc/html/apa.html trunk/doc/html/apb.html trunk/doc/html/apbs02.html trunk/doc/html/apbs03.html trunk/doc/html/apc.html trunk/doc/html/ch01.html trunk/doc/html/ch01s02.html trunk/doc/html/ch01s03.html trunk/doc/html/ch01s04.html trunk/doc/html/ch02.html trunk/doc/html/ch02s02.html trunk/doc/html/ch02s03.html trunk/doc/html/ch03.html trunk/doc/html/ch03s02.html trunk/doc/html/ch03s03.html trunk/doc/html/ch03s04.html trunk/doc/html/ch03s05.html trunk/doc/html/ch03s06.html trunk/doc/html/ch03s07.html trunk/doc/html/ch03s08.html trunk/doc/html/ch03s09.html trunk/doc/html/ch03s10.html trunk/doc/html/ch04.html trunk/doc/html/ch04s02.html trunk/doc/html/ch04s03.html trunk/doc/html/index.html trunk/doc/images/find_dialog.png trunk/doc/images/find_in_files_dialog.png trunk/doc/images/pref_dialog_edit.png trunk/doc/images/pref_dialog_files.png trunk/doc/images/pref_dialog_gen.png trunk/doc/images/pref_dialog_interface.png trunk/doc/images/pref_dialog_keys.png trunk/doc/images/pref_dialog_templ.png trunk/doc/images/pref_dialog_toolbar.png trunk/doc/images/pref_dialog_tools.png trunk/doc/images/pref_dialog_vte.png trunk/doc/images/replace_dialog.png trunk/geany.nsi trunk/geany_private.rc trunk/win32-config.h
Added Paths: ----------- trunk/doc/html/apcs02.html trunk/doc/html/apcs03.html trunk/doc/html/apd.html trunk/doc/html/apds02.html trunk/doc/html/apds03.html trunk/doc/html/ape.html trunk/doc/html/ch03s11.html trunk/doc/html/ch03s12.html
Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2007-05-21 14:26:18 UTC (rev 1550) +++ trunk/ChangeLog 2007-05-21 15:24:27 UTC (rev 1551) @@ -1,3 +1,10 @@ +2007-05-21 Enrico Tröger enrico.troeger@uvena.de + + * NEWS, geany_private.rc, win32-config.h, doc/geany.1.in, + doc/geany.docbook, doc/geany.txt, doc/images/*, doc/html/*: + Updated for Geany 0.11. + + 2007-05-16 Enrico Tröger enrico.troeger@uvena.de
* THANKS, src/about.c, po/LINGUAS, po/bg.po: @@ -681,7 +688,7 @@ * geany.glade, doc/geany.docbook, src/document.c, src/document.h, src/geany.h, src/interface.c, src/keyfile.c, src/main.c, src/prefs.c, src/sci_cb.c, src/ui_utils.c: - Added different auto indention modes to select who should Geany + Added different auto indention modes to select how should Geany indent new lines (closes #1615605).
Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2007-05-21 14:26:18 UTC (rev 1550) +++ trunk/NEWS 2007-05-21 15:24:27 UTC (rev 1551) @@ -1,4 +1,4 @@ -Geany 0.11 (TBA) +Geany 0.11 (May 21, 2007)
Notes for existing users: * Tab is now used for construct completion (for, if, etc.), but it @@ -9,6 +9,8 @@ * Inserting a file header is now optional for filetype templates. Use the string '{fileheader}' to mark where the file header should be placed. + * Drag'n'Drop of text inside the editor widget will now move the + text instead of copying it.
Bugs fixed: * Fix segfault when pressing Ctrl-Enter when there are no workspace @@ -62,6 +64,22 @@ * Make backspace unindent when using spaces for indentation. * Wrap notebook pages when switching tabs. * Speed up loading multiple C-like files slightly. + * New filetypes: JavaScript, Lua and Haskell. + * Set several widget names to allow users to define custom styles + in .gtkrc-2.0. + * Add context actions to run custom commands on current selection + or the current word below cursor. + * Add different auto indention modes. + * Improve replacing in rectangle selections. + * Add custom commands to send selected text through some definable + commands and replace the selection with the output. + * Add command line option --column to allow setting the initial + column for the first opened file on command line. + * Improve the auto scrolling of documents. + * Improve loading of the VTE library. + * Add an option for using spaces or tabulators when inserting some + whitespace. + * Add an option to disable Drag'n'Drop in the editor widget.
Documentation: * Add Project Management, Global Tags, Construct Completion @@ -69,7 +87,11 @@ * Add Bookmarks section (thanks to John Gabriele). * Update Filetype Templates, Search sections.
+ Internationalisation: + * New translations: bg. + * Updated translations: ca, cs, de, es, fr, zh_CN.
+ Geany 0.10.2 (February 25, 2007)
Bugs fixed:
Modified: trunk/doc/geany.1.in =================================================================== --- trunk/doc/geany.1.in 2007-05-21 14:26:18 UTC (rev 1550) +++ trunk/doc/geany.1.in 2007-05-21 15:24:27 UTC (rev 1551) @@ -1,4 +1,4 @@ -.TH "GEANY" "1" "February 21, 2007" "@PACKAGE@ @VERSION@" "" +.TH "GEANY" "1" "May 21, 2007" "@PACKAGE@ @VERSION@" "" .SH "NAME" Geany (em a small and lightweight IDE .SH "SYNOPSIS"
Modified: trunk/doc/geany.docbook =================================================================== --- trunk/doc/geany.docbook 2007-05-21 14:26:18 UTC (rev 1550) +++ trunk/doc/geany.docbook 2007-05-21 15:24:27 UTC (rev 1551) @@ -5,7 +5,7 @@ <!ENTITY appversion "0.11"> <!ENTITY appurl "http://geany.uvena.de"> <!ENTITY author_mail "enrico.troeger@uvena.de"> -<!ENTITY date "May 11, 2007"> +<!ENTITY date "May 21, 2007"> <!ENTITY legal SYSTEM "geany_gpl.docbook"> <!ENTITY scikeybinding SYSTEM "scikeybinding.docbook"> ]>
Modified: trunk/doc/geany.txt =================================================================== --- trunk/doc/geany.txt 2007-05-21 14:26:18 UTC (rev 1550) +++ trunk/doc/geany.txt 2007-05-21 15:24:27 UTC (rev 1551) @@ -1,1685 +1,2691 @@ +Geany 0.11
-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 D, 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) + Defining own widget styles using .gtkrc-2.0
- 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 + Editing
- 3.7. Build system + Drag and drop of text + Auto indentation + Construct completion + Bookmarks + Send text through definable commands + Context actions
- 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 + Search, replace and go to
- 3.8. Printing support - 3.9. Keybindings + Find + Find usage + Find in files + Replace + Go to tag definition + Go to tag declaration + Go to line + Regular expressions
- 4. Configuration files + Tags
- 4.1. Filetype definition files + Workspace tags + Global tags
- 4.1.1. Format - 4.1.2. Special file filetypes.common + Preferences + Project Management
- 4.2. Filetype extensions - 4.3. Templates + New Project + Project Properties + Close Project + Open Project
- A. Scintilla keyboard commands + Build system
- A.1. Keyboard commands + Compile + Build + Make all + Make custom target + Make object + Execute + Stopping running processes + Set Includes and Arguments + Indicators + File type configuration settings
- B. GNU General Public License + Printing support + Keybindings
- B.1. Preamble - B.2. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND - MODIFICATION +4. Configuration files
- 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 + Filetype definition files
- B.3. How to Apply These Terms to Your New Programs + Format + Special file filetypes.common
- C. License for Scintilla and SciTE + Filetype extensions + Templates
- 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 + Template metadata + Filetype templates + Customizing templates
- 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 +A. Contributing to this document +B. Scintilla keyboard commands
- List of Examples - 4-1. Comment indentation - _________________________________________________________ + Keyboard commands
-Chapter 1. Introduction +C. Compile time options +D. GNU General Public License
-1.1. About Geany + Preamble + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
- 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. + 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
- The basic features of Geany are: + How to Apply These Terms to Your New Programs
- * 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 - _________________________________________________________ +E. License for Scintilla and SciTE
-1.2. About this document +List of Figures
- This documentation is available in various formats like HTML, - text and PDF. The latest version is always available at - http://geany.uvena.de. - _________________________________________________________ +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
-1.3. Where to get it +List of Tables
- You can obtain Geany from http://geany.uvena.de or perhaps - from your distributor. - _________________________________________________________ +3.1. Command line Options +3.2. Regular expressions +3.3. Keybindings action table +4.1. General settings +4.2. Build settings +4.3. General settings +4.4. Template wildcards +B.1. Scintilla keyboard commands +C.1. Compile time options
-1.4. License +List of Examples
- 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. +4.1. Comment indentation
- The included Scintilla library (found in the subdirectory - scintilla/) has its own license, which can be found in the - appendix (see Appendix C). - _________________________________________________________ +Chapter 1. Introduction
-Chapter 2. Installation +Table of Contents
-2.1. Requirements +About Geany +About this document +Where to get it +License
- 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. +About Geany
- 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. - _________________________________________________________ +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.
-2.2. Source compilation +The basic features of Geany are:
- Compiling Geany is quite easy. The following should do it: + ● 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 including C, Java, PHP, HTML, Python, Perl, + Pascal, and others + + ● 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 D, +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 E, 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 Appendix C, 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@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@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) + Defining own widget styles using .gtkrc-2.0
- 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 +Editing
- 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. + Drag and drop of text + Auto indentation + Construct completion + Bookmarks + Send text through definable commands + Context actions
- 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. - _________________________________________________________ +Search, replace and go to
-3.3.2. Opening files from the command-line in a running instance + Find + Find usage + Find in files + Replace + Go to tag definition + Go to tag declaration + Go to line + Regular expressions
- 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. - _________________________________________________________ +Tags
-3.3.3. Virtual terminal emulator widget (VTE) + Workspace tags + Global tags
- 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. +Preferences +Project Management
- 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. + New Project + Project Properties + Close Project + Open Project
- 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). +Build system
- Note + Compile + Build + Make all + Make custom target + Make object + Execute + Stopping running processes + Set Includes and Arguments + Indicators + File type configuration settings
- 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. +Printing support +Keybindings
- 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). +Getting started + +You can start Geany in the following ways: + + ● 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 + + +Command line options + +Table 3.1. Command line Options + +┌──────────┬────────────────┬─────────────────────────────────────────────────┐ +│ Short │ Long option │ Function │ +│ option │ │ │ +├──────────┼────────────────┼─────────────────────────────────────────────────┤ +│ │ --column │ Set initial column number for the first opened │ +│ │ │ file. │ +├──────────┼────────────────┼─────────────────────────────────────────────────┤ +│ │ │ 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). + +In the preferences dialog you can specify a shell which should be started in +the VTE. To make the specified shell a login shell just use the appropriate +command line options for the shell. These options should be found in the manual +page of the shell. For zsh and bash you can use the argument --login. + +Note + +Geany tries to load libvte.so. If this fails, it tries to load 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) +Defining own widget styles using .gtkrc-2.0
- 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. +You can define your widget style for many of Geany's GUI parts. To do this, +just edit your .gtkrc-2.0 (usually found in your home directory on UNIX-like +systems and in the etc subdirectory of your Geany installation on Windows).
- 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. +To get a defined style get noticed by Geany you must it assign to one of +Geany's widgets. To do so, use the following line:
- Note +widget "Geany*" style "geany_style"
- 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. - _________________________________________________________ +This would assign your already defined style "geany_style" to all Geany +widgets. You can also assign styles only to specific widgets. At the moment you +can use the following widgets:
-3.5. Search, replace and go to + 1. GeanyMainWindow
- This section describes search-related commands from the Search - menu and the editor window's popup menu: + 2. GeanyEditMenu
- * Find - * Find usage * - * Find in files - * Replace - * Go to tag definition * - * Go to tag declaration * - * Go to line + 3. GeanyToolbarMenu
- * These items are available from the editor window's popup - menu, or by using a keyboard shortcut (see Section 3.9). - _________________________________________________________ + 4. GeanyDialog
-3.5.1. Find + 5. GeanyDialogPrefs
- 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. + 6. GeanyDialogProject
- Figure 3-1. Find dialog + 7. GeanyDialogSearch
- [find_dialog.jpg] - _________________________________________________________ +Example of a simple .gtkrc-2.0:
-3.5.2. Find usage +style "geanyStyle" +{ + font_name="Sans 12" +} +widget "GeanyMainWindow" style "geanyStyle"
- 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. - _________________________________________________________ +style "geanyStyle" +{ + font_name="Sans 10" +} +widget "GeanyPrefsDialog" style "geanyStyle"
-3.5.3. Find in files +Character sets and Unicode Byte-Order-Mark (BOM)
- 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. - _________________________________________________________ +Using character sets
-3.5.4. Replace +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.
- 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. +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.
- 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. - _________________________________________________________ +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.5. Go to tag definition +There are different ways to use different encodings in Geany:
- 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. - _________________________________________________________ + 1. Using the file open dialog
-3.5.6. Go to tag declaration + 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).
- Like Go to tag definition, but for a forward function - declaration (a.k.a. function prototype) instead of a function - definition. - _________________________________________________________ + 2. Using the "Reload as" menu item
-3.5.7. Go to line + 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.
- Go to a particular line number in the current file. - _________________________________________________________ + 3. Using the "Set encoding" menu item
-3.5.8. Regular expressions + 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.
- 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. +Special encoding "None"
- Note +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.
- Searching backwards with regular expressions is not supported. +Unicode Byte-Order-Mark (BOM)
- 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. +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.
- Note Partial POSIX compatibility +Note
+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.
- Note that the POSIX '?' regular expression character for - optional matching is not supported by the Find and Replace - dialogs. - _________________________________________________________ +Editing
-3.6. Preferences +Drag and drop of text
- should be written +If you drag selected text in the editor widget of Geany the text is moved to +the position where the mouse pointer is when releasing the mouse button. +Holding Control when releasing the mouse button will copy the text instead. +This behaviour was changed in Geany 0.11 - before the selected text was copied +to the new position.
- Figure 3-2. General tab in preferences dialog +Auto indentation
- [pref_dialog_gen.jpg] +Geany knows three types of auto indentation: None, Basic and Advanced.
- Figure 3-3. Interface tab in preferences dialog +Auto indentation types
- [pref_dialog_interface.jpg] +None
- Figure 3-4. Toolbar tab in preferences dialog + Disables auto indentation completely.
- [pref_dialog_toolbar.jpg] +Basic
- Figure 3-5. Editor tab in preferences dialog + Adds the same amount of whitespace on a new line as on the last line.
- [pref_dialog_edit.jpg] +Advanced
- Figure 3-6. Tools tab in preferences dialog + Does the same as Basic but also indents curly brackets and adds a tabulator + character (or spaces) on a new line after an opening '{' brace.
- [pref_dialog_tools.jpg] +Construct completion
- Figure 3-7. Template tab in preferences dialog +Built-in construct completion is available for C-like languages. By default the +Tab key is used straight after typing the construct keyword.
- [pref_dialog_templ.jpg] +Example: for<TAB>
- Figure 3-8. Keybinding tab in preferences dialog +typed into a C file expands to:
- [pref_dialog_keys.jpg] +for (i = 0; i < ; i++) +{
- Note +}
- For more information see Section 3.9. +Bookmarks
- Figure 3-9. VTE tab in preferences dialog +Geany provides a handy bookmarking feature that lets you mark one or more lines +in a document, and return the cursor to them using a key combination.
- [pref_dialog_vte.jpg] - _________________________________________________________ +To place a mark on a line, either left-mouse-click in the left margin of the +editor window, or else use Ctrl-m. Either way, this will produce a small green +plus symbol in the margin. You can have as many marks in a document as you +like. Click again (or use Ctrl-m again) to remove the bookmark. To remove all +the marks in a given document, use "Remove Markers" in the Document menu.
-3.6.1. Compile time options +To navigate down your document, jumping from one mark to the next, use Ctrl-. +(control period). To go in the opposite direction on the page, use Ctrl-, +(control comma). Using the bookmarking feature together with the commands to +switch from one editor tab to another (Ctrl-PgUp/PgDn and Ctrl-Tab) provides a +particularly fast way to navigate around multiple files.
- 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. +Send text through definable commands
- 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" - _________________________________________________________ +You can define several custom commands in Geany and send the current selection +to one of these commands. The output of the command will be used to replace the +current selection. So, it is possible to use text formatting tools with Geany +in a general way. The selected text will be sent to the standard input of the +executed command, so the command should be able to read from it and it should +print all results to its standard output which will be read by Geany. To help +finding errors in executing the command, the output of the program's standard +error will be printed on Geany's standard output.
-3.7. Build system +To add a custom command, just go to the Set Custom Commands dialog in the +Format sub menu of the Edit and Popup menu. Then click on Add to get a new text +entry and type the command. You can also specify some command line options. To +delete a command, just clear the text entry and press Ok. It will be deleted +automatically.
- 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. +Context actions
- 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. +You can execute a specified command on the current word near the cursor +position or an available selection and this word is passed as an argument to +this command. It can be used for example to open some API documentation in a +browser window or open any other external program. To do this, there is an menu +entry in the popup menu of the editor widget and also a keyboard shortcut(see +the section called “Keybindings”).
- Depending on the current file's filetype, the Build menu will - contain the following items: +The command can be specified in the preferences dialog and additionally for +each filetype (see "context_action_cmd" in the section called “Format”). At +executing, the filetype specific command is used if available otherwise the +command specified in the preferences dialog is executed.
- * Compile - * Build - * Make all - * Make custom target - * Make object - * Execute - * Set Includes and Arguments - _________________________________________________________ +The passed word can be referred with the wildcard "%s" everywhere in the +command, before executing it will be replaced by the current word. For example, +the command to open the PHP API documentation would be:
-3.7.1. Compile +firefox "http://www.php.net/%s"
- The Compile command has different uses for different kinds of - files. +when executing the command, the %s is substituted by the word near the cursor +position or by the current selection. If the cursor is at the word "echo", a +browser window will open(assumed your browser is called firefox) and it will +open the address: http://www.php.net/echo.
- For compilable languages such as C and C++, the Compile - command is setup to compile the current source file into a - binary object file. +Search, replace and go to
- 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. - _________________________________________________________ +This section describes search-related commands from the Search menu and the +editor window's popup menu:
-3.7.2. Build + ● Find
- 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. + ● Find usage *
- Interpreted languages do not use the Build command. - _________________________________________________________ + ● Find in files
-3.7.3. Make all + ● Replace
- This effectively runs "make all" in the same directory as the - current file. + ● Go to tag definition *
- Note + ● Go to tag declaration *
- For each of the Make commands, The Make tool path must be - correctly set in the Tools tab of the Preferences dialog. - _________________________________________________________ + ● Go to line
-3.7.4. Make custom target +* These items are available from the editor window's popup menu, or by using a +keyboard shortcut (see the section called “Keybindings”).
- 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". - _________________________________________________________ +Find
-3.7.5. Make object +The Find dialog is used for finding text in one or more open documents.
- 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. - _________________________________________________________ +Figure 3.1. Find dialog
-3.7.6. Execute +Find dialog
- 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.
- 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. - _________________________________________________________ +Matching options
-3.7.7. Set Includes and Arguments +The syntax for the Use regular expressions option is shown in Table 3.2, +“Regular expressions”.
- 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. +The Use escape sequences option will transform any escaped characters into +their UTF-8 equivalent. For example, \t will be transformed into a tab +character. Other recognised symbols are: \, \n, \r, \uXXXX (Unicode +chararacters).
- Note +Find all
- 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. +To find all matches, click on the Find All expander. This will reveal several +options:
- These settings are not saved when Geany is shut down. See - below for how to set permanent arguments. + ● In Document
- If you need complex settings for your build system, or several - different settings, then writing a Makefile and using the Make - commands is recommended. - _________________________________________________________ + ● In Session
-3.7.8. Indicators + ● Mark
- 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. +Find All In Document will show a list of matching lines in the current document +in the Messages tab of the Message Window. Find All In Session does the same +for all open documents.
- If you do not like this feature, you can disable it in the - preferences dialog. - _________________________________________________________ +Mark will set markers for all matching lines in the current document, if the +Markers margin is visible. If not, the background colour of matching lines will +be highlighted. Markers and highlighting can be removed by selecting the Remove +Markers command from the Document menu.
-3.7.9. File type configuration settings +Find usage
- 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. - _________________________________________________________ +Find usage searches all open files. It is similar to the Find All In Session +Find dialog command.
-3.8. Printing support +If there is a selection, then it is used as the search text; otherwise the +current word is used. The current word is either taken from the word nearest +the edit cursor, or the word underneath the popup menu click position when the +popup menu is used. The search results are shown in the Messages tab of the +Message Window.
- 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: +Find in files + +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. GNU Grep is +recommended. + +Figure 3.2. Find in files dialog + +Find in files dialog + + +The Extra options field is used to pass any additional arguments to the grep +tool. + +Filtering out version control files + +When using the Recurse in subfolders option with a directory that's under +version control, you can set the Extra options field to use grep's --exclude +flag to filter out filenames. + +SVN Example: --exclude=*.svn-base + +Note + +The GNU Grep project added support for excluding directories, using the +--exclude-dir flag. At the time of writing (April 2007) this is unreleased +outside of version control. Check your Grep manual to see if your version +supports it. + +Example: --exclude-dir=.* --exclude-dir=CVS + +Replace + +The Replace dialog is used for replacing text in one or more open documents. + +Figure 3.3. Replace dialog + +Replace dialog + + +The Replace dialog has the same options for matching text as the Find dialog. +See the section called “Matching options”. + +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”. + +Replace all + +To replace several matches, click on the Replace All expander. This will reveal +several options: + + ● In Document + + ● In Session + + ● In Selection + +Replace All In Document will replace all matching text in the current document. +Replace All In Session does the same for all open documents. Replace All In +Selection will replace all matching text in the current selection of the +current document. + +Go to tag definition + +If the current word is the name of a tag definition (like a function body) and +the file containing the tag definition is open, this command 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. + +Go to tag declaration + +Like Go to tag definition, but for a forward declaration such as a function +prototype or extern declaration instead of a function body. + +Go to line + +Go to a particular line number in the current file. + +Regular expressions + +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”. + +Note + +Searching backwards with regular expressions is not supported. + +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. │ +├────────┼────────────────────────────────────────────────────────────────────┤ +│ │ 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. │ +└────────┴────────────────────────────────────────────────────────────────────┘ + + +Partial POSIX compatibility + +Note that the POSIX '?' regular expression character for optional matching is +not supported by the Find and Replace dialogs. + +Tags + +Workspace tags + +Tags for each document are parsed whenever a file is loaded or saved. These are +shown in the Symbol list in the Sidebar. These tags are also used for +autocompletion and calltips in other documents open in the current session. + +The Go to Tag commands can be used with all workspace tags. See the section +called “Go to tag definition”. + +Global tags + +Global tags are used to provide autocompletion and calltips without having to +open the corresponding source files. This is intended for library APIs, as the +tags file only has to be updated when you upgrade the library. + +You can load a custom global tags file in two ways: + + ● Using the Load Tags command in the File menu. + + ● By creating a directory ~/.geany/tags, and moving or symlinking the tags + files there before starting Geany. + +You can either download these files or generate your own. They have the format: + +libraryname.lang_ext.tags + +lang_ext is one of the extensions set for the filetype associated with the +tags. See the section called “Filetype extensions” for more information. + +Default global tags files + +For some languages, a list of global tags is loaded when the corresponding +filetype is first used. Currently these are for: + + ● C - GTK+ and GLib + + ● Pascal + + ● PHP + + ● HTML - &symbol; completion, e.g. for ampersand, copyright, etc. + + ● LaTeX + +Generating a global tags file + +Filetypes support + +Currently this is not yet supported for Pascal, PHP and LaTeX filetypes. + +You can generate your own global tags files by parsing a list of source files. +The command is: + +geany -g <Tag File> <File list> + + ● Tag File should be in the format described earlier - see the section called + “Global tags”. + + ● File list is a list of filenames, each with a full path (unless you are + generating C/C++ tags and have set the CFLAGS environment variable + appropriately). + +Example for the wxD library for the D programming language: + +geany -g wxd.d.tags /home/username/wxd/wx/*.d + +Generating C/C++ tag files + +For C/C++ tag files, gcc and grep are required, so that header files can be +preprocessed to include any other headers they depend upon. + +For C/C++ files, the environment variable CFLAGS should be set with appropriate +-I/path include paths. The following example works with the bash shell, +generating tags for the GnomeUI library: + +CFLAGS=`pkg-config --cflags libgnomeui-2.0` geany -g gnomeui.c.tags +/usr/include/libgnomeui-2.0/gnome.h + +You can adapt this command to use CFLAGS and header files appropriate for +whichever libraries you want. + +Replacing the default C/C++ tags file + +Geany currently uses a default global tags file global.tags for C and C++, +commonly installed in /usr/share/geany. This file can be replaced with one +containing tags parsed from a different set of header files. When Geany is next +started, your custom tags file will be loaded instead of the default +global.tags. You should keep a copy of the generated tags file because it will +get overwritten when upgrading Geany. + +This is a temporary solution - in later versions this will be unnecessary. + +Preferences + +You may adjust Geany's settings using the Edit --> Preferences dialog. Any +changes you make there can be applied by hitting either the Apply or the Ok +button. These settings will persist between Geany sessions. Note that most +settings here have descriptive popup bubble help -- just hover the mouse over +the item in question to get help on it. + +You may also adjust some View settings (under the View menu) that persist +between Geany sessions. The settings under the Document menu, however, are only +for the current document and revert to defaults when restarting Geany. + +Note, in the paragraphs that follow, the text describing a dialog tab (if +present) comes after the screenshot of that tab. + +Figure 3.4. General tab in preferences dialog + +General tab in preferences dialog + + +The "Context Activation" setting needs to be documented. + +Figure 3.5. Interface tab in preferences dialog + +Interface tab in preferences dialog + + +The open files list and the editor tabs are two different ways to switch +between documents using the mouse. When you hit the key combination to move +between tabs, the order is determined by the tab order, not alphabetical as +shown in the open files list (regardless whether or not editor tabs are +visible). + +Figure 3.6. Toolbar tab in preferences dialog + +Toolbar tab in preferences dialog + + +Figure 3.7. Files tab in preferences dialog + +Files tab in preferences dialog + + +Figure 3.8. Editor tab in preferences dialog + +Editor tab in preferences dialog + + +Line wrapping refers to the display of the text in the editor. Currently, there +is no setting to have Geany automatically insert newlines into your document +while you type. + +Figure 3.9. Tools tab in preferences dialog + +Tools tab in preferences dialog + + +Figure 3.10. Template tab in preferences dialog + +Template tab in preferences dialog + + +Figure 3.11. Keybinding tab in preferences dialog + +Keybinding tab in preferences dialog + + +There are some handy commands in here that are not, by default, bound to a key +combination, and may in fact not even be available as a menu item (for example, +the very handy "Hide and show all additional widgets"). + +Note + +For more information see the section called “Keybindings”. + +Figure 3.12. VTE tab in preferences dialog + +VTE tab in preferences dialog + + +Project Management + +Project Management is optional in Geany. Currently it can be used for: + + ● Running Make from the project's base directory. + + ● Setting a custom Run command specific to the project. + +As long as a project is open, the Make and Run commands will use the project's +settings, instead of the defaults. These will be used whichever document is +currently displayed. + +The current project's settings are saved when it is closed, or when Geany is +shutdown. When restarting Geany, the previously opened project file that was in +use at the end of the last session will be reopened. + +New Project + +To create a new project, fill in the Name field. By default this will setup a +new project file ~/projects/name.geany. Usually it's best to store all your +project files in the same directory (they are independent of any source +directory trees). + +The Base path text field is setup to use ~/projects/name. This can safely be +set to any existing path - it will not touch the file structure contained in +it. + +Project Properties + +You can set an optional description for the project, but it is not used +elsewhere by Geany. + +The Base path field is used as the directory to run the Make command in. + +The Run command overrides the default run command. You can set this to the +executable or main script file for the project, and append any command-line +arguments. + +Close Project + +Project file settings are saved when the project is closed. + +Open Project + +The Open command displays a standard file chooser, starting in ~/projects. + +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 + +When there is a running program, the Run button in the toolbar becomes a stop +button and you can stop the current 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. Xterm is known to work +properly. If you are using "Terminal" (the terminal program of Xfce), you +should add the command line option "--disable-server" otherwise the started +process cannot be stopped. Just add this option in the preferences dialog on +the Tools tab in the terminal field. + +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 B, 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.3. 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 As │ Saves the current file under a new name. │ +├──────────────┼──────────────────────────────────────────────────────────────┤ +│ 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. │ +├──────────────┼──────────────────────────────────────────────────────────────┤ +│ Insert date │ Inserts a customisable date. │ +├──────────────┼──────────────────────────────────────────────────────────────┤ +│ 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 │ │ +├──────────────┼──────────────────────────────────────────────────────────────┤ +│ Next message │ Jumps to the line with the next message from the last call │ +│ │ to Find usage. │ +├──────────────┼──────────────────────────────────────────────────────────────┤ +│ 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 │ │ +├──────────────┼──────────────────────────────────────────────────────────────┤ +│ Toggle all │ Hide and show all additional widgets like the notebook tabs, │ +│ additional │ the toolbar, the messages window and the statusbar. │ +│ widgets │ │ +├──────────────┼──────────────────────────────────────────────────────────────┤ +│ 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. │ +├──────────────┼──────────────────────────────────────────────────────────────┤ +│ Next error │ Jumps to the line with the next error from the last build │ +│ │ process. │ +├──────────────┼──────────────────────────────────────────────────────────────┤ +│ 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 │ Switches to the search bar in the toolbar (if visible). │ +│ Search Bar │ │ +├──────────────┼──────────────────────────────────────────────────────────────┤ +│ Switch to │ │ +│ left │ Switches to the previous open document. │ +│ document │ │ +├──────────────┼──────────────────────────────────────────────────────────────┤ +│ Switch to │ │ +│ right │ Switches to the next open document. │ +│ document │ │ +├──────────────┼──────────────────────────────────────────────────────────────┤ +│ Switch to │ │ +│ last used │ Switches to the previously selected open document. │ +│ document │ │ +├──────────────┴──────────────────────────────────────────────────────────────┤ +│ Editing operations │ +├──────────────┬──────────────────────────────────────────────────────────────┤ +│ Convert │ │ +│ selection to │ Converts the current selection to lower case. │ +│ lower case │ │ +├──────────────┼──────────────────────────────────────────────────────────────┤ +│ Convert │ │ +│ selection to │ Converts the current selection to upper case. │ +│ upper case │ │ +├──────────────┼──────────────────────────────────────────────────────────────┤ +│ 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. │ +├──────────────┼──────────────────────────────────────────────────────────────┤ +│ Toggle │ Set a marker on the current line, or clear the marker if │ +│ marker │ there already is one. │ +├──────────────┼──────────────────────────────────────────────────────────────┤ +│ Goto next │ Goto the next marker in the current document. │ +│ marker │ │ +├──────────────┼──────────────────────────────────────────────────────────────┤ +│ Goto │ │ +│ previous │ Goto the previous marker in the current document. │ +│ marker │ │ +├──────────────┼──────────────────────────────────────────────────────────────┤ +│ 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. │ +├──────────────┼──────────────────────────────────────────────────────────────┤ +│ Complete │ If you type a construct like if or for and press this key, │ +│ construct │ it will be completed with a matching template. │ +├──────────────┼──────────────────────────────────────────────────────────────┤ +│ │ If you type a construct like if or for and press this key, │ +│ │ it will not be completed, and a space or tab will be │ +│ Suppress │ inserted, depending on what the construct completion │ +│ construct │ keybinding is set to. For example, if you have set the │ +│ completion │ construct completion keybinding to space, then setting this │ +│ │ to Shift+space will prevent construct completion and insert │ +│ │ a space. │ +├──────────────┼──────────────────────────────────────────────────────────────┤ +│ Select │ Selects the current word under the cursor. │ +│ current word │ │ +├──────────────┼──────────────────────────────────────────────────────────────┤ +│ Insert │ Inserts a tabulator character when spaces should be used for │ +│ alternative │ indentation and inserts space characters of the amount of a │ +│ whitespace │ tabulator width when tabulators should be used for │ +│ │ indentation. │ +├──────────────┼──────────────────────────────────────────────────────────────┤ +│ │ Finds all occurrences of the current word (near the keyboard │ +│ Find Usage │ cursor) or selection and displays them in the messages │
@@ Diff output truncated at 100000 characters. @@
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.