Editores de Texto   Compiladores   Configuração do X  Discadores Gerenciadores de Janela   Configuração da Acentuação   Aplicativos
Como Ingresar  Colaboradores    Documentação


 CARACTERÍSTICAS DE UM EDITOR DE TEXTO

Oi pessoal!

Vou tentar definir algumas caracteristicas do nosso possivel editor de texto.

1 - Em primeiro lugar, acho que devemos manter as teclas utilizadas pelos editores comerciais pra efeito de manter o padrao. Ou seja:

    Shift + Tecla de Navegacao : seleciona
    ^C : copia
    ^X : recorta
    ^V : cola
    ^Z : desfaz
    ^N : novo documento
    ^O : abre arquivo
    ^S : salva arquivo
    ^P : imprime
    ... e outras que possam surgir no caminho

2 - O editor vai ser especifico para linguagens de programacao??? Se for, sugiro desde ja uma distincao básica para os seguintes tipos de texto que eu considero importantissimo que o editor consiga reconhecer e identificar por meio de uma cor diferenciada:

    * Texto Normal
    * Texto Selecionado
    * Texto Com Erro de Sintaxe (parenteses/aspas nao balanceados,etc)
    * Texto Comentario
    * Texto Palavra Chave/Reservada
    * Texto Identificador (variaveis e constantes, tipos declarados)

3 - O editor deve ter um dicionario que, de acordo com a linguagem de programacao que estiver sendo usada, identifique o que estiver sendo digitado. Por exemplo:

    * definimos que "Texo Palavra Chave" deve aperecer no video em azul para diferenciar do "Texto Normal" que aparece em verde.
    * portanto, se estivermos programando em C, quando digitarmos printf( ... )', este deve aparecer em azul. Para isso que servira o dicionario, para nos dizer que printf é um comando, que deve aparecer em azul, e se digitarmos prntf(...), que nao consta no dicionario, este vai aparecer em verde como texto normal nos alertando que algo foi digitado errado.
    * o editor deve ser inteligente o suficiente para identificar que quando se tem uma linha de texto do tipo:     void nova_funcao( void )
    a palavra nova_funcao deve ser considerada como "Texto Palavra Chave"

4 - Concordo com a ideia de que primeiramente, este editor deve ser desenvolvido para console. Até vou arriscar ir um pouco mais alem, vamos tentar utilizar somente C Ansi e tentar manter o editor compativel Dos/Linux. O unico porem fica quanto a utilizacao de C ou C++. Como eu nao tenho experiencia em nenhuma das duas, acredito que, na era da programacao
orientada a objeto, deveriamos cair de cabeca em C++. Até por que, depois poderemos utilizar a mesma base para desenvolver um editor em ambiente grafico utilizando java, tcl/tk, etc... (aproveitando a ideia do Fabio Berbert)

5 - As seguintes pessoas serao aceitas no projeto:

    * experts em C
    * experts em sistemas operacionais
    * experts em Cobol, Ada, Lisp, Clipper, Basic, ...
    * iniciantes de qualquer categoria tambem serao bem vindos. :)
     porem a estes eu deixo um conselho, passem no site do meu xara:
        http://www.gustavo.net/programming/c__tutorials.shtml e peguem algum tutorial C.

6 - O editor deve manter permanentemente um arquivo de backup que seja atualizado constantemente num periodo curto de tempo, para evitar que aconteca uma coisa muito comum em programacao: a perda das 500 linhas de codigo que voce levou 2hs para digitar e so se lembrou de salvar depois que acabou a luz.

7 - Suporte a mouse

8 - Sugiro partir da seguinte estrutura de menu:

    Arquivo
        Abrir
        Novo
        Salvar
        Salvar Como
        Sair
        -----------
        Lista dos ultimos arquivos utilizados (pick list)
    Editar
        Cortar
        Copiar
        Colar
        -----
        Procurar
        Substituir
        Ir para linha
        ----------
        Show Clippboard
        Clear Clippboard
        ----------------
    Compilar
        Compilar             (configuravel)
        Gerar Executavel     (configuravel)
        Executar             (configuravel)
    Utilitarios
        Calculadora          (decimal/octal/hexa)
        Tabela Ascii
    Configuracao
        Diretorios
        Dicionario

9 - OUTROS:
*Vamos tornar linux-projetos@egroups.com nossa lista oficial?
*Comecei a bolar o diagrama de objetos, mas se alguem quiser ir fazendo outro em paralelo nao tenho nada contra. Até por que, acho que irei demorar um pouco para termina-lo.
*Deveriamos ter alguem responsavel pela compilacao das ideias e  colocacao delas em alguma pagina, pode ser Ribamar?
* Quanto ao compilador Clipper... trabalhei 5 anos com clipper e ufa! vai dar servico, acho melhor amadurecer a ideia primeiro.

E' isso ai galera! Desculpa se eu me empolguei, mas o negocio e' chutar bola pra cima e ver aonde a gente vai conseguir pegar ela...

[]s
Gustavo
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Gustavo Jantsch - jantsch@bewnet.com.br