Skip to content

Commit

Permalink
docs(changelog): rephrase text
Browse files Browse the repository at this point in the history
  • Loading branch information
kkoomen committed Jul 9, 2023
1 parent 8a96950 commit 9beb475
Showing 1 changed file with 21 additions and 22 deletions.
43 changes: 21 additions & 22 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,34 @@
## [4.0.0](https://github.com/kkoomen/vim-doge/compare/v3.22.0...v4.0.0)

In v4 a new custom [vim-doge-helper](./helper/) has been created, completely
developed in Rust from scratch, being a replacement for the old NodeJS version
that vim-doge had in v3.
In v4 a new custom [vim-doge-helper](./helper/) has been created, completely developed in Rust from scratch, being a replacement for the old NodeJS version that vim-doge had in 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
- **Templating limitations:** v3 contained basic templating functionality that
was customly written, as opposed to v4 that uses
[Tera](https://tera.netlify.app/docs)
- 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 weren'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
- **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 weren'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](./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
- **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](./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 would take 0.4s. With
v4, codeblocks are generated in about 0.01s.
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, codeblocks are
generated in about ±0.015s.

## [3.22.0](https://github.com/kkoomen/vim-doge/compare/v3.21.0...v3.22.0) (2023-06-10)

Expand Down

0 comments on commit 9beb475

Please sign in to comment.