Skip to content

Commit 0020d98

Browse files
committed
feat: Blog post.
1 parent 08639af commit 0020d98

File tree

2 files changed

+68
-3
lines changed

2 files changed

+68
-3
lines changed

blog/2024-8-6-why-is-yazi-fast.md

+67-3
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,85 @@ title: What is new on 4.0?
44
authors: [sxyazi]
55
---
66

7+
## Some metrics
8+
79
* `Version 4.0` add `1282` commits over `NormalNvim 3.0`.
10+
* Over `10.000` non breaking changes.
811
* This is the result of `368 days of full time development`.
12+
* `56` new users have joined [our discord channel](https://discord.gg/ymcMaSnq7d).
913

10-
## New features
14+
You can check all changes on GitHub [here](https://github.com/NormalNvim/NormalNvim/compare/v3.0.0...v4.0.0-rc7).
1115

16+
## New features
17+
* ✨feat(`language support`): 24+ progamming languages are now included out of the box with lsp, linter, formatter, compiler, and debugger, preconfigured. So you can just start coding without having to setup anything.
18+
* ✨feat(`web`): We now have a website for the distro.
19+
* ✨feat(`installer`): We now have an automated installer. See [here](https://github.com/NormalNvim/NormalNvim/releases/tag/v3.6.0).
1220
* ✨feat(`yazi`): New file manager as drop-in replacement for `ranger`. Written in rust and 100% async.
1321
* ✨feat(`markdown`): Files are now rendered on normal mode.
22+
* ✨feat(`garbage-day.nvim`): We now ship a plugin to pause LSP servers when you are not using them to save resources.
23+
* ✨feat(`android support`): This versions supports android termux, including the compiler, and the debugger.
24+
* ✨feat(`compiler.nvim`): improved support for gradle (commit).
25+
* ✨feat(`compiler.nvim`/`dooku.nvim`/`markmap.nvim`): All the plugins we maintain now support paths with spaces.
26+
* ✨feat(`nvim`): Added support for `nvim 0.10`. All the plugins we maintain have been ported to nvim 0.10 too.
27+
* ⚡perf(`greeter`): Now open nvim considerably faster.
28+
* ⚡perf(`plugins`): Have been optimized to lazy load much more efficiently.
29+
* ⚡perf(`treesitter`): Comments are now natively supported.
30+
* ✨feat(`none-ls-autoload.nvim`): Is the new plugin we use instead of mason-null-ls to automatically load/unload none-ls sources installed on mason.
31+
* ✨feat(`none-ls-external-sources.nvim`): Is a combination of all the available repositories providing none-ls external sources.
32+
* ✨feat(`none-ls`) Support for cucumber gherkin added.
33+
* ✨feat(`nvim-coverage`): Now support hunks.
34+
* ✨feat(`nvim-lightbulb`): display a 💡 icon when a code action is available in the current line. It can be disabled with vim.g.codeactions_enabled = false in the file base/1-options.lua.
35+
* ✨(`litee-calltree`): is now available by pressing gj.
36+
* ✨feat(`dooku.nvim`): Now supports lua and ruby.
37+
* ✨feat(`notifications`): now display smoother (144fps) and last shorter (2.5s).
38+
* ✨feat(`compiler.nvim`): now support the build automation utility meson.
39+
* ⚡perf(`ui`): Now load instantly even when Neovim is opened with arguments.
40+
* ✨feat(`ui`): This version introduces a new winbar with buttons for neotree, aerial, and the compiler.
41+
* ✨feat(`heirline-components.nvim`): We now maintain a heirline components plugin to take complexity out of it.
42+
* ✨feat(`compiler.nvim`): Can now compile the swift programming language.
43+
* ✨feat(`java`): support for java has been greatly improved and all features now work out of the box.
44+
* ✨feat(`php`): has been curated and all features now work out of the box.
45+
* ✨feat(`neotest`): now support the languages dart, elixir, java, phpunit, zig.
46+
* ✨feat(`virtualenv`): We now display the active virtual environment on the status bar (if any)
47+
* ✨feat(`mini.indentscope`): is now used to highlight the current block of code.
48+
* ✨feat(`compiler.nvim`): can now compile elixir.
49+
* ✨feat(`ufo`): New keymapping zn to fold comments.
50+
* ✨feat(`noice`): The command bar is now beautified.
51+
* ✨feat(`dap`): The debugger now supports typescript, javascript, and react JSX.
52+
* ✨feat(`mappings`): new keymapping space+ba → To write all buffers.
53+
* ✨feat(`notifications`): Are now automatically dismissed when writing the buffer.
54+
* ✨feat(`Compiler.nvim v3`): now ship a total of 128 compilation options for 22+ programming languages. This has been the product of 2+ months of full time effort, so please enjoy it.
55+
* ✨feat(`right click contextual menu`): We now ship it by default and can be customized in the autocmds file.
1456

1557
## Minor fixes
16-
* 🐛fix(highlight-undo.nvim): config adapted to their latest version. Colors are now consistent.
58+
* 🐛fix(`highlight-undo.nvim`): config adapted to their latest version. Colors are now consistent.
59+
* 🐛fix(`codelens`): the mapping space + u + L now refreshes codelens when toggling it on. (commit)
60+
* 🐛fix(`codelens`): ocassional notification when resuming from garbage-day.nvim has been fixed here and here.
61+
* 🐛fix(`lsp`): This version fix rare border cases where LSP mappings were not added correctly (remarkably, on java).
62+
* 🐛fix(`formatting`): The mapping Space + l + f now run :checktime to reflect the changes in the editor immediately.
63+
* 🐛fix(`aerial`): Now open correctly even when the cursor is over Neotree (or any nofile buffer).
64+
* 🐛fix(`compiler.nvim`): the command :CompilerRedo now works correctly with build automation utilities.
65+
* 🐛fix(`heirline-components`) buffer.wipe now closes all sidebars before the last window is closed.
66+
* 🐛fix(`markdown-preview.nvim`): Starting this plugin by filetype is a requirement, so we do it now.
67+
* 🐛fix(`osx`): is not detected as android anymore
68+
* 🐛fix(`json`/`yaml`): now lint and format correctly.
69+
* 🐛fix(`command autocomplete`): The arrow keys are not inverted anymore when auto completing commands.
70+
* 🐛fix(`mini.animate`): is now disabled by default on android devices. This fixes slow scroll on android.
1771

1872
## Minor refactors
19-
* ♻️refactor(nvim-ts-autopairs): Has been moved to `1-base-behaviors.lua`.
73+
This version has massive refactors over `v3.0`, reducing the amount of complexity
74+
without removing any feature.
2075

76+
* ♻️refactor(`base`): Complexity has been reduced several thousands of lines without losing any feature, or hiding complexity.
77+
* ♻️refactor(`base`): All functions without a case of use strong enough have been replaced by native nvim functions.
78+
* ♻️refactor(`distroupdate.nvim`): Command names have been changed from the prefix `Nvim` to the prefix `Distro`.
79+
* ♻️refactor(`nvim-ts-autopairs`): Has been moved to `1-base-behaviors.lua`.
80+
* ♻️refactor(`better-scape`): Updated to latest version. Removed unnecessary option. The author has rewritten the plugin from scratch.
81+
* ♻️refactor(`autotag`): Updated to latest version. Removed unnecessary option from treesitter.
2182
and another few minor hundreds of changes.
83+
* ♻️refactor(`space + f + t`): won't display the builtin nvim themes anymore.
84+
* ♻️refactor(`none-ls`): Some packages have been deprecated and changed by new ones. See [here](https://github.com/NormalNvim/NormalNvim/releases/tag/v3.7.3).
85+
* ♻️refactor(`zen_mode`): is now under <space>uz, with all the other toggles.
2286

2387
## Credits
2488
This docusaurus website uses the [MIT](https://github.com/yazi-rs/yazi-rs.github.io/blob/main/LICENSE) [page](https://github.com/yazi-rs/yazi-rs.github.io) of the Yazi project as initial template.

docusaurus.config.ts

+1
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ const config: Config = {
8181
label: "Docs",
8282
to : "/docs/installation",
8383
},
84+
// uncomment to enable the features section.
8485
// {
8586
// label: "Features",
8687
// to : "/features",

0 commit comments

Comments
 (0)