Skip to content

Commit

Permalink
docs: new version for 1.4/0.9 release (#455)
Browse files Browse the repository at this point in the history
* docs: new version for 1.4/0.9 release

* fixup!: use correct version in the url

* docs: use correct branch for master

* docs(i18n): update current release version

* docs(i18n): add new version for 1.4/0.9 release
  • Loading branch information
kylo252 committed May 20, 2024
1 parent 8a22fb0 commit f8a3665
Show file tree
Hide file tree
Showing 107 changed files with 6,906 additions and 20 deletions.
10 changes: 5 additions & 5 deletions docs/installation/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ sidebar_position: 1

## Prerequisites

- Make sure you have installed the latest version of [`Neovim v0.9.0+`](https://github.com/neovim/neovim/releases/latest).
- Make sure you have installed the latest version of [`Neovim v0.9.5+`](https://github.com/neovim/neovim/releases/latest).
- Have [`git`](https://cli.github.com/), [`make`](https://www.gnu.org/software/make/), [`pip`](https://pypi.org/project/pip/), [`python`](https://www.python.org/), [`npm`](https://npmjs.com/), [`node`](https://nodejs.org/), [`cargo`](https://www.rust-lang.org/tools/install) and [`ripgrep`](https://github.com/BurntSushi/ripgrep) installed on your system.
- [Resolve `EACCES` permissions when installing packages globally](https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally) to avoid error when installing packages with npm.
- [`PowerShell 7+`](https://learn.microsoft.com/en-us/powershell/scripting/whats-new/migrating-from-windows-powershell-51-to-powershell-7?view=powershell-7.2) (for Windows).
Expand All @@ -17,7 +17,7 @@ sidebar_position: 1

## Release

(Neovim 0.9.0)
(Neovim 0.9.5)

No alarms and No surprises:

Expand All @@ -28,14 +28,14 @@ import TabItem from '@theme/TabItem';
<TabItem value="linux/macos" label="Linux/MacOS">

```bash
LV_BRANCH='release-1.3/neovim-0.9' bash <(curl -s https://raw.githubusercontent.com/LunarVim/LunarVim/release-1.3/neovim-0.9/utils/installer/install.sh)
LV_BRANCH='master' bash <(curl -s https://raw.githubusercontent.com/LunarVim/LunarVim/master/utils/installer/install.sh)
```

</TabItem>
<TabItem value="windows" label="Windows">

```powershell
pwsh -c "`$LV_BRANCH='release-1.3/neovim-0.9'; iwr https://raw.githubusercontent.com/LunarVim/LunarVim/release-1.3/neovim-0.9/utils/installer/install.ps1 -UseBasicParsing | iex"
pwsh -c "`$LV_BRANCH='master'; iwr https://raw.githubusercontent.com/LunarVim/LunarVim/master/utils/installer/install.ps1 -UseBasicParsing | iex"
```

</TabItem>
Expand All @@ -44,7 +44,7 @@ pwsh -c "`$LV_BRANCH='release-1.3/neovim-0.9'; iwr https://raw.githubusercontent
_This is intended just to take a look at the base functionalities, so some interactions may be blocked by the environment._

```bash
docker run -w /tmp -it --rm alpine:edge sh -uelic 'addgroup -S lunaruser && adduser -S lunaruser -G lunaruser --shell /bin/sh && apk add yarn git python3 cargo neovim ripgrep alpine-sdk bash curl --update && LV_BRANCH='release-1.3/neovim-0.9' su -c "bash <(curl -s https://raw.githubusercontent.com/lunarvim/lunarvim/release-1.3/neovim-0.9/utils/installer/install.sh) --no-install-dependencies" lunaruser && su -c /home/lunaruser/.local/bin/lvim lunaruser'
docker run -w /tmp -it --rm alpine:edge sh -uelic 'addgroup -S lunaruser && adduser -S lunaruser -G lunaruser --shell /bin/sh && apk add yarn git python3 cargo neovim ripgrep alpine-sdk bash curl --update && LV_BRANCH='master' su -c "bash <(curl -s https://raw.githubusercontent.com/lunarvim/lunarvim/master/utils/installer/install.sh) --no-install-dependencies" lunaruser && su -c /home/lunaruser/.local/bin/lvim lunaruser'
```

</TabItem>
Expand Down
24 changes: 24 additions & 0 deletions i18n/de/docusaurus-plugin-content-docs/version-1.4/introduction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
title: Einleitung
sidebar_position: 1
---

<img src="../img/lunarvim_logo.png" alt="LunarVim Logo" />

# Einleitung

LunarVim ist eine auf Neovim (>= 0.7.2) basierende Text-Editor Konfiguration, die sich auf die schnelle Bereitstellung einer voll funktionsfähigen, erweiterbaren und benutzerfreundlichen Entwicklungsumgebung konzentriert.

LunarVim verwendet neue Neovim Funktionen wie [Treesitter](https://tree-sitter.github.io/tree-sitter/) und das [Language Server Protocol](https://en.wikipedia.org/wiki/Language_Server_Protocol).

## Meinungsstark

LunarVim wird mit einer vernünftigen Standardkonfiguration ausgeliefert. Zu den Funktionen gehören Autovervollständigung, integrierte Terminals, Datei-Explorer, Fuzzy-Finder, LSP, Linting, Formatierung Debugging.

## Erweiterbar

Nur weil LunarVim stark von den Meinungen der Entwickler beeinflusst ist, heißt das nicht, dass Sie diese teilen müssen. Jedes eingebaute Plugin kann in der Datei `config.lua` ein- oder ausgeschaltet werden. Hier können Sie Ihre eigenen Plugins, Keymaps, Autocommands, Leader Bindings und alle anderen benutzerdefinierten Einstellungen hinzufügen.

## Schnell

Damit Sie nicht zwischen Funktionen und Geschwindigkeit entscheiden müssen, versucht LunarVim alle Plugins "lazy" zu laden. So spielt es keine Rolle, ob sie ein Plugin aktiviert oder deaktiviert haben.
Original file line number Diff line number Diff line change
Expand Up @@ -23,22 +23,22 @@ import TabItem from '@theme/TabItem';
<TabItem value="linux/macos" label="Linux/MacOs">

```bash
LV_BRANCH='release-1.2/neovim-0.8' bash <(curl -s https://raw.githubusercontent.com/lunarvim/lunarvim/master/utils/installer/install.sh)
LV_BRANCH='master' bash <(curl -s https://raw.githubusercontent.com/LunarVim/LunarVim/master/utils/installer/install.sh)
```

</TabItem>
<TabItem value="windows" label="Windows">

```powershell
Invoke-WebRequest https://raw.githubusercontent.com/LunarVim/LunarVim/master/utils/installer/install.ps1 -UseBasicParsing | Invoke-Expression
pwsh -c "`$LV_BRANCH='master'; iwr https://raw.githubusercontent.com/LunarVim/LunarVim/master/utils/installer/install.ps1 -UseBasicParsing | iex"
```

</TabItem>
</Tabs>

## Nightly

(Neovim 0.9.0)
(Neovim 0.10.0)

Todas las nuevas características con todos los nuevos errores:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,22 +23,22 @@ import TabItem from '@theme/TabItem';
<TabItem value="linux/macos" label="Linux/MacOs">

```bash
LV_BRANCH='release-1.2/neovim-0.8' bash <(curl -s https://raw.githubusercontent.com/lunarvim/lunarvim/master/utils/installer/install.sh)
LV_BRANCH='release-1.3/neovim-0.9' bash <(curl -s https://raw.githubusercontent.com/LunarVim/LunarVim/release-1.3/neovim-0.9/utils/installer/install.sh)
```

</TabItem>
<TabItem value="windows" label="Windows">

```powershell
Invoke-WebRequest https://raw.githubusercontent.com/LunarVim/LunarVim/master/utils/installer/install.ps1 -UseBasicParsing | Invoke-Expression
pwsh -c "`$LV_BRANCH='release-1.3/neovim-0.9'; iwr https://raw.githubusercontent.com/LunarVim/LunarVim/release-1.3/neovim-0.9/utils/installer/install.ps1 -UseBasicParsing | iex"
```

</TabItem>
</Tabs>

## Nightly

(Neovim 0.9.0)
(Neovim 0.10.0)

Todas las nuevas características con todos los nuevos errores:

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Configuración

Para configurar LunarVim debes editar el archivo `~/.config/lvim/config.lua`.

También puedes tomar un archivo de ejemplo como guía, está incluido con la instalación, solo debes copiarlo a tu directorio de configuración de esta forma.

```bash
cp ~/.local/share/lunarvim/lvim/utils/installer/config.example.lua ~/.config/lvim/config.lua
```

Muchas configuraciones internas de LunarVim estan expuestas por medio del objeto global `lvim`.
Para ver una lista de todas las configuraciones disponibles, ejecuta el siguiente comando cualquiera de estos directorios `~/.config/lvim/` o `~/.local/share/lunarvim/lvim`, esto generará un archivo llamado lv-settings.lua como salida.

```bash
lvim --headless +'lua require("lvim.utils").generate_settings()' +qa && sort -o lv-settings.lua{,}
```

Aquí tienes un ejemplo del contenido del archivo generado.

```lua
lvim.builtin.telescope.defaults.initial_mode = "insert"
lvim.builtin.telescope.defaults.layout_config.horizontal.mirror = false
lvim.builtin.telescope.defaults.layout_config.preview_cutoff = 120
lvim.builtin.telescope.defaults.layout_config.prompt_position = "bottom"
lvim.builtin.telescope.defaults.layout_config.vertical.mirror = false
lvim.builtin.telescope.defaults.layout_config.width = 0.75
lvim.builtin.telescope.defaults.layout_strategy = "horizontal"
```

Si quieres abrir LunarVim usando el comando `nvim`, tendrás que añadir un alias a la configuración de tu shell de esta forma: `alias nvim=lvim`. Para revertir temporalmente este proceso, puedes hacerlo agregando un backslash al inicio de la linea así: `\nvim`. Si realizas este proceso, puede que también quieras establecer LunarVim como tu editor por defecto para las herramientas de terminal, tendrás que añadir esta linea a la configuración de tu shell: `export EDITOR='lvim'`.
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
sidebar_position: 5
---

# Comandos Automaticos

Para añadir comandos automaticos puedes usar la api nativa de nvim `vim.api.nvim_create_autocmd` o también puedes usar la tabla que te brinda LunarVim para hacerlo `lvim.autocommands`, con ambas formas obtienes el mismo resultado, ya que LunarVim va a enviar estos comandos a la api de nvim por medio de [define_autocmds()](https://github.com/LunarVim/lunarvim/blob/3475f7675d8928b49c85878dfc2912407de57342/lua/lvim/core/autocmds.lua#L177) automáticamente.

```lua
lvim.autocommands = {
"BufEnter", -- ver `:h autocmd-events`
{ -- esta tabla es enviada como `opts` a `nvim_create_autocmd`
pattern = { "*.json", "*.jsonc" }, -- ver `:h autocmd-events`
command = "setlocal wrap",
}
},
```

Esto va a ejecutar un comando cuando se registre el evento que coincida con el tipo de archivo proporcionado.

Un ejemplo usando la api de nvim se veria de la siguiente forma:

```lua
vim.api.nvim_create_autocmd("BufEnter", {
pattern = { "*.json", "*.jsonc" },
-- habilita el modo wrap solo para archivos json
command = "setlocal wrap",
})
```

Tambíén puedes añadir callbacks con lua.

```lua
lvim.autocommands = {
{
"BufWinEnter", {
pattern = { "*.cpp", "*.hpp" },
callback = function()
-- mira ma!, estoy usando LunarVim
if vim.loop.cwd() == "path/to/my/project" then
vim.cmd [[setlocal tabstop=8 shiftwidth=8]]
end
end
},
}
}
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
sidebar_position: 3
---

# Esquemas de Colores

## Cambiar Colores

Para cambiar el esquema de colores rapidamente, escribe el siguiente comando:

```vim
:Telescope colorscheme
```

También puedes presionar `Espacio` `s` `p` para tener una vista previa de los esquemas de colores.

Para cambiar el esquema de colores de manera permanente, tienes que modificar el archivo `config.lua`.

```lua
lvim.colorscheme = 'desert'
```

## Instalar Esquema de Colores

Puedes añadir el esquema de colores que quieras. Solo debes añadir el plugin con el esquema de colores de tu preferencia. Para más información sobre como instalar plugins [revisa aqui. ](./plugins/)

[Aqui tienes una lista](https://github.com/rockerBOO/awesome-neovim#colorscheme) de esquemas de colores con soporte para coloreado de sintaxis.

## Ventanas Transparentes

Si estas usando ventanas transparentes, tienes que activar esta opción.

```lua
lvim.transparent_window = true
```

Eso habilita las siguientes configuraciones.

```lua
cmd "au ColorScheme * hi Normal ctermbg=none guibg=none"
cmd "au ColorScheme * hi SignColumn ctermbg=none guibg=none"
cmd "au ColorScheme * hi NormalNC ctermbg=none guibg=none"
cmd "au ColorScheme * hi MsgArea ctermbg=none guibg=none"
cmd "au ColorScheme * hi TelescopeBorder ctermbg=none guibg=none"
cmd "au ColorScheme * hi NvimTreeNormal ctermbg=none guibg=none"
cmd "let &fcs='eob: '"
```

<iframe width="560" height="315" src="https://www.youtube.com/embed/OOr1qM17Lds" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="1"></iframe>
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
---
sidebar_position: 8
---

# Snippets personalizados

## Descripción

El termino snippet proviene del ingles y hace referencia a una parte reusable de código, en este apartado vamos a utilizar el término en ingles para evitar confusiones con su traducción en español.

Puedes agregar tus propios snippets a LunarVim, estos pueden estar escritos en json o en lua.

### Versión en formato json

Lo primero que debes hacer, es crear una carpeta llamada `snippets` justo en la misma ruta de tu `config.lua`, debe quedar de esta forma `~/.config/lvim/snippets/`.

Aqui vas a necesitar por lo menos dos archivos.

El primer archivo, es el que describe la ruta para tus snippets:

`package.json`

```json
{
"name": "nvim-snippets",
"author": "authorname",
"engines": {
"vscode": "^1.11.0"
},
"contributes": {
"snippets": [
{
"language": "python",
"path": "./python.json"
}
]
}
}
```

Para cada lenguaje en el que quieras un snippet, debes crear un archivo de esta forma:

`python.json`

```json
{
"hola": {
"prefix": "hola",
"body": ["print('Hola, Mundo!')"],
"description": "Imprimir Hola, Mundo!"
}
}
```

Eso es todo! ahora tienes un snippet personalizado, eso quiere decir que cuando escribas `hola` vas a obtener una opción para autocompletar a `print("Hola, Mundo!")`.

### Versión en formato lua

Lo primero que debes hacer, es crear una carpeta llamada `luasnippets` justo en la misma ruta de tu `config.lua`, debe quedar de esta forma `~/.config/lvim/luasnippets/`.

Ahora, dentro de esta carpeta, debes crear un archivo cuyo nombre sea el tipo de archivo al que quieres agregar snippets. Por ejemplo, queremos crear snippets para python, entonces el nombre del archivo debe ser `py.lua`. Dentro de este archivo, declaramos los snippets de esta forma:

```lua
return {
s("foo", { t "Ejemplo de snippet :D" }),
}
```

Gracias a LuaSnip, solo debes reiniciar LunarVim la primera vez que escribas snippets, luego puedes escribir y utilizar snippets sin necesidad de reiniciar.
Cabe resaltar que LuaSnip otorga un montón de utilidades de manera global cuando carga tus snippets, de esta forma no debes preocuparte en definir las funciones que usaste para definirlos. Para mas información y ejemplos por favor lee la [documentación de LuaSnip](https://github.com/L3MON4D3/LuaSnip/blob/master/DOC.md#lua)
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
sidebar_position: 7
---

# FTPlugin (Plugin para tipo de archivo)

## Descripción

De acuerdo con `:h ftplugin`

> Un plugin para tipo de archivo es como un plugin global, excepto que las opciones y mapeos
> solo aplican para el buffer actual.
Un ejemplo para una configuración de este tipo puede ser la siguiente; vamos a
modificar los valores de `shiftwidth` y `tabstop` pero solo para los archivos de extensión `C`.

```lua
-- Crea un archivo en la siguiente ruta $LUNARVIM_CONFIG_DIR/after/ftplugin/c.lua
vim.cmd("setlocal tabstop=4 shiftwidth=4")
```
Loading

0 comments on commit f8a3665

Please sign in to comment.