Diakonos Changelog
------------------

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.
