Minha Terceira Semana com Helix Editor
Olá jovem, estou de volta para compartilhar como foi minha terceira semana usando o Helix Editor. Dessa vez, a Black Friday agitou as coisas, e, enquanto trabalhava em um projeto, não tive muito tempo para explorar novos recursos, mas concentrei-me em aprimorar o que já conhecia.
Desafios
Enfrentei alguns desafios ao selecionar código. Por exemplo, ao tentar selecionar todo o arquivo, o comando "v" às vezes não capturava tudo, e usar "x" não parecia uma ideia muito eficaz, especialmente em arquivos grandes. Lembro-me de um antigo chefe, que era um ás no Vim, dizendo: "tudo no Vim pode ser feito com dois comandos." Provavelmente, não estava fazendo do jeito certo, e sei que há uma maneira mais eficiente de fazer isso.
Outra questão foi a falta de destaque visual nas abas. Com várias abas abertas, não era fácil identificar qual aba estava em foco, tornando difícil saber se o buffer estava salvo ou não. Isso me causou alguma dor de cabeça em algumas situações.
Coisas Legais
É incrível como, ao usar um editor por um tempo, você se torna mais eficiente em seu fluxo de trabalho. Nesta semana, precisei codar bastante, e as coisas começaram a fluir de maneira mais natural. A parte de lint estava funcionando bem, assim como as buscas, o que contribuiu para minha produtividade. Além disso, o uso frequente do multi-cursor no Helix Editor provou ser uma ferramenta extremamente útil.
Recentemente, adicionei um novo servidor para ter uma camada adicional de comandos de buffer. Para isso, precisei instalar o simple-completion-language-server.
Ajustei meu arquivo languages.toml para incluir as configurações necessárias:
[language-server.scls]
command = "simple-completion-language-server"
config = { max_completion_items = 20, snippets_first = false }
[language-server.scls.environment]
RUST_LOG = "debug,simple-completion-langauge-server=debug"
LOG_FILE = "/tmp/completion.log"
[[language]]
name = "python"
roots = ["pyproject.toml"]
language-servers = ["scls", "pyright", "ruff"]
[language-server.pyright.config.python.analysis]
typeCheckingMode = "basic"
[language-server.ruff]
command = "ruff-lsp"
[language-server.ruff.config.settings]
args = ["--ignore", "E501"]
[language.formatter]
command = "blue"
[[language]]
name = "rust"
[language-server.rust-analyzer.config.check]
auto-format = false
language-servers = ["rust-analyzer", "scls"]
command = "clippy"
[[language]]
name = "vue"
auto-format = true
formatter = { command = "prettier", args = ["--parser", "vue"] }
[[language]]
name = "svelte"
auto-format = true
formatter = { command = 'prettier', args = ["--plugin", "prettier-plugin-svelte", "--stdin"] }
[[language]]
name = "git-commit"
language-servers = [ "scls" ]
Essa adição não só ampliou minhas capacidades, mas também forneceu alguns snippets úteis de código.
No entanto, ainda estou me familiarizando com a config do Svelte. Trabalhei um pouco no meu blog, e o auto-complete não estava tão eficaz. Isso me fez perceber que sinto falta de alguns snippets que tinha no Neovim.
Em resumo, esta semana foi mais sobre uso prático do que exploração profunda, mas a experiência com o Helix Editor continua sendo interessante. Convido você a experimentá-lo também, pois é um editor muito promissor.
Até semana que vem!