persian Translation of the main README.md

This commit is contained in:
Folke Lemaitre 2026-03-21 09:50:09 +01:00 committed by pouniq
parent 2a5c892835
commit e55a038a58
11 changed files with 293 additions and 108 deletions

View file

@ -1,3 +1,3 @@
{
".": "15.14.0"
".": "15.15.0"
}

View file

@ -1,5 +1,45 @@
# Changelog
## [15.15.0](https://github.com/LazyVim/LazyVim/compare/v15.14.0...v15.15.0) (2026-04-02)
### Features
* **biome:** enable biome lsp for linting ([b2830cf](https://github.com/LazyVim/LazyVim/commit/b2830cfcc5c9c09ebbf9545beb3947a55ce89dbd))
* **biome:** move biome extra from formatting.biome -> lang.typescript.biome ([242f098](https://github.com/LazyVim/LazyVim/commit/242f0983de9fdb70f0d82057a8039e32bc171764))
* **lazydev:** make lspconfig types available on word `lspconfig.settings` ([36f5947](https://github.com/LazyVim/LazyVim/commit/36f594716bcb0bec84a05a6c55f702134d2e89c3))
* **lsp:** auto add organizeImport keymaps for LSPs that support it ([e54689e](https://github.com/LazyVim/LazyVim/commit/e54689ebdc5458cb30f4a48b954c710bb381cd01))
* **oxc:** added oxc extra for oxfmt and oxlint ([4e9eac5](https://github.com/LazyVim/LazyVim/commit/4e9eac57aba1ea575ef008a503cba8327257e4a4))
* **sidekick:** ctrl+. focuses sidekick, but when already inside sidekick, hides it ([50159fe](https://github.com/LazyVim/LazyVim/commit/50159fe344d93329a569cee136c0323e48b0d3da))
* **typescript:** set `vim.g.lazyvim_ts_lsp = "tsgo"` to use the much faster experimental lsp server ([e6f26f0](https://github.com/LazyVim/LazyVim/commit/e6f26f0f23e9cb4c6bcc351b06474f4863319aff))
* **typescript:** split typescript extra in main, vtsls and tsgo ([9029d92](https://github.com/LazyVim/LazyVim/commit/9029d928d2f7b7f76f132b618d2931499c9b6eb9))
### Bug Fixes
* **biome:** added recommendation when root has biome config file ([ad25b31](https://github.com/LazyVim/LazyVim/commit/ad25b31e512892ca51a1fa3ffa96d1375c391039))
* **biome:** biome mason install is no longer needed ([5450006](https://github.com/LazyVim/LazyVim/commit/5450006ccdd7df341f7f60dded58ea4a87aa9c15))
* **biome:** use biome-check in conform that also fixes linting issues and sorts imports ([954d874](https://github.com/LazyVim/LazyVim/commit/954d8746e5cf1266d93cf4210c00c1506f20423b))
* **lsp:** sort server names before setting keymaps ([6d0da34](https://github.com/LazyVim/LazyVim/commit/6d0da34de9c4a82170e3359d4e7853bf89a557b3))
* **oxc:** added `fixKind = "all"` ([85afbbc](https://github.com/LazyVim/LazyVim/commit/85afbbc94bb45891799a4851b2edf753b51f18b0))
* **r:** recommend for *.qmd instead of *qmd files ([3b3d649](https://github.com/LazyVim/LazyVim/commit/3b3d6493332798674fb7b82aea600bab18eaf311))
* **terminal:** use Snacks.terminal.focus() for <C-/> mapping ([96f4f18](https://github.com/LazyVim/LazyVim/commit/96f4f18d7d81c786ac0df5723bc7aca058bf2165)), closes [#7048](https://github.com/LazyVim/LazyVim/issues/7048)
* **treesitter:** `nvim-treesitter` on longer support nvim-0.11, so pin when needed. Fixes [#7092](https://github.com/LazyVim/LazyVim/issues/7092) ([ef272ff](https://github.com/LazyVim/LazyVim/commit/ef272ff7cc9b53d48baf6544618b5923d65c0282))
* **tsgo:** disable inlayHints.functionLikeReturnTypes by default. Too noisy ([8bcb620](https://github.com/LazyVim/LazyVim/commit/8bcb6208021bd4e4257de64c9598c6b78688be28))
* **tsgo:** remove some noisy inlay hints ([d07070b](https://github.com/LazyVim/LazyVim/commit/d07070bf2ff83ae513097d02d71460920af85a91))
* **typescript:** remove keymaps for non-existing code actions ([53f4eab](https://github.com/LazyVim/LazyVim/commit/53f4eabd7723faba2d7c14afe53226d8c18bf16c))
* **util.plugin:** single imports for extras ([1b4be53](https://github.com/LazyVim/LazyVim/commit/1b4be534f1d8959480ba1f622a457654bd737ce5))
### Performance Improvements
* **extras:** never load nested extras ([8764dfb](https://github.com/LazyVim/LazyVim/commit/8764dfbc8fcb8923397153eb3a2cfcac7ea988f1))
### Reverts
* **lsp:** revert changes for [#6456](https://github.com/LazyVim/LazyVim/issues/6456). Closes [#6779](https://github.com/LazyVim/LazyVim/issues/6779) ([d0fe8c8](https://github.com/LazyVim/LazyVim/commit/d0fe8c896f4dca003e8d56e2091ee5ec7da7af75))
## [15.14.0](https://github.com/LazyVim/LazyVim/compare/v15.13.0...v15.14.0) (2026-03-01)

203
README-FA.md Normal file
View file

@ -0,0 +1,203 @@
<div align="center">
<img src="https://user-images.githubusercontent.com/292349/213446185-2db63fd5-8c84-459c-9f04-e286382d6e80.png">
</div>
<hr>
<h4 align="center">
<a href="https://lazyvim.github.io/installation">نصب</a>
·
<a href="https://lazyvim.github.io/configuration">پیکربندی</a>
·
<a href="https://lazyvim.github.io">اسناد</a>
</h4>
<div align="center"><p>
<a href="https://github.com/LazyVim/LazyVim/releases/latest">
<img alt="Latest release" src="https://img.shields.io/github/v/release/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=C9CBFF&logoColor=D9E0EE&labelColor=302D41&include_prerelease&sort=semver" />
</a>
<a href="https://github.com/LazyVim/LazyVim/pulse">
<img alt="Last commit" src="https://img.shields.io/github/last-commit/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=8bd5ca&logoColor=D9E0EE&labelColor=302D41"/>
</a>
<a href="https://github.com/LazyVim/LazyVim/blob/main/LICENSE">
<img alt="License" src="https://img.shields.io/github/license/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=ee999f&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim/stargazers">
<img alt="Stars" src="https://img.shields.io/github/stars/LazyVim/LazyVim?style=for-the-badge&logo=starship&color=c69ff5&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim/issues">
<img alt="Issues" src="https://img.shields.io/github/issues/LazyVim/LazyVim?style=for-the-badge&logo=bilibili&color=F5E0DC&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://github.com/LazyVim/LazyVim">
<img alt="Repo Size" src="https://img.shields.io/github/repo-size/LazyVim/LazyVim?color=%23DDB6F2&label=SIZE&logo=codesandbox&style=for-the-badge&logoColor=D9E0EE&labelColor=302D41" />
</a>
<a href="https://twitter.com/intent/follow?screen_name=folke">
<img alt="follow on Twitter" src="https://img.shields.io/twitter/follow/folke?style=for-the-badge&logo=twitter&color=8aadf3&logoColor=D9E0EE&labelColor=302D41" />
</a>
</div>
<<<<<<< HEAD
این پیکربندی با نام LazyVim، که قدرت گرفته شده از Neovim هست [💤 lazy.nvim](https://github.com/folke/lazy.nvim)، تا سفارشی سازی و توسعه پیکربندی را برای شما آسان تر کند.
به جای اینکه بخواهید بین شروع از صفر یا استفاده از یک توزیع از قبل ساخته شده انتخاب کنید، LazyVim بهترین هر دو جهان را به شما پیشنهاد میدهد - انعطاف اینکه پیکربندی را طبق نیازتان تغییر بدین، همراه با سادگی تنظیمات از قبل پیکربندی شده.
=======
LazyVim is a Neovim setup powered by [💤 lazy.nvim](https://github.com/folke/lazy.nvim)
to make it easy to customize and extend your config.
Rather than having to choose between starting from scratch or using a
pre-made distro, LazyVim offers the best of both worlds - the flexibility
to tweak your config as needed, along with the convenience of a pre-configured setup.
>>>>>>> d1cdedb5 (making the some changes in Farsi)
![image](https://user-images.githubusercontent.com/292349/211285846-0b7bb3bf-0462-4029-b64c-4ee1d037fc1c.png)
![image](https://user-images.githubusercontent.com/292349/213447056-92290767-ea16-430c-8727-ce994c93e9cc.png)
## ✨ ویژگی ها
<<<<<<< HEAD
- 🔥 تبدیل Neovim به یک IDE کامل
- 💤 اختصاصی کردن و گسترش پیکربندی به سادگی با [lazy.nvim](https://github.com/folke/lazy.nvim)
- 🚀 بسیار سریع
- 🧹 تنظیمات پیش فرض منطقی برای (خودکارسازی ها) options, autocmds (گزینه ها) و keymaps (کلیدهای میانبر)
- 📦 همراه با تعداد زیادی از پلاگین های از پیش پیکربندی شده و آماده استفاده.
## ⚡️ الزامات
- Neovim >= **0.11.2** ( باشد **LuaJIT** باید ساخته شده با )
- Git >= **2.19.0** ( های جزئی clone برای پشتیبانی از)
- فونت [Nerd Font](https://www.nerdfonts.com/) **_(اختیاری)_**
- یک کامپایلر C: برای اطلاعات بیشتر راجب nvim-treesittere، [اینجا](https://github.com/nvim-treesitter/nvim-treesitter#requirements)را ببیند.
## 🚀 شروع به کار
شما می توانید یک قالب اولیه برای شروع LazyVim [اینجا](https://github.com/LazyVim/starter) پیدا کنید.
=======
- 🔥 Transform your Neovim into a full-fledged IDE
- 💤 Easily customize and extend your config with [lazy.nvim](https://github.com/folke/lazy.nvim)
- 🚀 بسیار سریع
- 🧹 Sane default settings for options, autocmds, and keymaps
- 📦 Comes with a wealth of plugins pre-configured and ready to use
## ⚡️ Requirements
- Neovim >= **0.11.2** (needs to be built with **LuaJIT**)
- Git >= **2.19.0** (for partial clones support)
- a [Nerd Font](https://www.nerdfonts.com/) **_(optional)_**
- a **C** compiler for `nvim-treesitter`. See [here](https://github.com/nvim-treesitter/nvim-treesitter#requirements)
## 🚀 شروع به کار
You can find a starter template for **LazyVim** [here](https://github.com/LazyVim/starter)
>>>>>>> d1cdedb5 (making the some changes in Farsi)
<details><summary>با داکر امتحان کنید.</summary>
```sh
docker run -w /root -it --rm alpine:edge sh -uelic '
apk add git lazygit fzf curl neovim ripgrep alpine-sdk --update
git clone https://github.com/LazyVim/starter ~/.config/nvim
cd ~/.config/nvim
nvim
'
```
</details>
<<<<<<< HEAD
<details><summary>نصب <a href="https://github.com/LazyVim/starter">LazyVim Starter</a></summary>
=======
<details><summary>Install the <a href="https://github.com/LazyVim/starter">LazyVim Starter</a></summary>
>>>>>>> d1cdedb5 (making the some changes in Farsi)
- یک بک آپ از فایل های neovim خود بگیرید.
```sh
mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim ~/.local/share/nvim.bak
```
<<<<<<< HEAD
- کلون کردن starter
=======
- Clone the starter
>>>>>>> d1cdedb5 (making the some changes in Farsi)
```sh
git clone https://github.com/LazyVim/starter ~/.config/nvim
```
- پوشه .git را حذف کنید، تا بتوانید repo خودتان را بعدا اضافه کنید.
```sh
rm -rf ~/.config/nvim/.git
```
- Neovim را شروع کنید
```sh
nvim
```
<<<<<<< HEAD
برای نحوه‌ی سفارشی‌سازی **LazyVim** به توضیحات موجود در فایل‌ها مراجعه کنید.
</details>
---
یک کتاب بسیار پرمحتوا که توسط [@dusty-phillips](https://github.com/dusty-phillips) نوشته شده است به نام [LazyVim for Ambitious Developers](https://lazyvim-ambitious-devs.phillips.codes) که به صورت آنلاین در دسترس است.
## 📂 ساختار فایل
فایل های داخل پیکربندی به صورت خودکار در زمان مناسب بارگذاری می شوند، شما نیاز نیست که به صورت دستی بارگذاری کنید.
در LazyVim یک مجوعه ای از فایل های پیکربندی پیش فرض وجود دارد، که قبل از فایل های شما بارگذاری می شوند. [اینجا](https://github.com/LazyVim/LazyVim/tree/main/lua/lazyvim/config) را ببینید.
شما می توانید پلاگین های اختصاصی خودتان در `lua/plugins/` اضافه کنید. تمام فایل ها در آنجا به صورت خودکار توسط [lazy.nvim](https://github.com/folke/lazy.nvim) بارگذاری می شوند.
=======
به
Refer to the comments in the files on how to customize **LazyVim**.
</details>
---
[@dusty-phillips](https://github.com/dusty-phillips) یک کتاب بسیار پرمحتوا که توسط
[LazyVim for Ambitious Developers](https://lazyvim-ambitious-devs.phillips.codes)
نوشته شده که به صورت آنلاین در دسترس است.
## 📂 ساختار فایل
The files under config will be automatically loaded at the appropriate time,
so you don't need to require those files manually.
**LazyVim** comes with a set of default config files that will be loaded
**_before_** your own. See [here](https://github.com/LazyVim/LazyVim/tree/main/lua/lazyvim/config)
You can add your custom plugin specs under `lua/plugins/`. All files there
will be automatically loaded by [lazy.nvim](https://github.com/folke/lazy.nvim)
>>>>>>> d1cdedb5 (making the some changes in Farsi)
<pre>
~/.config/nvim
├── lua
│   ├── config
│   │   ├── autocmds.lua
│   │   ├── keymaps.lua
│   │   ├── lazy.lua
│   │   └── options.lua
│   └── plugins
│   ├── spec1.lua
│   ├── **
│   └── spec2.lua
└── init.lua
</pre>
## ⚙️ پیکربندی
<<<<<<< HEAD
رجوع کنید به [اسناد](https://lazyvim.github.io)
=======
رجوع کنید به [docs](https://lazyvim.github.io)
>>>>>>> d1cdedb5 (making the some changes in Farsi)

View file

@ -1,4 +1,5 @@
*LazyVim.txt* LazyVim docs
For Neovim Last change: 2026 April 22
==============================================================================
Table of Contents *LazyVim-table-of-contents*
@ -78,22 +79,26 @@ Try it with Docker ~
Install the LazyVim Starter ~
- Make a backup of your current Neovim files:
>sh
>sh
mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim ~/.local/share/nvim.bak
<
<
- Clone the starter
>sh
>sh
git clone https://github.com/LazyVim/starter ~/.config/nvim
<
<
- Remove the `.git` folder, so you can add it to your own repo later
>sh
>sh
rm -rf ~/.config/nvim/.git
<
<
- Start Neovim!
>sh
>sh
nvim
<
<
Refer to the comments in the files on how to customize **LazyVim**.
------------------------------------------------------------------------------

View file

@ -3,7 +3,7 @@ _G.LazyVim = require("lazyvim.util")
---@class LazyVimConfig: LazyVimOptions
local M = {}
M.version = "15.14.0" -- x-release-please-version
M.version = "15.15.0" -- x-release-please-version
LazyVim.config = M
---@class LazyVimOptions

View file

@ -189,8 +189,8 @@ map("n", "<leader>L", function() LazyVim.news.changelog() end, { desc = "LazyVim
-- floating terminal
map("n", "<leader>fT", function() Snacks.terminal() end, { desc = "Terminal (cwd)" })
map("n", "<leader>ft", function() Snacks.terminal(nil, { cwd = LazyVim.root() }) end, { desc = "Terminal (Root Dir)" })
map({"n","t"}, "<c-/>",function() Snacks.terminal(nil, { cwd = LazyVim.root() }) end, { desc = "Terminal (Root Dir)" })
map({"n","t"}, "<c-_>",function() Snacks.terminal(nil, { cwd = LazyVim.root() }) end, { desc = "which_key_ignore" })
map({"n","t"}, "<c-/>",function() Snacks.terminal.focus(nil, { cwd = LazyVim.root() }) end, { desc = "Terminal (Root Dir)" })
map({"n","t"}, "<c-_>",function() Snacks.terminal.focus(nil, { cwd = LazyVim.root() }) end, { desc = "which_key_ignore" })
-- windows
map("n", "<leader>-", "<C-W>s", { desc = "Split Window Below", remap = true })

View file

@ -1,95 +1,64 @@
local pick = function()
local refactoring = require("refactoring")
if LazyVim.pick.picker.name == "telescope" then
return require("telescope").extensions.refactoring.refactors()
elseif LazyVim.pick.picker.name == "fzf" then
local fzf_lua = require("fzf-lua")
local results = refactoring.get_refactors()
local opts = {
fzf_opts = {},
fzf_colors = true,
actions = {
["default"] = function(selected)
refactoring.refactor(selected[1])
end,
},
}
fzf_lua.fzf_exec(results, opts)
else
refactoring.select_refactor()
if LazyVim.has_extra("editor.refactoring") then
if vim.fn.has("nvim-0.12") == 0 then
LazyVim.error("refactoring.nvim requires Neovim 0.12 or higher", { title = "refactoring.nvim" })
return {}
end
end
return {
{ "lewis6991/async.nvim", lazy = true },
{
"ThePrimeagen/refactoring.nvim",
event = { "BufReadPre", "BufNewFile" },
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-treesitter/nvim-treesitter",
},
keys = {
{ "<leader>r", "", desc = "+refactor", mode = { "n", "x" } },
{
"<leader>rs",
pick,
function()
return require("refactoring").select_refactor()
end,
mode = { "n", "x" },
desc = "Refactor",
desc = "Select Refactor",
},
{
"<leader>ri",
function()
return require("refactoring").refactor("Inline Variable")
return require("refactoring").inline_var()
end,
mode = { "n", "x" },
desc = "Inline Variable",
expr = true,
},
{
"<leader>rb",
function()
return require("refactoring").refactor("Extract Block")
end,
mode = { "n", "x" },
desc = "Extract Block",
expr = true,
},
{
"<leader>rf",
function()
return require("refactoring").refactor("Extract Block To File")
end,
mode = { "n", "x" },
desc = "Extract Block To File",
expr = true,
},
{
"<leader>rP",
function()
require("refactoring").debug.printf({ below = false })
return require("refactoring.debug").print_loc({ output_location = "below" })
end,
desc = "Debug Print",
desc = "Debug Print Location",
expr = true,
},
{
"<leader>rp",
function()
require("refactoring").debug.print_var({ normal = true })
return require("refactoring.debug").print_var({ output_location = "below" }) .. "iw"
end,
mode = { "n", "x" },
desc = "Debug Print Variable",
expr = true,
},
{
"<leader>rc",
function()
require("refactoring").debug.cleanup({})
return require("refactoring.debug").cleanup({ restore_view = true }) .. "ag"
end,
desc = "Debug Cleanup",
expr = true,
},
{
"<leader>rf",
function()
return require("refactoring").refactor("Extract Function")
return require("refactoring").extract_func()
end,
mode = { "n", "x" },
desc = "Extract Function",
@ -98,7 +67,7 @@ return {
{
"<leader>rF",
function()
return require("refactoring").refactor("Extract Function To File")
return require("refactoring").extract_func_to_file()
end,
mode = { "n", "x" },
desc = "Extract Function To File",
@ -107,52 +76,13 @@ return {
{
"<leader>rx",
function()
return require("refactoring").refactor("Extract Variable")
return require("refactoring").extract_var()
end,
mode = { "n", "x" },
desc = "Extract Variable",
expr = true,
},
{
"<leader>rp",
function()
require("refactoring").debug.print_var()
end,
mode = { "n", "x" },
desc = "Debug Print Variable",
},
},
opts = {
prompt_func_return_type = {
go = false,
java = false,
cpp = false,
c = false,
h = false,
hpp = false,
cxx = false,
},
prompt_func_param_type = {
go = false,
java = false,
cpp = false,
c = false,
h = false,
hpp = false,
cxx = false,
},
printf_statements = {},
print_var_statements = {},
show_success_message = true, -- shows a message with information about the refactor on success
-- i.e. [Refactor] Inlined 3 variable occurrences
},
config = function(_, opts)
require("refactoring").setup(opts)
if LazyVim.has("telescope.nvim") then
LazyVim.on_load("telescope.nvim", function()
require("telescope").load_extension("refactoring")
end)
end
end,
opts = {},
},
}

View file

@ -29,7 +29,11 @@ return {
opts = {
servers = {
---@type lspconfig.settings.oxlint
oxlint = {},
oxlint = {
settings = {
fixKind = "all",
},
},
--- disable the oxfmt lsp server since we use conform for formatting
oxfmt = { enabled = false },
},

View file

@ -34,15 +34,15 @@ return {
settings = {
typescript = {
inlayHints = {
enumMemberValues = { enabled = true },
functionLikeReturnTypes = { enabled = false },
parameterNames = {
enabled = "literals",
suppressWhenArgumentMatchesName = true,
},
parameterTypes = { enabled = true },
variableTypes = { enabled = true },
propertyDeclarationTypes = { enabled = true },
functionLikeReturnTypes = { enabled = false },
enumMemberValues = { enabled = true },
variableTypes = { enabled = false },
},
},
},

View file

@ -6,6 +6,7 @@ return {
{
"nvim-treesitter/nvim-treesitter",
branch = "main",
commit = vim.fn.has("nvim-0.12") == 0 and "7caec274fd19c12b55902a5b795100d21531391f" or nil,
version = false, -- last release is way too old and doesn't work on Windows
build = function()
local TS = require("nvim-treesitter")

View file

@ -23,6 +23,8 @@ return {
nav_j = { "<C-j>", term_nav("j"), desc = "Go to Lower Window", expr = true, mode = "t" },
nav_k = { "<C-k>", term_nav("k"), desc = "Go to Upper Window", expr = true, mode = "t" },
nav_l = { "<C-l>", term_nav("l"), desc = "Go to Right Window", expr = true, mode = "t" },
hide_slash = { "<C-/>", "hide", desc = "Hide Terminal", mode = "t" },
hide_underscore = { "<c-_>", "hide", desc = "which_key_ignore", mode = "t" },
},
},
},