Diakonos Changelog ------------------ 0.9.4 - Searching within a selection now highlights only within selection, and reports only the number of matches in the selection. - Can now replace all within selection. - Basic mouse support added. - Indentation performance vastly improved. 0.9.3 - Ruby 2.0 or higher now required. - Tab completion of paths now uses session dir. - save_backup_files setting (default false). - Slightly improve render speed of some highlighted languages. - Fuzzy file find no longer active when current input line is an absolute path (performance improvement). 0.9.2 - Fixed stale session bugs. - Ruby 2.0.0 compatibility. - colour.background setting. - Fuzzy file find: Listing now sorted alphabetically. - Now use by default the terminal's current/default background colour, including possible transparency. - Support selection by Shift key with cursor movement. 0.9.1 - Added PKGBUILD to bash filemask. - Fixed -m switch (open matching files). - Fixed breakage of grepping through all buffers when some buffers are unnamed. - Fixed bug that prevented type_character from working in macros. - Fixed open_file bug caused by empty input. - Fixed several display bugs. - Added fuzzy_file_find.recursive option (default true). - Fixed fuzzy_file_find.max_files. - Improved efficiency of fuzzy file finder. - Various updates to default syntax highlighting. 0.9.0 - Added partial UTF-8 support (only characters the same width as US-ASCII). - Some bug fixes. 0.8.15 - Introduced open_as_first_buffer setting (default false). - Now shows number of matches found after searching. - Now shows number of replacements made. - Now switches to previous buffer when switching to the current buffer by number. - Last search and readline histories are now saved to sessions. - Added delete_from function. - Added key.after configuration directive for history-sensitive key mapping. - Added select_word function. Mapped to by default. - Added select_word_another function. Mapped to after select_word. - Added search for word, mapped to by default. - Undo now opens any just-closed file. - Fixed find_again behaviour for buffers without search history. 0.8.14 - comment_out now skips blank lines. - Added renumber_buffer function. Default . - Can now configure fuzzy_file_find.ignore globs and fuzzy_file_find.max_files. - go_to_char and go_to_char_previous now support an optional :after argument. - delete_to_and_from now supports an optional :inclusive argument. - More effecient marking of undo points when pasting external text or typing fast. - Added more info about config files in About page. - Display-related bug fixes and improvements. - Ruby 1.9.2 is now the minimum Ruby version required for Diakonos. 0.8.13 Contributors: Pistos - Added different_file argument to cursor_return. - Remapped different-file cursor_return to and . - Added KDE4 Klipper support (via dbus). - Now automatically jumps to first merge conflict (if any) on startup. - Added find_clip function. - Now switches to existing buffer when trying to open a file that is already loaded. - Now supports more formats for opening files at specific line numbers. - Added keys to switch to buffers 10 through 19. through . - Numerous minor fixes and improvements. 0.8.12 Contributors: Pistos - Refactored keying system. - Introduced keying modes. - Ruby version now enforced, both at installation and run time. - Input line can now scroll if input is longer than screen width. - Added support for session completion in zsh and bash. - Added select_line. - Added select_wrapping_block (default key: Alt-space). - Searching is now restricted to the selected text, if any. - Added view.non_search_area.format. - Fixed cursor stack. - Cursor stack is now global (cross-buffer). - Simplified switch_to_next_buffer and switch_to_prev_buffer; no more history. - Added chdir function. - Various refactorings. - Various bug fixes. 0.8.11 Contributors: Pistos, dominikh - Added join_lines_upward (Alt-Shift-J). - Added one-key selection in buffer list. - Added support for single line indentation. - Added extension system. - Added surround_selection and related functions. - Added "about" page. - Various bug fixes and refactorings. 0.8.10 Contributors: Pistos, dominikh - Ruby version 1.9+ now required. (Ruby 1.8 support dropped) - Added go_to_char (Alt-N). - Added go_to_char_previous (Alt-P). - shell command now shows executed command on interaction line. - shell command is now interruptible. - Klipper synchronization now a single setting (clipboard.external klipper). - Added xclip support. - Cursor and viewport positions now saved in and restored from sessions. - Current buffer number now saved in sessions. - Fixed context line. - Textual indication of no shell results now given. - Added basic pair (bracket) highlighting. - Added go_to_pair_match (Alt-Shift-[). - Fixed chmodding in installer. - Undo and redo now actually compare file contents to set "modified" flag. - Added support for a special 'all' language, whose formats apply no matter the current language. - Added dynamic prefix expansion (Alt-E). 0.8.9 Contributors: Pistos, Decklin Foster - Put interaction timer only on first stale session prompt, not any after that. - Changed all function names from camelCase to snake_case. - Added --help-dir switch to installer. - Fixed some issues with installer. - Changed delete_to_and_from to always assume given character is the left side character when matching pairs. - Fixed a line number display bug. - X windows pasting handled much better now. - Numerous internal refactorings and reorganizations. 0.8.8 - New installation and uninstallation method: tarball + install.rb. - Added configuration setting inheritance. - Added block selection mode (Alt-Shift-M B; Alt-Shift-M N). - Added line numbering settings. - Added spawn function. - Added go_block_previous, go_block_next (Ctrl-PageUp, Ctrl-PageDown). - Added go_block_outer, go_block_inner (Alt-PageUp, Alt-PageDown). - "Remove word" functionality (Ctrl-W) added to readline. - Added find.show_context_after setting. - Added view.column_markers. - Added lang.____.indent.not_indented setting. - Introduced $d shell variable: current buffer's directory. - $f and $d now expand to absolute paths. - delete_to and delete_to_and_from can now operate over multiple lines. - delete_to_and_from can now delete between matching brackets. - Added git diff (F9). - Ruby 1.9 support smoothed out. Ruby 1.8 support being deprecated. - Support for non-ASCII encodings tentatively confirmed. - Several bugs fixed. - Help files updated. 0.8.7 - MRU buffer history added. - strip_trailing_whitespace_on_save setting added. - Sessions (named and unnamed) added. - grep as you type added. - delete_to added. - delete_to_and_from added. - find.return_on_abort setting added. - Makefile config added. - Markdown config added. - Sass config added. - Now including custom.conf from default diakonos.conf. - Help files updated. - Some Ruby 1.9 compatibility introduced. - Lots of code refactoring done. - Numerous little adjustments and fixes made. 0.8.6 - Find-as-you-type added. - Help system added. - print_mapped_function added. - User-definable status line variables added. - :after_open and :after_buffer_switch hooks added. - Sample script for git branch status variable added. - comment_out and uncomment functions added. - comment_string and comment_close_string settings added. - Added -m (--open-matching) command line argument. - wrap_paragraph function and wrap_margin setting added for hard wrapping text. - columnize function and column_delimiter setting added. - Numerous small fixes, adjustments and refactorings. 0.8.5 - Added 256 colour support. - Added support for opening files with "filepath:linenumber" syntax. - Added ability to put %_ in a code closer as the place to position the cursor. - Code closers can now contain newlines. - Now closer text is parsed-indented by default. - Added copy_selection_to_klipper. - Added cut_selection_to_klipper. - Added paste_from_klipper. - Added delete_and_store_line_to_klipper. - Added delete_to_EOL_to_klipper. - Added delete_line_to_klipper. - Added support for regexp match placeholders (\1, \2, etc.) in findAndReplace. - Added $k shell command variable for klipper contents. - Added eol_behaviour setting. - Various minor bug fixes. - Changed to MIT licence. 0.8.4 - Added joinLines function. - Added "yes and (s)top" as a find-and-replace option. - Added '-h' to be synonymous with '--help'. - Added "Ctrl-Q to quit" to opening message. - Added close_code feature. - Added list selection. - Added buffer selection. - Added delete_newline_on_delete_to_eol option. - Added select_block command. - Slight (8%) display performance improvement. - Moved source code from svn to github.com. 0.8.3 - Extended ASCII characters (128 to 254) are now typeable. - Added elsif as a Ruby unindenter. - Significant internal refactoring. - First working rubygem. - Added HAML syntax highlighting. - Configuration can now be downloaded from the Internet if missing. - Updated README and changed setup.rb installation method. 0.8.2 - Added ability to use ';' in keychains. - Added the printKeychain command. - Augmented default conf to include some KDE 3.5 konsole keychains for common keys. - Added use_magic_file setting; default to off. - Added a clipboard/selected diff keybinding. 0.8.1 - Added choice prompt iteration. - Added a cursor stack for jumping back and forth between recently visited locations in the buffer. - Introduced cursorReturn command (to move through the cursor stack). - replaceAll now sets modified flag. - Speed of many multi-line operations improved. - Fixed parsedIndent logic in cases of adjacent indenter and unindenter. - goToLine command now supports a column argument. - goToLine command's line and column argument are now both optional. - goToLine also takes a +/- number of lines argument. - Added case sensitivity parameter to find command; defaults to case-insensitive. - Added operateOnString, operateOnLines, operateOnEachLine. 0.8.0 - Changed seek behaviour to use regexp group indexes. - Changed "word seek" in configuration file to seek both word beginnings and word endings. - Added settings interaction.blink_string, interaction.blink_duration, interaction.choice_delay. - Choice prompt no longer coerces invalid choices. - Choice prompt now requires a valid choice if no default given. - Default choice removed from critical choices. - Critical choices now ignore user input for interaction.choice_delay seconds. - Added hooks. - Added toggleSelection command. - Added lang.*.indent.using_tabs. - Fixed some indentation and tab-related bugs. - Added YAML syntax highlighting. - Refactored lots of code and began using unit tests. - Minor default conf additions and modifications. - Added fstab definitions to default conf. - Diff now shown before revert prompt. - Bang line must start with #! to be considered as a bang line (re: bangmasks). - Added a collapseWhitespace command. 0.7.9 - Changed seek behaviour to not remember last position, but use current cursor position instead. - File is now checked for external modifications, prompting for load. - Added -e, --execute option which eval's Ruby code (including Diakonos commands) after startup. - Paging up and down now respects the y cursor margin. - Paging up and down now keeps cursor at same screen coordinates. - Settings can now be altered for the duration of the editing session. (new commands: changeSessionSetting, toggleSessionSetting) 0.7.8 - Included package.rb and setup.rb for installation. - Now looks for conf in more directories. - Updated README. - Added pasteShellResult function. - Added $c shell variable: file containing clipboard contents. - Added $s shell variable: file containing selected text. - Fixed buffer switching to use a proper stack. - Added input line history. - Added Ctrl-K to clear input line. 0.7.7 - Fixed various find-related bugs. - Added the command deleteAndStoreLine, which accumulates cut lines into the same clipboard clip. 0.7.6 - Added some crontab highlighting to the default configuration file. - Added "delete character" functionality to input line. - Fixed backspace functionality of input line. 0.7.5 - Fixed bug which stopped Diakonos from completing refresh operations when the context line is disabled. - Added execute command, which executes a command in a subshell, but only displays the return code (ignores stdout). - Added a $F parameter for shell and execute commands. Space-separated list of all current buffer filenames. - Added a $i parameter for shell and execute commands. Substitute a string obtained from user. - /usr/share/diakonos is now checked for a config file, if /usr/local/share/diakonos is not found. - findAgain command now also retains memory across buffers, if needed. 0.7.4 - Prevent attempts to open non-files. - Fixed saveFileAs bug which saved the wrong file when tab-completion was used in the filename prompt. - Fixed bug in tab completion: Directories are now completed properly and their contents are listed. 0.7.3 - Fixed function-argument duplication bug which occurs after Help is consulted. - Updated default conf file to include CSS and modifications to "conf" format and the ruby format. - Added display debug logging. - Fixed off-screen drawing bug. - Fixed on-startup drawing bug. - Minor conf file additions and changes, including PHP and PL/pgSQL support. 0.7.2 - Fixed a drawing bug to do with long lines and screens wider than 80 columns. - Added support for specifying any numeric keycode as a keystroke. - Added a suspend command, to suspend the Diakonos process/job to background and return to the shell. - Altered drawing code a bit re: the shell and suspend commands. - Fixed "view.jump.* 0" bug. - Fixed copy/cut bug for selections starting or ending in columns besides the left-most column. 0.7.1 - The openFile command now uses /usr/bin/file (if available) to check if the file is readable (text), prompting to confirm open if it isn't. - Fixed popTag bug where popping from an empty stack caused an exception. - The seek command now no longer (incorrectly) cancels text selection. - Drawing bugs fixed (to do with illegal off-screen drawing). - Added the ability to use \n in searches, to match across lines. 0.7.0 - Adjusted buffer management system so that, internally, absolute file paths are used. - Added limited (line-number-based) ctags support. Commands: goToTag, goToTagUnderCursor, popTag. - Fixed revert command bug. - Added an evaluate command, which lets you run any Diakonos command. - Fixed display bug where Diakonos errors (Ruby exceptions) would ruin the curses display. - Malformed regular expressions given for regexp searching are now searched for as literal text, instead of just throwing an error. - Keychains that have no assignment are now shown in full on the interaction line. - Error message for some caught exceptions now includes a listing of probable causes. 0.6.13 - Fixed the bug where searching backwards from the start of a line will cause the search to start from the end of the line, instead of from the end of the next line up. - Added a "seek" command, which is a sort of silent find. Used for implementing features like go to next word and previous word. - Adjusted default conf file to include alternate ANSI sequences for function keys. - Context line truncation now omits the more proximate code, not the less proximate code.