~pistos/diakonos

diakonos/CHANGELOG -rw-r--r-- 15.9 KiB
8a697153 — Pistos Change missed MIT references to GPL3 4 hours ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
Diakonos Changelog
------------------

0.9.8

- Handle symlink cycles when fuzzy file finding (file open)
- Fix language switch display bug
- Made Diakonos installable via gem

0.9.7
- Added ability to move lines up or down.
- Made compatible with Ruby 2.4.0.
- Handle closure of last buffer.
- Improve efficiency of fuzzy file find.

0.9.6
- Added Vue.js webpack syntax highlighting.
- Uninstallation no longer requires curses library.

0.9.5
- Added support for OSX clipboard.
- Fixed inability to use space when fuzzy file finding.

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.
- Some indentation bugs fixed.
- lang.languagename.indent.triggers added.
- For languages with comment closers, don't duplicate closers.

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 <Ctrl-space, Ctrl-space> by default.
- Added select_word_another function.  Mapped to <Ctrl-space> after select_word.
- Added search for word, mapped to <Ctrl-Alt-F> 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 <Ctrl-B, number>.
- 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 <Alt-`> and <Alt-Shift-`>.
- 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.  <Alt-0, Alt-0> through <Alt-0, Alt-9>.
- 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.