Closed lambdalisue closed 1 month ago
The recent updates to the Denops project enhance functionality and improve version compatibility. Key changes include new features for plugin management, error handling, and asynchronous operations. GitHub workflows have been refined, and documentation has been updated accordingly. These improvements aim to provide a robust development environment for Vim and Neovim plugins, ensuring better stability and an improved user experience.
Files/Directories | Change Summary |
---|---|
.github/workflows/test.yml , .github/workflows/update.yml |
Updated workflow configurations, including job dependencies, version updates, and command adjustments. |
README.md |
Updated version badges for Deno, Vim, and Neovim; removed Deno Land badge. |
autoload/denops.vim |
Added denops#interrupt(...) function for managing asynchronous interruptions. |
autoload/denops/_internal/job.vim , autoload/denops/_internal/plugin.vim |
Improved error handling and introduced new functions for plugin management. |
denops/@denops-private/service.ts , denops/@denops-private/version.ts |
Updated Service class with lifecycle management and error handling; modified version imports. |
tests/denops/testutil/... |
Added mock utilities and configurations for testing, improving the robustness of the test suite. |
tests/denops/testutil/shared_server.ts , tests/denops/testutil/shared_server_test.ts |
Introduced functionality for managing a shared server in tests and associated test cases. |
denops/@denops-private/service_test.ts |
Enhanced test suite for the Service class, improving coverage and error handling. |
sequenceDiagram
participant User
participant Plugin
participant Denops
participant Host
User ->> Plugin: Load new plugin
Plugin ->> Denops: Register plugin
Denops ->> Host: Initialize plugin environment
Host ->> Denops: Confirmation
Denops ->> Plugin: Initialization complete
User ->> Plugin: Execute command
Plugin ->> Denops: Process command
Denops ->> Host: Execute command
Host -->> Denops: Return result
Denops ->> Plugin: Provide result
Plugin ->> User: Display result
User ->> Plugin: Unload plugin
Plugin ->> Denops: Unregister plugin
Denops ->> Host: Cleanup plugin environment
Host ->> Denops: Confirmation
Denops ->> Plugin: Unload complete
Amidst the code, a change took place,
With vim and vigor, we embrace,
New versions rise, old bugs subside,
Denops now, a smoother ride.
Functions added, features grow,
Interruptions handled, letβs go!
Celebrate the update cheer,
A brighter path, now crystal clear.
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Attention: Patch coverage is 96.32768%
with 26 lines
in your changes missing coverage. Please review.
Project coverage is 95.44%. Comparing base (
09e6495
) to head (6eb990e
).
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
https://github.com/denoland/deno/issues/23792 https://uki00a.github.io/deno-weekly/articles/2024/06/16.html#node-api
Node API is fixed so we can remove https://github.com/vim-denops/denops.vim/pull/344/commits/fc956a92d3c558dbf926d736133da013c9beec4e if we use Deno 1.44.2 or later
P.S.
I removed the workaround commit and rebased.
1.43.x1.45.x9.1.03999.1.04480.9.50.10.0Ref
Summary by CodeRabbit
Summary by CodeRabbit
New Features
denops#interrupt(...)
.wait
function for polling asynchronous operations.Enhancements
Tests
Service
class.Documentation