View Full Version : [C su Linux] Sviluppare un editor di testo
Ciao, dovrei fare per lavoro la seguente cosa che mi è stata richiesta: realizzare un editor/visualizzatore di testo con le seguenti caratteristiche:
1- Deve poter funzionare su Linux in modalità "console".
2- Deve poter permettere l'editazione di un file di testo o solo la visualizzazione (read-only) in base a come viene invocato.
3- Deve poter gestire una minima "formattazione" del testo: colorazione del testo (compatibilmente con i limiti della console), eventualmente anche l'allineamento e magari qualcos'altro che mi può poi venire in mente.
4- I marcatori per la formattazione sarebbero "a mia scelta", avevo pensato di usare quelli come nei forum tipo: [ COLOR=Red] .... [ /COLOR].
5- Chi deve scrivere il testo non dovrà preoccuparsi del linguaggio di formattazione, dovrebbe solo selezionare un testo e tramite dei tasti impostare la formattazione (una specie di WYSIWYG, per intenderci).
Qualcuno saprebbe indicarmi quale è la strada migliore da seguire per sviluppare 'sta cosa??? Io avevo pensato di usare la libreria ncurses, per il resto ... è da studiare bene! ;)
A parte questo ... visto che ultimamente, dove lavoro, la mia voglia di lavorare ha raggiunto i livelli del Mar Morto ... vi risulta che esista qualcosa di simile già fatto??? Qualche software open-source?? Io ho fatto una ricerca ed ho trovato al momento questo (http://www.talula.demon.co.uk/fed/index.html), che però, oltre a non piacermi esteticamente, non fa la colorazione "a scelta" dell'utente come invece si vorrebbe.
Qualche suggerimento??? Grazie mille! :)
Gandalf_BD
04-07-2006, 08:20
A parte questo ... visto che ultimamente, dove lavoro, la mia voglia di lavorare ha raggiunto i livelli del Mar Morto ... vi risulta che esista qualcosa di simile già fatto??? Qualche software open-source?? Io ho fatto una ricerca ed ho trovato al momento questo (http://www.talula.demon.co.uk/fed/index.html), che però, oltre a non piacermi esteticamente, non fa la colorazione "a scelta" dell'utente come invece si vorrebbe.
Qualche suggerimento??? Grazie mille! :)
mah... forse ho capito male le specifiche che hai scritto, ma Emacs non fa più o meno quello che chiedi tu? :confused:
funziona da console, quando scrivi del codice lo indenta e in più te lo colora a seconda delle istruzioni... cosa vuoi di più dalla vita? :D
mah... forse ho capito male le specifiche che hai scritto, ma Emacs non fa più o meno quello che chiedi tu? :confused:
funziona da console, quando scrivi del codice lo indenta e in più te lo colora a seconda delle istruzioni... cosa vuoi di più dalla vita? :DIntanto grazie della risposta, anche se come leggerai tra poco, non mi è molto utile.
A parte il fatto che io Emacs non l'ho mai usato e quindi non lo conosco (ma so che è sicuramente molto complesso e con una marea di comandi). Io su Linux ho sempre usato vi (vim, per essere precisi).
Comunque .... se dò in mano ai clienti Emacs ... quelli si sparano di brutto!!! :D
Poi comunque la colorazione del testo non la deve fare l'editor in base a dei suoi criteri o in base a delle parole chiave, l'utente deve poter selezionare una porzione di testo a suo piacimento e impostarla ad esempio in rosso. Quindi, sempre per essere precisi, da qui si evince che i marcatori della formattazione devono per forza essere inglobati, in un qualche formato, nel file di testo!!
Gandalf_BD
04-07-2006, 09:46
Intanto grazie della risposta, anche se come leggerai tra poco, non mi è molto utile.
prego :)
A parte il fatto che io Emacs non l'ho mai usato e quindi non lo conosco (ma so che è sicuramente molto complesso e con una marea di comandi). Io su Linux ho sempre usato vi (vim, per essere precisi).
Comunque .... se dò in mano ai clienti Emacs ... quelli si sparano di brutto!!! :D
se non l'hai mai provato, te lo consiglio... secondo me è molto valido, con una marea di shortcut da tastiera (all'inizio un po' difficili da ricordare :))... personalmente, non ho mai digerito molto vi e l'ho sempre solo usato dove non c'erano altri editor...
Poi comunque la colorazione del testo non la deve fare l'editor in base a dei suoi criteri o in base a delle parole chiave, l'utente deve poter selezionare una porzione di testo a suo piacimento e impostarla ad esempio in rosso. Quindi, sempre per essere precisi, da qui si evince che i marcatori della formattazione devono per forza essere inglobati, in un qualche formato, nel file di testo!!
ah... qui io avevo capito che la colorazione la dovesse fare l'editor dinamicamente... beh... a questo punto, si, quella dei marker inglobati nel testo mi sembra una ottima soluzione... probabilmente l'unica :D
... a questo punto, si, quella dei marker inglobati nel testo mi sembra una ottima soluzione... probabilmente l'unica :D
O magari salvare le informazioni del colore in un file con lo stesso nome,
ma con aggiunta un'estensione; per un file leggimi.txt
si potrebbe chiamare leggimi.txt.col...
Cosi', tanto per non "sporcare" il file di testo, che sarebbe leggibile
anche da altri editor.
In questo file ci metterei delle informazioni tipo
"dal carattere 34 al 56 colore rosso", esempio:
...
34-56 RED
78-81 GREEN
...
Gandalf_BD
04-07-2006, 10:10
certo, è un'altra soluzione possibile alla quale non avevo pensato :)
però sarebbe comunque meno efficiente, in quanto sarebbe necessaria l'apertura e la scrittura di due file invece che uno... aumenterebbe l'overhead, giusto? :what:
Minimamente, solo in lettura e salvataggio, l'utente non se ne accorge...
Comunque ci guadagni in semplificazione del codice
(non l'ho scritto, e' un "presentimento" :D ).
O magari salvare le informazioni del colore in un file con lo stesso nome,
ma con aggiunta un'estensione; per un file leggimi.txt
si potrebbe chiamare leggimi.txt.col...
Cosi', tanto per non "sporcare" il file di testo, che sarebbe leggibile
anche da altri editor.Uhm ... no :( , così non mi va bene.
Primo ci sarebbero comunque problemi di "sincronizzazione": il file di testo dovrebbe essere comunque sempre editato con questo editor speciale, non con altri editor. Con questa soluzione, se editassi il leggimi.txt con un qualunque altro editor (che non sa nulla del leggimi.txt.col), poi i riferimenti con la formattazione nel .col potrebbe essere non "sincronizzati", non so se hai capito.
Poi comunque questo editor speciale deve essere integrato in un software gestionale abbastanza grosso che gira su Linux in modalità console (e che non sviluppo io). Il gestionale memorizza il testo in un suo database. Ogni testo è associato ad un certo prodotto, in pratica.
Quando si deve visualizzare/editare il testo, il gestionale lo estrae, lo mette in una directory e avvia questo editor.
Grazie comunque. :)
Comunque se lo modifichi con un altro editor la tua formattazione non viene "capita",
e poi il gestionale potrebbe trattare anche il file con la formattazione...
Oppure potresti mettere le informazioni che ti ho detto in testa al file,
in un preambolo ben delimitato, mi sembra piu' semplice che farlo
con tag vari...
O se proprio vuoi fare qualcosa di piu' standard potresti usare html, in fondo
non devi mica usare tutti i tag.
trallallero
04-07-2006, 12:05
qui trovi 2441 editors opensource. Puoi aggiungere filtri
tipo solo per linux, solo in C etc
http://sourceforge.net/softwaremap/trove_list.php?form_cat=63
qui trovi 2441 editors opensource. Puoi aggiungere filtri
tipo solo per linux, solo in C etc
http://sourceforge.net/softwaremap/trove_list.php?form_cat=63Grazie ... ma poco utile. Ho filtrato per "Linux" e "Console/Terminal": 23 progetti, nessuno dei quali mi sembra utile per il mio scopo. :(
tra 23 (23, mica 1...!) editor, non ce n'è nessuno che i tuoi clienti possano usare? cazzo, ma allora fattelo pagare ben bene!! :D :D :D
valuta l'idea di prenderne uno opensource e modificarlo, tanto anche se dici che è sotto GPL i tuoi clienti che ne capiscono :asd:
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.