Trago neste post algumas novidades sobre o suporte ao Scilab no Cantor, meu projeto do Google Summer of Code deste ano.
Após as últimas semanas de trabalho, duas interessantes funcionalidades do backend foram implementadas: o destaque de sintaxe e o autocomplete para funções e variáveis pré-definidas. Estas funcionalidades são legais pois estão presentes na maioria das IDEs e elas, em conjunto com outras características, são o que nos fazem preferir a escrever linhas de código em IDEs do que em editores de texto convencionais. 🙂
Essas funcionalidades foram desenvolvidas baseadas na forma como estão implementadas para o backend de Maxima: usando arquivo XML que lista todas as funções e variáveis pré-definidas.
Alguns screenshots para demonstrar o funcionamento delas. Abaixo, temos o destaque de sintaxe do Scilab no SciNotes, o editor padrão do Scilab:
Destaque de sintaxe no SciNotes
Para encontrar todas as palavras-chave de funcionalidades e variáveis pré-definidas, usei a função getscilabkeywords que lista todas as palavras chaves do Scilab. Com ela em mãos, pude criar o arquivo XML com estes dados. Abaixo vemos o destaque de sintaxe no Cantor:
Destaque de sintaxe no Cantor
Ainda falta um detalhe para completar esta funcionalidade: o destaque de variáveis pré-definidas. Mas estou conversando com o Alex Rieder para terminarmos isso.
Abaixo, como curiosidade, o destaque de sintaxe do Scilab no Cantor e no SciNotes, lado-a-lado:
Destaque de sintaxe no Cantor e SciNotes
A outra funcionalidade é o autocomplete, que faz com que o Cantor sugira nomes de funções ou variáveis pré-definidas ao desenvolvedor durante a escrita do código. No Cantor, basta após qualquer caractere digitar a tecla TAB (padrão neste software para esta funcionalidade).
Na imagem abaixo temos o autocomplete sugerindo nomes de função para a palavra “plot” (a função de gerar gráficos no Scilab):
Autocomplete em ação!
Ao contrário do destaque de sintaxe, o autocomplete também está funcionando para as variáveis pré-definidas.
O código deste backend está no repositório do Cantor, atualmente no branch scilab-backend. Fique a vontade para testar, mas não se esqueça: você deve compilar também o Scilab caso queira experimentar o suporte no Cantor!
Bem, por enquanto é isso! O projeto está bem avançado e, quem sabe, teremos o suporte ao Scilab no Cantor versão KDE SC 4.8? 😉
E para quem for à Berlim: nos veremos por lá!