Vimtex Versions Save

VimTeX: A modern Vim and neovim filetype plugin for LaTeX files.

v2.15

1 week ago

It's way overdue to make another release. There are plenty of bug fixes and a lot of feature improvements. And I'm very glad to see that there are a lot of PR contributions from the community - thanks!

I think the main highlights of this release are:

  • The new bib parser in Lua for neovim users. It makes bibtex completion faster - noticably so for those who have large bib files.
  • :VimtexCompile now respects options (see #2836 and #2866).
  • There are a few improvements to the core syntax that should improve performance.

Important: After this release I will bump the version requirements for both Vim and Neovim! From now, VimTeX will require versions Vim 9.1.0 or neovim 0.9.5. This means that anyone who can not or will not update must stay on this version (the v2.15 tag).

Features

  • Compile
    • Allow options for :VimtexCompile (#2836)
    • Respect -jobname option for outfiles in compilers (#2866)
    • Pass file_info argument to out_dir function (#2888)
      • This is a breaking change for anyone who uses a vimscript function for the out_dir key of g:vimtex_compiler_latexmk (or similar), because the function is now passed a single argument.
  • Syntax
    • Add option g:vimtex_syntax_match_unicode (#2732)
      • This allows to disable the feature, as it can be slow on large documents.
    • Match <, >, |, / as operators and don't match . (#2776)
    • Add keywords "ISSUE" and "NOTE" to texCommentTodo (#2839)
    • Simplify and improve some regexes to improve performance (#2877)
    • Add conceal support for more superscripts (#2886)
    • Add match for \item labels (#2885)
    • Add vimtex#syntax#add_to_mathzone_ignore (#2929)
    • Improve tcolorbox support (#2789)
    • Add support for quantikz package (#2843, #2842)
    • Initial support for biblatex-chicago package (#2875)
    • Improve sagetex package support (#2926, #2929)
  • Viewers
    • viewer.xdo_focus_vim will move mouse pointer to activated window (#2759)
    • Add option g:vimtex_view_skim_no_select to prevent Skim from selecting the text (#2766)
    • Use timer_start instead of :sleep before search for xwin_id (#2802, #2805)
    • Improve g:vimtex_view_use_temp_files (#2819)
      • The old implementation was not working properly and the docs were inconsistent with the implementation. The docs should now be properly consistent and the implementation should be better and more robust.
  • UI, commands and mappings
    • Add g:vimtex_ui_method for choosing ui backends
    • Add imap `vp for \varpi (#2797)
  • Other
    • Added new (much faster) bib parser in lua (#2786, #2816)
      • Also improved the vimscript implementation of the bib parser
    • Add warning if latexmain specifier is ignored (#2831)
    • Support subsubsubsubsection in toc (#2850)
    • Better fail method for cache encoding errors (#2849)
    • Completion support for volcites with volume (#2878)
    • Fold and toc support for comment package (#2882)

Bug Fixes

  • Compile
    • Stop compilers when reloading vimtex (#2760)
    • latexmk: Don't do timeout in pvc mode after inactivity (#2804)
      • By default the -pvc mode will stop working after 30 mins of inactivity. To prevent this, we disable inactivity timeout in the pvc mode with -pvctimeout-. This requires latexmk v4.55 (Jan 2018) or higher.
    • Fix issue when VimtexEventCompile* changes the buffer (#2844)
    • Call quickfix function before issuing autocmd (#2847)
    • Fix regression error in arara compiler (#2862, #2861)
    • Don't create the compiler state if it is disabled (#2905)
  • Syntax
    • Minor regression where C was highlighted wrongly (#2761)
    • biblatex package:
      • Add missing \Cite command (#2875)
      • Minor error with concealed volcite (#2875)
    • Minor regression bug in asymptote package (#724)
  • Folding
    • Properly handle \items in unexpected item environments (#2771)
  • Table of contents (toc)
    • Fix regression bug with preamble toc matcher (#2792, #2787)
    • Minor error in width calculation for label entries in toc
    • Return to original window when we close the toc (#2817)
    • Fix problem where format variable was not defined in labels.vim (#2883)
  • Other
    • Ensure globpath_upwards only returns files (#2763)
    • Add health check for zathura_simple viewer (#2796)
    • Fix treesitter detection (#2798)
    • Fix problem when g:vimtex_indent_lists was empty (#2846)
    • Fix lacking symlinked path resolve (#2865)
    • vimtex#bib#files: Ensure data exists before using it
    • Fix problem with how windows directories are handled in vimtex#paths#relative

Documentation

  • Several minor improvements
  • Add docs for cmp-vimtex extension to nvim-cmp (#2818)
  • Improve Zathura docs for MacOS users (#2824, #2889)
  • Add more references to localrc plugins (#2832)
  • Clarify some option values that are taken as regular expressions (#2846)
  • Add some more info on qpdfview (#2870)
  • Add lazy.nvim installer example
  • Improve documentation of user events (#2902)
  • Document API: vimtex#syntax#in (#2929)

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:

  • @BertrandSim in #2872 and #2879
  • @MithicSpirit in #2797 and #2886
  • @ArvinSKushwaha in #2843
  • @ax3ghazy in #2759
  • @gruelingpine185 in #2772
  • @jiangyinzuo in #2839
  • @julio-b in #2792
  • @mms-neuro in #2862
  • @ofseed in #2927
  • @shivangp76 in #2926
  • @soonsouth in #2899
  • @tomtomjhj in #2798
  • @tsung-ju in #2766
  • @wookayin in #2804
  • @xinhangzhou in #2897

v2.14

9 months ago

I've found time to do more improvements the last month, so I'm publishing a summer release. I hope you enjoy it!

Features

  • Use float popup windows for UI-functions in Neovim. This should provide a better UI experience, especially for selections. (Feedback on this is appreciated!)
  • Syntax
    • Added new option g:vimtex_syntax_custom_envs (#2745, #2756)
      • This allows to create syntax rules for custom environments in the same spirit as the corresponding g:vimtex_syntax_custom_cmds.
    • Added matching of unicode symbols as math commands (#2732)
    • Added support for ieeecolor (#2675, #2743)
    • Added initial support for witharrows (#2755)
  • Other
    • Slightly improved pplatex parser
    • Added new option g:vimtex_compiler_clean_paths (#2728)
      • This allows to remove additional files and directories with the generic clean implementation.
    • Improve TOC parser for Beamer frames (#2731)
      • Allow \frametitle and \framesubtitle in frame body.
    • Support \RequirePackage for vimtex#doc#* (#2753)
    • Added three more imaps to g:vimtex_imaps_list (#2741)
      • `2 → \sqrt
      • `B → \boldsymbol
      • `N → \nabla

Bug Fixes

  • Fixed stupid problem with "aux" names on Windows (#2724)
  • Better errorformat for textidote (#2736)
  • Avoid infinite recursion for s:file_reaches_current (#2739)
  • vimtex#util#uniq_unsorted should always return new array
  • Forgot to set new root after :save (#2734)
  • Should also fire VimtexEventView when viewer is started from callback (#2733)
  • Fixed a bug with latexmks clean method (#2746)
  • Remove unnecessary feedkeys() (#2733)
  • Ignore \iff in texCommentConditionals (#2748)
  • Fix bad indentation for conditionals (avoid unnecessary state) (#2754)

Documentation

  • Improved FAQ entry with documentation about UTF-8 support on Windows (#2671, #2727)
  • Added FAQ entry about Zathura with WSL on Windows (#2752)
  • Minor adjustments

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: @georgejean (#2727, #2752) and @JingMatrix (#2741).

v2.13

10 months ago

This is a relatively large release that brings several features/improvements and bug fixes, as well as some performance improvements and improved documentation.

There are a few breaking changes. The most important one is likely the change from build_dir to out_dir. Users who specify this option should update their configuration. For example:

" This is now wrong!
let g:vimtex_compiler_latexmk = {
      \ 'build_dir': ...
      \}

" Instead, do this:
let g:vimtex_compiler_latexmk = {
      \ 'out_dir': ...
      \}

Features

  • Commands
    • Breaking change! Change default command parser (#2628)
    • Add g:vimtex_parser_cmd_separator_check to allow more flexibility for the command parser (#2628)
    • Allow cmd-create (default mapped to <f7>) to work with stars (#2612)
  • Viewers
    • Breaking change (minor)! Add job.signal_hup and use it to update mupdf (#2676)
    • Add viewer zathura_simple, a Zathura viewer that should work well on MacOS (#2639, #2046)
    • Add viewer TeXShop (#2387, #2672)
    • Add g:vimtex_view_sioyek_options (#2621, #2468)
  • Compilers
    • Breaking change! The .build_dir option of g:vimtex_compiler_METHOD is changed to .out_dir (#2534, #2677)
    • Add support for setting g:vimtex_compiler_latexmk.aux_dir for latexmk (#2534, #2677)
    • :VimtexClean for generic viewers should also remove .xdv files (#2713)
    • Allow more dynamic configuration of g:vimtex_compiler_method (#2721)
  • Completion
    • Add g:vimtex_complete_bib.info_fmt (#2606)
  • Syntax
    • Add g:vimtex_syntax_custom_cmds_with_concealed_delims (#2634, #2641, #2666)
    • Match ~, \ and \@ as texSpecialChar (#2654, #2655)
    • Add support for empheq package (#2643)
    • Improve conceals for math delimiters, e.g. \\{ and \\} (#2645)
    • Add spacing conceal for \phantom{arg} and \hphantom{arg} (#2642)
    • Add spacing conceal for \> (#2649)
    • Add conceal support for \texorpdfstring (#2648)
    • Some improvements to amsmath package, e.g. conceal for matrix environments (#2650)
    • Conceal \citep with ()s (#2658)
    • Support ieeeconf and ieeetran (#2675)
  • Other
    • Add option g:vimtex_mappings_prefix to allow customization of the default mapping prefix (#2611)
    • Improve biblatex errorformat (quickfix parser) (#2663)
    • Improve pplatex errorformat (quickfix parser) (#2703)

Performance

  • Postpone gathering the source list during initialization (#2617)
  • Use caching for vimtex#parser#preamble (#2617)
  • Improve performance of latexlog quickfix parser (use index instead of match) (#2691)
  • Avoid expensive parsing on too large log files (#2691)
  • Minor improvement to indentexpr

Bug Fixes

  • Viewers
    • Update Skim check (#2669)
    • Dont detach the general viewer on Windows (#2401, #2627, #2706, #2717)
  • Syntax
    • Apply g:vimtex_syntax_custom_cmds after any additional syntax packages are sourced (#2629)
    • only conceal second \cite option group if it is empty (#2658)
    • Comment environment should be texComment (#2626)
    • vimtex#syntax#in_mathzone should ignore \tag{arg} (#2644)
    • Minor mathdelim bug (#2656)
    • Use correct conceal character for \[lr]brace (#2657)
    • Remove unnecessary keepend for section conceal (#2648)
    • Don't match tex delims in comments (#2697)
    • Ensure that VimTeX syntax options are not overriden (#2698)
    • Wrap syntax foldlevel behind try-catch (#2708)
    • Ignore luaParen and luaParenError (#2711)
  • Other
    • Only apply buffer options for filetypes (#1937)
    • Increase range of support for tex2unicode (#2596)
    • Avoid qf_autoclose_check if command-line window open (#2637)
    • Get right debug info on ios (#2647)
    • Relax check for Treesitter conflict (#2469)
    • Fix typo in fold/markers.vim (#2668)
    • Use double quotes for filename in tectonic compiler (#2664)
    • Properly handle nested itemize indents (#2670)
    • Fix regression bug for indentexpr for rnoweb (#2695, #759)
    • Ensure cache has validate data on write
    • Add validation to bib completion cache (#2712)
    • Fix bad compiler/_template.clean function (#2715)

Documentation

  • Apply more consistent formatting and use nested highlighting support for neovim with Treesitter.
  • Add description of GIF creation process (#2686, #2685)
  • Add more compiler engine alternatives in examples for g:vimtex_compiler_latexmk_engines (#2705, #2683)
  • Add missing default value (#2623)
  • Fix a bug in nvim-cmp configuration example (#2653)
  • Some minor improvements

Acknowledgements

As before I would like to give a special thanks to everyone who contributes with PRs: @Aster89 (#2612), @wintermute-cell (#2611), @clason (#2669), @michaelliebling (#2387, #2672), @ejmastnak (#2686), @ehudbehar (#2705), and @doronbehar (#2713).

v2.12

1 year ago

Another release, another set of updates. Some bug fixes, some improvements to the documentation, and some minor improvements and enhancements. This time, I think the main thing to highlight may be the improved main-file detection (core feature, most people will probably not notice it), as well as some improvements to the cache feature.

Features

  • Compiler
    • Improve compileability checker (#2471)
  • Completion
    • Support completion for \PassOptionsToClass (#2521)
    • Label completion for \nameref (#2208, #2593)
    • Add "info" item for citation completion (#2606)
  • Syntax
    • Support for fixme package (#2494)
    • Support for optidef package (#2495)
    • Support for fontawesome5 package (#2506, #2528, #2530, #2580)
    • Better conceals for spacing cmds (#2594)
    • Support mathtools' \shortintertext (#2586)
  • ToC features
    • Support for fixme package (#2497)
    • Adjust ToC help text (#2520)
    • Match %TODO without space (#2546)
  • Editing
    • Add maps to surround with environment (#2489)
    • Allow to customize fraction toggle map (#2402)
  • Miscellaneous
    • Improve main-file detection (#2557, #2483, #2471, #2558)
    • Allow colon for tex root specifier (#2471)
    • Doc support (K mapping) for usetikzlibrary (#2480)
    • \includeonly in g:vimtex_include_indicators (#2519)
    • Use hardcoded defaults for &shell settings (#2554)
      • This seems necessary to make things work on e.g. MSYS2 on Windows.
    • Option to avoid confirmation for VimtexDocPackage (#2567)
    • Avoid xdotool unless we already use xwin_id (#2569)
    • Improve calculation of current win width for environment folds (#2551)
    • Improve cache backend

Bug Fixes

  • Compiler
    • Run custom callbacks in Vim also when continuous mode is off
    • :VimtexCompileSelected should respect build_dir (#2522)
  • Syntax
    • Subscript delta does not exist (#2485)
    • Swap defaults for VimtexError and VimtexFatal (#2552)
  • Miscellaneous
    • Avoid special utf-8 char for fzf delimiter (#2486)
    • Error in toggle_math (#2488)
    • Minor bug in chktex compiler (#2549)
    • Add &shell reset for neovim's jobstart (#2554)
    • Recognize files with .latex extension (#2571)
    • s:get_main_choose should return full path (#2595)
    • Remove redundant highlight link (#2608)
    • Fix wrong .github/workflows/assets.yml (#2531)

Documentation

  • Several adjustments and minor improvements (e.g. #2515, #2537, #2541, #2542)
  • Improve main-file detection docs (#2557, #2559)
    • Change wording: "recursive search" to "directory scan" (#2559)
  • Improve docs for tex root directive (#2556)
  • More discoverable g:vimtex_callback_progpath (#2475)
  • Update Yalafi URLs (#1714)
  • Update TeXlab url (#2548)
  • Mention bibtex-tidy (#2487)
  • Make links to GIFs slightly easier to find (#2362, #2492)
  • Added short doc for vimtex#env#is_inside (#2501)
  • Improve introduction to :help vimtex-completion
  • Improve docs for generic compiler interface (#2021)
  • Some simplification of latexmk docs (#2523, #2603)
  • Fix typo in pdf_mode reference (#2540)
  • Mention semantic linebreaker in docs (#2544)
  • More consistent path references (#2539)
  • Be verbose about what "fold enabled" means (#2547)
  • Add note on discouraged lazy loading of VimTeX (#2560)
  • Clarify styling for custom cmds (#2574)
  • Add FAQ section on SumatraPDF in WSL (#2566)
  • Describe how text objects depend on syntax highlighting (#2583)
  • Link to new Zathura-macOS recipe for Apple Silicon (#2604, #2605)
  • Improve docs on Sioyek on Windows WSL (#2477)
  • Expand :help vimtex-faq-treesitter (#2484, #2469)

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: @Freed-Wu (#2528, #2530, #2531), @ejmastnak (#2492, #2605), @JingMatrix (#2411), @aryabhatta-dey (#2469, #2484), @huweiATgithub (#2495), @krishnakumarg1984 (#2515, #2537, #2542, #2548), @PatrBal (#2551), @fauust (#2556), @shuber2 (#2559, #2560), @senesc (#2586), and @tomtomjhj (#2608).

v2.11

1 year ago

Time sure seems to pass quickly. Another three months have gone by. As usual, there are a few updates. Nothing huge, but enough to warrant a small release. The main highlight is an update to the core highlight groups: the texMathZone groups now have more consistent names. Please see #2467 and read :help vimtex-syntax-reference, Table 3 for more info.

Features

  • Viewer
    • breaking Remove --reuse-window option for Sioyek (#2468)
    • Add a check for Sioyek for :checkhealth (#2441)
    • Improve X11 shared code (for Zathura and MuPDF) (#2415, #2417)
  • Syntax
    • breaking More consistent texMathZone group names (#2467)
    • Initial support for pyluatex (#2460)
    • Support for mleftright (#2466)
    • Improve tabular support (#2408)
    • Improve tabularx support (#2403)
  • Miscellaneous
    • Use a more strict main file detection (#2465)
    • Specify filetype for VimTeX TOC (#2418)
    • Improve positioning after delim toggle tsd (#2445)
    • Add error message when trying to compile with a bad main file (#2465)
    • Adjust default mappings in .bib files (#2433, #1517)

Performance

  • Limit number of iterations for delim#get_surrounding() (#2432)
  • Optimized s:fix_paths_hbox_warning() by use of caching (#2407)
  • Optimized (and simplified) vimtex#util#count()

Bug Fixes

  • Viewer: Use full path for zathura --synctex-forward (#2392, #2377)
  • TOC: Fixed minor error in VimtexTocTodo match regex (#2410)
  • Syntax: Fix issue with nested math zones due to keepend (#2429)
  • Indentation: Avoid extra indents on \iftoggle (#2450)
  • Set 'noreadonly' for VimTeX special buffers (#2399)
  • Use detached mode for jobstart (#2401)
  • Escape paths before magic substitute (#2405)
  • Use fnameescape for outdir with tectonic (#2436)
  • Fixed bug in cmd#get_current with beamer overlay parser (#2446)
  • Fixed parsing issue for .aux label string (#2457)

Documentation

  • README.md: Show install instruction for packer.nvim (#2281)
  • Improved paragraph on project-local configurations (#2422)
  • Added a brief comment on macvim-clientserver (#2456)
  • A few minor fixes (#2450, #2452, #2393)

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: @MarcelRobitaille (#2403), @ejmastnak (#2417), and @thezeroalpha (#2436).

v2.10

1 year ago

It's been a bit more than 3 months since the last release and there's been quite a few commits. It's therefore time to bring a new release of VimTeX . The highlights of the release in my opinion:

  • There is a new VISUALS.md that shows off several of the most important features with nice animations.
  • Support for local texdoc as documentation handler for K.
  • Improved ts$ and cs$ to provide convenient autoformatting

Features

  • Syntax
    • Added more conceals (#2186, #2331, #2333, #2356)
    • Add warning about Tree-sitter clash (#2388, #2389)
  • Viewer
    • Improved Zathura commands and code (#2342)
  • Indentation
    • Improve delimiter indentation (#2328, #2347)
    • Adjust autoindent for \item to avoid unexpected indents (#2382)
      • See also some related discussions and temporary fixes in #2179, #2227, and #2332.
  • Other
    • Added texdoc as optional local documentation handler (#2300)
    • Allow VimTeX to load for .dtx, .tikz, and .ins files (#2326)
    • Add g:vimtex_format_border_(begin|end) to let users control the "borders" of regions that should be formatted (#2358)
    • Improve folding of multiline section titles
    • Adjust default mappings for non-tex files (#1937)
    • ts$ and cs$ now applies convenient autoformating (#2321)

Fixes

  • Compiler
    • Fixed callback-handler issue for latexmk (#2366, #2367, #2386)
    • Ensure CWD is project root for pplatex (#2369)
  • Windows
    • Allow lowercase drive letter (#2322)
  • Other
    • Relax regular expressions for environment delimiter matching (#2334, #2360)
    • Fix TOC parser continuation for multi-line content (#2364)
    • Adjustment to text objects to properly handle set selection=exclusive (#2368)
    • A few minor fixes (#2313, #2327, #2328, #2370)

Documentation

First, README.md has been enriched with great visual examples provided by @ejmastnak. He also contributed VISUALS.md with a more complete set of great animations that display many of the useful features from VimTeX (see #2362, #2380). Thanks!

There's also been several improvements to the docs! In addition to minor fixes and adjustments, the following sections/topics have seen improvements:

  • LaTeX documentation handler (vimtex-latexdoc) (#2330)
  • Mention angryreviewer in grammar checking section (vimtex-grammar) (#2354)
  • Add map example for "add closing brace" on F7 (<plug>(vimtex-cmd-create)) (#2365)
  • Zathura on MacOS (vimtex-faq-zathura-macos) (#2391)
  • Config guide for MUcomplete (vimtex-complete-mucomplete) (#2381)

Acknowledgements

I would like to give a special thanks to everyone who contributes with PRs: @aloispichler (#2333), @ejmastnak (#2362, #2380), @patnr (#2365), @MoetaYuko (#2367), @JingMatrix (#2369), and @tsung-ju (#2381).

v2.9

2 years ago

I'm happy to announce another release of VimTeX. There is mostly minor improvements since v2.8. The main improvements are:

  • Added ts$ command to toggle inline and displayed math
  • Improved the cs$ command
  • Simplified the viewer interface (this should be mostly invisible to users)
  • Several improvements to syntax highlight

Although, of course, even minor improvements and fixes are useful to ensure long-term stability and life time.

Features

  • Viewers
    • Simplified the viewer interface (refactor)
      • We now never allow latexmk to start the viewer "implicitly"
      • Breaking: Removed option g:vimtex_view_general_options_latexmk
    • Added Sioyek as a native viewer method (let g:vimtex_view_method = 'sioyek')
    • Refactored and improved Skim viewer - this allows it to work well after recent MacOS updates (#2279, #2286, #2289)
    • Allow to override v:progpath used by Zathura with g:vimtex_callback_progpath (#2261, #2262)
    • Add Skim support for g:vimtex_view_automatic option
  • Syntax
    • Add support for chemformula and sagetex package (#2235, #2027)
    • Breaking: Improved g:vimtex_syntax_custom_cmds to allow more flexibility (#2240)
    • Improved Expl3 syntax (#2272)
    • Avoid spell checking in magic comments and expressions like $n$th (#2293)
    • Support \iffalse and \iftrue commands to highlight the corresponding "false" blocks as comments (#1988, #2319)
    • Added conceal symbols for \lhd and \rhd (#2238)
    • Added conceal for more biblatex commands (#2244)
  • Editing commands
    • Add ts$ command to toggle inline vs display math - use g:vimtex_env_toggle_math_map to control behaviour (#1858, #2310)
    • Add <F8> command to add \left and \right math modifiers to all surrounding delimiters (#2313)
    • Improve tsf command: support \dfrac (#1984)
    • Improve gf command (#2111)
    • Improve cs$ command (#1858)
      • Support for math environments in addition to $...$, \(...\), $$...$$, and \[...\]
      • Adjust the formatting after changing to e.g. $...$ and \[...\]
    • Improve i$ and a$ text objects: Support math environments
  • Other
    • Compiler: Add proper user feedback on :VimtexCompileSS (#2276)
    • Quickfix: Improve overflow/underflow parsing (#2256)
    • Initialization: Preserve main root for local standalones (#2234)
    • Allow :VimtexTocToggle inside ToC (#2317)
    • Allow commands like <F7> and csc in .bib files (#2301)

Fixes

  • Viewers
    • Fix default viewer start on Windows (#2309)
    • Avoid race condition for MuPDF (#2299)
  • Syntax
    • Use unicode character for \times conceal (#2242)
    • Fix modern siunitx commands in math mode (#2245)
    • Properly handle \newcommand\name (#2266)
    • Ignore texRefArg in vimtex#syntax#in_mathzone (#2282)
    • Better matching of \(...\) math mode (#2311)
  • Compiler
    • Avoid duplicate compiler callbacks (#2299)
    • Remove trailing <cr>s in compiler output on windows (#2292)
    • Only create subdirectories with build_dir option (#2303)
  • Other
    • Restrict g:vimtex_subfile_start_local to only affect subfiles
    • Temporarily reset 'shell' setting for Vim on unix to avoid problems with shell commands (#2246)
    • Several minor fixes (e.g. #2287, #2288, #2291)
    • Avoid error on empty cache

Documentation

  • Improve requirement section (#2248)
  • Add a configuration section to README (#2248)
  • Add reference to SVED for Evince (#2314, #179)
  • Add configuration guide for nvim-cmp (#2215)
  • Document VimtexEventCompiling (#2290)
  • Improved documentation of g:vimtex_syntax_conceal options (#2308)
  • Add some info on LTeX (#2285)
  • Several general improvements (e.g. #2308, #2267, #2243)

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: @yehoshuapw (#2238), @mathjiajia (#2239), @savq (#2242), @krissen (#2244), @poscat0x04 (#2262, #2267), @ld0891 (#2282), @yongrenjie (#2286), @clason (#2289), @davidlowryduda (#2308, #2314), @habamax (#2309).

v2.8

2 years ago

It is again time for a new release. Since v2.7, there's been the normal amount of minor improvements and some refactoring. The main updates I would like to highlight are:

  • VimTeX now works even better with inverse search from viewers:
    • I've added :VimtexInverseSearch that can be used by the viewer specific configuration to communicate with VimTeX in a "server agnostic" manner. See :help vimtex-synctex-inverse-search for more info.
    • The documentation on configuration of inverse search with viewers has been rewritten.
  • The backend for running external processes and jobs has been rewritten. This is probably not so noticable by users, but it makes it easier to work with for me!

Features

  • Viewers
    • Add :VimtexInverseSearch to simplify inverse search configuration in viewers (#2219)
    • Simplify Zathura libsynctex check
  • Indentation
    • Only autoindent with 'indentkeys' at start of line (#2227)
    • Allow content before first \item (#2020)
  • Performance
    • Reduce wait time for vim.job_stop (#2222)
    • Add cached system call to process handler
    • Avoid a glob() call if possible (#2198)
    • Delay Skim availability check (#2185)
  • Syntax
    • Support \nameref (#2208)
    • Allow more styling to g:vimtex_syntax_custom_cmds (#2033, #2224)
    • Conceal support for \(sub)*section (#2022)
    • Add conceal for \[lr][vV]ert (#2186)
    • Minor update to math symbol conceals (#2178)
    • Support for Overleaf's begin|end novalidate (#2171)
    • Improve support for siunitx package (#2167)
  • Backend and initialization
    • Ignore 'shell' option for jobstart with neovim (#2220)
    • Improved latexlog quickfix error parsing (#2214)
    • Remove unnecessary option g:vimtex_compiler_progname
    • Add vimtex#env#get_* api functions (#2212)
    • Rewrite process handler (#2195)
      • Simplify and improve structure of job calls
    • Add proper cache validation to all caches (#2206)
    • Parse TeX program directive on request, not only on init (#2168)
    • Improve 'define' option (#2164)

Fixes

  • Fixed a (probably rare) problem with E565 from callback (#2225)
  • Fixed missing highlight of subsec in ToC (#2221)
  • Fixed a race condition for compiler and check_running timer (#2222)
  • Fixed issue with chktex linter (#2209)
  • Fixed an issue where \input lines were not properly parsed (#2204)
  • Fixed mapping: tse shouldn't toggle \begin{document} (#2210)
  • Fixed a couple of bugs with indentation (#2031, #2229)
  • Fixed some minor issues with the vlty grammer checker (#2190, #2191)
  • Fixed a bug with the textidote grammer checker (#2190)
  • Fixed a conflict between autoindent and completion (xxx)
  • Fixed some cache issues (#2184, #2188, #2189)
  • Fixed an error with :VimtexInfo on Windows (#2134, #2220)
  • Some minor regression and bugs (#2170, #2175, #2202)

Documentation

  • Rewrote the documentation on inverse search (#2157, #2219)
    • This was a large change that also improves the documentation for the various viewers and their configuration.
  • Use more positive wording for section on integration with other plugins (#1371)
  • Some general improvements

Other

  • More maintenance work such as a refactoring of the compiler backend.

Ackowledgements

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: @krishnakumarg1984 (#2172), @Konfekt (#2191, #2209), @BertrandSim (#2227), @JaSpa (#2230).

In addition, this time I also want to raise a special thanks to @clason, @PanagiotisS, @BertrandSim, @user202729, and @andryandrew, who helped me test and resolve issues with the new :VimtexInverseSearch feature.

v2.7.1

2 years ago

This is a minor release that fixes a critical bug contained in the last commits before v2.7. See #2166 for details.

v2.7

2 years ago

The last couple of months have seen several new fixes, updates, and some minor feature improvements. There's been some refactoring, especially to the compiler backend code. I believe there should be no breaking changes (but I'm probably wrong).

Features

  • Better compiler status handling, especially for latexmk (#2141)
    • Added option g:vimtex_compiler_silent, which may be useful if one uses compiler status in ones statusline.
    • With this update, it is possible to get a more dynamic compiler status in ones statusline, see #2141 for details.
  • Improved syntax support
    • State dependent syntax (#2086)
    • Allow braces in array column specification (#2122)
    • Improve g:vimtex_syntax_nospell_commands (#2118)
    • \bibitem support (#2086)
    • natbib package (#2155)
    • amstex package (#2119)
    • amsthm package and core theorem (#2086)
  • Improved Zathura viewer backward search configuration (#2127, #2135)
  • Improved vimtex#view#reverse_goto (#2150, #2127)
    • Added event VimtexEventViewReverse to allow more customization after a reverse goto (#2110)
    • This function is useful for slightly improved reverse goto support and is used by default e.g. with the Zathura viewer.
  • Improved the compiler output buffer (#2138, #2086)
  • Improved pplatex support (#2144)
  • Improved how the latexlog quickfix backend handles "Runaway args" (#2136)
  • Improved the fold text for environments (#2117, #2128, #2107)
  • Added new bib parser backend: bibtexparser (#2103)
  • Added completion for \DeclarePairedDelimiter (#2123)
  • Added completion of .tikz files for \input{... and friends (#2162)
  • Use ftdetect to load VimTeX for all .cls and .tikz files (#2163, #2162)
  • Other minor improvements (#2149)
    • Allow more dynamic build_dir config (#2137)
    • Guess language for vlty if necessary (#2128)
    • Improve indentkeys option (#2125)
    • Add cache validation for some cases (#2097)

Fixes

  • Fixed problem with quickfix autoclosing (#2161)
  • Allow autoload functions to be doc handlers (#2153)
  • Fixed issue with starred environments in ToC parser (#2080)
  • Fixed LaTeX command parser - don't allow empty lines when gobbling arguments (#2160)
  • Fixed issue with extra quotes on Windows (#2139, #1256)
    • Please note that I rely on help of contributors for Windows related issues! I don't use or test VimTeX on a Windows computer myself.
  • A lot of other minor fixes (#2165, #2152, #2149, #2138, #2148, #2145, #2142, #2126, #2121, #2120, #2086, #2100)

Documentation

Ackowledgements Thanks to @psvenk, @tornaria, @Konfekt, @BertrandSim, @krishnakumarg1984, and @gjgress for the PR contributions!