Il 07/07/2015 00:27, enrico franchi ha scritto:

2015-07-06 20:09 GMT+01:00 germano carella <germano.care...@gmail.com <mailto:germano.care...@gmail.com>>:

    Per scrivere un editor a questo punto è semplicissimo, perché
    basta sapere dove si trova il cursore... yeah!


Vedrai che ci saranno ancora parecchi punti spinosi; in generale l'auto-completamento in Python e' molto limitato (anche con Jedi) e per farlo funzionare a modo si cerca di incrociare tutto l'incrociabile. Per intenderci, spesso si cerca anche di inferire roba dalla documentazione oltre che dai call sites e perfino dagli unittest (quando l'utente li esegue, ovviamente, non prima).

In effetti *anche* con Jedi scrivere un editor non e' semplicissimo. Prova ne e' che la maggior parte degli editor ed ide la fuori fanno pena; principalmente perche' arrivare al 70% e' "facile", ma per avere un buon editor non basta. Insomma, fidati che ce ne e' ancora tanto di divertimento prima di arrivare in fondo.

Sì sì, ho già visto, per esempio, che se importi il modulo clr, (package pythonnet), jedi non riconosce i componenti dotnet tipo System.Windows.Forms, però inspect.getmembers ci riesce...

In generale ci sono tanti aspetti... per dire, che fare con virtualenv? Etc etc etc.

Giusto... virtualenv non lo avevo considerato... arg! comunque, se qualcuno volesse aiutarmi io ne sarei felicissimo!!!

Ah, solo una cosa... magari intendevi altro: abbandona l'idea di un editor che *esegue* codice in background. La gente non ti vorra' bene se lo fai. Perche' prima o poi qualcuno digitera' un programma (senza aspettarsi che venga eseguito -- ancora -- ) e questa cosa potrebbe cancellargli dei file, mandare la proverbiale email di prova con titolo "CACCA" al proprio capo, andare in fork bomb, etc etc etc. Jedi e' ok proprio perche' non *esegue* il codice. Lo guarda e basta (il che e' safe).

Grazie Enrico, l'ho subito tolta, anche perché non serve piu', come giustamente dici tu. La mia idea iniziale era quella di poter segnalare all'utente anche gli errori in fase di scrittura, ecco perché avevo pensato alla console in background. Anche perché una l'avevo già fatta in precedenza con WxPython e la StyledTextCtrl, che poi ho scoperto che con lo screen reader faceva casino dopo un centinaio di righe di codice.


Nota che quello che dicevo sugli unittest e' diverso: ovvero quando l'utente *sceglie* di lanciare gli unit-test, l'editor semplicemente raccoglie dati per fare migliore inferenza sui tipi (ma solo su comando dell'utente).

Ecco... Sugli unit test ho bisogno di un'infarinatura, perché non ne so molto; anzi, sono proprio ignorante in materia... :D



--
.
..: -enrico-


_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a