| Age | Commit message (Collapse) | Author | Files | Lines | |
|---|---|---|---|---|---|
| 2015-07-28 | vis: fix bugs uncovered by coverity scan | Marc André Tanner | 1 | -2/+4 | |
| 2015-07-28 | vis: fix join operator | Marc André Tanner | 1 | -6/+9 | |
| Only skip last line break if range comes from linewise visual mode. | |||||
| 2015-07-28 | vis: pass cursor to operator implementations | Marc André Tanner | 2 | -0/+2 | |
| 2015-07-28 | text-util: introduce text_range_equal | Marc André Tanner | 2 | -0/+8 | |
| 2015-07-28 | text-object: introduce utility function text_range_is_linewise | Marc André Tanner | 3 | -1/+9 | |
| 2015-07-28 | vis: use multiple cursor/selection infrastructure | Marc André Tanner | 4 | -1/+81 | |
| This commits introduces the following keybindings, in normal mode: CTRL-N select word the cursor is currently over, switch to visual mode CTRL-P remove least recently added cursor ESC if a selection is active, clear it. Otherwise dispose all but the primary cursor. In visual mode: CTRL-N create new cursor and select next word matching current selection CTRL-X clear (skip) current selection, but select next matching word CTRL-P remove least recently added cursor | |||||
| 2015-07-28 | vis: do not move cursor in multicursor mode after undo/redo | Marc André Tanner | 1 | -2/+6 | |
| 2015-07-28 | vis: try to align cursors on the same column with CTRL-A | Marc André Tanner | 2 | -0/+20 | |
| 2015-07-28 | text-motion: introduce text_line_char_{get,set} | Marc André Tanner | 2 | -6/+31 | |
| 2015-07-28 | vis: CTRL+J and CTRL+K creates a new cursor on the line below/above | Marc André Tanner | 2 | -0/+17 | |
| 2015-07-28 | vis: ESC in normal mode clears all cursors | Marc André Tanner | 4 | -5/+25 | |
| 2015-07-28 | vis: add per cursor registers | Marc André Tanner | 3 | -2/+17 | |
| 2015-07-28 | vis: add an operator to create new cursors | Marc André Tanner | 2 | -0/+16 | |
| The operator creates a new cursor at the start of every line covered by the given range. It is currently only available as CTRL+O in visual mode. | |||||
| 2015-07-28 | text-motion: add functions to iterate over lines of a range | Marc André Tanner | 2 | -0/+38 | |
| 2015-07-28 | text-util: add text_range_contains | Marc André Tanner | 2 | -1/+7 | |
| 2015-07-28 | text: move utility functions to separate file | Marc André Tanner | 8 | -50/+64 | |
| 2015-07-28 | ui: try to fixup unicode display issues | Marc André Tanner | 1 | -0/+7 | |
| The handling of combining characters needs to be reviewed there are still strange things going on. This only covers up some of the artifacts. | |||||
| 2015-07-26 | view: use a mark to keep track of the visible area | Marc André Tanner | 1 | -2/+10 | |
| This should fix "corruptions" caused by wrong offsets when editing the same file in multiple windows. | |||||
| 2015-07-26 | view: do not set cursor position after resize | Marc André Tanner | 1 | -1/+0 | |
| The problem is that a cursor movement might cause a redraw which in turn causes the sidebar width to change thus the view to be resized which will override the cursor position. | |||||
| 2015-07-26 | view: always fill out complete cell matrix | Marc André Tanner | 3 | -34/+26 | |
| 2015-07-26 | vis: add infrastructure to support multiple cursors/selections | Marc André Tanner | 8 | -370/+607 | |
| This cleans up the existing selection handling code and adds the necessary bits to eventually support multiple cursors/selections. The cursor position is kept track of using marks, which means retrieving the cursor position is no longer a constant time operation. Furthermore the terminal cursor is no longer used, instead the whole window is redrawn after every cursor movement. | |||||
| 2015-07-26 | text-object: add new functions to search for words | Marc André Tanner | 2 | -0/+34 | |
| 2015-07-25 | text: handle marks set to 0 and text_size(...) | Marc André Tanner | 1 | -0/+8 | |
| 2015-07-25 | text: add text_range_overlap | Marc André Tanner | 2 | -0/+8 | |
| 2015-07-24 | text-motion: introduce text_line_{up,down} | Marc André Tanner | 2 | -0/+15 | |
| 2015-07-23 | text-object: add text_range_linewise | Marc André Tanner | 2 | -0/+11 | |
| Takes a range and extends both ends to cover the remaining part of the line. | |||||
| 2015-07-22 | text: introduce text_range_new | Marc André Tanner | 2 | -0/+10 | |
| 2015-07-21 | ui: further separate curses related user interface code | Marc André Tanner | 9 | -36/+60 | |
| By now ui-curses.[hc] are the only files dealing directly with curses related functions. Integration of a proper mainloop is still pending. | |||||
| 2015-07-20 | vis: improve insertion of verbatim characters via CTRL-V in insert mode | Marc André Tanner | 3 | -7/+144 | |
| Recognized formats are: CTRL-V nnn decimal value nnn CTRL-V onnn or CTRL-V Onnn octal value nnn CTRL-V xnn or CTRL-V Xnn hex value nn CTRL-V unnnn Unicode codepoint nnnn CTRL-V Unnnnnnnn Unicode codepoint nnnnnnnn Leading zeros can be omitted, any illegal character for the given format will be ignored and terminates the numerical code. | |||||
| 2015-07-19 | vis: handle file truncation more gracefully | Marc André Tanner | 5 | -0/+52 | |
| If we use the file / virtual memory system as cache (using mmap(2)) and another process truncates the file we are editing, we have a problem. All we can do is catch the resulting SIGBUS, close the corresponding window and print a warning message. To test this use: $ dd if=/dev/zero of=TEST bs=8M count=1 $ vis TEST :! echo TRUNCATE > TEST | |||||
| 2015-07-19 | text: move regex related functions to separate file | Marc André Tanner | 6 | -77/+88 | |
| Eventually this should probably be rewritten to use an iternal regex engine, currently it has unacceptable memory usage, it copies the whole text. | |||||
| 2015-07-19 | text: slight cleanup, add a few comments | Marc André Tanner | 2 | -23/+56 | |
| 2015-07-11 | vis: rename struct member to avoid conflict with standard library | Marc André Tanner | 2 | -3/+3 | |
| Closes #60 | |||||
| 2015-07-10 | vis: add a file open dialog | Marc André Tanner | 3 | -19/+107 | |
| For this to work make sure you have vis-open and slmenu or dmenu somewhere in $PATH. For now the file dialog is shown for :open, :split and :vsplit when the argument is either . (a dot) or looks like a file pattern. For example :open *.[ch] will show a listing of all C source and header files in the current directory. Use a fuzzy search to make your choice. | |||||
| 2015-07-10 | vis: fix detection of file changes outside the editor | Marc André Tanner | 1 | -2/+2 | |
| 2015-07-10 | text: upon successfull file save store new modification time | Marc André Tanner | 1 | -7/+11 | |
| 2015-07-09 | ui: abstract curses related special keys away | Marc André Tanner | 3 | -7/+23 | |
| 2015-07-09 | ui: unify backspace handling | Marc André Tanner | 2 | -9/+17 | |
| 2015-07-09 | ui: move terminal state handling code to ui specific file | Marc André Tanner | 3 | -3/+15 | |
| 2015-07-09 | ui: move input handling code to ui specific files | Marc André Tanner | 4 | -37/+50 | |
| 2015-07-09 | vis: improve handling of linewise deletion at end of file | Marc André Tanner | 1 | -3/+6 | |
| dd on the last line now moves the cursor to the start of the preceding line. | |||||
| 2015-07-08 | vis: make J (join) behave like in vim when given a count | Marc André Tanner | 1 | -0/+2 | |
| 2015-07-08 | vis: only read file content from stdin if - was specified | Marc André Tanner | 1 | -1/+1 | |
| This allows to feed keyboard input from a file as in: cat keyboard-input | vis input-file which will be used for testing purposes. | |||||
| 2015-07-07 | text: safer temporary file creation | Marc André Tanner | 1 | -1/+4 | |
| Set umask before calling mkstemp. According to POSIX 2008 this is not necessary since the temporary file is guaranteed to be created with permission restricted to the current user. However this is more secure on non-conforming systems and safe as long as we do not use multiple threads. Fixes Coverity CID 101333. | |||||
| 2015-07-07 | view: properly NUL terminate whitespace replacement symbols | Marc André Tanner | 1 | -3/+3 | |
| This should not be a problem in practice, since cell->data is large enough anyway. | |||||
| 2015-07-07 | text: avoid double close in error case | Marc André Tanner | 1 | -0/+1 | |
| 2015-07-07 | text: remove left over debugging code | Marc André Tanner | 1 | -6/+0 | |
| 2015-07-06 | Make selection contiguous over whitespace symbols | Marc André Tanner | 1 | -2/+3 | |
| 2015-07-06 | Warn when saving a file which has been changed outside the editor | Marc André Tanner | 5 | -2/+24 | |
| 2015-07-06 | text: remove text_load_fd and text_fd_get | Marc André Tanner | 5 | -64/+33 | |
