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.
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
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
Para configurar sway en vim son pasos muy similares a los que ejecutamos para configurarlo en neovim.
git clone https://github.com/FuelLabs/sway.vim.git
.config/
con el siguiente comando:cp -R ~/sway.vim/syntax ~/.config/nvim && cp -R ~/sway.vim/ftdetect ~/.config/nvim
~/.vim/filetype.vim
if exists("did_load_filetypes")
finish
endif
augroup filetypedetect
au! BufNewFile,BufRead *.[sS][wW] setf sway
augroup END
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
~/.vimrc
call plug#begin()
Plug 'prabirshrestha/vim-lsp'
call plug#end()
~/.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í.