| Age | Commit message (Collapse) | Author | Files | Lines | |
|---|---|---|---|---|---|
| 2016-04-04 | sam: y and Y commands require a regexp pattern | Marc André Tanner | 1 | -2/+4 | |
| 2016-04-04 | sam: use better default addresses for <, >, | and r commands | Marc André Tanner | 1 | -25/+21 | |
| 2016-04-04 | sam: fix special handling of single line numbers | Marc André Tanner | 1 | -6/+17 | |
| If only line numbers are given (either in absolute or relative form) we treat it as motion instead of a range specifier. That is :nn moves to line nn, but does not select it. This should however not affect other range specifiers such as :n,m | |||||
| 2016-04-04 | sam: fixup bf52c0cb95b76b4ae17f138c9d98552c38185f46 | Marc André Tanner | 1 | -1/+1 | |
| For commands like :q the view might already have been freed | |||||
| 2016-04-04 | sam: add missing include for strncasecmp(3) | David B. Lamkins | 1 | -0/+1 | |
| 2016-04-03 | Update README to reflect sam(1) integration | Marc André Tanner | 1 | -50/+16 | |
| 2016-04-03 | sam: focus first cursor after a x, y, g, v command | Marc André Tanner | 1 | -0/+4 | |
| 2016-04-03 | sam: implement cd (change directory) command | Marc André Tanner | 1 | -0/+10 | |
| 2016-04-03 | sam: support % as address denoting the whole file | Marc André Tanner | 1 | -3/+4 | |
| 2016-04-03 | vis: reimplement file open dialog | Marc André Tanner | 1 | -38/+29 | |
| 2016-04-03 | sam: implement ! command | Marc André Tanner | 1 | -0/+7 | |
| 2016-04-03 | vis: change vis_pipe API and cleanup related code | Marc André Tanner | 4 | -66/+41 | |
| 2016-04-03 | sam: unify vi(m) and sam command line | Marc André Tanner | 7 | -862/+403 | |
| The following vi commands have been dropped: - saveas - xit - ! The following commands are only recognized in their short form: - e (edit) - q (quit) - s (substitute) - w (write) - r (read) | |||||
| 2016-04-03 | build: explicitly list sources files | Marc André Tanner | 1 | -1/+6 | |
| 2016-04-03 | buffer: add buffer_content0 utility function | Marc André Tanner | 2 | -0/+9 | |
| 2016-04-03 | sam: restructure code to avoid useless goto | Marc André Tanner | 1 | -15/+6 | |
| 2016-04-03 | sam: implement s (subtitute) command in terms of sed(1) | Marc André Tanner | 1 | -3/+13 | |
| Eventually this should be rewritten as an internal command. | |||||
| 2016-04-03 | sam: cleanup command argv passing/handling | Marc André Tanner | 1 | -60/+52 | |
| 2016-04-03 | sam: simplify and fix grouping | Marc André Tanner | 1 | -37/+26 | |
| The following should now work: :sam x/^static/ .,+/^\}/ { i/<</ a/>>/ } | |||||
| 2016-04-03 | sam: attempt to make x/y commands more robust | Marc André Tanner | 1 | -4/+8 | |
| These commands can be followed by an address which changes the range to which the sub command applies. The looping construct should then continue at the position of the last change within the original range. A previously problemeatic example: :sam x/^static/ .,+/^\}/ c/replaced | |||||
| 2016-04-03 | sam: implement > command | Marc André Tanner | 1 | -6/+24 | |
| 2016-04-03 | sam: implement r (read) command in terms of < cat | Marc André Tanner | 1 | -1/+13 | |
| It replaces current range with the file content. However in the common case the range is actually defaults to the whole file which is probably not what is expected. | |||||
| 2016-04-03 | sam: implement < command in terms of | with an empty range | Marc André Tanner | 1 | -1/+13 | |
| 2016-04-03 | sam: implement | (filter) command | Marc André Tanner | 1 | -4/+81 | |
| 2016-04-03 | sam: implement w (write) command | Marc André Tanner | 1 | -4/+47 | |
| 2016-04-03 | sam: add infrastructure to support multi letter commands | Marc André Tanner | 2 | -48/+53 | |
| 2016-04-03 | sam: fix escape handling in regex parsing | Marc André Tanner | 1 | -0/+4 | |
| 2016-04-03 | sam: more flexible parsing | Marc André Tanner | 2 | -22/+126 | |
| Add infrastructure to handle commands which take file names, shell commands or general white space delimited parameters as arguments. | |||||
| 2016-04-03 | sam: treat single line numbers as motions not ranges | Marc André Tanner | 1 | -2/+9 | |
| That is something like :sam +5 or :sam 10 will move to the start of the selected line instead of selecting the whole line. TODO: due to the current implementation it will also affect :sam x/pattern/-10+10 | |||||
| 2016-04-03 | sam: remove old cursor/selection before executing command | Marc André Tanner | 1 | -1/+12 | |
| Because duplicated cursors are no longer allowed we have to remove the old cursors before, not after executing the sam command. Otherwise commands like g/foo/ which re-create the same selection fail. | |||||
| 2016-04-03 | sam: fix default regexp handling i.e. ':sam x' | Marc André Tanner | 1 | -1/+1 | |
| 2016-04-03 | sam: adapt to changes in multiple cursors API | Marc André Tanner | 1 | -10/+7 | |
| 2016-04-03 | sam: fix negative relative line number placement | Marc André Tanner | 1 | -7/+11 | |
| This should fix -0+,+0- | |||||
| 2016-04-03 | sam: change print command behavior when given an empty range | Marc André Tanner | 1 | -6/+23 | |
| Only create a selection (and switch to visual mode) if at least one print command was given a non-empty range. Also reject invalid ranges. This allows cursor movements with thinks like #10 | |||||
| 2016-04-03 | sam: fix empty regexp matches | Marc André Tanner | 1 | -6/+13 | |
| This fixes x/^.*$/i/FOO | |||||
| 2016-04-03 | sam: fix regex parsing | Marc André Tanner | 1 | -32/+5 | |
| This fixes y/\n/i/FOO | |||||
| 2016-04-03 | sam: fix parsing of , compound address | Marc André Tanner | 1 | -5/+2 | |
| In a command like ,x/pattern the comma should default to the whole file. | |||||
| 2016-04-03 | sam: do not segfault when given a NULL pointer to parse | Marc André Tanner | 1 | -0/+2 | |
| 2016-04-03 | sam: fix segfault with multiple regular expressions in same command | Marc André Tanner | 1 | -29/+17 | |
| 2016-04-03 | Add section about new command language to README | Marc André Tanner | 1 | -8/+94 | |
| 2016-04-03 | Support sam's structural regular expression based command language | Marc André Tanner | 6 | -1/+836 | |
| For those not familiar with sam(1) more information can be found at http://sam.cat-v.org/ For now sam commands can be entered from the vis prompt via :sam <cmd> A command behaves differently depending on the mode in which it is issued: - in visual mode it behaves as if an implicit extract x command matching the current selection(s) would be preceding it. That is the command is executed once for each selection. - in normal mode: * if an address for the command was provided it is evaluated starting from the current cursor position(s) i.e. dot is set to the current cursor position. * if no address was supplied to the command then: + if multiple cursors exist, the command is executed once for every cursor with dot set to the current line of the cursor + otherwise if there is only 1 cursor then the command is executed with dot set to the whole file The command syntax was slightly tweaked to accpet more terse commands. - When specifiying text or regular expressions the trailing delimiter can be elided if the meaning is unambigious. - If only an address is provided the print command will be executed. - The print command creates a selection matching its range. - In text entry \t inserts a literal tab character (sam only recognizes \n). Hence the sam command ,x/pattern/ can be abbreviated to x/pattern If a command is successful vis switches to normal mode (and hence removes any selections), otherwise the editor is kept in visual mode. The print command "fails" by definition. | |||||
| 2016-04-03 | vis: in visual mode let \ trim selections | Marc André Tanner | 3 | -0/+33 | |
| 2016-04-03 | view: make syntax coloring more robust | Marc André Tanner | 1 | -1/+3 | |
| Do not crash if for some reason view->{start,end} have outdated values. | |||||
| 2016-04-03 | buffer: add buffer_content utility function | Marc André Tanner | 2 | -0/+6 | |
| 2016-04-03 | buffer: add buffer_length utility function | Marc André Tanner | 2 | -0/+6 | |
| 2016-04-03 | view: add return value to view_cursors_dispose | Marc André Tanner | 2 | -8/+9 | |
| indicating whether cursor could be removed | |||||
| 2016-04-03 | text-regex: introduce function to match arbitrary text | Marc André Tanner | 2 | -0/+5 | |
| 2016-04-01 | vis: cleanup vis_pipe API | Marc André Tanner | 3 | -8/+17 | |
| 2016-03-30 | vis: implement selection rotation | Marc André Tanner | 3 | -2/+85 | |
| In visual mode + and - will rotate the selection count times to the right or left respectively. If there exists a line containing multiple selections then the rotation happens within each line. Otherwise if each line contains at most one selection the rotation is performed among all existing selections. | |||||
| 2016-03-30 | view: constify functions to manipulate selections | Marc André Tanner | 2 | -4/+4 | |
