|
| 1 | +## [4.0.0](https://github.com/kkoomen/vim-doge/compare/v3.22.0...v4.0.0) |
| 2 | + |
| 3 | +In v4 a new custom [vim-doge-helper](./helper/) has been created, completely |
| 4 | +developed in Rust from scratch, being a replacement for the old NodeJS version |
| 5 | +that vim-doge had in v3. |
| 6 | + |
| 7 | +This new version resolves the following problems that existed prior to v4: |
| 8 | +- Failing Windows builds due to node-gyp build problems |
| 9 | +- Templating limitations: v4 contained basic templating functionality that |
| 10 | + was customly written, as opposed to v4 that uses |
| 11 | + [Tera](https://tera.netlify.app/docs) |
| 12 | +- Limited platform builds: v3 required due to NodeJS that binaries were created |
| 13 | + on the target machine itself that it was eventually used for. Windows builds |
| 14 | + had to be created on a windows runner and support for Apple Silicon had to be |
| 15 | + build on arm64 machines, but v4 can use the power of cross-compilation of Rust |
| 16 | + (through LLVM) to make builds for any platform we want, all on a single |
| 17 | + machine. |
| 18 | +- Tree-sitter language limitations: v3 required parsers to be published on NPM, |
| 19 | + but these packages weren't maintained that well. If there was no package of a |
| 20 | + certain parser on NPM, then we simply can't implement the language. With v4 we |
| 21 | + can use the tree-sitter GitHub source to be included in Cargo.toml that can |
| 22 | + link everything properly from C to Rust and we don't need any third-party |
| 23 | + package manager anymore in-between vim-doge and tree-sitter. |
| 24 | +- Vimscript logic: v3 contained docblock generating logic that should actually |
| 25 | + not be managed in vim. For example, It used plain regex to do some additional |
| 26 | + pre/post-processing rather than using tree-sitter. In v4 all the logic has |
| 27 | + been moved to the [vim-doge-helper](./helper/) and all the vimscript code is |
| 28 | + only a bridge between the user and the vim-doge-helper. |
| 29 | +- Speed: v4 allows docblocks to be generated with the blink of an eye, as |
| 30 | + opposed to v3 where users had to wait a bit, and even worse, the first |
| 31 | + docblock genereration you did in v3 after you've downloaded the vim-doge |
| 32 | + binary, did require NodeJS to start the runtime which would take a second or |
| 33 | + two. |
| 34 | + |
| 35 | + |
| 36 | +Besides the above being resolved, |
| 37 | + |
1 | 38 | ## [3.22.0](https://github.com/kkoomen/vim-doge/compare/v3.21.0...v3.22.0) (2023-06-10)
|
2 | 39 |
|
3 | 40 | ### Features
|
|
0 commit comments