Skip to content

Vis version 0.4

Compare
Choose a tag to compare
@martanne martanne released this 23 Jul 18:27
· 862 commits to master since this release
  • Selections as core editing primitives. Cursors have been superseded
    by singleton selections. Overlapping selections are now merged. This
    change is also reflected in the exposed Lua API (for which still no
    stability guarantee is given).

  • Selections can be saved into marks on which set operations can be
    performed:

    m save selections
    M restore selections
    | set union
    & set intersection
    \ set minus
    ! set complement
    z| pairwise union
    z& pairwise intersection
    z+ pairwise combine, choose longer
    z- pairwise combine, choose shorter
    z< pairwise combine, choose leftmost
    z> pairwise combine, choose rightmost

    Marks are specified using '{mark} analogous to "{register}.

  • Jump list based on marks:

    g< jump backward
    g> jump forward
    gs save currently active selections

  • New register # to insert the current selection number.

  • Drop special handling of \r\n line endings. \r will be displayed
    as ^M. Enter will always insert \n.

  • Fix Unicode regex search with libtre backend.

  • New count specifiers for sam's g and v commands to keep/drop
    selections based on their index.

  • On macOS saving files larger than INT_MAX bytes should work.

  • New :set show-eof to toggle the display of end of file markers ~
    as before it is enabled by default.

  • Double leading slashes of paths are stripped.

  • Improved :< command implementation to only use a pipe when necessary.

  • New lexers for Myrddin and strace(1), updates for Elixir, Perl
    and Forth.

  • Fix compilation for GNU Hurd. The vis package is now built for all
    supported Debian architectures.

  • Improve job control of forked processes. SIGINT is now properly
    delivered to child processes.

  • Commands given a huge count can now be interrupted using .
    This is implemented in cooperative fashion, meaning a single long
    running operation can still not be interrupted.

  • More efficient line wise motions based on optimized mem{r,}chr(3)
    libc functions.

  • Optionally support vim compatible n/N search direction.

  • Reproducible, statically linked, self contained binary built using
    the Alpine Docker image. The idea being that it is a single file
    which can be copied to any Linux >= 2.6 system to provide a usable
    editor. It has an embedded tar archive which contains the required
    Lua support files which are extracted to a temporary directory using
    libuntar.

  • Preliminary C API documentation found at: http://vis.rtfd.io

  • Updated manual page.

  • Various code cleanups.

Check the git log for further details.

The release tarball is signed with OpenBSD's signify tool, the signature

untrusted comment: verify with vis.pub
RWRbDa94LCndL/v7m45zQw4saMKs5AsnTKBsvvFujZbAi9CIhlyiz0fihaWYbHkWDO957Csn5yJvecac+iUxX7arQ5IxZ4XRcQE=

can be verified using the following public key:

untrusted comment: vis editor signify public key
RWRbDa94LCndLy4pUdO6h1PmS1ooHOGb7p84OfQIR7+hFlZwuAXUdQ5J