Autore Topic: CXEditor - Work in progress...  (Letto 4669 volte)

Offline ecalogiuri

  • Tech Guru
  • *****
  • Post: 235
  • Karma: +2/-0
    • Mostra profilo
CXEditor - Work in progress...
« il: 08 Agosto 2014, 11:16:34 »
Salve ragazzi,
volevo creare questa specie di diario per evidenziare come si evolve il mio editor testuale per programmatori.

Iniziamo con uno screenshot della scermata principale:



Come vedete mancano ancora le icone, quelle saranno le ultime ad essere aggiunte.

Ecco l'edito in funzione sun un file object pascal + le opzioni di configurazione degli hightlighter.



Che ne pensate?  :D :D

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re:CXEditor - Work in progress...
« Risposta #1 il: 08 Agosto 2014, 14:37:08 »
Che sta venendo su bene, da quel che si vede. :)

Offline TheKaneB

  • Human Debugger
  • *****
  • Post: 5292
  • Karma: +20/-23
    • Mostra profilo
    • http://www.antoniobarba.org
Re:CXEditor - Work in progress...
« Risposta #2 il: 08 Agosto 2014, 15:10:49 »
nell'ipotesi che
1) il tuo file editor sia multi tab, tanti file sorgenti, uno per tab
2) esista una interfaccia remota per il tuo editor
3) la current tab sia selzionabile da interfaccia remota
2) collegata all'interfaccia remota ci sia un altro modulo che si prende in carico il mapping {cpu.reg.PC} -> {file.s, riga}

tu hai modo di scrollare il sorgente e posizionare il cursore corrente all'indirizzo di linea proveniente dal modulo esterno ?

tipo, se il modulo all'interfaccia ti dicesse, "vai sul file pippo.s riga x", il che significa selezionare la tab giusta, e mettere il cursore alla riga giusta, tu potresti farlo ?

fammi capire, vorresti usarlo per fare jump diretto dai messaggi del compiler all'editor? :D

Offline Allanon

  • Administrator
  • Synthetic Voodoo
  • *****
  • Post: 3498
  • Karma: +17/-4
    • Mostra profilo
    • http://www.a-mc.biz
Re:CXEditor - Work in progress...
« Risposta #3 il: 08 Agosto 2014, 15:20:57 »
Bello! Ma... giusto così per sapere, la colorazione e la sintassi chi la controlla o come si configura? Ci sarebbe modo di customizzarla (anche pesantemente) per linguaggi "esotici"  ;D

Offline TheKaneB

  • Human Debugger
  • *****
  • Post: 5292
  • Karma: +20/-23
    • Mostra profilo
    • http://www.antoniobarba.org
Re:CXEditor - Work in progress...
« Risposta #4 il: 08 Agosto 2014, 15:35:27 »
Forse non l'hai mai usato, ma queste cose le fa (comodamente) Visual Studio :)

Offline TheKaneB

  • Human Debugger
  • *****
  • Post: 5292
  • Karma: +20/-23
    • Mostra profilo
    • http://www.antoniobarba.org
Re:CXEditor - Work in progress...
« Risposta #5 il: 08 Agosto 2014, 15:55:53 »
ah boh, io ho lavorato sempre con roba ufficialmente supportata cotta e preparata che aveva il proprio plugin di integrazione con Visual Studio. Per fortuna mia non mi sono mai imbattuto in toolchain troppo stronze :)

Comunque ti linko un po' di cose potenzialmente interessanti:

- http://www.visualgdb.com/
- http://msdn.microsoft.com/en-us/library/bb147088(VS.100).aspx Reference (Visual Studio Debugging APIs)
- http://msdn.microsoft.com/en-us/library/bb161946(VS.100).aspx Getting Started with Debugger Extensibility

Se hai voglia e tempo di sbatterti, le API per agganciarsi al debugger sono pubbliche, e puoi scriverti il tuo connector per agganciare qualsiasi debugger a Visual Studio, e sfruttare così la sua "putenza di fuoco" :D

Offline ecalogiuri

  • Tech Guru
  • *****
  • Post: 235
  • Karma: +2/-0
    • Mostra profilo
Re:CXEditor - Work in progress...
« Risposta #6 il: 08 Agosto 2014, 18:05:37 »
nell'ipotesi che
1) il tuo file editor sia multi tab, tanti file sorgenti, uno per tab
2) esista una interfaccia remota per il tuo editor
3) la current tab sia selzionabile da interfaccia remota
2) collegata all'interfaccia remota ci sia un altro modulo che si prende in carico il mapping {cpu.reg.PC} -> {file.s, riga}

tu hai modo di scrollare il sorgente e posizionare il cursore corrente all'indirizzo di linea proveniente dal modulo esterno ?

tipo, se il modulo all'interfaccia ti dicesse, "vai sul file pippo.s riga x", il che significa selezionare la tab giusta, e mettere il cursore alla riga giusta, tu potresti farlo ?

Allora per il punto 1 è proprio così! E si posso processare comandi esterni per posizionarmi sul file richiesto e posizione x,y, posso selezionare il testo, cambiarlo, inserirlo, criptarlo, selezionare tab, chiuderla o aprirla... insomma tutte le funzione che ha il mio editor possono eventualmente anche essere richiamate da "remoto".

Ora, cosa intendi per  "Interfaccia remota?" Un, diciamo, demone in ascolto su una porta in particolare che processi dei comandi mandati via rete?

Offline ecalogiuri

  • Tech Guru
  • *****
  • Post: 235
  • Karma: +2/-0
    • Mostra profilo
Re:CXEditor - Work in progress...
« Risposta #7 il: 08 Agosto 2014, 18:08:24 »
Bello! Ma... giusto così per sapere, la colorazione e la sintassi chi la controlla o come si configura? Ci sarebbe modo di customizzarla (anche pesantemente) per linguaggi "esotici"  ;D

La colorazione è totalmente configurabile. Per linguaggi assembler si può facilmente prevedere un modulo per inserire nuovi highlighter. Per linguaggi più complessi, per come è adesso il codice, non lo permette. Deve essere definito hard-coded.

Mmmm.... però forse un modo ci sarebbe...

Vedrò 8)

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re:CXEditor - Work in progress...
« Risposta #8 il: 08 Agosto 2014, 18:36:31 »
ah boh, io ho lavorato sempre con roba ufficialmente supportata cotta e preparata che aveva il proprio plugin di integrazione con Visual Studio. Per fortuna mia non mi sono mai imbattuto in toolchain troppo stronze :)

Comunque ti linko un po' di cose potenzialmente interessanti:

- http://www.visualgdb.com/
- http://msdn.microsoft.com/en-us/library/bb147088(VS.100).aspx Reference (Visual Studio Debugging APIs)
- http://msdn.microsoft.com/en-us/library/bb161946(VS.100).aspx Getting Started with Debugger Extensibility

Se hai voglia e tempo di sbatterti, le API per agganciarsi al debugger sono pubbliche, e puoi scriverti il tuo connector per agganciare qualsiasi debugger a Visual Studio, e sfruttare così la sua "putenza di fuoco" :D
Grazie, Antonio, nel fine settimana me li smazzo. Questi link mi sono utilissimi, perché io faccio QA per i plug-in di Visual Studio che sviluppiamo, riguardo al debugging delle nostre architetture. ;D

Offline ecalogiuri

  • Tech Guru
  • *****
  • Post: 235
  • Karma: +2/-0
    • Mostra profilo
Re:CXEditor - Work in progress...
« Risposta #9 il: 27 Agosto 2014, 12:21:58 »
Finalmente ho completato il demone TCP del CXEditor. Ecco la prima immagine che lo mostra in azione:



Ora devo solo impostare il set di comandi per poter controllare l'editor da remoto. Penso anche di implementare la trasmissione dati da CXEditor al computer remoto (tipo salvare in locale un file).

Bello eh?  ;D ;D ;D

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re:CXEditor - Work in progress...
« Risposta #10 il: 27 Agosto 2014, 22:53:37 »
Se non fosse per quella roba Unix che vedo, sarebbe bellissimo.

Offline ecalogiuri

  • Tech Guru
  • *****
  • Post: 235
  • Karma: +2/-0
    • Mostra profilo
Re:CXEditor - Work in progress...
« Risposta #11 il: 28 Agosto 2014, 09:27:45 »
Se non fosse per quella roba Unix che vedo, sarebbe bellissimo.

Tranquillo... è ricompilabile in Windows senza modificare una riga... anche in Unix se può interessare...

Offline Z80Fan

  • Administrator
  • Guru
  • *****
  • Post: 1671
  • Karma: +13/-2
    • Mostra profilo
    • http://z80fan.altervista.org
Re:CXEditor - Work in progress...
« Risposta #12 il: 28 Agosto 2014, 12:44:49 »
@ecalogiuri:
(a meno che io non sia scemo e lo hai già detto) che linguaggio+librerie hai usato per programmare l'editor? Ci si può dare una sbirciatina? :P

serve un minimo di infrastruttura X11, sotto Windows cosa usi ?

Dubito fortemente che abbia programmato direttamente in protocollo X11, altrimenti sarebbe uscito impazzito dopo 2 minuti! ;D

Offline ecalogiuri

  • Tech Guru
  • *****
  • Post: 235
  • Karma: +2/-0
    • Mostra profilo
Re:CXEditor - Work in progress...
« Risposta #13 il: 28 Agosto 2014, 12:45:27 »
beh, l'idea e' di farlo girare su una macchina gentoo/x86 sotto X11
serve un minimo di infrastruttura X11, sotto Windows cosa usi ?

nel mio caso l'editor bovino gira addirittura sui router, tanto gli basta solo ncurses
che diventa un layer di compattibilita' CONIO nel caso DOS, se mai mi venisse la scimmia (e anche no)

Be dipende... Lazarus compila per GTK2 su Linux/Unix (ma si può compilare anche usanto Qt o GTK1), nativo Windows su Windows e Cocoa su Mac.


Offline ecalogiuri

  • Tech Guru
  • *****
  • Post: 235
  • Karma: +2/-0
    • Mostra profilo
Re:CXEditor - Work in progress...
« Risposta #14 il: 28 Agosto 2014, 12:46:25 »
@ecalogiuri:
(a meno che io non sia scemo e lo hai già detto) che linguaggio+librerie hai usato per programmare l'editor? Ci si può dare una sbirciatina? :P

serve un minimo di infrastruttura X11, sotto Windows cosa usi ?

Dubito fortemente che abbia programmato direttamente in protocollo X11, altrimenti sarebbe uscito impazzito dopo 2 minuti! ;D

Lazarus con componenti nativi + synapse per i protocolli TCP/IP :-)

Tags: