git: 3219cd782e - main - Article freebsd-src-lsp translated to pt_BR and synced with doc tree version 98c736dd127a2096dc08252d1082300f2ec28ab5
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 08 May 2023 19:46:15 UTC
The branch main has been updated by ebrandi: URL: https://cgit.FreeBSD.org/doc/commit/?id=3219cd782eeeb882a84b75a8b31d5c7833326d57 commit 3219cd782eeeb882a84b75a8b31d5c7833326d57 Author: Edson Brandi <ebrandi@FreeBSD.org> AuthorDate: 2023-05-08 19:45:25 +0000 Commit: Edson Brandi <ebrandi@FreeBSD.org> CommitDate: 2023-05-08 19:45:25 +0000 Article freebsd-src-lsp translated to pt_BR and synced with doc tree version 98c736dd127a2096dc08252d1082300f2ec28ab5 --- .../pt-br/articles/freebsd-src-lsp/_index.adoc | 268 ++++++++ .../pt-br/articles/freebsd-src-lsp/_index.po | 702 +++++++++++++++++++++ 2 files changed, 970 insertions(+) diff --git a/documentation/content/pt-br/articles/freebsd-src-lsp/_index.adoc b/documentation/content/pt-br/articles/freebsd-src-lsp/_index.adoc new file mode 100644 index 0000000000..98dd54ff75 --- /dev/null +++ b/documentation/content/pt-br/articles/freebsd-src-lsp/_index.adoc @@ -0,0 +1,268 @@ +--- +authors: + - + author: 'Ka Ho Ng' + email: khng@FreeBSD.org +copyright: '2021 The FreeBSD Foundation' +description: 'Utilize servidores de linguagem para o desenvolvimento na árvore src do FreeBSD para obter resultados precisos e completos ao buscar a definição de um termo no código fonte.' +tags: ["FreeBSD", "Language Server", "LSP"] +title: 'Utilize Servidores de Linguagem para o Desenvolvimento na Árvore Src do FreeBSD' +trademarks: ["freebsd"] +--- + += Utilize Servidores de Linguagem para o Desenvolvimento na Árvore Src do FreeBSD +:doctype: article +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:source-highlighter: rouge +:experimental: +:images-path: articles/freebsd-src-lsp/ + +ifdef::env-beastie[] +ifdef::backend-html5[] +include::shared/authors.adoc[] +include::shared/mirrors.adoc[] +include::shared/releases.adoc[] +include::shared/attributes/attributes-{{% lang %}}.adoc[] +include::shared/{{% lang %}}/teams.adoc[] +include::shared/{{% lang %}}/mailing-lists.adoc[] +include::shared/{{% lang %}}/urls.adoc[] +:imagesdir: ../../../images/{images-path} +endif::[] +ifdef::backend-pdf,backend-epub3[] +include::../../../../shared/asciidoctor.adoc[] +endif::[] +endif::[] + +ifndef::env-beastie[] +include::../../../../../shared/asciidoctor.adoc[] +endif::[] + +toc::[] + +[[intro]] +== Introdução + +Este guia é sobre como configurar uma árvore src do FreeBSD com servidores de linguagem realizando a indexação de código fonte. O guia descreve os passos para o Vim/NeoVim e o VSCode. Se você usar um editor de texto diferente, pode usar este guia como referência e procurar os comandos equivalentes para o seu editor preferido. + +[[requirements]] +== Requisitos + +Para seguir este guia, precisamos instalar certos requisitos. Precisamos de um servidor de linguagem, `ccls` ou `clangd`, e opcionalmente um banco de dados de compilação. + +A instalação do servidor de linguagem pode ser realizada via `pkg` ou via ports. Se escolhermos `clangd`, precisaremos instalar o `llvm`. + +Usando o `pkg` para instalar o `ccls`: + +[source, shell] +.... +# pkg install ccls +.... + +Se quisermos usar o `clangd`, precisaremos instalar o `llvm` (O comando de exemplo usa o `llvm15`, mas escolha a versão que desejar): + +[source, shell] +.... +# pkg install llvm15 +.... + +Para instalar via ports, escolha a sua combinação favorita de ferramentas de cada categoria abaixo: + +* Implementações de servidores de linguagem +** package:devel/ccls[] +** package:devel/llvm12[] (Outras versões também são aceitáveis, mas as mais novas são melhores. Substitua `clangd12` por `clangdN` no caso de outras versões serem usadas.) +* Editores +** package:editors/vim[] +** package:editors/neovim[] +** package:editors/vscode[] +* Gerador de banco de dados de compilação +** package:devel/python[] (Para a implementação do scan-build-py do llvm) +** package:devel/py-pip[] (Para a implementação do scan-build do rizsotto) +** package:devel/bear[] + +[[editor-settings]] +== Configurações do editor + +[[settings-vim]] +=== Vim/Neovim + +==== Plugins de cliente LSP + +O gerenciador de plugin integrado é usado para ambos os editores neste exemplo. O plugin do cliente LSP usado é o link:https://github.com/prabirshrestha/vim-lsp[prabirshrestha/vim-lsp]. + +Para configurar o plugin do cliente LSP para o Neovim: + +[source, shell] +.... +# mkdir -p ~/.config/nvim/pack/lsp/start +# git clone https://github.com/prabirshrestha/vim-lsp ~/.config/nvim/pack/lsp/start/vim-lsp +.... + +e para o Vim: + +[source, shell] +.... +# mkdir -p ~/.vim/pack/lsp/start +# git clone https://github.com/prabirshrestha/vim-lsp ~/.vim/pack/lsp/start/vim-lsp +.... + +Para habilitar o plugin do cliente LSP no editor, adicione o seguinte trecho em [.filepath]#~/.config/nvim/init.vim# ao usar o Neovim, ou [.filepath]#~/.vim/vimrc# ao usar o Vim: + +.Para o ccls +[source, vim] +.... +au User lsp_setup call lsp#register_server({ + \ 'name': 'ccls', + \ 'cmd': {server_info->['ccls']}, + \ 'allowlist': ['c', 'cpp', 'objc'], + \ 'initialization_options': { + \ 'cache': { + \ 'hierarchicalPath': v:true + \ } + \ }}) +.... + +.Para o clangd +[source, vim] +.... +au User lsp_setup call lsp#register_server({ + \ 'name': 'clangd', + \ 'cmd': {server_info->['clangd15', '--background-index', '--header-insertion=never']}, + \ 'allowlist': ['c', 'cpp', 'objc'], + \ 'initialization_options': {}, + \ }) +.... + +Dependendo da versão que você instalou para o `clangd`, pode ser necessário atualizar o `server-info` para apontar para o binário correto. + +Por favor, consulte link:https://github.com/prabirshrestha/vim-lsp/blob/master/README.md#registering-servers[] para aprender sobre como configurar atalhos e as funções para autocompletar o código. O site oficial do clangd é link:https://clangd.llvm.org[], e o repositório do ccls é link:https://github.com/MaskRay/ccls/[]. + +Abaixo estão as configurações de referência para atalhos de teclado e o autocomplemento de código. Insira o seguinte trecho em [.filepath]#~/.config/nvim/init.vim# ou [.filepath]#~/.vim/vimrc# para que usuários do Vim possam utilizá-las: + +[source, vim] +.... +function! s:on_lsp_buffer_enabled() abort + setlocal omnifunc=lsp#complete + setlocal completeopt-=preview + setlocal keywordprg=:LspHover + + nmap <buffer> <C-]> <plug>(lsp-definition) + nmap <buffer> <C-W>] <plug>(lsp-peek-definition) + nmap <buffer> <C-W><C-]> <plug>(lsp-peek-definition) + nmap <buffer> gr <plug>(lsp-references) + nmap <buffer> <C-n> <plug>(lsp-next-reference) + nmap <buffer> <C-p> <plug>(lsp-previous-reference) + nmap <buffer> gI <plug>(lsp-implementation) + nmap <buffer> go <plug>(lsp-document-symbol) + nmap <buffer> gS <plug>(lsp-workspace-symbol) + nmap <buffer> ga <plug>(lsp-code-action) + nmap <buffer> gR <plug>(lsp-rename) + nmap <buffer> gm <plug>(lsp-signature-help) +endfunction + +augroup lsp_install + au! + autocmd User lsp_buffer_enabled call s:on_lsp_buffer_enabled() +augroup END +.... + +[[settings-vscode]] +=== VSCode + +==== Plugins de cliente LSP + +Plugins de cliente LSP são necessários para iniciar o daemon do servidor de linguagem. Pressione `Ctrl+Shift+X` para exibir o painel de pesquisa de extensões online. Digite `llvm-vs-code-extensions.vscode-clangd` quando estiver usando o clangd, ou `ccls-project.ccls` quando estiver usando o ccls. + +Em seguida, pressione `Ctrl+Shift+P` para exibir a paleta de comandos do editor. Digite `Preferences: Open Settings (JSON)` na paleta e pressione `Enter` para abrir o [.filepath]#settings.json#. Dependendo das implementações do servidor de linguagem, adicione um dos seguintes pares chave/valor JSON em [.filepath]#settings.json#: + +.Para o clangd +[source, json] +.... +[ + /* Begin of your existing configurations */ + ... + /* End of your existing configurations */ + "clangd.arguments": [ + "--background-index", + "--header-insertion=never" + ], + "clangd.path": "clangd12" +] +.... + +.Para o ccls +[source, json] +.... +[ + /* Begin of your existing configurations */ + ... + /* End of your existing configurations */ + "ccls.cache.hierarchicalPath": true +] +.... + +[[cdb]] +== Banco de dados de compilação + +Um banco de dados de compilação contém um array de objetos de comando de compilação. Cada objeto especifica uma maneira de compilar um arquivo de origem. O arquivo de banco de dados de compilação geralmente é chamado de [.filename]#compile_commands.json#. O banco de dados é usado por implementações de servidores de linguagem para fins de indexação. + +Por favor, consulte link:https://clang.llvm.org/docs/JSONCompilationDatabase.html#format[] para obter detalhes sobre o formato do arquivo do banco de dados de compilação. + +[[cdb-generators]] +=== Geradores + +[[generators-scan-build-py]] +==== Usando scan-build-py + +===== Instalação + +A ferramenta `intercept-build` do scan-build-py é usada para gerar o banco de dados de compilação. + +Primeiro instale o package:devel/python[] para obter o interpretador Python. Para obter o `intercept-build` do LLVM: + +[source, shell] +.... +# git clone https://github.com/llvm/llvm-project /path/to/llvm-project +.... + +onde [.filename]#/path/to/llvm-project/# é o caminho desejado para o repositório. Crie um alias no arquivo de configuração do shell para conveniência: + +[source, shell] +.... +alias intercept-build='/path/to/llvm-project/clang/tools/scan-build-py/bin/intercept-build' +.... + +Você também pode usar o link:https://github.com/rizsotto/scan-build[rizsotto/scan-build] em vez do scan-build-py do LLVM. O scan-build-py do LLVM foi incorporado ao repositório do LLVM. Essa implementação pode ser instalada com o comando `pip install --user scan-build`. O script `intercept-build` é instalado por padrão em [.filename]#~/.local/bin#. + +===== Uso + +No diretório raiz da árvore src do FreeBSD, gere o banco de dados de compilação com o `intercept-build`: + +[source, shell] +.... +# intercept-build --append make buildworld buildkernel -j`sysctl -n hw.ncpu` +.... + +A opção `--append` instrui o `intercept-build` a ler um banco de dados de compilação existente (se existir) e adicionar os resultados ao banco de dados. As entradas com chaves de comando duplicadas são mescladas. O banco de dados de compilação gerado por padrão é salvo no diretório de trabalho atual como [.filename]#compile_commands.json#. + +[[generators-bear]] +==== Usando o devel/bear + +===== Uso + +No diretório raiz da árvore src do FreeBSD, para gerar o banco de dados de compilação com o `bear`: + +[source, shell] +.... +# bear --append -- make buildworld buildkernel -j`sysctl -n hw.ncpu` +.... + +A opção `--append` instrui o `bear` a ler um banco de dados de compilação existente, se estiver presente, e adicionar os resultados ao banco de dados. As entradas com chave de comando duplicada são mescladas. O banco de dados de compilação gerado por padrão é salvo no diretório de trabalho atual como [.filename]#compile_commands.json#. + +[[final]] +== Finalizando + +Depois que o banco de dados de compilação for gerado, abra qualquer arquivo de código fonte na árvore src do FreeBSD e o daemon do servidor LSP será lançado em segundo plano. Abrir arquivos de código fonte na árvore src pela primeira vez leva significativamente mais tempo antes que o servidor LSP seja capaz de fornecer um resultado completo, devido à indexação de segundo plano inicial pelo servidor LSP compilando todas as entradas listadas no banco de dados de compilação. No entanto, o daemon do servidor de linguagem não indexa os arquivos de origem que não aparecem no banco de dados de compilação, portanto, nenhum resultado completo é mostrado em arquivos de origem que não estão sendo compilados durante o `make`. diff --git a/documentation/content/pt-br/articles/freebsd-src-lsp/_index.po b/documentation/content/pt-br/articles/freebsd-src-lsp/_index.po new file mode 100644 index 0000000000..18684ac133 --- /dev/null +++ b/documentation/content/pt-br/articles/freebsd-src-lsp/_index.po @@ -0,0 +1,702 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2023-04-20 20:56-0300\n" +"PO-Revision-Date: 2023-05-08 19:31+0000\n" +"Last-Translator: Edson Brandi <ebrandi@freebsd.org>\n" +"Language-Team: Portuguese (Brazil) <https://translate-dev.freebsd.org/" +"projects/documentation/articlesfreebsd-src-lsp_index/pt_BR/>\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.17\n" + +#. type: YAML Front Matter: description +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:1 +#, no-wrap +msgid "Use Language Servers for development in the FreeBSD src tree to get precise go-to-definition and completion results." +msgstr "" +"Utilize servidores de linguagem para o desenvolvimento na árvore src do " +"FreeBSD para obter resultados precisos e completos ao buscar a definição de " +"um termo no código fonte." + +#. type: Title = +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:1 +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:13 +#, no-wrap +msgid "Use Language Servers for Development in the FreeBSD Src Tree" +msgstr "" +"Utilize Servidores de Linguagem para o Desenvolvimento na Árvore Src do " +"FreeBSD" + +#. type: Title == +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:47 +#, no-wrap +msgid "Introduction" +msgstr "Introdução" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:50 +msgid "" +"This guide is about setting up a FreeBSD src tree with language servers " +"performing source code indexing. The guide describes the steps for Vim/" +"NeoVim and VSCode. If you use a different text editor you can use this guide " +"as a reference and search the equivalent commands for your preferred editor." +msgstr "" +"Este guia é sobre como configurar uma árvore src do FreeBSD com servidores " +"de linguagem realizando a indexação de código fonte. O guia descreve os " +"passos para o Vim/NeoVim e o VSCode. Se você usar um editor de texto " +"diferente, pode usar este guia como referência e procurar os comandos " +"equivalentes para o seu editor preferido." + +#. type: Title == +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:52 +#, no-wrap +msgid "Requirements" +msgstr "Requisitos" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:55 +msgid "" +"In order to follow this guide we need to install certain requirements. We " +"need a Language server, `ccls` or `clangd`, and optionally a compilation " +"database." +msgstr "" +"Para seguir este guia, precisamos instalar certos requisitos. Precisamos de " +"um servidor de linguagem, `ccls` ou `clangd`, e opcionalmente um banco de " +"dados de compilação." + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:57 +msgid "" +"The installation of the Language server can be performed via `pkg` or via " +"ports. If we chose `clangd` we need to install `llvm`." +msgstr "" +"A instalação do servidor de linguagem pode ser realizada via `pkg` ou via " +"ports. Se escolhermos `clangd`, precisaremos instalar o `llvm`." + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:59 +msgid "Using `pkg` to install `ccls`:" +msgstr "Usando o `pkg` para instalar o `ccls`:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:63 +#, no-wrap +msgid "# pkg install ccls\n" +msgstr "# pkg install ccls\n" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:66 +msgid "" +"If we want to use `clangd` we need to install `llvm` (The example command " +"uses `llvm15` but choose the version you desire):" +msgstr "" +"Se quisermos usar o `clangd`, precisaremos instalar o `llvm` (O comando de " +"exemplo usa o `llvm15`, mas escolha a versão que desejar):" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:70 +#, no-wrap +msgid "# pkg install llvm15\n" +msgstr "# pkg install llvm15\n" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:73 +msgid "" +"To install via ports choose a favorite combination of tools from each " +"category below:" +msgstr "" +"Para instalar via ports, escolha a sua combinação favorita de ferramentas de " +"cada categoria abaixo:" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:75 +msgid "Language server implementations" +msgstr "Implementações de servidores de linguagem" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:76 +msgid "package:devel/ccls[]" +msgstr "package:devel/ccls[]" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:77 +msgid "" +"package:devel/llvm12[] (Other versions are okay, but newer is better. " +"Replace `clangd12` with clangdN in case other versions are used.)" +msgstr "" +"package:devel/llvm12[] (Outras versões também são aceitáveis, mas as mais " +"novas são melhores. Substitua `clangd12` por `clangdN` no caso de outras " +"versões serem usadas.)" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:78 +msgid "Editors" +msgstr "Editores" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:79 +msgid "package:editors/vim[]" +msgstr "package:editors/vim[]" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:80 +msgid "package:editors/neovim[]" +msgstr "package:editors/neovim[]" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:81 +msgid "package:editors/vscode[]" +msgstr "package:editors/vscode[]" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:82 +msgid "Compilation database generator" +msgstr "Gerador de banco de dados de compilação" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:83 +msgid "package:devel/python[] (For llvm's scan-build-py implementation)" +msgstr "package:devel/python[] (Para a implementação do scan-build-py do llvm)" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:84 +msgid "package:devel/py-pip[] (For rizsotto's scan-build implementation)" +msgstr "package:devel/py-pip[] (Para a implementação do scan-build do rizsotto)" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:85 +msgid "package:devel/bear[]" +msgstr "package:devel/bear[]" + +#. type: Title == +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:87 +#, no-wrap +msgid "Editor settings" +msgstr "Configurações do editor" + +#. type: Title === +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:90 +#, no-wrap +msgid "Vim/Neovim" +msgstr "Vim/Neovim" + +#. type: Title ==== +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:92 +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:178 +#, no-wrap +msgid "LSP client plugins" +msgstr "Plugins de cliente LSP" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:96 +msgid "" +"The built-in plugin manager is used for both editors in this example. The " +"LSP client plugin used is link:https://github.com/prabirshrestha/vim-" +"lsp[prabirshrestha/vim-lsp]." +msgstr "" +"O gerenciador de plugin integrado é usado para ambos os editores neste " +"exemplo. O plugin do cliente LSP usado é o link:https://github.com/" +"prabirshrestha/vim-lsp[prabirshrestha/vim-lsp]." + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:98 +msgid "To set up the LSP client plugin for Neovim:" +msgstr "Para configurar o plugin do cliente LSP para o Neovim:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:103 +#, no-wrap +msgid "" +"# mkdir -p ~/.config/nvim/pack/lsp/start\n" +"# git clone https://github.com/prabirshrestha/vim-lsp ~/.config/nvim/pack/lsp/start/vim-lsp\n" +msgstr "" +"# mkdir -p ~/.config/nvim/pack/lsp/start\n" +"# git clone https://github.com/prabirshrestha/vim-lsp ~/.config/nvim/pack/" +"lsp/start/vim-lsp\n" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:106 +msgid "and for Vim:" +msgstr "e para o Vim:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:111 +#, no-wrap +msgid "" +"# mkdir -p ~/.vim/pack/lsp/start\n" +"# git clone https://github.com/prabirshrestha/vim-lsp ~/.vim/pack/lsp/start/vim-lsp\n" +msgstr "" +"# mkdir -p ~/.vim/pack/lsp/start\n" +"# git clone https://github.com/prabirshrestha/vim-lsp ~/.vim/pack/lsp/start/" +"vim-lsp\n" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:114 +msgid "" +"To enable the LSP client plugin in the editor, add the following snippet " +"into [.filepath]#~/.config/nvim/init.vim# when using Neovim, or [." +"filepath]#~/.vim/vimrc# when using Vim:" +msgstr "" +"Para habilitar o plugin do cliente LSP no editor, adicione o seguinte trecho " +"em [.filepath]#~/.config/nvim/init.vim# ao usar o Neovim, ou [.filepath]#~/." +"vim/vimrc# ao usar o Vim:" + +#. type: Block title +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:115 +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:203 +#, no-wrap +msgid "For ccls" +msgstr "Para o ccls" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:127 +#, no-wrap +msgid "" +"au User lsp_setup call lsp#register_server({\n" +" \\ 'name': 'ccls',\n" +" \\ 'cmd': {server_info->['ccls']},\n" +" \\ 'allowlist': ['c', 'cpp', 'objc'],\n" +" \\ 'initialization_options': {\n" +" \\ 'cache': {\n" +" \\ 'hierarchicalPath': v:true\n" +" \\ }\n" +" \\ }})\n" +msgstr "" +"au User lsp_setup call lsp#register_server({\n" +" \\ 'name': 'ccls',\n" +" \\ 'cmd': {server_info->['ccls']},\n" +" \\ 'allowlist': ['c', 'cpp', 'objc'],\n" +" \\ 'initialization_options': {\n" +" \\ 'cache': {\n" +" \\ 'hierarchicalPath': v:true\n" +" \\ }\n" +" \\ }})\n" + +#. type: Block title +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:129 +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:188 +#, no-wrap +msgid "For clangd" +msgstr "Para o clangd" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:138 +#, no-wrap +msgid "" +"au User lsp_setup call lsp#register_server({\n" +" \\ 'name': 'clangd',\n" +" \\ 'cmd': {server_info->['clangd15', '--background-index', '--header-insertion=never']},\n" +" \\ 'allowlist': ['c', 'cpp', 'objc'],\n" +" \\ 'initialization_options': {},\n" +" \\ })\n" +msgstr "" +"au User lsp_setup call lsp#register_server({\n" +" \\ 'name': 'clangd',\n" +" \\ 'cmd': {server_info->['clangd15', '--background-index', '--header-" +"insertion=never']},\n" +" \\ 'allowlist': ['c', 'cpp', 'objc'],\n" +" \\ 'initialization_options': {},\n" +" \\ })\n" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:141 +msgid "" +"Depending on the version that you installed for `clangd` you might need to " +"update the `server-info` to point to the correct binary." +msgstr "" +"Dependendo da versão que você instalou para o `clangd`, pode ser necessário " +"atualizar o `server-info` para apontar para o binário correto." + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:144 +msgid "" +"Please refer to link:https://github.com/prabirshrestha/vim-lsp/blob/master/" +"README.md#registering-servers[] to learn about setting up key bindings and " +"code completion. The official site of clangd is link:https://clangd.llvm." +"org[], and the repository link of ccls is link:https://github.com/MaskRay/" +"ccls/[]." +msgstr "" +"Por favor, consulte link:https://github.com/prabirshrestha/vim-lsp/blob/" +"master/README.md#registering-servers[] para aprender sobre como configurar " +"atalhos e as funções para autocompletar o código. O site oficial do clangd é " +"link:https://clangd.llvm.org[], e o repositório do ccls é link:https://github" +".com/MaskRay/ccls/[]." + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:147 +msgid "" +"Below are the reference settings of keybindings and code completions. Put " +"the following snippet into [.filepath]#~/.config/nvim/init.vim#, or [." +"filepath]#~/.vim/vimrc# for Vim users to use it:" +msgstr "" +"Abaixo estão as configurações de referência para atalhos de teclado e o " +"autocomplemento de código. Insira o seguinte trecho em [.filepath]#~/.config/" +"nvim/init.vim# ou [.filepath]#~/.vim/vimrc# para que usuários do Vim possam " +"utilizá-las:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:154 +#, no-wrap +msgid "" +"function! s:on_lsp_buffer_enabled() abort\n" +" setlocal omnifunc=lsp#complete\n" +" setlocal completeopt-=preview\n" +" setlocal keywordprg=:LspHover\n" +msgstr "" +"function! s:on_lsp_buffer_enabled() abort\n" +" setlocal omnifunc=lsp#complete\n" +" setlocal completeopt-=preview\n" +" setlocal keywordprg=:LspHover\n" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:168 +#, no-wrap +msgid "" +" nmap <buffer> <C-]> <plug>(lsp-definition)\n" +" nmap <buffer> <C-W>] <plug>(lsp-peek-definition)\n" +" nmap <buffer> <C-W><C-]> <plug>(lsp-peek-definition)\n" +" nmap <buffer> gr <plug>(lsp-references)\n" +" nmap <buffer> <C-n> <plug>(lsp-next-reference)\n" +" nmap <buffer> <C-p> <plug>(lsp-previous-reference)\n" +" nmap <buffer> gI <plug>(lsp-implementation)\n" +" nmap <buffer> go <plug>(lsp-document-symbol)\n" +" nmap <buffer> gS <plug>(lsp-workspace-symbol)\n" +" nmap <buffer> ga <plug>(lsp-code-action)\n" +" nmap <buffer> gR <plug>(lsp-rename)\n" +" nmap <buffer> gm <plug>(lsp-signature-help)\n" +"endfunction\n" +msgstr "" +" nmap <buffer> <C-]> <plug>(lsp-definition)\n" +" nmap <buffer> <C-W>] <plug>(lsp-peek-definition)\n" +" nmap <buffer> <C-W><C-]> <plug>(lsp-peek-definition)\n" +" nmap <buffer> gr <plug>(lsp-references)\n" +" nmap <buffer> <C-n> <plug>(lsp-next-reference)\n" +" nmap <buffer> <C-p> <plug>(lsp-previous-reference)\n" +" nmap <buffer> gI <plug>(lsp-implementation)\n" +" nmap <buffer> go <plug>(lsp-document-symbol)\n" +" nmap <buffer> gS <plug>(lsp-workspace-symbol)\n" +" nmap <buffer> ga <plug>(lsp-code-action)\n" +" nmap <buffer> gR <plug>(lsp-rename)\n" +" nmap <buffer> gm <plug>(lsp-signature-help)\n" +"endfunction\n" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:173 +#, no-wrap +msgid "" +"augroup lsp_install\n" +" au!\n" +" autocmd User lsp_buffer_enabled call s:on_lsp_buffer_enabled()\n" +"augroup END\n" +msgstr "" +"augroup lsp_install\n" +" au!\n" +" autocmd User lsp_buffer_enabled call s:on_lsp_buffer_enabled()\n" +"augroup END\n" + +#. type: Title === +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:176 +#, no-wrap +msgid "VSCode" +msgstr "VSCode" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:183 +msgid "" +"LSP client plugins are required to launch the language server daemon. Press " +"`Ctrl+Shift+X` to show the extension online search panel. Enter `llvm-vs-" +"code-extensions.vscode-clangd` when running clangd, or `ccls-project.ccls` " +"when running ccls." +msgstr "" +"Plugins de cliente LSP são necessários para iniciar o daemon do servidor de " +"linguagem. Pressione `Ctrl+Shift+X` para exibir o painel de pesquisa de " +"extensões online. Digite `llvm-vs-code-extensions.vscode-clangd` quando " +"estiver usando o clangd, ou `ccls-project.ccls` quando estiver usando o ccls." + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:187 +msgid "" +"Then, press `Ctrl+Shift+P` to show the editor commands palette. Enter " +"`Preferences: Open Settings (JSON)` into the palette and hit `Enter` to open " +"[.filepath]#settings.json#. Depending on the language server " +"implementations, put one of the following JSON key/value pairs in [." +"filepath]#settings.json#:" +msgstr "" +"Em seguida, pressione `Ctrl+Shift+P` para exibir a paleta de comandos do " +"editor. Digite `Preferences: Open Settings (JSON)` na paleta e pressione " +"`Enter` para abrir o [.filepath]#settings.json#. Dependendo das " +"implementações do servidor de linguagem, adicione um dos seguintes pares " +"chave/valor JSON em [.filepath]#settings.json#:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:201 +#, no-wrap +msgid "" +"[\n" +" /* Begin of your existing configurations */\n" +" ...\n" +" /* End of your existing configurations */\n" +" \"clangd.arguments\": [\n" +" \"--background-index\",\n" +" \"--header-insertion=never\"\n" +" ],\n" +" \"clangd.path\": \"clangd12\"\n" +"]\n" +msgstr "" +"[\n" +" /* Begin of your existing configurations */\n" +" ...\n" +" /* End of your existing configurations */\n" +" \"clangd.arguments\": [\n" +" \"--background-index\",\n" +" \"--header-insertion=never\"\n" +" ],\n" +" \"clangd.path\": \"clangd12\"\n" +"]\n" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:212 +#, no-wrap +msgid "" +"[\n" +" /* Begin of your existing configurations */\n" +" ...\n" +" /* End of your existing configurations */\n" +" \"ccls.cache.hierarchicalPath\": true\n" +"]\n" +msgstr "" +"[\n" +" /* Begin of your existing configurations */\n" +" ...\n" +" /* End of your existing configurations */\n" +" \"ccls.cache.hierarchicalPath\": true\n" +"]\n" + +#. type: Title == +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:215 +#, no-wrap +msgid "Compilation database" +msgstr "Banco de dados de compilação" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:221 +msgid "" +"A Compilation database contains an array of compile command objects. Each " +"object specifies a way of compiling a source file. The compilation database " +"file is usually [.filename]#compile_commands.json#. The database is used by " +"language server implementations for indexing purpose." +msgstr "" +"Um banco de dados de compilação contém um array de objetos de comando de " +"compilação. Cada objeto especifica uma maneira de compilar um arquivo de " +"origem. O arquivo de banco de dados de compilação geralmente é chamado de [." +"filename]#compile_commands.json#. O banco de dados é usado por " +"implementações de servidores de linguagem para fins de indexação." + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:223 +msgid "" +"Please refer to link:https://clang.llvm.org/docs/JSONCompilationDatabase." +"html#format[] for details on the format of the compilation database file." +msgstr "" +"Por favor, consulte link:https://clang.llvm.org/docs/JSONCompilationDatabase." +"html#format[] para obter detalhes sobre o formato do arquivo do banco de " +"dados de compilação." + +#. type: Title === +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:225 +#, no-wrap +msgid "Generators" +msgstr "Geradores" + +#. type: Title ==== +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:228 +#, no-wrap +msgid "Using scan-build-py" +msgstr "Usando scan-build-py" + +#. type: Title ===== +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:230 +#, no-wrap +msgid "Installation" +msgstr "Instalação" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:234 +msgid "" +"`intercept-build` tool from scan-build-py is used to generate compilation " +"database." +msgstr "" +"A ferramenta `intercept-build` do scan-build-py é usada para gerar o banco " +"de dados de compilação." + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:237 +msgid "" +"Install package:devel/python[] to get python interpreter first. To get " +"`intercept-build` from LLVM:" +msgstr "" +"Primeiro instale o package:devel/python[] para obter o interpretador Python. " +"Para obter o `intercept-build` do LLVM:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:241 +#, no-wrap +msgid "# git clone https://github.com/llvm/llvm-project /path/to/llvm-project\n" +msgstr "" +"# git clone https://github.com/llvm/llvm-project /path/to/llvm-project\n" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:244 +msgid "" +"where [.filename]#/path/to/llvm-project/# is your desired path for the " +"repository. Make an alias in the shell configuration file for convenience:" +msgstr "" +"onde [.filename]#/path/to/llvm-project/# é o caminho desejado para o " +"repositório. Crie um alias no arquivo de configuração do shell para " +"conveniência:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:248 +#, no-wrap +msgid "alias intercept-build='/path/to/llvm-project/clang/tools/scan-build-py/bin/intercept-build'\n" +msgstr "" +"alias intercept-build='/path/to/llvm-project/clang/tools/scan-build-py/bin/" +"intercept-build'\n" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:254 +msgid "" +"link:https://github.com/rizsotto/scan-build[rizsotto/scan-build] can be used " +"instead of LLVM's scan-build-py. The LLVM's scan-build-py was rizsotto/scan-" +"build merged into the LLVM tree. This implementation can be installed by " +"`pip install --user scan-build`. The `intercept-build` script is in [." +"filename]#~/.local/bin# by default." +msgstr "" +"Você também pode usar o link:https://github.com/rizsotto/scan-build[rizsotto/" +"scan-build] em vez do scan-build-py do LLVM. O scan-build-py do LLVM foi " +"incorporado ao repositório do LLVM. Essa implementação pode ser instalada " +"com o comando `pip install --user scan-build`. O script `intercept-build` é " +"instalado por padrão em [.filename]#~/.local/bin#." + +#. type: Title ===== +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:255 +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:271 +#, no-wrap +msgid "Usage" +msgstr "Uso" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:258 +msgid "" +"In the top-level directory of the FreeBSD src tree, generate the compilation " +"database with `intercept-build`:" +msgstr "" +"No diretório raiz da árvore src do FreeBSD, gere o banco de dados de " +"compilação com o `intercept-build`:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:262 +#, no-wrap +msgid "# intercept-build --append make buildworld buildkernel -j`sysctl -n hw.ncpu`\n" +msgstr "" +"# intercept-build --append make buildworld buildkernel -j`sysctl -n hw.ncpu`" +"\n" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:267 +msgid "" +"The `--append` flag tells the `intercept-build` to read an existing " +"compilation database (if a compilation database exists) and append the " +"results to the database. Entries with duplicated command keys are merged. " +"The generated compilation database by default is saved in the current " +"working directory as [.filename]#compile_commands.json#." +msgstr "" +"A opção `--append` instrui o `intercept-build` a ler um banco de dados de " +"compilação existente (se existir) e adicionar os resultados ao banco de " +"dados. As entradas com chaves de comando duplicadas são mescladas. O banco " +"de dados de compilação gerado por padrão é salvo no diretório de trabalho " +"atual como [.filename]#compile_commands.json#." + +#. type: Title ==== +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:269 +#, no-wrap +msgid "Using devel/bear" +msgstr "Usando o devel/bear" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:274 +msgid "" +"In the top-level directory of the FreeBSD src tree, to generate compilation " +"database with `bear`:" +msgstr "" +"No diretório raiz da árvore src do FreeBSD, para gerar o banco de dados de " +"compilação com o `bear`:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:278 +#, no-wrap +msgid "# bear --append -- make buildworld buildkernel -j`sysctl -n hw.ncpu`\n" +msgstr "# bear --append -- make buildworld buildkernel -j`sysctl -n hw.ncpu`\n" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:283 +msgid "" +"The `--append` flag tells `bear` to read an existing compilation database if " +"it is present, and append the results to the database. Entries with " +"duplicated command key are merged. The generated compilation database by " +"default is saved in the current working directory as [." +"filename]#compile_commands.json#." +msgstr "" +"A opção `--append` instrui o `bear` a ler um banco de dados de compilação " +"existente, se estiver presente, e adicionar os resultados ao banco de dados. " +"As entradas com chave de comando duplicada são mescladas. O banco de dados " +"de compilação gerado por padrão é salvo no diretório de trabalho atual como [" +".filename]#compile_commands.json#." + +#. type: Title == +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:285 +#, no-wrap +msgid "Final" +msgstr "Finalizando" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:289 +msgid "" +"Once the compilation database is generated, open any source files in the " +"FreeBSD src tree and LSP server daemon will be launched as well in " +"background. Opening source files in the src tree for the first time takes " +"significantly longer time before the LSP server is able to give a complete " +"result, due to initial background indexing by the LSP server compiling all " +"the listed entries in the compilation database. The language server daemon " +"however does not index the source files not appearing in the compilation " +"database, thus no complete results are shown on source files not being " +"compiled during the `make`." +msgstr "" +"Depois que o banco de dados de compilação for gerado, abra qualquer arquivo " +"de código fonte na árvore src do FreeBSD e o daemon do servidor LSP será " +"lançado em segundo plano. Abrir arquivos de código fonte na árvore src pela " +"primeira vez leva significativamente mais tempo antes que o servidor LSP " +"seja capaz de fornecer um resultado completo, devido à indexação de segundo " +"plano inicial pelo servidor LSP compilando todas as entradas listadas no " +"banco de dados de compilação. No entanto, o daemon do servidor de linguagem " +"não indexa os arquivos de origem que não aparecem no banco de dados de " *** 11 LINES SKIPPED ***