josielsantos / edivox Goto Github PK
View Code? Open in Web Editor NEWEditor de textos do sistema Dosvox com modificações que podem ser legais pra uns e não fazer diferença pra outros :)
Editor de textos do sistema Dosvox com modificações que podem ser legais pra uns e não fazer diferença pra outros :)
Atualmente, a tecla F2 no Edivox é usada para salvar o arquivo sendo trabalhado, não importando quantas vezes seja apertada essa tecla. A ideia dessa issue é de, quando o usuário salvar o arquivo e apertar F2 novamente, o Edivox irá procurar um posprocessador na sua configuração no Dosvox.ini, a fim de realizar um processamento adicional nesse arquivo. No dosvox.ini, os posprocessadores terão o seguinte formato:
posprocessador.extensão do arquivo=programa argumentos opcionais
Quando o arquivo ser salvo, o programa referenciado será executado e o seu código de retorno será analisado depois que ele terminar. Se o código de retorno for 0, o Edivox vai dar a mensagem "ok". Caso contrário, ele deve dar uma mensagem dizendo que houve erro no posprocessamento do arquivo.
Como o nome do arquivo no prosprocessamento pode variar bastante, uma forma de substituir partes do nome do arquivo na hora de passar para o posprocessador vai ter que ser criada. A minha ideia é o seguinte (mas isso provavelmente pode mudar se tiver um jeito melhor de fazer):
Uma string $arquivo inclui o caminho completo do arquivo;
Uma string $arquivobarra inclui o caminho completo do arquivo, mas troca as barras invertidas por barras;
Uma string $arquivosemext inclui o arquivo sem extensão;
Uma string $diretorio inclui o diretório que o arquivo se encontra;
Uma string $extensao inclui a extensão do arquivo.
Atualmente, quando o Edivox abre um arquivo que contenha tabs na configuração, ele troca os tabs por espaço. A ideia é que seja colocada uma pergunta na hora de abrir o arquivo, se o Edivox encontrar um tab perguntar se deseja trocar a configuração ou destruir os tabs.
Exemplo:
class Acumulador:
def __init__(self, valor=0):
self.valor = valor
def soma(self, valorSomar):
self.valor += valorSomar
return self
Pressionando uma tecla (exemplo shift seta para baixo) na linha do método init deve ir para o método soma.
Passos para reproduzir:
Abrir o Edivox.
Quando ele perguntar o nome do arquivo, não digitar nada.
Monitorar o uso da CPU, no caso aqui sempre está em 25% (uma core).
Atualmente, a nossa pipeline só gera compilações na master. Uma função legal seria ela gerar o PR das branches que estão em PR (exemplo: #16 ), que facilitaria o teste da funcionalidade.
Essa foi uma ideia que eu pensei agora. O Intellij tem funções pra fazer commits dentro da própria IDE, isso facilita bastante na hora de ficar tendo que alternar janela pra fazer as coisas com o Git.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.