Ctags é uma ótima ferramenta para melhorar a navegabilidade de um projeto em um editor de texto. Infelizmente, ele não cria tags para recursos específicos do Rails . Felizmente, podemos adicionar tags personalizadas facilmente!
Para criar uma tag personalizada para escopos ActiveRecord, basta usar a —regex-<LANG>
opção de linha de comando. A opção requer um padrão de substituição de regex contendo: (1) o padrão que corresponde ao recurso de idioma em nosso código-fonte e (2) a entrada de tag que deve ser criada para ele. No nosso caso, queremos procurar a definição do escopo e criar uma tag com o nome do escopo.
--regex-ruby=/^[ t]*scope[ t]*:([a-zA-Z0-9_]+)/1/
Agora, se virmos um escopo ActiveRecord em nosso editor de texto, podemos pular rapidamente para a definição no modelo!
A opção será aplicada por padrão quando adicionada ao .ctags
arquivo de configuração.
echo '--regex-ruby=/^[ t]*scope[ t]*:([a-zA-Z0-9_]+)/1/' >> ~/.ctags
Veja a documentação do Ctags para mais informações.