Olá, pessoal!
Vamos ver quatro atalhos do paredit, mas que também estão disponíveis no parinfer, para lidar com o monte de parênteses do Clojure. Eles são o slurp forwards/backwards e o barf forwards/backwards e o ojetivo deles é mover os parênteses*, expandindo ou retraindo a expressão atual (onde o cursor está).
- Neste artigo, parênteses significa qualquer delimitador de expressão: parênteses, colchetes ou chaves.
O slurp "suga" uma expressão que está fora para dentro da expressão atual, enquanto o barf "cospe" algo que está dentro para fora da expressão atual.
O forwards se refere ao parêntese que fecha a expressão, ou seja, o mais à direita. O backwards se refere ao parêntese que abre a expressão, ou seja, o mais à esquerda.
Em todos exemplos a seguir, considere que o cursor está em algum lugar dentro da expressão atual (em vermelho).
No primeiro exemplo, usamos o slurp forwards para expandir a expressão atual, sugando o e
que estava fora para dentro da expressão atual:
Agora, usamos o barf forwards para "cuspir" o e
de dentro da expressão atual para fora:
Repare em duas coisas:
- O slurp forwards e o barf forwards são opostos;
- O forwards significa que queremos movimentar o parêntese da direita, ou seja, adicionar (slurp) ou remover (barf) do fim da expressão atual.
Seguindo, podemos usar o slurp backwards para expandir a expressão atual, sugando o b
para dentro:
E podemos usar o barf backwards para "cuspir" o b
para fora da expressão atual:
Novamente, repare em duas coisas:
- O slurp backwards e o barf backwards são opostos;
- O backwards significa que queremos movimentar o parêntese da esquerda, ou seja, adicionar (slurp) ou remover (barf) do começo da expressão atual.
Por fim, os atalhos também tem um padrão bem lógico: usamos Shift para forwards e Ctrl para backwards, enquanto K e J indicam o sentido do movimento do parêntese, para direita ou para a esquerda, respectivamente.
Existem vários outros movimentos no paredit, mas esses já são bastante úteis no dia-a-dia!
Top comments (0)