Geany 1.24.1 (April 16, 2014) General * Fix distribution of custom GTK style files (#1037). Geany 1.24 (April 13, 2014) General * Add experimental support for GTK3. * Add support for loading CTags and Vi tags files. * Save configuration when plugin manager dialog is closed. Bug fixes * Fix many small memory leaks (many of them found by Pavel Roschin). * Fix stopping of some spawned commands. * Fix cursor position and selection after comment toggling (#3576431). * Fix truncated output of ``--list-documents`` command-line option. * Fix launching a new instance when ``--list-documents`` is passed and no other instance is running. * Fix crash if a Custom Command returns after its related document has been closed. * Fix typo in "deque" C++ include name (#1027). * Fix replacing a selection starting with "0x" by a color if the selection is not 8 bytes long. * Fix a possible crash on quit. Interface * Fix custom GTK styles under KDE (#3607935). * Add Find entries in the Symbol List popup menu (#3608278). * Flatten-out the View menu. * Add a button to directly configure a plugin's keybindings in the plugin manager (Pavel Roschin). * Add an Apply button to the color chooser dialog (FR#686, Steven Valsesia). * Use a non-cropped 16x16 application icon (#1010). * Fix "leaks" of geany_run_script (#975). Editor * Update Scintilla to version 3.3.6 (#962, #995). * Fix Reflow to follow Line breaking behavior (#382, #412, #464, Eugene Arshinov). * Fix unfolding the very last line in a level (#1007). * Fix commenting the very last line in some situations. Search * Fix bulk Search & Replace not to match replacements. * Fix finding start of word when performing whole word matching. * Search when activating the Replace dialog find entry. Filetypes * Add CUDA filetype (PR#147, Benjamin Chrétien). * Add Rust filetype (PR#181, SiegeLord). * Add Batch filetype (canou). * Add Graphviz filetype (PR#125, Miro Hrončok). * Add PowerShell filetype (Igor Shaula). * Add Clojure filetype (PR#92, Hoàng Minh Thắng). * Many improvements to the PHP tag parser. * Update PHP global tags file (PR#137, John Long). * Improve shebang detection for mksh and tcsh shells (PR#126 , Ypnose). * Fix Asciidoc parser recognition of open block as underline. * Fix symbol list entry for Asciidoc headers containing a dot. * Fix Asciidoc title parsing. * SQL parsing improvements. * Extend list of recognized keywords for SQL. * Fix SQL single-line comment marker (#997). * Fix parsing of some JavaScript constructors (#966). * Fix parsing a JavaScript regular expression in a return statement. * Fix parsing JavaScript files with a shebang. * Parse Java annotations with parameters (#924, Braden Walters). * Display Java enums in the symbol list. * Add "strictfp" Java keyword and fix annotation parsing (#936, #924). * Fix parsing of C++ static_assert. * Fix parsing of typed enums in C# and C++. * Mitigate parsing errors on C++ generics containing an expression. * Add C++ member pointer operator to scope autocomplete operators (#907). * Fix parsing of Fortran "forall" blocks and procedure pointers (Alexander Eberspächer). * Fix parsing of complex Cython types. * Fix re-parsing Objective-C code. * Fix parsing of Verilog initializers. * Fix displaying of quoted Bash HereDoc delimiters (#952). * Add some HTML5 keywords (Duncan de Wet). * Add Erlang snippets and a template (PR#157, Fabio Ticconi). * Haskell highlighting improvements (kudah). * Add Matlab class keywords (PR#136, Felix Totir). * Fix argument list on some Python constructors. * Fix R indenting to use braces. * Display R sources and libraries in the symbol list. * Many improvements to the Fortran tag parser (#1023, #1030, with help from Adam Hirst). * Put Makefile comments at start of line. * Add some missing Pascal keywords (#1033, PR#144). * Add default build command for Bibtex in the Latex filetype (PR#227, Francisco Iacobelli). * Ignore Python imports when going to a tag's definition. * Add some more Ruby extensions (Igor Shaula). Internationalization * Make date templates translatable (Christian Dywan). * Update translations: ca, cs, de, es, eu, fr, gl, he, hu, it, kk, lt, nl, pt, ru, sk, sl, sv, tr, zh_CN, zh_TW Plugins * Save Actions: add autosave when the editor lose focus (FR#683, Steven Valsesia). * Export: fix exporting a document not ending with a newline. * Export: fix including random, unused styles in the output. * Export: fix HTML title if the file name contains control characters. * Export: fix LaTeX export with many consecutive '-', '<' or '>'. API * Add plugin_builder_connect_signals(). Windows * Fix infinite pagination when printing (#961). * Fix spawning commands with spaces (#943). * Allow to use the GTK color chooser dialog (PR#218, Steven Valsesia). * Add default extension to native save dialogs (#1021). * Add colorschemes from the Geany-Themes project to the Windows installer. * Add option to install Geany header files and pkgconfig file to the Windows installer. * Fix broken opening files from command line on Windows (again, #3613096). Geany 1.23.1 (May 19, 2013) Bug fixes * Fix custom styles under KDE and for people using gtk-chtheme (corrects tab coloring, #3607935). * Fix broken opening files from command line on Windows (#3613096). Geany 1.23 (March 10, 2013) General * Various fixes to language theming (#3573213). * Various Windows makefile fixes. * Rewrite printing code (#2629121, #2804000, #3475444, #3580268, #3580269). * Use the Geany icon from the theme (#3576695). * Make Geany-specific icons themeable. Bug fixes * Fix too aggressive scope caching (#2142789, #2667917, #2868850). * Fix showing project name in the Documents sidebar. * Fix opening filenames with leading or trailing spaces from the command line into a running instance. * Fix re-opening files with unknown but detected encoding (#3509407, #3605293). * Fix crash when loading a broken or incompatible VTE library. * Report scope including classes, namespaces and alike (#1996778). * Fix cancelling Project Close when showing the unsaved changes dialog. * Only use "allow_always_save" setting for direct user interaction (Quentin Glidic). * Fix some keybinding not getting properly displayed in the menus after being updated (#1912683, #3599251). * Make Terminal tool setting more flexible to support any terminal. * Fix replacing file name in files header upon save. * Fix UAC Virtualization issue on newer Windows versions when trying to save files to read-only locations (#3566329, #3515490). Interface * Control-click on the symbols sidebar don't focus the editor. * Add an option to place the message window on the right. * Fix display of non-ASCII tags in the symbols tree for non-UTF-8 files. * Replace 'Open file in a new tab' save dialog option with new 'Document->Clone' menu item. * Fix clashing button mnemonic in detect/reload dialog (#3587465). * Grab focus in the embedded terminal upon middle click (#3574724). * Add support for embedded terminal background image (Mislav Blažević). Editor * Update Scintilla to version 3.2.3 (#2808638, #2909124, #3094431, #3233160, #3540469). * Properly indent even if the indenting character isn't the last one. * Always display text in LTR direction. * Improve collapsing fold behavior when start point is offscreen. * Faster squiggle underlining. * Fix multiline comments at end of file (#3026691). * Keep caret and anchor position upon indent and unindent (#3167355). * Complete on dash (-) too in CSS documents. * Make wordchars have precedence over whitespacechars (#3429368). * Fix cursor position after comment toggling with no selection (#3576431). * Fix reshowing calltip after autocompletion list closed. * Fix uncommenting multiline comments when cursor is on a delimiter. * Clear search markers on Mark All keybinding when already set. * Never strip trailing spaces from Diff documents. * Reduce unnecessary redraws when typing (Evandro Borracini). * Fix comment toggling inside PHP and HTML with bottom-up selection. Search * 'Mark All' now also uses the fully-featured PCRE engine (#3564132). * Only set Find in Files directory once per-document. * Fix a crash when matching the very last character of the document. * Fix search and replacement of empty matches. * Fix a possible crash when searching on a range. Keybindings * Add keybinding for 'Go to Start of Display Line' (#3182425). * Allow to change the keybinding for 'Quit'. Filetypes * Parse '!' char in D parameter lists. * Fix parsing of Haskell comments inside a type (#3552129). * Fix Cython auto indentation. * Add more keywords to Forth (Oco). * Add some missing Haxe keywords (#3448664). * Add some missing CSS3 keywords (Trong Thanh Tran). * Add some missing D keywords (#3595187) (Felix Totir). * Fix a crash parsing some C macros (#3556536). * Update some Python keywords. * Update Python global tags file. * Show VHDL blocks in the symbol list. * Fix ruby scope after "do" (#3046418). * Fix parsing of ruby keywords when followed by a semicolon (#2130612). * Lots of JavaScript symbols parsing improvements (#2992393, #3034303, #3034339, #3036476, #3398636, #3470609, #3568542, #3570192, #3571233). * Use "scala" extension for Scala (#3574723). * Fix parsing of reStructuredText titles containing UTF-8 characters (#3578050). * Parse C++11 final classes (#3577559). * Parse C++11 enums with type specifier and classed enums (#3578557). * Fix highlighting of C++11 raw strings (#3578557). * Fix parsing of colons in D (#3577788). * Fix parsing of D 'static assert' (#3582833). * Parse scope for D nested template blocks (#3582833). * Ignore D angle brackets. * Fix reStructuredText comment marker (#3585377). * Add Asciidoc filetype. * Fix parsing of Python keywords followed by a tab (\t). * Add more HTML5 self-closing tags (Duncan de Wet). * Update default D template to use a more standard prototype for main(). * Fix improperly translated string in Pascal template (#3602314). * Add Go language filetype (tomboy64). Plugins * Export: Fix missing linking on libm (Chow Loong Jin) * File Browser: Backspace now moves to parent directory. API: * Fix plugin_add_toolbar_item() insertion order (#3522755) (Dimitar Zhekov). Windows * Fix spawning synchronous commands on Windows. * Show Find in Files status summary. * Add icon to the Explorer context menu item. Internationalization * Add translations: et, eu, he, hi, sr * Update translations: ca, cs, de, es, fi, gl, it, kk, lt, nl, pt_BR, ru, sv, sl, tr * Fix a crash when using the Turkish translation (#3560181). Geany 1.22 (June 18, 2012) General * Bump dependencies to GTK >= 2.16 and GLib >= 2.20. * Switch to Glade 3 and dynamically loaded XML UI description. * Rewrite theming support for better flexibility. * Add support for opening files read-only from the command line. * Always load the default session if configured to do so. * Make all filetypes use named styles to simplify color scheme authoring. * Make 'Replace Spaces by Tabs' only match leading spaces to preserve alignment. Possibly incompatible changes * Theming and filetype style changes mean old filetypes and color schemes are not compatible with this version of Geany. * There are some default keybinding changes but these will only apply to newly created configurations. * Changes to the "project-dialog*" signals may affect plugins. Bug fixes * Fix escaping of session file paths (#3425969). * Fix closing when minimized under Windows (#3421282). * Properly handle remote URIs received through drag 'n drop (#2966770, #3479567). * Fix build with bleeding-edge GLib (#3483388). * Fix color scheme selection in Ubuntu Unity (#3479674). * Fix very slow regex tag parsing on Windows (e.g. for HTML). * Fix detecting a changed file on disk when opening from the command-line (Windows). * Fix quick search entry behavior on Windows. * Fix keybindings conflicts check when swapping a binding. * Fix comments insertion in some cases (#3449635, #3534320). * Add missing Windows mio makefile. Prefs * Split "always wrap search and hide find dialog" pref into "always wrap search" and "hide find dialog" (Dimitar Zhekov). * Add Project Properties overrides for 'Saving files' prefs. * Add hidden VTE preference "send_cmd_prefix" to prefix commands sent to the VTE. (See the manual for details). Interface * Add support for switching to the last used document after closing a tab (Jiří Techet). * Improve the tab switching dialog for better usability (Jiří Techet). * Add support for user-defined labels for 'Send Selection to' custom commands. * Fix sidebar width when on the right (#3514436). * Use case-insensitive document list path comparison on Windows. * Replace Color Schemes menu with custom dialog. * Show selected line count on status bar when whole lines are selected. Editor * Update Scintilla to version 2.29. * Add a "join lines" command (Eugene Arshinov). * Hide autocompletion when the only entry has been typed (#3516212). Search * Add full PCRE regular expressions support. * Extra options passed to grep through Find in Files now follows a real shell-style syntax (#3516263). * Search pattern length is no longer limited to 248 characters. * Fix showing Find/Replace regex compile errors on the status bar. Keybindings * Add Project New/Open/Properties/Close keybindings. * Show overridden keybindings in bold for prefs dialog tree. Tags * Speed up loading of multiple global tags files. * Show global tags file preprocessing errors on stderr & add current directory to include path. * Add C/C++ ignore.tags wildcard format 'PREFIX*'. Filetypes * Add support for regex-based filetype detection. * C snippets no longer apply to all filetypes. * Improve support for HTML embedded filetypes (#2863829, #3127598). * Add filetype Objective-C (Elias Pschernig, P#3325139). * Fix highlighting of ``...R"`` inside C and C++ (#3425107). * Fix TCL keyword highlighting in some situations (#3432877). * Parse PHP functions with multiline argument list (#3037797). * Handle ``/bin/dash`` shebang (#3470986). * Update JavaScript parser from CTags. * Parse D class/struct/interface template bodies and template blocks; ignore 'static if' expressions; parse function @attributes, pure/nothrow and immutable/inout/shared return types. * Fix broken tag/word autocompletion in HTML/PHP documents. * Enable &entity; completion for all XML-based filetypes. Plugins * Split Window: show marker margin. * Split Window: enable basic context menu. API: * document_save_file() now shows the Save As dialog when necessary. * Rename signal "project-dialog-create" to "project-dialog-open" and add new "project-dialog-close" signal. * setptr is deprecated in favour of SETPTR. * Add ui_hookup_object() and ui_lookup_object(). * Add ui_lookup_stock_label(). * Add build_{activate,get_current,remove,set}_menu_item(), build_get_group_count(). * Add stash_group_free_settings(). * Add support for plugins written in C++. Internationalization: * Add translations: ar, id, lt, mn, nn, sk * Update translations: de, es, fr, hu, it, ja, kk, lt, nl, pl, pt, pt_BR, sk, sl, sv, tr, zh_CN, zh_TW Geany 0.21 (October 2, 2011) General * Bump dependencies to GTK >= 2.12, GLib >= 2.16 and GIO. * Add support for real-time symbol parsing. * Remove old filetype templates support - use custom file templates instead. * Add support for detecting the indentation width from the file content. Bug fixes * Fix generating tag files (-g) and --ft-names segfault. * Replace dates on template insertion, not when loading templates. * Fix segfault when inserting e.g. fileheader template when the template file is empty (#3070913, lphilpot). * Use the same indentation for all templates (Matthew Brush, #3193527). * Fix loading of non-UTF-8 templates. * Fix completion and word completion with non-ASCII characters (#3313351). * Fix HTML content-type detection (#3300703). * Fix pattern filtering when using Find in Files not to search in sub-directories. * Add a workaround to prevent Geany from crashing during loading of a LaTeX-file containing linebreaks inside headings. Interface * Add 'Save As' toolbar button option (Matthew Brush, #3153490). * Add 'Open in New Window' command in the notebook tab menu (Matthew Brush, #3118059). * Color schemes: use name and description for menu item and tooltip (Matthew Brush). * Shift-Enter in search dialog and toolbar search entries now searches backwards. * Improve `Set Custom Commands` dialog. * Always destroy open and save dialogs after use (#3311258, #3304273, #3201050, #3163742, #3153120, #2985896). * Add UI to edit formerly hidden preferences (Dimitar Zhekov, #3313315). Editor * Update Scintilla to version 2.25. * Fix snippets bug: {ob}pc{cb} replaced by '%' instead of {pc}. * Fix multiple snippet cursor positions for Tabs + Spaces mode. * Avoid triggering autocompletion on PHP open tags (#3199442). * Fix indentation brace matching (#3309606). Configuration files * Support copying filetype definition file group keys from a system keyfile with e.g. [styling=C]. * Make filetype group membership configurable using [Groups] in filetype_extensions.conf. Search * Don't auto-enable case-sensitive option when enabling regex in Find/Replace dialogs. * Remember Find and Replace options across restarts (Dimitar Zhekov). Keybindings * Add fixed shortcuts for VTE copy (Ctrl-Shift-C) and paste (Ctrl-Shift-V). * Add new keybinding 'Remove Markers and Error Indicators'. Projects * Store VTE path with the project session (Nicolas Sierro). Filetypes * Add Scala custom filetype (werg). * Add Cython custom filetype (Matthew Brush). * Add support for separate single and multiline comments. * Add support for filetype-specific indentation settings (#3339420, #3390435) * Fix detecting Matlab and Txt2Tags extensions by default (#3167315, #3154637). * Fix detecting non-lowercase self-closing tags e.g.
(#2226117). * Highlight C# and Vala raw and verbatim strings. * Improve JavaScript keyword handling and keyword lists (Jason Oster). * Add filetype Cobol (Seth Keiper). * Add file template for Vala (Mark Trompell). Plugins * File Browser: Make 'Hide object files' preference configurable with file extensions. * Split Window: Fix a crash when changing filetype (Matthew Brush, #3255968). * Split Window: Update styles when the filetype changes (Matthew Brush). * Split Window: Enable code folding (Matthew Brush, #3097780). * Split Window: Fix issues on Windows (Matthew Brush, #2725342). * Class Builder: Improve dialog UI using a table (Matthew Brush). * Export: Add option to insert line numbers (#3197150). Documentation * Add 'Reading styles from another filetype' subsection (Matthew Brush). * Add 'Filenames' subsection for filetype definition files explaining the filename extensions and special cases. * Add section 'Filetype group membership'. Plugin API * Add filetypes_get_sorted_by_name(), utils_find_open_xml_tag_pos() (Eugene Arshinov). * Add plugin_idle_add(), plugin_timeout_add(), plugin_timeout_add_seconds(), ui_menu_add_document_items_sorted(), document_compare_by_display_name(), document_compare_by_tab_order(), document_compare_by_tab_order_reverse(). * Deprecate ui_widget_set_tooltip_text(). * Fix public inclusion of config.h (#3384026). * Add new signal "document-reload". Internationalisation: * Add translations: fa * Update translations: ca, cs, de, en_GB, es, fi, fr, gl, it, ja, nl, pt, pt_BR, sl, sv, tr, vi, zh_CN, zh_TW Geany 0.20 (January 5, 2011) Fixes: * Improve compatibility with GVFS using GIO to save documents (Alexey Antipov). * Fix crash when closing a modified document (usually without a trailing newline) and choosing Save (fixes #3111058). * Fix crash when using 'Send Selection to Terminal' and the VTE is not loaded, and when using Ctrl-A after enabling the 'Load VTE' pref (Dimitar Zhekov). * Fix a slightly wrong encoding detection on Windows (#3019573). * Fix issue with single-line commenting/uncommenting blocks when using Windows line endings. * Fix saving project indent prefs straight after using project properties. * Fix wrongly changing edited keybindings when cancelling the Preferences dialog. * Fix auto-displaying of sidebar, tab bar, symbols and documents tabs when only plugin tabs are visible (fixes #3101867). * Save build commands for filetype None (Lex Trotman). * Waf: Check for libsocket on OpenSolaris to fix build. Interface: * Color build command fields light grey unless overridden (Lex Trotman). * Replace /home/user with ~ in the documents list (Jon Strait). * Display 'new instance' on title bar for 2nd instances (Eugene Arshinov). * Don't add duplicates to combo box histories. * Reorganise Find in Files dialog and add Files pattern to filter search results. * Implement 'Select All' for the VTE widget. * Reorganise editor popup menu for shorter size - some items were moved to submenus. * Move Go to Marker menu items to Search menu. * Group Open dialog encoding options by submenus (Adam Ples; #3047717). * Show mimetype icon in sidebar Documents list and notebook popup menu (Colomban Wendling). Documents: * Ensure inserted templates always have proper line ending characters according to the current document's preference. * Add per-document indent width setting (Jiří Techet). * Add 'Project->Apply Default Indentation' menu command to override every document's indentation settings. * Display better error messages when saving a document fails (Dimitar Zhekov). * Don't prompt for reloading if the document has not been edited (Jiří Techet). * Add Close button to the detected file changed dialog. Editor: * Fix wrong snippet indentation when original cursor line has non-indentation whitespace (david). * Fix passing quoted arguments when using 'Send Selection to'. This means e.g. sed 's/\./(dot)/g' now works. * Add alternative color scheme based on Python colors (View->Editor->Color Schemes). * Replace HTML automatic tag completion with a 'table' snippet (Eugene Arshinov). * Auto-indent after an HTML/XML line without a closing tag (Eugene Arshinov). * Respect 'Smart' home key pref for Shift[+Alt]+Home (fixes #3100290, Dimitar Zhekov). * Scroll to the current line when moving the cursor to the next cursor position in a snippet (#3139490). * If the current word's tag is on the current line, make Go to Tag Definition look for a tag declaration instead and vice versa. * Make Reflow Lines/Block command use the current indented block, not the whole paragraph (which could have mixed indentation). Configuration: * Load insertion templates from system path, don't create them in the user's config dir. * File templates are now reloaded on saving. Prefs: * Add 'Ensure consistent line endings' file saving pref (Manuel Bua). * Add 'statusbar_template' hidden pref (Dimitar Zhekov). * Add 'new_document_after_close' hidden pref to open a new document automatically after closing all documents. * Add hidden pref 'find_selection_type' with option to use the X selection or to repeat the last search when there's no selection, both off by default. * Add 'gio_unsafe_save_backup' hidden pref (Lex Trotman). * Add filetypes.common 'fold_symbol_highlight' color setting. * Add 'symbol_list_sort_mode' per-filetype setting. Keybindings: * Fix Alt+[0-9] switching tabs even when other modifiers are also held. * Add snippet keybinding support (Eugene Arshinov). * Add 'Insert New Line Before/After Current' keybindings (Eugene Arshinov). Filetypes: * Add Forth filetype (Thomas Huth). * Add Lisp filetype (Mário Silva). * Add Erlang filetype (Taylor Venable). * Ada: Fix wrong comments. * C++: Disable user fold points with new lexer property fold.cpp.comment.explicit. * Python: Update list of builtins for Python 2.6, simplify Compile/Syntax Check command. Use named styles for color scheme support (use alt.conf color scheme if you want the old colors). * Matlab: Support Octave # comment char. * Txt2Tags: add highlighting (Forgeot Eric - #3020632). * Make: fix possible infinite loop in tag parser. * D: Parse template functions, ignore /+ +/ comments, ignore unittest blocks, add keywords 'ref', 'macro' and D2 keywords. * Vala: Parse functions with contracts (#3080232). * Markdown, reStructuredText and Txt2Tags: Sort tags by line number by default. * Basic: Parse property, constructor, destructor as functions (pottersson; #2992167). * HTML: Add HTML5 element names and attributes (Ross McKay). * PHP: Parse final functions (fixes #3111171). * Markup: Add xml_indent_tags filetype setting for documents using the HTML/XML lexers (Eugene Arshinov). Plugins: * File Browser: Add history to path entry. * HTML Characters: Only automatically replace characters when the current document is a Markup document. Internationalisation: * Add translations: kk. * Update translations: cs, de, en_GB, es, fi, fr, hu, ja, nl, pt, sl, sv, tr, zh_CN. Manual: * Update 'Custom filetypes', 'Ignore Tags' sections. * Add 'HTML Characters', 'Configuration file paths', 'Color schemes menu' sections. * Explain how to grep the Scintilla source for lexer properties. HACKING: * Add 'Bugs to watch out for' section. API: * Improve Stash GUI example. * Fix not loading plugins built against a newer API when Geany doesn't provide the required version given in PLUGIN_VERSION_CHECK(). * Make GEANY_API_VERSION, GEANY_ABI_VERSION macros instead of enums so you can protect code with '#if GEANY_API_VERSION >= 200'. * Add signals "build-start", "project-dialog-create" and "project-dialog-confirmed" - to append a Project Properties notebook tab (Jiří Techet). * Add macro foreach_range(). * Add GeanyMainWidgets::message_window_notebook (#3061342). * Add main_widgets.project_menu (Jiří Techet). * Add msgwin_set_messages_dir() (Jiří Techet). * Add highlighting_is_{string,comment,code}_style(), editor_find_snippet(), editor_insert_snippet(), utils_find_open_xml_tag() (Eugene Arshinov). * Add ui_combo_box_add_to_history(), editor_goto_pos(), dialogs_show_input(), Add sci_get_lexer(). * Add filetypes_get_display_name() as "None" is no longer translated. Geany 0.19.2 (December 01, 2010) Fixes: * Fix bug where Geany did not always report an error message when saving a document fails. Geany 0.19.1 (August 18, 2010) Fixes: * Fix broken autocompletion after using scope completion. * Fix scrolling the editor line in view (e.g. after loading a session and switching document tabs). * Fix using filetype extension patterns with upper case letters on Windows (#3028856). * Fix a slightly wrong encoding detection on Windows (#3019573). * Re-enable comment folding. * Fix not loading plugins built against a newer API when Geany doesn't provide the required version given in PLUGIN_VERSION_CHECK(). * Fix infinite loop in Markdown lexer (patch by Colomban Wendling, thanks). * Fix saving non-project filetype error regex. * Focus toolbar item when pressing Go to Line keybinding only when it's not in the toolbar's drop down overflow menu (#3027454). * Escape the name of the current document for markup when using document name for menu items (#3038844). * File Browser: Allow Find in Files when no items are selected. * Fix build menu translation problems. * Fix segfault on Tools->Reload Configuration when no documents are open (#3037079). * Fix building with Waf on Solaris. * Fix a memory leak (thanks to Daniel Marjamäki). * Use g_free instead of free (patch by Daniel Marjamäki, thanks). Tweaks: * Always use white background color when printing (except for text with a white foreground) to save ink (#2968998). * Limit build error editor indicators to 50, but parse all errors in the Compiler tab (#3019823). * Align notebook tab close buttons centred vertically (thanks to Robux.Biz (galyuk)). * Show the Project Properties build tab when choosing 'Set Build Commands' when a project is open to prevent confusion with non-project commands. Manual: * Fix wording - restarting is required for hidden prefs. * Fix Grep --exclude-dir example. Geany 0.19 (June 12, 2010) General: * Build system reworked to be much more configurable (by Lex Trotman). * Use POSIX system/GNU regex engine for find & replace. This alters regex syntax - we now support '?' operator and match newlines. * Support adding custom filetype files. * Add new command line option --list-documents to return a list of currently opened documents * Remove deprecated --debug flag. Please use --verbose/-v instead. Interface: * Add option 'System Default' for toolbar icon style and size to use the GTK default value. * Allow '+' and '-' as values for Goto Line inputs to jump relative to the current line. * Add preference to add new document tabs beside the current one (patch by Colomban Wendling). * Enable type-ahead find for sidebar symbols and documents tabs (patch by Thomas Martitz). * Make Ctrl-click on any notebook tab switch to the last used document. * Add 'Edit->Commands' menu. * Add 'Edit->Plugin Preferences' menu item and keybinding. * Add 'View->Editor->Color Schemes' menu (only shown if color scheme files exist). Prefs: * Hide 'Tabs and Spaces: Hard tab width' preference - it should always be 8. (Hidden setting kept in case users have modified it). * Add sidebar position interface pref. * Add project long line marker customisation (patch from Eugene Arshinov). Editor: * Update Scintilla to 2.12. * Add preference and support for virtual spaces. * Add word part autocompletion for the current selected item when pressing keybinding (default Tab) - Enter still completes normally. * Remove LaTeX autocompletion from Geany's core and move it to the geanyLaTeX plugin. Filetypes: * New filetype: Txt2Tags (patch by Eric Forgeot). * New filetype: Abc (patch by Eric Forgeot). * New filetype: Verilog (patch from Kelvin Gardiner). * New custom filetype: Genie. * Improvements in symbol parsing of PHP and Python files. * Add R tagmanager symbol parser (patch by Jon Senior). * Update Perl tag parser from ctags - removes support for buggy local/my/our but parses constant/format/labels. * Parse more VHDL tags (patch from Kelvin Gardiner). * Highlight D & Java types from a global tags file. * Parse Python lambda functions (patch from Colomban Wendling). Keybindings: * Add keybindings to switch to the sidebar's Document and Symbol list as well as to the Message Window's current tab (patch by Eugene Arshinov). * Add 'Remove Markers' and 'Remove Error Indicators' keybindings. * Make 'Reflow block/lines(s)' keybinding use line breaking column when enabled (patch by Lex Trotman). * Add 'Select to previous/next word part' keybindings. * Add 'Switch to Messages' focus keybinding. * Add 'Move line(s) up/down' keybindings. * Make Switch to Editor keybinding reshow the document statistics line. Templates: * Move filetype template defaults into custom file template files. * Read custom file templates from system as well as user dir. * Add new special template wildcard "{command:...}" to use the output of a shell command in templates. * Support {ob}, {cb} and {pc} to escape wildcard strings with {, }, % for snippets, fileheader and file templates. * Add {project}, {description} template wildcards (#2954737). * Reload templates when saving a document in the templates config dir. Configuration files: * Support more filetypes.common folding icon styles: arrows, +/- and no lines (#2935059). * Support Scintilla lexer properties in [lexer_properties] filetypes.* group. * Add filetypes.xml asp.default.language property (Ross McKay). Plugins: * Classbuilder: Add support for creating PHP classes (patch by Ondrej Donek). * HTMLchars: Make plugin remember whether replacement of special characters was activated. Windows: * Support very long build commands. * Add a preference for choosing between GTK and native File Open/Save dialogs (only available on Windows). Internationalisation: * Added translations: ast. * Updated translations: de, en_GB, es, fr, gl, ja, nl, pt, ru, sl, sv, tr, vi, zh_CN. API: * Improve documentation contents page. * Add Stash mini-library setting, pref & widget functions to API. * Add plugin_configure_single() plugin symbol which is easier to implement than plugin_configure(). * Add new plugin signals: "document-before-save", "document-filetype-set", "geany-startup-complete". * Add PLUGIN_SET_TRANSLATABLE_INFO macro to the plugin API so plugins' meta information can be translated already in the plugin manager dialog (patch by Colomban Wendling). * Use full function name for GeanyFunctions function pointers. This avoids naming conflicts e.g. with C++'s 'new' keyword. * GeanyKeyBinding label fields can now contain underscores, which won't be displayed by Geany. This saves adding near-duplicate translation strings. * Add GeanyKeyGroup callback support. * Add more Scintilla function wrappers, foreach_dir(), foreach_str(), utils_get_file_list_full(), document_get_notebook_page(), editor_insert_text_block(). * Don't install unnecessary headers. * Remove deprecated header pluginmacros.h - use geanyfunctions.h instead. * Deprecate documents_foreach(), use foreach_document() instead. * Deprecate PLUGIN_KEY_GROUP() macro - use plugin_set_key_group() instead. Geany 0.18.1 (February 14, 2010) Build fixes: * Define G_GNUC_WARN_UNUSED_RESULT to fix build on GLib 2.8. * Use AC_PATH_PROG instead of 'which' for portability (patch by Erik Southworth, thanks). Incompatibilities: * Remove filetypes.common invert_all option - use 'Invert syntax highlighting colors' pref instead (fixes #2854525). Bug fixes: * Fix 'Open Selected File' for unsaved new documents. * Fix updating main menu accelerators after changing keybindings (thanks to Lex Trotman). * Fix using 'Insert date' keybinding when a custom date string has not been set. * Set the cursor color for the split window plugin. * Remove plugin from plugin manager dialog on unloading if it no longer exists or is incompatible. * Fix 'Reflow block' command when at the last paragraph and there's no last newline (patch by Eugene Arshinov, thanks). * Fix opening filenames beginning with two dots (closes #2858487). * Show Find in Files stderr output in messages window instead of debug window so that invalid regex messages can be seen easily. * Speed up sorting in utils_get_file_list(). This reduces the file browser delay on displaying a big directory, e.g. /usr/bin. * Fix a bug with not w3c compatible HTML code on export plugin * Fix non-working Home and End keys on numpads. * Fix loading of files on network resources on Windows. * Fix wrong alignment of printed pages when page headers are disabled (closes #2856822). Improvements: * Extend auto_latex() function to check whether an environment has been closed within the next lines to avoid auto adding double \end{}. * Replace some icons which could cause licensing problems by icons from the Rodent icon theme. Filetype fixes: * Parse contents of D extern{} and version{} blocks. * Fix creating D interface tags properly. * Parse D functions with contracts (fixes #1885480). * Parse D alias statement like typedef. * Improve parsing of LaTeX, PHP and Python files. Documentation: * Add 'Scope autocompletion' section. * Add 'Tools menu items' section to explain configuration files submenu, reload configuration item. * Minor updates/fixes. API: * Add gcc commands to build a plugin to the HowTo. HACKING file: * Add section 'Plugin API/ABI design'. * Add 'Compiler options & warnings' section. * Update Style section to be clearer about code alignment and show some example code. * Add 'Doc-comments' plugin API subsection. Internationalisation: * Added translations: gl Geany 0.18 (August 16, 2009) General: * Fix scrolling horizontally after finding a search match with the search bar or Find Next/Previous which is off-screen. * Remove relative/untidy path elements from filenames when opening documents (#2823998). * Create initial template files with proper platform-specific line ending characters. * Improve inserting of comment templates like File header or licence notices. Interface: * Add 'Show Paths' documents list popup item. * Add filetypes.common to 'Configuration Files' menu. * Implement a graphical toolbar editor. * Add 'Build' toolbar button to the default layout. * Add 'Replace' toolbar button (closes #2798225). * Use a more Tango like icon for 'Save All' (by Jesse Mayes, thanks). * Add a popup menu for the keybinding list in the preferences dialog to easily expand and collapse all groups. Keybindings: * Implement Most-Recently-Used document switching when pressing 'Switch to last used document' keybinding (Ctrl-Tab). * Add 'Mark All' keybinding (Ctrl-Shift-M). * Add 'Reflow lines/block' keybinding, (Ctrl-J; thanks to Eugene Arshinov). * Make the Scintilla keybindings 'Delete to end of line' and 'Go to end of display line' configurable. * Switching notebook tabs now works for the currently used notebook widget instead of always using the documents notebook. Editor: * Fix a redraw when documents were first drawn uncolourised. * Delay highlighting matching braces by 100ms to speed up scrolling with the arrow keys. * Support 'tab indents, space aligns' style when indenting (#2789109). * Add 'Autocomplete all words in document' pref; also used when forcing autocompletion and there's no symbol names to show. * Add 'Drop rest of word on completion' pref. * Update Scintilla to version 1.79. * Improve displaying and reshowing of calltips. Syntax highlighting: * Reload color schemes via Tools menu (thanks to Eugene Arshinov). * Implement named styles support for filetypes.* using a filetypes.common [named_styles] section; used as "style=named_style,bold". (See the manual for details). * Allow style definitions with missing fields to use the filetypes.common default style's fields. * Make C-like filetype styles use named styles & default background color. (Anyone who wants to likewise update any other filetype's styles, please let us know ;-)). * Allow indentation of wrapped lines (see style 'line_wrap_indent'). * Add new styles 'line_height' and 'marker_mark'. Filetypes: * Add Markdown filetype (thanks to Jon Strait). * Highlight D WYSIWYG backtick `strings` and r"strings" (#1895745). * Minor improvements for filetypes: Fortran, Haxe, HTML, Lua, Matlab, Pascal, Python, Tcl. Tags: * Read custom system global tags files from $prefix/share/geany/tags (#2778923). * Autocomplete scoped fields like struct members when typing '.' (and also '->' or '::' in C/C++) if the language's tag parser supports it. * Save field tags for C/C++ when generating a global tags file (you may want to regenerate your tag files). * Parse Python calltips. * Show relative paths in Diff filename tags. * Group reStructuredText symbol list items by scope level. Plugin API: * Add geanyplugin.h single include. * Add plugin_signal_connect() for connecting plugin signals at runtime and also for connecting to any GObject signal. * Add documents_foreach(), filetypes[], documents[], utils_strdupa() and various foreach_type() macros. * Make GeanyDocument::file_type always be non-NULL. Windows: * Fix quoting the build command string on Windows (closes #2791769). * Fix LaTeX view commands on Windows (part of #2807688). * Expand system environment variables (%variableName%) on Windows when running Build commands. Internationalisation: * Added translations: lb, sl, pt_PT * Updated translations: ca, cs, de, en_GB, fi, fr, ja, pt_BR, ru, tr Geany 0.17 (May 02, 2009) Bug fixes: * Fix broken selection of "Document->Set Encoding" menu items. * Fix broken non-incremental search with the toolbar search entry when pressing Enter (closes #2638180). * Fix parsing of Make output (closes #2694479, patch by Andrea Mazzoleni). * Fix crashes on quitting Geany (closes #2533990). * Fix disabled Go to Tag items in the editor menu when using the keyboard (#2780044). * Prevent crashes when two or more top level items in the symbol list have the same name (closes #2778246). Prefs: * Add an option to set an additional plugin lookup path. * Add a hidden preference 'use_safe_file_saving'. This has serious side effects, please read the documentation before enabling this. Interface: * Add 'Send Selection to Terminal' command to the Edit->Format menu. * Change the background colour of the search entries in the Find and Replace dialogs according to the search results. * Add 'Close Other Documents' and 'Close All' menu items to the tab bar menu. * Add an option to allow appending the toolbar to the main menu bar to save some vertical space. * When a project is loaded, replace the project base path with the project name in the Documents sidebar for parent items (closes #2723679). * Make the file open dialog more compact. * Ellipsize tab labels and some status messages for very long filenames (closes #2777348). * Add new toolbar element: Print (patch by Roland Baudin). * Remember the active sidebar page between sessions. * Add "Recent Projects" menu to the Project menu (#2728630, patch by Elias Pschernig). * Add Tools->Configuration Files item for snippets.conf. Filetypes: * Fix wrong Fortran 90 comment characters when inserting templates. * Add filetype ActionScript (patch by Chris Macksey). * Fixes for CSS, Fortran and Ruby parsers. * Add a trivial symbol parser for NSIS files. Windows: * On Windows, change the working directory to the Geany installation path at startup to avoid unwanted directory locking(closes #2626124). * Fix window positioning on startup. * Make build commands on Windows run synchronously to avoid problems with reading build commands' output. Plugins: * HTMLchars: Extend plugin by bulk replace and replace on input for special characters to their HTML entities. * Splitwindow: Add keybindings for the split actions. * VCDiff: Remove plugin from Geany. Use GeanyVC instead. Plugin API: * Deprecate sci_get_text(), sci_get_selected_text() and sci_get_text_range(). * Add sci_get_contents(), sci_get_contents_range() and sci_get_selection_contents() as replacement functions to provide an easier and cleaner API (initial patch by Frank). * Make GEANY_FILETYPES_NONE = 0, sort filetype IDs randomly (so we can append new filetypes without breaking the ABI); add filetypes_by_title sorted list to GeanyData. Documentation: * Describe how to build Geany using the Waf build system. Internationalisation: * Updated translations: be, cs, de, es, fi, fr, hu, ja, pt_BR, ru, sv, tr, zh_CN Geany 0.16 (February 15, 2009) Bug fixes: * Fix indenting for Tabs & Spaces mode when inserting snippets. * Fix snippets and smart indent using too much indentation when the line contains whitespace after non-whitespace characters (#2215044). * Fix segfault when showing Find in Files dialog when no documents are open (#2228544). * Fix not switching to 2nd last used document when the last used document has been closed (#1945162). General: * Group child tags by their parents in the symbol list for C-like filetypes, Python, Conf (thanks to Conrad Steenberg). * Use a tree for the Documents sidebar, grouped by path. * Add 'Tools->Configuration Files' menu with items to open filetype_extensions.conf and ignore.tags. These files are also reloaded automatically when saved. * Change configuration directory path to $XDG_CONFIG_HOME/geany (most often this is ~/.config/geany). * Allow to specify files on the command line and from remote instances to be URIs (local and with GIO also remote URIs). * Increase minimum required GTK version to 2.8. Prefs: * Add Project Indentation prefs, which override the Editor Preferences dialog options. For new projects, these default to the editor indent prefs. * Add an interface pref for whether to hide additional widgets when double-clicking on document notebook tabs (off by default). * Add a preference to invert all colours for syntax highlighting. * Add a hidden preference "allow_always_save" to make the Save buttons and menu items always sensitive. Interface: * Rework the toolbar: now all elements can be added/removed/reordered using a simple XML file. * Add new toolbar buttons for Cut, Copy, Paste, Delete, Preferences, Close All and Build (including a submenu for Make actions). * Add a progressbar widget to the statusbar to show progress for time consuming actions. Editor: * Make Ctrl-click go to matching brace if there's no current word. * Make Shift+Mouse wheel scroll the editor view horizontally. * Make the 'Mark' button for Find highlight the results with rounded boxes instead of marking the whole line. * Add auto-closing of braces, brackets and quotes (Guillaume de Rorthais). * Support multiple %cursor% wildcards in Snippets (Thomas Martitz). Filetypes: * Add new filetypes Ada, CMake, Matlab, NSIS, Vala and YAML. * Update HTML character entities (thanks to Tyler D'Agosta). * Parse restructuredText sections in the order of first-used underline character, which can now be any punctuation character (as per the spec). * Remove GTK global tags, replace them with C (C99) tags. The GTK tags file is still available for download on the website. * Minor improvements for filetypes CSS, Fortran, FreeBasic, HTML, Tcl and Vala. Windows: * Improve tab close icon size. * Changes to the Windows installer: - The full installer now includes the GTK 2.14 runtime environment. - Register ".geany" as Geany Project File extension. - Install GTK translation files only if installation of translation files were requested (saves about 22 MB otherwise). - Support silent installations. Plugins: * Add Split Window 'Split Vertically' command (thanks to Moritz Barsnick). * Make Version Diff plugin set the indent type for diffs based on the current file's indent type. * Minor improvements to the filebrowser plugin Plugin API: * Generate plugin API header geanyfunctions.h containing macros to avoid having to type the function pointer names manually. * Deprecate pluginmacros.h in favour of geanyfunctions.h. * Add "editor-notify" to the plugin API. * Add new plugin symbol plugin_help() which is called by Geany when the plugin should show its documentation (if any, symbol is optional). Documentation: * Update Scintilla regular expression info for v1.77 (character classes, ASCII escaping, character sets containing square brackets peculiarities). Adapted from SciTE doc. * Complete 'Hello World' Plugin Howto. Internationalisation: * Updated translations: bg, ca, cs, de, en_GB, fr, hu, it, ja, pt_BR, sv, ru, tr, vi, zh_CN Geany 0.15 (October 19, 2008) General: * Add Previous Message, Previous Error commands (thanks also to Beau Barker). * Add 'Close Other Documents' File menu command (#1976724). * Add Find Document Usage popup menu command & keybinding. * Check that the current file is still on disk (as well as checking the modification time). * Add support for custom file templates (found at startup) in the ~/.geany/templates/files directory, shown underneath filetype templates in the New with Template menu. * Make socket open command support filename:line:column syntax. * Add filetypes.* [build_settings] key 'error_regex' to support custom error message parsing using a GNU-style extended regular expression. * Allow loading projects from command line (#1961083). * Add alternative build system: Waf. * Add Tools menu item to reload configuration data without a restart. * Add support to use template wildcards in snippets. * Increase LSB compliance. Prefs: * Make disk check timeout configurable (zero disables disk checks). * Add search pref: 'Use the current file's directory for Find in Files' (#1930435). Interface: * Make keyboard shortcuts dialog non-modal (#1999384). * Add a debug messages window to easily view debug messages/warnings. Editor: * Update Scintilla to version 1.77 (includes many fixes). * Add basic Line Breaking option in the Document menu and 'Line breaking column' editor pref (for now only works when typing characters past the line breaking column number). * Don't colourise any documents until they need to be drawn (this should make opening a session faster for filetypes that support typename highlighting). * Make Ctrl-click on a word perform Go to Tag Definition. * Add 'Max. symbol name suggestions' autocompletion pref. * Show ellipsis (...) item when there are too many symbol names for autocompletion. * Highlight matching brace indent guides (thanks to Jason Oster; #2104099). * Show brace indent guides on empty lines when appropriate (thanks to Jason Oster; #2105982). * Add 'Tab key indents' pref, on by default. * Implement soft tabs support (#1662173). There's now a 'Tabs & Spaces' Indent Type, and separate Width, Hard Tab Width indent prefs. (Thanks to Joerg Desch for explaining how it needed to work). * Auto-update the line margin width as lines are added (thanks to Jason Oster; #2129157). * Add "Replace spaces by tabs". Windows: * Install plugins into lib/ not into plugins/. * Install Geany's message catalogs into share/locale rather than lib/locale as GTK does since 2.12.2. Keybindings: * Add Go to Start/End of Line keybindings (#1996175). * Add 'Switch to Compiler' keybinding (useful when checking build progress). * Add keybindings for Line wrapping, Line breaking, Toggle fold and Replace Spaces by tabs, Previous/Next word part. Filetypes: * Add OpenGL Shader Language (GLSL) filetype (thanks to Colomban Wendling; #2060961). * Add R language filetype (thanks to Andrew Rowland; #2121502). * Split filetype Fortran into Fortran 77 and Fortran 90. * Add Gettext translation filetype (#2131985). * CSS improvements, thanks to Jason Oster. Embedded Terminal: * Fix hang when restarting the VTE (#1990323) with VTE 0.16.14. (Note that with VTE 0.16.14 the reset sometimes leaves a blank terminal, but pressing enter makes it then behave as normal). Plugins: * Add Split Window plugin (should work OK for viewing; full editing support is not implemented yet). * Merge InstantSave, AutoSave and BackupCopy plugins into the new plugin 'Save Actions'. Documentation: * Add Tips and Tricks appendix. * Updated Installation section. * Update 'Build system' for custom error regexes. * Add a section for internal plugins. Plugin API: * Many changes; see the API documentation (make api-doc) and the geany-devel list archives. * Deprecated: plugin_fields, plugin_info symbols. Internationalisation: * New translations: ko, tr. * Updated translations: be, ca, de, en_GB, fi, hu, it, ja, pl, ro, ru, sv, zh_CN Geany 0.14 (April 19, 2008) General: * Don't beep when using Replace All in Session unless all open files have no replacements (fixes #1893796). * Only use filetype detection after Save As, not on every save when the filetype is None (fixes #1891778). * Make Go to Tag commands look for the tag in the current document before searching the workspace. * Check file on disk for changes also when pressing a key. * Ignore documents with no absolute path when saving session files. * Fix segfault with Run command when a project is open and the current file's filetype has no run command. * Make Next Error and Next Message commands add positions to the navigation queue, so the user can move backwards through the list items and return to where they were. * Make pressing escape in the sidebar focus the editor. * Make navigation queue position based to restore the line and column when returning to a previous position (closes #1936927). * Save sorting order of the symbol list when saving a file (fixes #1917262). * Improve "Send Selection To" code (fixes #1909452). * Install header files and add a pkg-config file for external plugins. * Use monospace font for text entry fields in search dialogs (#1907117). * Don't open zero byte sized files read-only (e.g. files in /proc). Filetypes: * Improve Makefile parser to detect targets. * Update PHP tags file to latest PHP API docs (closes #1888691). * Add translucency settings to filetypes.common for semi-transparency. * Add HTML parser to get h1, h2, h3 symbols as well as link anchors and JavaScript functions (fixes #1896068). * Update Javascript, Tcl and Assembler parser. Interface: * When closing a tab when using left-to-right tabs, focus the next document, not the previous. * Move Load Tags item from File to Tools menu. Editor: * Don't scroll the editor view if it is unnecessary when using Find Next/Previous, Find Selected, incremental search, Go to Marker or Go to Matching Brace commands. * Fix bug with showing macro list items all on one line. * Fix Python auto-indentation when line endings are set to CR/LF. * Unfold hidden code when the fold point modified (fixes #1923350). * Update Scintilla to version 1.76. * Add (basic) column mode editing (patch by "chuck"). Windows: * Replace untitled file header filename after Save As and add to recent files on Windows too. * Resolve Windows shortcuts when opening files. * Fix modal dialog problems on Windows by not setting taskbar hint (closes #1916994). * Add new process spawning implementation. This makes the VCdiff plugin to work on Windows (patch by Pierre Joye, thanks). * Fix crash on Windows when a project could not be opened. Plugins: * Add configurable plugin keybindings support. * Add a HTML Characters keybinding to show the dialog. * Add File Browser keybindings to focus the Path Entry and File List * Rename VCDiff plugin Version Diff. * When quitting, remember plugin filenames that couldn't be loaded at startup as well as active plugins. Plugin API: * Add PLUGIN_KEY_GROUP and keybindings_set_item() to setup a keybinding group. * keybindings_send_command() arguments have changed because of keybinding groups - this breaks the API for plugins already using it. * Make VERSION_CHECK deprecated in favour of PLUGIN_VERSION_CHECK. Documentation: * Add descriptions for several options in the preferences dialog (patch from Robert McGinley). Internationalisation: * New translations: ro. * Updated translations: bg, de, en_GB, es, fr, hu, it, ja, pt_BR, ru. Geany 0.13 (February 05, 2008) General: * Improve configure script and fix some compatibility issues. * Add support for project session files. * Add native GTK printing support (only with GTK 2.10+). * Prevent execution of commands by Geany if the VTE may contain any text on the prompt (thanks to "Jeff Pohlmeyer for reporting). * Store more document-related settings when saving session in the configuration file (including the file encoding). * Detect in-file specified file encoding by scanning the file using regular expressions. * Add binary relocation support. Filetypes: * Add configurable default file extension setting for filetype definition files. * Fix reST autocompletion. Tags: * Show arrays and modifiers like const in calltip return types for C-like files. * Update C global tags file for GTK+ 2.12. * Fix parsing the correct D class name when inheriting, D constructor tags and ignore D import statements. * Remove unnecessary tagmanager status file. * Improve PHP, Ruby and FreeBasic parsers. Interface: * Add 'Indent Type' option in the Document menu. * Add 'Detect from file' Editor indentation pref. * Show TAB or SP for current document's indent type. * Add a 'Newline strips trailing spaces' pref (thanks to Catalin Marinas). * Add 'Strip Trailing Spaces' document menu item. * Add combo box input history for 'Make Custom Target' dialog. * Make Open, Save As dialogs start in project base path (or default path pref) when the current file has no filename. * Add 'Make in base path' project file preference. * Make 'Open Selected File' first try the current file's directory, falling back to the project base path if no file was found. * Fix broken window maximization. * Improve appearance of used treeviews and use rules hints to respect user colour settings. Editor: * Fix hidden lines after deleting a line that is a collapsed fold point. * Make Fold All/Unfold All attempt to scroll the current line in view. * Show line wrap symbol at start of line for wrapped lines. * Allow scrolling past end of document, so the user can append text with the last lines drawn at the top of the view. * Rename "Construct autocompletion" to "Snippets". * Improve usage of "Unfold all children" option. * Update Scintilla to version 1.75. Keybindings: * Add configurable keybindings for Cut, Copy and Paste. * Ask the user whether to override an existing keybinding when setting a combination that is already in use. * Add 'Override Geany keybindings' VTE prefs dialog option (replaces hidden pref), which makes the VTE interpret all keyboard shortcuts except focus group keybindings. Plugins: * Add File Browser sidebar plugin. * Add Version Control Diff plugin (VC Diff), which supports SVN, CVS and GIT (thanks to Yura Siamashka). * Add plugin manager dialog to select plugins to load at startup and to call a plugin configure dialog. * Add new signals: project_open, project_save, project_close. * Add Auto Save plugin. Plugin API: * Add keybindings_send_command() and some other functions. * Add pluginmacros.h to define common macros for app, p_utils, etc. * Add more documentation/comments to demoplugin.c. * Add configure symbol for plugins which is called by Geany when a configure dialog for the plugin is requested, optionally. * Add author field to plugin info struct. Windows: * Enable build support. * Prevent prefs dialog being hidden after using the prefs file dialog. * Create Geany's configuration directory in user's appdata path instead of the default home directory. Documentation: * Show default shortcuts in Keybindings section. * Update Project section for project-based session support. * Add Indentation subsection under Editor section. * HACKING: Update 'Adding a filetype' section. Internationalisation: * New translations: ja, uk, el. * Updated translations: ca, de, en_GB, fr, it, pt_BR, hu, sv, vi. Geany 0.12 (October 10, 2007) Bugs fixed: * Fixed opening the same file twice from the message window/command-line. * Fixed Ctrl-Shift keybindings not working when caps lock is on. * Fixed saving the wrong document when using Save All with unnamed documents. * Fixed replacing with '^' or '$' regex chars. * Fixed hang with Find All/Find Usage with '^' or '$' regex chars. * Fixed hang when replacing all '[ ]*' regex matches (closes #1757748). * Fixed displaying error indicators with Make after entering a subdirectory. * Fixed a possible segfault when parsing tags (a vString bug). * Fixed clipboard problems with some applications. * Fixed crash when trying to open the Save As dialog on Windows. * Fixed crash when saving a file after setting encoding "None". * Fixed scrolling bugs when searching text and the cursor is outside of the current visible area. Filetypes: * Added reStructuredText filetype and parser. * Added Haskell tags support (thanks to Peter Strand). * Added decorator styling for Python. * Parse Python global variables and class variables. * Added support for Java Apache Ant compiler error messages (thanks to Jon Senior). * Added new filetypes CSharp and FreeBasic. * Added filetype Haxe (patch by blackdog, thank you). Plugins: * Added basic plugin support (developers: see the HACKING file). * Added 'Enable plugin support' preference and -p, --no-plugins options. * Added Class Builder plugin (thanks to Alexander Rodin). * Added Export plugin to export current file as HTML or LaTeX. Keyboard shorcuts: * Common bash Ctrl-[a-z] keyboard shortcuts now work when the VTE is focused, and there is an 'enable_bash_keys' hidden preference. * Added 'Move document left' and 'Move document right' keybindings. * Added Find keybinding. * Made fixed keybindings overridable. * Added fixed keybindings for switching to leftmost/rightmost document, Ctrl-Shift-{PageUp,PageDown}. * Change Previous/Next Paragraph fixed commands to Ctrl-{Up,Down}; adding Shift extends selection by paragraph. (Scroll by line is now Alt-{Up,Down}). * Made pressing escape focus the editor when using incremental search or Goto Line toolbar fields. * Added keybinding for select current paragraph. * Added keybindings for smart indent and indent/deindent by one space. * Removed convert to lower-/upper-case keybindings. * Added toggle case keybinding and change shortcut to Ctrl-Alt-U. General: * Added preference for 'smart' home key behaviour (thanks to Jeff Pohlmeyer). * Added symbol list icons (thanks to Jean-François Wauthy, and KDevelop for the icons). * Added 'Current chars' indentation mode (closes #1726880). * Save and restore the current notebook page when quitting. * Added support for %e, %f in project run command. * Ignore punctuation chars when moving by word, and use word end boundaries when moving by word to the right (like most GTK+ widgets). * Added hidden editor preference 'use_gtk_word_boundaries'. * Added auto_complete_whilst_editing hidden preference. * Speed up Save All for C-like files. * Don't show file opened/saved/closed messages on the status bar. * Added --no-preprocessing, -P option when generating tags files to disable preprocessing of C/C++ source files. * Added default startup directory option (closes #1704988). * Use current locale as default encoding for new files. * Added simple code navigation (thanks to Dave Moore). * Re-maximize the main window on startup when closed in maximized state (closes #1730369). * Added auto focus (to auto focus widgets below mouse cursor). * Complete rewrite of auto completion to make it user-definable and much more flexible (please read documentation). * Added option to set a default encoding when opening files and disable auto detection of the file encoding. * Improved comment toggling by adding an additional character to mark. * Changed the background colour of the search bar in the toolbar according to the search result. * Use intltool to make geany.desktop translatable * Replace Geany's icon by a new one by Sebastian Kraft (thanks). (Thanks also to Christoph Berg for updating the icon code). Docs: * Changed documentation generation tools from DocBook to reST (thanks to John Gabriele for his great work on this). * Added Plugins section. * Added 'Inserting unicode characters' Editing section (thanks to John Gabriele). * Added 'Hidden preferences' appendix. * Added 'Switching documents' keybindings section. HACKING: * Added notes on adding a filetype. Internationalisation: * New translations: en_GB. * Updated translations: ca, cs, de, es, fi, fr, hu, it, pl, pt_BR, zh_CN. Geany 0.11 (May 21, 2007) Notes for existing users: * Tab is now used for construct completion (for, if, etc.), but it is configurable with the new 'Complete construct' keybinding. * Template files are now stored in ~/.geany/templates/ and the 'template.' filename prefix is no longer used. You will need to move any custom template files you have. * 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 tags. * Remove error indicators in all documents when linking (#1705374). * Sort symbol list tags also by line number (#1703575). * Fix #1717418, Hang on SQL file load. * Fix #1718532 - Crash when opening a special HTML file. * Add workaround for PHP closing brace de-indenting. * Fix reloading of read-only documents. Project Management: * Add keybinding to show project properties dialog. * Add project Run command support. * Run Make All and Make Custom from the project base directory. Custom Global Tags: * Update C global tags for GTK+ 2.10 and it's dependencies. * Add option --generate-tags (-g) to generate a global tags file from a list of source files (see docs). * Load global tag files stored in ~/.geany/tags at startup #. * Add Load Tags command in the File menu #. # This is not supported for Pascal, PHP or LaTeX files yet. Calltips (for C-like files): * Show up and down arrows when there are multiple calltip matches. * Show classname in calltips. * Parse pointers in function return type. * Add calltip support for D constructors. Other changes: * Parse 'Entering directory' Make messages so opening files from error messages works for subdirectories (thanks to Josef Whiter). * Make Go to Tag Definition/Declaration work for all tags. * Support filetype templates for all filetypes (see docs). * Make file header optional for filetype templates. * Add 'Find Selected' and 'Find Prev Selected' search commands and keybindings (thanks to Jeff Pohlmeyer). * Add Mark button to the Find dialog, and a Remove Markers item to the Document menu. * Add 'Recurse in subfolders' and 'Extra options' checkboxes to the Find in Files dialog. * Add 'Switch to last used document' keybinding (Ctrl-Tab). * Add Goto Previous/Next Marker keybindings (Ctrl-, and Ctrl-.). * Add Toggle Marker keybinding (Ctrl-M). * Add keybinding for construct completion, and set the default to Tab. * Add MimeType associatiations for: C++ header, Pascal, Perl, Python, httpd-PHP and XML files (thanks to Iñaki Rodriguez). * Add brace indenting support for Perl and Tcl. * 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 sections. * 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: * Fixed serious crash of complete X session when using the Stop command when Geany is run from the program menu (closes #1668017). Geany 0.10.1 (February 23, 2007) Bugs fixed: * Wrong tab foreground colour for unmodified documents. * Fixed crashes when closing dialogs by clicking X on some systems. * Fixed missing global tags for C files when a C++ source file was loaded first. * Fixed autocompletion missing tag matches. * Fixed a wrong PASCAL autocompletion. * Set single undo action when toggling multiple lines or stripping trailing spaces. * Prevent some possible invalid memory reads. * Convert config, application and documentation dir paths to locale encoding before using it. * Fixed errors when changing directories containing special characters within the VTE component (thanks to Jeff Pohlmeyer). * Support newer so-names when loading the VTE library (thanks to Jeff Pohlmeyer). * Fixed paste problems on Windows. * When using Save As the returned filename needs to be converted into UTF-8. * Fixed error when parsing of compiler errors by the va_list system. * Added MimeType entry as suggested by Nick Schermer. * LaTeX parser: Allow \section*{} and other commands with *. * Change default keybinding for Close All to Ctrl-Shift-W. * Allow Make for files with no extension - prevent Build when the output filename would be the same as the source file. * Ensure the VTE visual settings are applied when switching to VTE when the Message Window is hidden. * Fixed several issues while opening files and improved code. * Improved the auto scrolling of documents and fixed a bug when opening files remotely. * Fixed wrong D function return type after a class definition. * Added several missing style types for filetype Perl (thanks to John Gabriele for reporting). * Prevent right click in Symbol list from selecting a tag. * Update the symbol list when starting a new document. * Scroll Compiler and Messages window in view when using Next Error or Next Message. * Auto close brackets only when auto completion of constructs is enabled (closes #1665015). * Fixed switching to the wrong tab when showing the unsaved dialog. Internationalisation: * New translations: fi (thanks to Harri Koskinen). * Updated translations: cs, de, es, fr, hu. Geany 0.10 (December 21, 2006) Changes: * Added a dialog to insert HTML special characters. * Added new command line option --line to set the initial line for the first opened file. * Implemented new, own Undo system to undo/redo encoding changes. * Added simple parser for filetype Diff to create tags for each patched file in a diff file. * Added new encoding "None" to open files without any character conversions. * Added Stop button to abort the Run command. * New filetype VHDL. * New scintilla lexer for filetype D with several improvements. * Improved auto completion of multi line comments * Added option to execute programs in the VTE instead of executing them in a terminal emulation window * Removed the limit on the number of files open. * Save the build includes and arguments when quitting. * Added Next Message search command and Next Error build command. * Make search bar automatically wraparound if necessary. * Applied patch from Bob Doan to prevent unnecessary search scrolling and add a preference to suppress some of the search dialogs. * Added Find Previous, Find All in Document/Session buttons for the Find dialog. * Added Replace (but don't Find) button for the Replace dialog. * Added 'Hide Message Window' popup menu command. * Added Alt-[1-9] shortcuts to switch to a certain tab number. * Limit search dialog history to 30 entries. * Change python default compile command to create a compiled python .pyc file (thanks to Bajusz Tamás). Windows changes: * Fix #1611530 'file has changed' message on Windows after saving. * Fixed wrong paste behaviour under Windows with some applications. Bugs fixed: * Fixed crash when using "Make object" on new files. * Fixed incompatible use of read command in the created shell script to execute programs. * Fixed wrong insert position when the cursor was moved by keyboard and comments, includes or a date was inserted. * Fixed some segfaults when inserting comments, dates and includes at a position prior to some deleted text. * Fix message window horizontal scrollbar being too tall on some systems (thanks to Rob van der Linde). Internationalisation: * New translations: fr, hu, it, zh_CN, zh_TW. * Updated translations: be, ca, cs, de, es, vi. Geany 0.9 (September 29, 2006) Changes: * Added function calltips for files open in the current workspace for C-like languages. * Open a second instance by default when starting Geany with no filenames specified on the command-line. * Added better error message support for D, for both DMD and GDC; also GCC-style linker error messages are now parsed. * Text selections now use syntax highlighting foreground colours (but can still be overridden in filetypes.common). * Find in Files improvements: fixed string and whole word only matching options; a directory selector dialog; filenames passed to Grep are now sorted alphabetically. * Remember the VTE current directory at startup. * Show the messages window on build failure or for Find Usage. * Added -s command-line option to not load session files (-i is now used to force a new instance). * Added comment toggle functionality to easily comment and uncomment a line with one shortcut. * Separated filetypes PHP and HTML for better usage. * New filetypes: Diff, Fortran 77 and Ferite. * Added auto completion tags for PASCAL. * Improved VTE usage by adding options for selecting the used shell and ignoring menu bar accelerator (default F10). * Added menu items to insert configurable date/time strings. * Removed the whole FIFO code and replaced it with support for (Unix Domain) Sockets(including Windows support). Windows changes: * Implemented Run command (from the build menu) under Windows. * Enabled socket code on Windows to detect a running instance. * Enabled notification if file on disk has changed under Windows. Bugs fixed: * Fixed a segfault at startup if terminal follow path setting is enabled. * Fixed clicking on error messages being dependent on the current file's directory. * Fixed a bug when clicking on a recent file got the wrong filename. * Fixed a crash when a compiler output reports an error in a blank line(can happen in LaTeX) * Fixed a crash when switching between several filetypes. * Fixed segfault when replacing tabs by spaces. Internationalisation: * New translations: cs, nl, vi. * Updated translations: de, es. Geany 0.8 (August 09, 2006) Changes: * Find in files feature added which uses the Grep tool. * Added Make object command to compile using the Make tool. * Editor notebook tabs can now be reordered by drag and drop. * Added support for back references when using regex replace. * Added a Find button to the Replace dialog to skip matches. * Greatly improved the speed of Replace all/in selection. * Scroll to 1/4 of the view when jumping to a line number. * Show messages on the status bar and in the Status window. * Preferences options for Auto-indentation and Line wrapping. * Use the mouse click position for Go to tag. * Added separate filetype_extensions.conf system file. * Added makefiles for building on Windows. * Added keyboard shortcuts for increase/decrease of line indentation. * Added functionality to uncomment code. * Encoding support * Added support for Unicode Byte-Order-Mark (BOM) * Redesigned preferences dialog. * Added Undo and Redo toolbar buttons. * New filetype: D * Added simple printing support. * Mark errors while compiling source code within Geany with indicators(small squiggly underlines) Bugs fixed: * Use the full path for files opened from the command-line. * Fixed saving a file from the unsaved file dialog. * Fixed replacing with regexes the correct matched text length. * Fixed applying virtual terminal widget settings at startup. * Fixed prepending items to the Recent files menu. * Fixed clipboard commands used in the find entry and Scribble. * Fixed wrong interpretation of syntax highlighting colours * And some more. Windows bugs fixed: * Don't add .c extension when saving with the All files filter. * Fixed a tool chooser dialog crash when path doesn't exist. * Fixed locale problems with Windows message dialogs. Internationalisation: * New translations: be, es, pt_BR, ru. * Updated translations: ca, de, pl. Documentation: * Added Scintilla keyboard commands for editing appendix. * Improved search section; added all find and go to commands. * Added section about character sets. Geany 0.7 (June 04, 2006) * user-definable keyboard shortcuts * filetype definition files can be overridden in Geany's configuration directory (please see documentation) * added filetypes Ruby and Tcl/Tk * improved build system (for Perl, Python, Ruby and others) * loading of Virtual Terminal Emulation can be disabled in the preferences dialog * new menu item "Search" with Find items from Edit menu and new item "Find Previous" * fixed the bug which let Geany crash with newer GTK versions * improved documentation: added documentation for keyboard shortcuts, the build system and filetype definition files * new translations: Catalan and Polish * many small improvements * fixed lots of bugs (please see ChangeLog for details) Geany 0.6 (April 30, 2006) * added option to place new file tabs to the right or left of the tab list * improved file open dialog * improved scrolling of the compiler output window * rewrote most of the code for compiling files, now all settings are read from filetype definition files * now, you can drag files from a file manager into Geany and they will be opened * improved handling of filenames which contain non-UTF8 chars * added user-definable comment characters to all filetype definition files * implemented folding * added file properties dialog * improved search and find dialogs * Geany now creates a FIFO, to communicate between different instances for opening files in an already running instance * added filetypes SQL and (O)Caml * many small improvements * fixed lots of bugs, including #1419473, #1422135, #1421776 and #1441359 * for more details read the ChangeLog Geany 0.5 (January 27, 2006) * set the Open File dialog directory to the same directory as the current file (thanks to Nick Treleaven for this patch) * fixed some bugs when opening files with non UTF-8 filenames * updated included Scintilla to version 1.67 * improved auto indention, now "for (...) {" works, too * added popup menu to sidebar lists, to quickly hide them * symbol list support for filetypes LaTeX and DocBook * added .cc, .hh and .hxx extension for filetype C++ * added new keywords for PHP5 * added new option "Beep on errors" to disable beeping * eliminated compiler (gcc4) warnings * closed bug #1387828 and #1387839 * fixed lots of bugs (please see ChangeLog for details) Geany 0.4 (December 21, 2005) * new filetype: Assembler * new filetype: Conf for configuration files * added a terminal emulation widget, needs only libvte.so at runtime, but it also runs without it, see documentation * made some general improvements to increase startup speed * changed "build with make" keyboard shortcut to Shift+F9 to avoid problems with window managers key bindings * added auto-closing [ and { brackets in LaTex-Mode * improved documentation, but it is not yet complete * improved the symbol list to categorise the tags in a tree * some new options in the preferences dialog * added popup menu to the list of open files * there are lots of other small changes made since last release * some bugfixes (please see ChangeLog for details) Geany 0.3 (November 20, 2005) * Geany now has a mailing list, for details see http://geany.uvena.de * added open files list in the left treeview widget * added toolbar button to open the color chooser * heavily improved recent files menu * added shortcut for "walking" between open documents by pressing STRG+LEFT resp. STRG+RIGHT * created template files for new files with specified filetype * added highlighting support for Python (please give feedback) * extracted all hardcoded styling definitions for all filetypes so they can be easily edited * added vertical line to mark long lines * fixed a bug that caused a segfault if configuration directory could not created * fixed a bug which prevented auto-completion from working * many minor bugfixes (see ChangeLog for details) Geany 0.2 (October 26, 2005) * improved file open dialog * improved Find dialog * powerful Replace dialog * gcc4 compilation fix * minor bugfixes Geany 0.1 (October 19, 2005) * first official release