vis/vis.changes

335 lines
13 KiB
Plaintext
Raw Permalink Normal View History

Update to 0.9: This release has been long in the works but its time now. There have been many additions and bugfixes since 0.8. In particular changes to the Lua API have made it easier to extend `vis` in all sorts of ways that were previously difficult or impossible. As always the appreciation towards contributors new and old can not be understated; thanks goes out to everyone for their efforts! A summary of changes follows: Compare non-existing files by name and existing files by inode Do tilde expansion only for the tilde character at the beginning of the pattern. Add word wrapping via breakat and wrapcolumn options Add ansi escaping values and theming keyword for dimmed text Allow statusbar to disabled Default theme was changed to one that uses the terminal colors directly. filetype: support filetype detection via hashbang filetype: many new file extensions are covered Resync the lexers with Scintillua Implement Selection:remove() Allow underscore (_) in command names Allow nil in vis:pipe() File and Range parameters Add fullscreen param to vis_pipe_collect() and vis:pipe() Access and set all available editor options Implementation of the non-blocking process running Lua API Make expandtab and tabwidth options window-local Drop redrawtime option Add a Lua constant for UI_STYLE_LEXER_MAX Report viewport as lines in addition to bytes Add `win:style_pos()` for styling a specific window cell. Add `UI_DRAW` event for last minute changes to the drawn window. Report viewport dimensions Add a basic .editorconfig file Don't set _FORTIFY_SOURCE in configure Many documentation improvements. Make vis-open and vis-complete more POSIX compliant vis-clipboard: clean up bashisms and make shellcheck happy. vis-clipboard: add support for wayclip vis-open: allow to show files vertically fix warning by dealing with error value from fchdir in text-io.c text-io: close "cwd" in all cases vis-complete: Fix commandline options handling vis-clipboard: make xsel honor --selection wl-paste and wl-copy should not add \n to the end of the clipboard. fix a bug with using regex to close windows (i.e. `:X/re/q`) Limit to lines within range for inner text objects vis-clipboard: don't fail when sel is primary on unsupported platforms fix { moving back too much if cursor is at start of a line Print keybindings containing space correctly in help window Prevent flickering in curses vis-menu: try to preserve valid Unicode points lua: make sure lpeg is in fact optional vis-single: respect TMPDIR lua: fail when mapping a key to an invalid handler type vis_pipe: correctly return non-zero exit status view: skip empty cells before applying a style sam: reject invalid ranges for cmd_extract ("x"/"y") Fix upper/lower case conversions with `gU` and `gu`. lua: complete-word: use internal regex for splitting words Theme application was refactored and should be more consistent now. The option names `show-spaces`, `show-tabs`, `show-newlines`, `show-eof`, and `change-256colors` are all deprecated and will be removed for the next release, use the name without the `-` instead (e.g. showeof). This was done to avoid inconsistencies between the lua option names and the `:set option` names. The complete changelog can be viewed on https://git.sr.ht/~martanne/vis/log/v0.9
2024-07-10 14:19:17 +02:00
-------------------------------------------------------------------
Wed Jul 10 10:29:05 UTC 2024 - Matej Cepl <mcepl@cepl.eu>
- Update to 0.9:
## [0.9] - 2024-05-01
This release has been long in the works but its time now. There
have been many additions and bugfixes since 0.8. In particular
changes to the Lua API have made it easier to extend `vis` in all
sorts of ways that were previously difficult or impossible. As
always the appreciation towards contributors new and old can not
be understated; thanks goes out to everyone for their efforts!
A summary of changes follows:
### Core
- Compare non-existing files by name and existing files by inode
- Do tilde expansion only for the tilde character at the beginning of the pattern.
- Add word wrapping via breakat and wrapcolumn options
- Add ansi escaping values and theming keyword for dimmed text
- Allow statusbar to disabled
- Default theme was changed to one that uses the terminal colors directly.
### Lua
- filetype: support filetype detection via hashbang
- filetype: many new file extensions are covered
- Resync the lexers with Scintillua
- Implement Selection:remove()
- Allow underscore (_) in command names
- Allow nil in vis:pipe() File and Range parameters
- Add fullscreen param to vis_pipe_collect() and vis:pipe()
- Access and set all available editor options
- Implementation of the non-blocking process running Lua API
- Make expandtab and tabwidth options window-local
- Drop redrawtime option
- Add a Lua constant for UI_STYLE_LEXER_MAX
- Report viewport as lines in addition to bytes
- Add `win:style_pos()` for styling a specific window cell.
- Add `UI_DRAW` event for last minute changes to the drawn window.
- Report viewport dimensions
### Misc
- Add a basic .editorconfig file
- Don't set _FORTIFY_SOURCE in configure
- Many documentation improvements.
- Make vis-open and vis-complete more POSIX compliant
- vis-clipboard: clean up bashisms and make shellcheck happy.
- vis-clipboard: add support for wayclip
- vis-open: allow to show files vertically
### Bugfixes
- fix warning by dealing with error value from fchdir in text-io.c
- text-io: close "cwd" in all cases
- vis-complete: Fix commandline options handling
- vis-clipboard: make xsel honor --selection
- wl-paste and wl-copy should not add \n to the end of the clipboard.
- fix a bug with using regex to close windows (i.e. `:X/re/q`)
- Limit to lines within range for inner text objects
- vis-clipboard: don't fail when sel is primary on unsupported platforms
- fix { moving back too much if cursor is at start of a line
- Print keybindings containing space correctly in help window
- Prevent flickering in curses
- vis-menu: try to preserve valid Unicode points
- lua: make sure lpeg is in fact optional
- vis-single: respect TMPDIR
- lua: fail when mapping a key to an invalid handler type
- vis_pipe: correctly return non-zero exit status
- view: skip empty cells before applying a style
- sam: reject invalid ranges for cmd_extract ("x"/"y")
- Fix upper/lower case conversions with `gU` and `gu`.
- lua: complete-word: use internal regex for splitting words
- Theme application was refactored and should be more consistent now.
### Deprecation Notices
The option names `show-spaces`, `show-tabs`, `show-newlines`,
`show-eof`, and `change-256colors` are all deprecated and will be
removed for the next release, use the name without the `-` instead
(e.g. showeof). This was done to avoid inconsistencies between the
lua option names and the `:set option` names.
The complete changelog can be viewed on
https://git.sr.ht/~martanne/vis/log/v0.9
- Removed patch upstreamed 675-nb-subproc-runner.patch
- Add vis-test-builtin_strncpy-bounds.patch to improve testing
infrastructure.
-------------------------------------------------------------------
Thu Jul 20 10:32:12 UTC 2023 - Matej Cepl <mcepl@suse.com>
- Clean up SPEC file.
-------------------------------------------------------------------
Tue Feb 28 11:07:05 UTC 2023 - Matej Cepl <mcepl@suse.com>
- Add 675-nb-subproc-runner.patch (gh#martanne/vis!675) with
support for the non-blocking subprocess runner.
-------------------------------------------------------------------
Tue Nov 1 15:07:35 UTC 2022 - Matej Cepl <mcepl@suse.com>
- Update to 0.8:
- build: add git based version information back
- lexers: fix bug in bash lexer for last here-doc
- vis: make O implementation independent of <Up> mapping
- fix typos in comments
- lua: fix luacheck warnings
- vis: rename to/till motion internals
- vis: implement multiline to/till motions
- vis-lua: provide file.permission property
- Mention pkg-config in README
- lexers/strace: improve comments, field names and syscall results
- lexers/git-rebase: also highlight break command
- filetype: Set "bash" for APKBUILD and .ebuild.
- filetype: Detect make shebang for "makefile".
- Adding .sv extension to verilog syntax highlighter
- build: update alpine in docker build to version 3.13
- sam: only skip the last empty match if it follows a newline
- sam: produce empty match at the end of looped range
- test: update
- gitignore: remove vim specific swap files
- sam: tweak handling of zero length matches in y commands
- sam: simplify trailing match handling for x/y commands
- vis: correctly close pipe connected to stdin of external process
- add lua5.4 in configure script
- vis: Add readline Ctrl+A/E bindings
- ci: verify codecov script before using it
- ci: verify coverity scan script before using it
- filetype: Set "groovy" for Jenkinsfile
- README: x/freenode/c/libera/
- Set version to 0.8
-------------------------------------------------------------------
Fri Feb 5 23:00:35 UTC 2021 - Matej Cepl <mcepl@suse.com>
- Add BR libselinux-devel to make vis SELinux aware.
-------------------------------------------------------------------
Tue Dec 8 18:42:07 UTC 2020 - Matej Cepl <mcepl@suse.com>
- Update to the released version 0.7:
This is mostly a bug fix release with fixes for a few cases of
undefined behavior and preliminary work for experimentation with
different core text management data structures and general editor
architecture.
- fix UB in core text management data structure
- text refactoring, splitting out reusable text iterator and I/O
components
- new *at() variants taking directory descriptor for file load/save
API
- more efficient initial file read, avoiding spurious syscalls and
copy
- text API cleanups, const correctness improvements
- increased test coverage for core text data structure
- support for Lua 5.4
- Lua API improvements: vis.mark, vis.register, vis.win.file.modified
- and support for terminal CSI events
- NetBSD support
- new :set ignorecase option to search case independently
- new visual mode mapping <C-a> to select all matching selections
- fix mappings involving non-leading <C-c>
- minor file detection fixes for racket, node.js modules, Typescript
and liliypond
- new lexers for Zig, meson build system, Mikrotik RouterOS scripts,
Gemini
- improved inner word text object and its use for <C-n> in normal mode
- improved <C-n> behavior in visual mode
- removed ie, ae inner/outer entire text object, use :, as shorthand
for :0,$
- removed pairwise selection combinators z>, z<, z-, z+, z&, z|
- remove ~ as alias for g~
- use ~ instead of ! for selection complement
- remove special key and window related aliases
- vis-open(1) adds a trailing slash to indicate folders
- add primary clipboard support to vis-clipboard(1)
- support wayland clipboard using wl-clipboard(1)
- new Makefile targets: distclean, testclean
-------------------------------------------------------------------
Mon Jun 15 07:25:48 UTC 2020 - Matej Cepl <mcepl@suse.com>
- Update to the released version 0.6 (all changes since 0.5):
- bounded time syntax highlighting using the :set redrawtime
option
- support optional count for sam's text commands e.g. :i3/-/
- make <C-n> in visual mode match next occurence of existing
selection
- warn when attempting to write to an existing file
- improved file change detection based on inode instead of path
information
- fix file saves with modifications in file pre-save events
- fix save on file systems without fsync(2) support on
directory descriptors
- do not unlink file~ when saving file
- introduce distinct vis-menu(1) exit codes
- modify Lua package.path to include /init.lua
- performance improvements for the HTML, XML and YAML lexers
- new Julia and Elm lexers, better defaults for standard text
lexer
- support optional exit status in :q and :qall commands
- better temporary file creation using mkstemp(2)
- performance improvements in highlight matching parentheses
- improved behavior of ^ and $ in searches and looping commands
- improved search wrap around behavior
- new :set layout option to specify window orientation
- improved filetype detection by matching known filenames
exactly
- support DragonFly BSD in configure script
- better manual page, fixed warnings
- removed gp, gP, gq
- implement g~, gu and gU using tr(1), they are no longer
operators
- removed v and V in operator pending mode
- avoid crash if $TERM is unset
- keep selections after :> command
- normalize selections after : command execution
- show pending input queue content in status bar
- make r<Enter> insert a new line
- new :set loadmethod option, valid values are read, mmap or
auto
- always apply :| command to existing selections
- fix terminal UI on serial console
- various code cleanups, removal of VLA
- resets count, if applicable
- fix :X and :Y commands which were interchanged
- don't strip executables by default, provide install-strip
target
-------------------------------------------------------------------
Fri Jun 05 13:33:07 UTC 2020 - mcepl@cepl.eu
- Update to version 0.5+git.1590819266.c37f09e:
* test: update
* vis: fix implicit enum conversion warning
* build: update alpine in docker build to version 3.12
* doc: update outdated version information
* doc: update sphinx configuration to python 3
* test: update
* text: introduce text_save_method, remove text_save_range
* test: update
* build: use -O2 by default
* vis: cleanup pre-processing of :-commands
* Tweak README
* vt100: do not crash if termkey is not yet initialized
* ui: fix line number drawing
* build: fix _XOPEN_SOURCE redefinition warning
* vis: make <Escape> reset count in visual modes
* vis: make <Escape> reset count in normal mode
* lexers: prioritize markdown list rule
* lexers: make markdown white space rule less greedy
* man: document theme location
* Avoid use of VLAs
* vt100: use shorter escape sequence to clear screen
* Add Julia lexer
-------------------------------------------------------------------
Thu Apr 16 22:18:41 UTC 2020 - mcepl@cepl.eu
- Update to version 0.5+git.1584517720.08a550d:
* color-column: Don't change fg/bg if not set explicitly
* Set single cursor style as primary, not secondary
* sam: fix X and Y commands which were interchanged
* Add Elm lexer
* sam: fix spurious "file exists" warnings
-------------------------------------------------------------------
Wed Feb 26 23:07:04 UTC 2020 - Matej Cepl <mcepl@suse.com>
- Fix the license: it is ISC, not MIT.
-------------------------------------------------------------------
Wed Feb 26 09:20:25 UTC 2020 - mcepl@cepl.eu
- Update to version 0.5+git.1582699959.bdfea7e:
* build: provide install-strip make target
* ci: fix Alpine build by installing terminfo data
* test: update
* ci: remove Travis CI integration
* ci: remove Appveyor integration
* ci: improve OpenBSD Lua installation
* ci: make sure en_US.UTF-8 locale is available on Debian
* ci: disable codecov commit status updates
* vis-lua: implement vis:redraw()
* lua: add `redrawtime` option
-------------------------------------------------------------------
Wed Feb 26 08:42:15 UTC 2020 - mcepl@cepl.eu
- Update to version 0.5+git.1582699959.bdfea7e:
* build: provide install-strip make target
* ci: fix Alpine build by installing terminfo data
* test: update
* ci: remove Travis CI integration
* ci: remove Appveyor integration
* ci: improve OpenBSD Lua installation
* ci: make sure en_US.UTF-8 locale is available on Debian
* ci: disable codecov commit status updates
* vis-lua: implement vis:redraw()
* lua: add `redrawtime` option
-------------------------------------------------------------------
Wed Feb 26 08:41:57 UTC 2020 - Matej Cepl <mcepl@suse.com>
- The latest upstream commit doesn't strip binaries anymore
-------------------------------------------------------------------
Mon Feb 24 16:11:28 CET 2020 - Matej Cepl <mcepl@suse.com>
- make install STRIP=true to avoid stripping. Avoid public nudity!
gh#martanne/vis#811
-------------------------------------------------------------------
Thu Dec 26 00:17:14 CET 2019 - Matej Cepl <mcepl@suse.com>
- Add BR of tre-devel, not just tre.
-------------------------------------------------------------------
Sun Sep 22 01:22:08 CEST 2019 - Matej Cepl <mcepl@suse.com>
- Remove Debian-related files
- Add missing BRs.
-------------------------------------------------------------------
Mon Dec 12 21:42:43 UTC 2016 - code@baez.nyc
initial build from git