Vim Doge Versions Save

(Do)cumentation (Ge)nerator for nearly 20 languages 📚 Generate proper code documentation with a single keypress. ⚡️🔥

v4.3.2

9 months ago

v4.3.1

9 months ago

What's Changed

Full Changelog: https://github.com/kkoomen/vim-doge/compare/v4.3.0...v4.3.1

v4.3.0

9 months ago

What's Changed

Full Changelog: https://github.com/kkoomen/vim-doge/compare/v4.2.0...v4.3.0

v4.2.0

9 months ago

v4.1.2

9 months ago

v4.1.1

9 months ago

What's Changed

Full Changelog: https://github.com/kkoomen/vim-doge/compare/v4.1.0...v4.1.1

v4.1.0

9 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/kkoomen/vim-doge/compare/v4.0.0...v4.1.0

v4.0.0

10 months ago

The Rust rewrite that had to happen

In v4 a new custom vim-doge-helper has been created, completely developed in Rust from scratch, being a replacement for the old NodeJS version that vim-doge had in v3.

TL;DR: v4 now generates docblocks ~96% less time, 26% faster and has 87% smaller bundle sizes compared to v3.

This new version resolves the following problems that existed prior to v4:

  • Failing Windows builds due to node-gyp build problems
  • Templating limitations: v3 contained basic templating functionality that was custom written, as opposed to v4 that uses Tera
  • Limited platform builds: v3 required due to NodeJS that binaries were created on the target machine itself that it was eventually used for. Windows builds had to be created on a windows runner and support for Apple Silicon had to be build on arm64 machines, but v4 can use the power of cross-compilation of Rust (through LLVM) to make builds for multiple architectures.
  • Tree-sitter language limitations: v3 required parsers to be published on NPM, but these packages aren't maintained that well. If there was no package of a certain parser on NPM, then we simply can't implement the language. With v4 we can use the tree-sitter GitHub source to be included in Cargo.toml that can link everything properly from C to Rust and we don't need any third-party package manager anymore in-between vim-doge and tree-sitter.
  • Vimscript logic: v3 contained docblock generating logic that should actually not be managed in vim. For example, It used plain regex to do some additional pre/post-processing rather than using tree-sitter. In v4 all the logic has been moved to the vim-doge-helper and all the vimscript code is only a bridge between the user and the vim-doge-helper.
  • Speed: v4 allows docblocks to be generated with the blink of an eye, as opposed to v3 where users had to wait a bit, and even worse, the first docblock genereration you did in v3 after you've downloaded the vim-doge binary, did require NodeJS to start the runtime which lead to a total wait time of ±0.4s until the docblock was generated. With v4, docblock are generated in about ±0.015s.
  • Bundle size: v3 bundles were ~30MB, whereas v4 bundles are ~4MB (87% smaller)

What's Changed

Full Changelog: https://github.com/kkoomen/vim-doge/compare/v3.21.0...v4.0.0

v3.22.0

11 months ago

What's Changed

Full Changelog: https://github.com/kkoomen/vim-doge/compare/v3.21.0...v3.22.0

v3.21.0

1 year ago

What's Changed

Full Changelog: https://github.com/kkoomen/vim-doge/compare/v3.20.0...v3.21.0