Executando verificação de segurança...
6

Como extrair o melhor do nvim-tree no NeoVim

Hoje a minha dica são alguns detalhes que vão deixar o uso do nvim-tree simplesmente maravilhoso.

O que é nvim tree?

Ele é um plugin para NeoVim, que fornece várias customizações e melhora muito a experiência de navegação em arquivos no editor.

Instalação

Mais a frente iremos configurar alguns ícones, para que eles funcionem corretamente em seu terminal, você precisa estar usando uma NerdFont. Esse é o motivo de os ícones de posts como esse não serem rederizados no TabNews, GitHub e outros sites. Eles necessitam de uma fonte específica.

Com vim-plug:

Plug 'kyazdani42/nvim-web-devicons' " optional, for file icons
Plug 'kyazdani42/nvim-tree.lua'

Com packer:

use {
  'kyazdani42/nvim-tree.lua',
  requires = {
    'kyazdani42/nvim-web-devicons', -- optional, for file icons
  },
  tag = 'nightly' -- optional, updated every week. 
}

Configurações úteis

Quando você importar o plugin com usando require'nvim-tree'.setup{}, considere usar as seguintes configurações:

Tamanho adaptável

Ajusta o seu tamanho automaticamente com base no tamanho do nome dos arquivos do projeto.

view = {
    adaptive_size = true,
}

Marcas de identação

nvim-tree

renderer = {
    indent_markers = {
      enable = true,
      icons = {
        corner = "└ ",
        edge = "│ ",
        item = "│ ",
        none = "  ",
      },
    },
}

Ícones

Configura os ícones para pastas, links simbólicos, e arquivos trackeados pelo git.

nvim

renderer = {
    icons = {
      webdev_colors = false,
      show = {
        file = false,
        folder = true,
        folder_arrow = false,
        git = true
      },
      glyphs = {
        default = "",
        symlink = "",
        folder = {
          arrow_closed = "",
          arrow_open = "",
          default = "",
          open = "",
          empty = "",
          empty_open = "",
          symlink = "",
          symlink_open = "",
        },
        git = {
          unstaged = "", -- 
          staged = "",
          unmerged = "",
          renamed = "➜",
          untracked = "",
          deleted = "",
          ignored = "◌",
        },
      },
    }
}

Foco no arquivo aberto (igual ao VSCode)

renderer = {
    update_focused_file = {
        enable = true,
        update_cwd = false,
        ignore_list = {},
      },
}

Exibição de diagnósticos

Usa as informações do lsp (language-server) para renderizar diagnósticos na árvore de arquivos.

lsp on nvim tree

diagnostics = {
    enable = true,
    show_on_dirs = false,
    icons = {
      hint = "",
      info = "",
      warning = "",
      error = "",
    },
  }
Carregando publicação patrocinada...
1

Sensacional, era exatamente isso que eu estava precisando aqui nas minhas configs, obrigado por compartilhar!

Bem que poderia ter uma sessão nas docs explicando melhor a parte do diagnostics. Se não fosse por esse post de 8 meses atrás eu estaria batendo cabeça até agora. 😄

0