summaryrefslogtreecommitdiff
path: root/sam.c
AgeCommit message (Collapse)Author
2018-05-30vis: add loadmethod optionMarc André Tanner
Valid values are `read`, `mmap` or `auto`.
2018-05-30sam: always apply | command to existing selectionsMarc André Tanner
2018-05-30sam: normalize selections after command executionMarc André Tanner
As a trivial example if multiple selections exist running a command like :, should merge them.
2018-05-30sam: change nomencalture, use selection where appropriateMarc André Tanner
2018-05-16sam: keep selections after :> commandMarc André Tanner
Fix #700
2018-04-15Update year numbers in copyright informationMarc André Tanner
2018-02-19sam: fix g/^$/Marc André Tanner
With POSIX ERE the pattern ^$ matches strings ending with a new line because an empty match is reported after the trailing newline at the very end of the input. This is undesirable for use cases like x g/^$/ d which is supposed to delete all empty lines of a file. As a fix we disregard empty matches at the end of the given range.
2017-07-14vis-lua: make selection first class primitives in Lua APIMarc André Tanner
2017-07-10vis: implement jump list in terms of marksMarc André Tanner
2017-07-07vis: use marks instead of registers to store selectionsMarc André Tanner
The key binding remain the same, but the selections are now stored on a per-buffer basis.
2017-06-27Merge branch 'show-eof' of https://github.com/p-e-w/visMarc André Tanner
Conflicts: view.c view.h
2017-06-15sam: simplify print command implementationMarc André Tanner
2017-06-15vis: rename uses of Cursor to SelectionMarc André Tanner
2017-06-15view: rename view_cursorsMarc André Tanner
2017-06-15view: rename view_selection_anchoredMarc André Tanner
2017-06-15view: rename view_cursors_countMarc André Tanner
2017-06-15view: rename view_cursors_nextMarc André Tanner
2017-06-15view: rename view_cursors_selection_startMarc André Tanner
2017-06-15view: rename view_cursors_selection_clearMarc André Tanner
2017-06-15view: rename view_cursors_selection_getMarc André Tanner
2017-06-15view: rename view_cursors_primary_{get,set}Marc André Tanner
2017-06-15view: rename view_cursor_disposedMarc André Tanner
2017-06-15view: rename view_cursors_disposeMarc André Tanner
2017-06-15view: rename view_cursors_newMarc André Tanner
2017-06-15view: remove view_cursors_multipleMarc André Tanner
2017-06-15vis: promote selections to first class primitivesMarc André Tanner
This unifies cursors and selections. The cursor are now represendted as singleton selections.
2017-06-05sam: fix + addressMarc André Tanner
Previoulsy + would not advance to the next line when the cursor was on the first character of a line. This should fix the +- idiom, i.e. :+-x/foo/c/bar/ performs a substitution on the current line.
2017-06-04Add option to hide EOF markerPhilipp Emanuel Weidmann
2017-05-15sam: use default address for file looping commandsMarc André Tanner
This sould fix a clang analyzer warning and make the code more robust. The problem could actually not occur in practice because the X and Y commands always have the internal cmd_select as intermediate node in the execution tree. In general the multiple file support will need more design work. Fix #551
2017-04-14vis: make certain operations interruptible with <C-c>Marc André Tanner
As currently implemented this will only work for operations which are individually fast, but repeated many times (e.g. `1000000itext<Escape>`).
2017-04-12sam: fix negative count specifiers from visual modeMarc André Tanner
2017-04-12sam: support %n count specifier matching every n-th selectionMarc André Tanner
2017-04-12sam: add support for negative count specifierMarc André Tanner
2017-04-12sam: add support for count specifier to `g` and `y` commandsMarc André Tanner
2017-04-12sam: distinguish between empty // and no regexMarc André Tanner
2017-04-12sam: reject command names containing digits or ending with a hyphenMarc André Tanner
The current implementation will also reject consecutive hyphens.
2017-04-06sam: properly free transcript in error caseMarc André Tanner
2017-04-02Fix Debian package lintian warningsMarc André Tanner
https://mentors.debian.net/package/vis
2017-03-19Move :set horizon option implementaiton to luaMarc André Tanner
2017-03-19Move :set theme option implementation to luaMarc André Tanner
2017-03-19Move :set syntax option implementation to luaMarc André Tanner
It is no longer possible to change the used syntax by assigning to the `win.syntax = name` field, instead the function win:set_syntax(name)` should be called. The distinction between filetype and syntax lexer to use should probably be clarified/cleaned up at some point.
2017-03-19vis: add infrastructure to dynamically add :set optionsMarc André Tanner
2017-03-02vis: remove :bdelete commandMarc André Tanner
It does not really fit into the style of the rest of the command language. Eventually we should be able to express this kind of thing using a looping construct based on the `X` and `Y` commands.
2017-02-27vis: allow useage of file dialog for :read commandMarc André Tanner
Fix #505
2017-02-24vis: make help texts optional to produce a smaller binaryMarc André Tanner
$ ./configure --disable-help shrinks the binary by about 20K on a x86_64 system.
2017-02-21sam: make sure all commands can be undoneMarc André Tanner
Take a snapshot before and after processing the transcript.
2017-02-21sam: reformat code to avoid one level of indentationMarc André Tanner
2017-02-09sam: fix bogus clang compiler warningMarc André Tanner
Strictly speaking this is a compiler bug: https://llvm.org/bugs/show_bug.cgi?id=22062 The C11 standard section 6.4.4.3 says: "An identifier declared as an enumeration constant has type int." and 6.7.2.2: "Each enumerated type shall be compatible with char, a signed integer type, or an unsigned integer type. The choice of type is implementation-defined, but shall be capable of representing the values of all the members of the enumeration." So while `err` can store a value larger than that of any enumeration member, it could also be of signed type, resulting in a warning about comparing integers of different signs. Converting it to size_t before the range check and array indexing, should fix both warnings. Fix #478
2017-02-08sam: execute commands even if we have no valid rangeMarc André Tanner
In an ideal world this should never happen. However, if for some reason all cursors/selections become invalid, default to an empty range. This at least allows to terminate the editor gracefully whereas before the command would silently be ignored.
2017-02-05vis: add file argument to vis_pipeMarc André Tanner