Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
935 changes: 583 additions & 352 deletions docs/books/admin_guide/06-users.zh.md

Large diffs are not rendered by default.

59 changes: 59 additions & 0 deletions docs/books/nvchad/custom/chadrc_lua.it.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
title: chadrc.lua
author: Franco Colussi
contributors: Steven Spencer, Franco Colussi
tested with: 8.6, 9.0
tags:
- nvhad
- coding
- editor
---

# `chadrc.lua`

Il file `chadrc.lua` nella nostra cartella `custom` contiene informazioni su dove NvChad deve cercare ulteriori configurazioni e plugin personali.

È necessario prestare particolare attenzione alla gerarchia dei file, poiché potrebbero esserci più file con lo stesso nome (vedere *init.lua*) ma in posizioni diverse. La posizione determina l'ordine in cui i file vengono inclusi nella configurazione. L'ordine è `core` -> `custom` -> `plugins`.

Il contenuto del file `chadrc.lua` è il seguente:

```lua
local M = {}
local override = require("custom.override")

M.ui = {
theme = "everforest",
theme_toggle = { "everforest", "everforest_light" },
}

M.mappings = require("custom.mappings")

M.plugins = {
user = require("custom.plugins"),
override = {
["kyazdani42/nvim-tree.lua"] = override.nvimtree,
["nvim-treesitter/nvim-treesitter"] = override.treesitter,
["lukas-reineke/indent-blankline.nvim"] = override.blankline,
},
}

return M
```

La prima chiamata che si incontra si riferisce all'inclusione del nostro file `custom/override.lua` contenente le impostazioni personalizzate per i plugin nella tabella degli *override* definita in `M.plugins`.

In particolare, le personalizzazioni si riferiscono allo stato dei file in un *repository* Git (se si lavora con uno di essi), all'installazione automatica dei *parser treesitter* e all'esclusione delle linee di riferimento di routine e comandi annidati. Questa funzionalità nella scrittura della documentazione in Markdown non è così importante.

Se si desidera avere anche questa funzionalità, è sufficiente rimuovere la riga:

```lua
["lukas-reineke/indent-blankline.nvim"] = override.blankline,
```

Ed eseguire un <kbd>SHIFT</kbd> + <kbd>:PackerSync</kbd> dalla modalità NORMAL nell'editor.

Segue la configurazione del tema predefinito con la sua variante chiara, seguita dalla chiamata `require` del file `custom/mapping.lua` che contiene i comandi personalizzati.

Infine, troviamo impostazioni che richiamano file di configurazione personali (contenuti in *custom/plugins*) che sostituiscono le impostazioni predefinite.

Quindi possiamo dire che il file `chadrc.lua` è il file che si occupa di alcuni aspetti dell'interfaccia utente e, soprattutto, dell'inclusione dei *nostri* file nella configurazione di NvChad.
105 changes: 105 additions & 0 deletions docs/books/nvchad/custom/custom_folder.it.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
---
title: Cartella Personalizzata
author: Franco Colussi
contributors: Steven Spencer, Franco Colussi
tested with: 8.6, 9.0
tags:
- nvchad
- coding
- custom
---

# Configurazione avanzata della Cartella Personalizzata

## Introduzione

NvChad utilizza `git` per gli aggiornamenti. Ciò implica che a ogni aggiornamento, parte o l'intera configurazione viene sovrascritta dai nuovi commit. Di conseguenza, sarebbe inutile effettuare personalizzazioni all'interno della configurazione predefinita.

Per risolvere questo problema, gli sviluppatori di NvChad hanno creato una cartella `custom` che **deve essere** collocata in `.config/nvim/lua/` ed è progettata per ospitare tutti i file di configurazione personalizzati. Di seguito viene rappresentata la struttura di base di un'installazione standard di NvChad.

```text
nvim/
├── examples
│   ├── chadrc.lua
│   └── init.lua
├── init.lua
├── LICENSE
├── lua
│   ├── core
│   └── plugins
└── plugin
└── packer_compiled.lua
```

### Creazione della Struttura

Per iniziare la personalizzazione dobbiamo creare la cartella `custom` che conterrà tutti i nostri file e anche la cartella `plugins` che conterrà i _file di configurazione_ dei nostri plugin. Poiché le cartelle non saranno presenti, utilizzeremo la flag `-p` per indicare al comando `mkdir` di creare le cartelle mancanti. Il comando sarà il seguente:

```bash
mkdir -p ~/.config/nvim/lua/custom/plugins
```

La struttura della cartella `nvim/lua` dovrebbe ora apparire come segue:

```text
├── lua
│   ├── core
│   ├── custom
│   │   └── plugins
│   └── plugins
```

La scelta del percorso non è casuale. Risponde alla necessità di preservare questa cartella dagli aggiornamenti. In caso contrario, a ogni aggiornamento la cartella verrebbe semplicemente cancellata perché non fa parte del repository.

Gli sviluppatori di NvChad hanno preparato un file `.gitignore` per questo, che ne determina l'esclusione.

```bash
cat .config/nvim/.gitignore
plugin
custom
spell
```

### Struttura della Cartella Custom

La struttura della cartella _custom_ utilizzata per questa guida è la seguente:

```text
custom/
├── chadrc.lua
├── init.lua
├── mappings.lua
├── override.lua
└── plugins
├── init.lua
└── lspconfig.lua
```

Analizzeremo il suo contenuto e descriveremo brevemente i file che contiene. I file saranno analizzati in dettaglio più tardi, sulle pagine ad essi dedicate.

- `chadrc.lua` - Questo file permette di sovrascrivere le configurazioni predefinite. Permette inoltre di sovrascrivere i plugin, in modo che possano essere associati alle configurazioni in _override.lua_. Ad esempio, viene utilizzato per salvare il tema dell'interfaccia con:

```lua
M.ui = {
theme = "everforest",
}
```

- `init.lua` - Questo file viene eseguito dopo il file primario `init.lua`, contenuto in `nvim/lua/core/`, e consente l'esecuzione di comandi personalizzati all'avvio di NvChad.

- `mappings.lua` - Permette di impostare comandi personalizzati. Questi comandi vengono normalmente utilizzati per abbreviare i comandi standard. Un esempio è l'abbreviazione del comando `:Telescope find_files`, che può essere impostata in _mappings.lua_ in questo modo:

```lua
["\\\\"] = { "<cmd> Telescope find_files<CR>", "file-finder" },
```

permette di recuperare il **:Telescope find_files** digitando due `\\`

![Telescope Find Files](../images/telescope_find_files.png)


- `override.lua` - Questo file contiene le configurazioni personalizzate che sostituiscono quelle predefinite. Ciò è reso possibile grazie all'override effettuata a monte in _chadrc.lua_.

Passiamo ora alla cartella `plugins`. Questa cartella contiene tutti i file di configurazione dei vari plugin installati. Contiene anche il file `init.lua` per le personalizzazioni. Il file `init.lua` deve contenere i plugin che vogliamo installare sul nostro IDE. Una volta inseriti e configurati, saranno installabili tramite il comando `:PackerSync`.

L'unico plugin richiesto è _neovim/nvim-lspconfig_, che abilita la funzionalità LSP (language server) per l'editing avanzato.
37 changes: 37 additions & 0 deletions docs/books/nvchad/custom/init_lua.it.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
title: init.lua
author: Franco Colussi
contributors: Steven Spencer, Franco Colussi
tested with: 8.6, 9.0
tags:
- nvchad
- coding
- editor
---

# `init.lua`

Il file `nvim/lua/custom/init.lua` è usato per sovrascrivere le opzioni predefinite di NvChad, definite in `lua/core/options.lua`, e impostare le proprie opzioni. Viene utilizzato anche per l'esecuzione di Auto-Comandi.

Scrivere documenti in Markdown non richiede molte modifiche. Si tratta di impostare alcuni comportamenti come il numero di spazi per la tabulazione, un'impostazione che rende la formattazione dei file Markdown molto agevole.

Il nostro file avrà il seguente aspetto:

```lua
vim.cmd [[autocmd BufWritePre * lua vim.lsp.buf.formatting_sync()]]
-- on 0.8, you should use vim.lsp.buf.format({ bufnr = bufnr }) instead

local opt = vim.opt

opt.tabstop = 4
opt.softtabstop = 4
opt.shiftwidth = 4
opt.shiftround = false
opt.expandtab = true
opt.autoindent = true
opt.smartindent = true
```

Nel nostro esempio abbiamo utilizzato un comando automatico per la formattazione sincrona del buffer e alcune opzioni.

Per riassumere, il file `init.lua` nella nostra cartella `custom` viene usato per sovrascrivere le impostazioni predefinite. Questo funziona perché viene letto dopo il file `core/init.lua` , sostituendo tutte le opzioni precedenti con quelle nuove che abbiamo impostato.
Loading