Configurando Sway en Vim

Aviso legal : Esta publicación es una traducción realizada por un miembro de la Comunidad Fuel. Se realizan cuidadosos controles para garantizar la exactitud de las traducciones, pero éstas pueden contener errores u omisiones. Fuel Labs no se hace responsable de la exactitud, fiabilidad o actualidad de la información traducida. Enlace a la publicación original: sway.vim

Si eres un swayor y usas vim como editor de código principal aquí te enseñare como configurar la sintaxis de sway en vim, para que así puedas desarrollar smart contracts como todo un ninja.

Empecemos

Pre-requisito

Antes de todo tenemos que verificar que tengamos el forc-lsp instalado, ejecutando el comando forc-lsp —version, en caso de no tenerlo instalado debes instalar el toolchain de sway.

Luego de verificar que tienes el forc-lsp instalado debes clonar el repositorio de sway.vim:

git clone https://github.com/FuelLabs/sway.vim.git

Configurar Neovim

copia las carpetas “ftdetect“ y “syntax“ en tu carpeta .config/ con el siguiente comando

cp -R ~/sway.vim/syntax ~/.config/nvim && cp -R ~/sway.vim/ftdetect ~/.config/nvim

en caso de no tener el archivo ~/.config/nvim/init.lua, instala kickstart.nvim.

luego agrega lo siguiente a tu archivo ~/.config/nvim/init.lua.

-- Install Sway LSP as a custom	server
local lspconfig = require 'lspconfig'
local configs = require 'lspconfig.configs'

-- Check if the config is already defined (useful when reloading this file)
if not configs.sway_lsp then
   configs.sway_lsp = {
     default_config = {
       cmd = {'forc-lsp'},
       filetypes = {'sway'},
       on_attach = on_attach,
       init_options = { 
         -- Any initialization options
         logging = { level = 'trace' }
       },
       root_dir = function(fname)
         return lspconfig.util.find_git_ancestor(fname)
       end;
       settings = {};
     };
   }
 end

lspconfig.sway_lsp.setup{}

Verifica que el LSP esta instalado correctamente ejecutando :LspInfo

Configurar Vim

Para configurar sway en vim son pasos muy similares a los que ejecutamos para configurarlo en neovim.

  • clona el repositorio de sway.vim
git clone https://github.com/FuelLabs/sway.vim.git
  • Ahora copia las carpetas “ftdetect“ y “syntax“ en tu carpeta .config/ con el siguiente comando:
cp -R ~/sway.vim/syntax ~/.config/nvim && cp -R ~/sway.vim/ftdetect ~/.config/nvim
  • Agrega el siguiente código a tu ~/.vim/filetype.vim
if exists("did_load_filetypes")
  finish
endif

augroup filetypedetect
  au! BufNewFile,BufRead *.[sS][wW] setf sway
augroup END
  • Instala vim.plug con el siguiente comando
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  • Agrega el siguiente código a tu ~/.vimrc
call plug#begin()

Plug 'prabirshrestha/vim-lsp'

call plug#end()
  • Ahora debes de crear un archivo llamado ~/.vim/lsp.vim y agregarle el siguiente código
" vim-lsp for Sway (sway-lsp)
if executable('sway-lsp')
    au User lsp_setup call lsp#register_server({
        \ 'name': 'sway-lsp',
        \ 'cmd': {server_info->['sway-lsp']},
        \ 'whitelist': ['sway'],
        \ })
endif
  • Abre vim y ejecuta :source ~/.vim/lsp.vim

  • Y por ultimo comprueba si LSP esta ejecutando con :LspStatus

Happy hacking🌴 nos vemos en la proxima

Si quieres ver el articulo original en ingles dirígete aquí.

Subscribe to andrw
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.