github lervag/vimtex v2.16
VimTeX 2.16

14 hours ago

I'm glad to announce another release of VimTeX. There's a lot of minor improvements. The main highlights, in my opinion, are:

  • πŸš€ Faster core performance of the syntax rules!
  • ↔️ The new tse general environment toggle seems useful; see :help g:vimtex_env_toggle_map for more info on how it can be customized. The old tse for toggling starred environments is changed to tss.
  • πŸŒ” I've begun to learn more Lua and I think, with time, I will start to implement more of the core functionality in Lua.

After this release I'll bump the version requirements for Vim to v9.1 and neovim to v0.10.

Features

  • Syntax
    • Improve syntax core performance (#3006)
      • There's a few tricks used here that are now documented in the code. Credits go to @ces42; thanks!
    • Core syntax rules
      • Highlight basic syntax errors (#2960)
      • Use more strict concealed delimiter matching rules (#3002)
      • Add proper \lVert and \rVert highlighting (#3006)
      • Add support for accented character conceals in mathmode (#2356)
    • Support \mathbfit and improve other \math… commands (#3004)
    • Package support
      • Add support for robust-externalize (#2977)
      • Add support for apacite (#2981)
      • Add support semiverbatim (#3000)
      • Add support for unicode-math (#3004)
      • Add support for luacas (#3050)
      • Improve support for fontawesome5 (#2951)
    • Conceals
      • [breaking] Don't conceal whitespace before/after delimiters (#3013)
        • This is annotated as breaking, because it may yield a surprising behaviour to people used to the old behaviour where the whitespace was concealed. Please read the issue thread if you find the new conceal behaviour for delimiters surprising.
      • Use βˆ– (U+2216) to conceal \setminus (#2947)
      • Add conceal for \[ul][lr]corner (#2952)
  • Commands and mappings
    • [breaking] Add general environment toggler <plug>(vimtex-env-toggle) (#3072, #3075)
      • This is breaking, because the new map adopts the default map tse. This conflicts with the existing default map for <plug>(vimtex-env-toggle-star) which has been moved to tss. It seems like a much better choice.
    • Add <plug>(vimtex-cmd-toggle-break) with default map tsb (#2948)
    • Context action: Support bibdesk and Zotero (#2908)
  • Quickfix
    • Sort error messages to the top of quickfix list (#3053)
    • Handle more errors and warnings from latexlog and bibtex (#2950, #2924, #2943, #2953, #2994)
    • Improve bibtex path handling (#2953)
  • Viewers
    • Add support for passing column number to :VimtexInverseSearch (#3005)
    • Zathura
      • Allow to disable synctex integration with g:vimtex_view_zathura_use_synctex (#3067)
      • Pass column number to inverse search (#3005)
  • Other
    • Completion: Support angled brackets in \cite<...>{ (#2981)
    • Folding: The markers fold type now supports markers with numbers (#3052)
    • Compiler: Support @tex parameter for generic compiler (#2280)
    • Core APIs
      • Add vimtex#cite#get_key() (#2908)
      • Add vimtex#cite#get_entry() (#2946)
    • Neovim Lua (extras)
      • Implemented a parser combinator in Lua
      • Implemented a bibtex parser based on the parser combinator
      • Added initial utils for timing things in Lua

Documentation

  • Improved the installation instructions (#2934)
  • Improved the configuration guides (#2961)
  • Improved docs of g:vimtex_syntax_custom_cmds (#1972)
  • Improved the inverse search docs (#2701, #3038)
  • Added snippet about synctex terminal focus (#2971, #2579)
  • Added an idea about launchctl to the Zathura MacOS faq (#3076)
  • Update docs to explain customization of foldtext (#3056)
  • Several minor adjustments and improvements (e.g. #2986, #2997, #3027)

Bug Fixes

  • Syntax
    • Ensure \{ is matched as texSpecialChar (#2933)
    • Add missing contained for texRefConcealedOpt2 (#2984)
    • Fix a minor regression bug with texMathCmdStyleBoth (#3004)
  • Other
    • Remove includeonly from g:vimtex_include_indicators (#2519, #3044, #3045)
    • vlty
      • Use proper shellescape on Windows (#3069, #3070)
      • Prefer g:python3_host_prog if it is set (#3068)
    • Fix bad use of win_findbuf() for inverse search (#2990)
    • Fix path issue on Windows for image completion (#2954)
    • Fix issue when a user uses the formatter but not indents (#2992)
    • Fix tsd in some cases by ensuring a stricter handling of get_surrounding-functions for delimiters (#3024)
    • Fix :save behaviour by ensuring a consistent state (#3042)
    • Fix a bug with gls completion (#3046)
    • Fix a bug with ts$ (#3063)
    • Fix problem with very long file names in the cacher (#3001)
    • Use jobs APIs to start jobs to open web pages (#2908)
    • Update texdoc server (#3071)
    • Allow to abort the chooser for main document when opening a file (#2930)
    • Add minor delay after starting jobs to ensure they are started (#2972)
    • Ensure to restore silencing of info output properly in compiler callback (#3032)
    • Use a less strict label complete menu parser (#3036)
    • Several minor fixes and adjustments (#2968, #2972)

Acknowledgements

Again there has been several contributions from the community, and as before I would like to give a special thanks to everyone who contributes with PRs:

Don't miss a new vimtex release

NewReleases is sending notifications on new releases.