Em um idioma (julia) que possui blocos definidos por palavras-chave, como for..end
, begin..end
entre parênteses, qual é uma boa maneira de pular esse bloco? Além disso, end
não é apenas uma palavra-chave de bloco, mas também um identificador válido usado em outros lugares.
Uma maneira é procurar regex de início / fechamento de bloco e pular todas as strings, comentários end
es, etc., mas isso é um tanto ineficiente e um pouco feio.
Existe uma maneira de fazer com que a análise de sintaxe do emacs reconheça essas palavras-chave de bloco, para que forward/backward-sexp
funcionem automaticamente e para que seja possível distinguir rapidamente o início do bloco atual a partir da saída de, por exemplo syntax-ppss
?
[Nota: Não me importo de analisar o arquivo, mas nesse caso ainda gostaria de saber como meu analisador deve ser conectado ao restante do emacs.]
ruby-mode
que faz algo semelhante ao ruby. Outra opção é ligar-se smartparens , tem uma configuração especial para ruby modo que você pode usar como ponto de partida