RText: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Corretta una funzionalità di RSyntaxTextArea, sezione "Dettagli di RSyntaxTextArea". |
m tag source deprecati, replaced: <source lang= → <syntaxhighlight lang= (5), </source> → </syntaxhighlight> (5) |
||
(22 versioni intermedie di 16 utenti non mostrate) | |||
Riga 1:
{{Software
|Nome = RText
|DimensioneLogo = 235px
|Screenshot = RText Main View Screenshot.png
|Didascalia = Schermata di RText raffigurante il codice sorgente scritto in [[Java (linguaggio di programmazione)|Java]] di una classe appartenente al progetto stesso.
|Sviluppatore = Fifesoft, [https://github.com/bobbylight/RSyntaxTextArea/graphs/contributors collaboratori su GitHub]
|UltimaVersione = 2.5.
|DataUltimaVersione = {{data e tempo|
|UltimaVersioneBeta =
|DataUltimaVersioneBeta =
Riga 13 ⟶ 12:
|SistemaOperativo2 = Linux
|SistemaOperativo3 = Mac OS X
|Genere = Editor di testo
|Licenza = [[BSD License]] (in una versione modificata)
|SoftwareLibero = sì
|Lingua = Multilingua
|SitoWeb =
}}
'''RText''' è un [[editor di testo]] per programmatori ed un [[software libero]], pubblicato rispettando le specifiche di una versione modificata del protocollo [[BSD License]], per [[Microsoft Windows|Windows]], [[
Il programma è disponibile in inglese ed è stato tradotto anche in diversi idiomi, tra cui quello cinese della Cina continentale (usa i caratteri semplificati), spagnolo, spagnolo argentino, portoghese europeo, tedesco, francese, italiano, russo, taiwanese (fa uso dei caratteri tradizionali), olandese, giapponese, coreano, polacco, turco, ungherese ed indonesiano.
== Storia ==
Il programma è stato creato da [[Fifesoft]] ed è stato programmato per lo più dal suo fondatore, Robert Futrell. I contributi esterni sono aumentati da quando il codice sorgente viene condiviso tramite il software di [[controllo di versione distribuito]] [[Git (software)|Git]] su [[GitHub]].
Le funzionalità di registrazione ed esecuzione delle [[
== Funzionalità ==
Le funzionalità più rilevanti di RText sono le seguenti:
* Evidenziazione sintattica per oltre 40 linguaggi, tra quelli di [[Linguaggio di programmazione|programmazione]] e di [[Linguaggio di marcatura|marcatura]]<ref name=g-rsyntaxtextareareadme>{{cita web|titolo=File Leggimi di RSyntaxTextArea, componente usato da RText, pubblicato su GitHub|url=https://github.com/bobbylight/RSyntaxTextArea/blob/master/README.md/|editore=Repository ufficiale GIT di RSyntaxTextArea|accesso=15 aprile 2015|data=15 aprile 2015
* Ricerca e sostituzione testuale per mezzo dell'utilizzo delle espressioni regolari
* Ricerca del testo nel contenuto dei file e sostituzione testuale nel contenuto degli stessi
Riga 37 ⟶ 35:
* Personalizzazione dell'interfaccia del documento (modalità di visualizzazione a schede, MDI o in elenco listato)
* Supporto all'utilizzo simultaneo di molteplici famiglie di caratteri
* Evidenziazione della parentesi corrispondente a quella selezionata<ref name=j-rsyntaxtextareaapidocumentation>{{cita web|titolo=Documentazione API della classe RSyntaxTextArea|url=http://jtstand.codehaus.org/jtstand-editor/apidocs/org/fife/ui/rsyntaxtextarea/RSyntaxTextArea.html|editore=Fifesoft (documentazione API reperita dal sito Web di JTStand)|accesso=11 dicembre 2014|data=11 dicembre 2014
* Evidenziazione della riga correntemente selezionata
* Interfaccia grafica personalizzabile (icone, look and feel e schemi dei colori)
Riga 55 ⟶ 53:
* Zoom in e zoom out
* Supporto Windows Cinese, Giapponese e Koreano
* Copia del testo selezionato negli appunti del sistema operativo,
* Stampa ed anteprima di stampa<ref name=h-rtextreview>{{cita web|titolo=Recensione di RText pubblicata su HTML.it|url=http://download.html.it/software/rtext//|editore=Redazione di HTML.it|accesso=15 luglio 2008|data=15 luglio 2008
* Esportazione del contenuto dell'area testuale
* Gestore [[
* Restituzione di frammenti di codice sorgente esemplificativi ([[snippet]]) nei linguaggi usati per programmare le macro.
* Collegamenti ipertestuali cliccabili (se il motore analitico del linguaggio lo consente).<ref name=j-rsyntaxtextareaapidocumentation />
Nella barra di stato della finestra principale è presente l'indicatore della quantità di memoria occupata dall'applicazione nell'area di memoria [[
== Linguaggi supportati ==
Supporta diversi [[linguaggi di programmazione]] e [[Linguaggio di marcatura|di marcatura]]<ref name=j-rsyntaxtextareaapidocumentation />.
Al momento sono:
Riga 76 ⟶ 74:
* [[C Sharp|C#]]
* [[Clojure]]
* [[
* [[
* [[Groovy]]
* [[HTML]]
* [[Java (linguaggio di programmazione)|Java]]
* [[JavaScript]]
* [[
* [[Visual Basic]]
* File .jshintrc
* [[
* [[Lisp]]
* [[
* [[Perl]]
* [[PHP]]
* [[Python]]
* [[Ruby (linguaggio di programmazione)|Ruby]]
* [[
* [[SQL]]
* [[Shell script|Script della shell UNIX]]
* [[
* [[XML|File XML]]
* [[ActionScript]]
* [[BBCode]]
* [[
* [[
* [[Fortran]]
* [[.htaccess|Htaccess]]
* [[LaTeX]]
* Less
* [[Lua]]
* Makefile
* [[MXML]]
* File di properties
* [[
* [[Tcl]]
Riga 114 ⟶ 113:
== Aspetti tecnici ==
Il progetto è basato su un componente, l'area testuale RSyntaxTextArea, anch'esso open source e scritto in [[Java (linguaggio di programmazione)|Java]], e non ricorre in alcun caso all'invocazione delle [[Application programming interface|API]] [[Win32]], quindi non impiega [[Microsoft Foundation Classes]] (MFC) o librerie simili, il che assicura la portabilità del programma in ambito multipiattaforma, in quanto nativo [[Java (linguaggio di programmazione)|Java]]. È distribuito rispettando le specifiche di una versione modificata del protocollo [[BSD License]].
===Dettagli di RSyntaxTextArea===
Dato che RSyntaxTextArea supporta internamente la ricerca di testo con espressioni regolari su più righe, RText permette tale modalità di ricerca. <
* Modalità di inserimento / sovrascrittura (viene attivata premendo il tasto Insert).
* Un menù contestuale, a comparsa, con le opzioni di modifica standard.
* Supporto per le [[
* Funzionalità "Marca tutto", applicabile durante la ricerca testuale.
* Un modo per modificare lo sfondo dell'area testuale con un'immagine (i formati supportati sono [[
* Evidenziazione della riga correntemente selezionata (può essere disattivata).
* Un modo facile per stampare il suo contenuto testuale (viene estesa l'interfaccia <
* Differenti modalità di aggiunta dei caratteri di tabulazione (soft e hard, rispettivamente emulati o meno dagli spazi)
* Viene corretto un baco tuttora presente nel metodo <code>setTabSize</code> di <
Se lo sfondo di una <
Fifesoft raccomanda di inglobare l'area testuale internamente ad un'istanza di <
===Dettagli sulle macro===
Riga 137 ⟶ 136:
====Esempio di una macro che apre un file====
L'esempio che segue mostra lo script [[JavaScript]] di una macro che apre un file. Il nome del file da aprire viene ricavato sulla base della selezione nel foglio di lavoro attivo dell'editor RText; se disponibile, il file viene aperto in un nuovo foglio di lavoro di RText:
<
textArea.beginAtomicEdit();
try {
Riga 177 ⟶ 176:
textArea.endAtomicEdit();
}
</syntaxhighlight>
Lo stesso esempio programmato in linguaggio [[Groovy]]:
<
import java.awt.*
import javax.swing.*
Riga 224 ⟶ 223:
textArea.endAtomicEdit()
}
</syntaxhighlight>
====Esempio di una macro che converte i caratteri speciali per il linguaggio HTML====
L'esempio che segue mostra lo script [[JavaScript]] di una macro che sostituisce qualsiasi testo selezionato con una versione di quel testo formattato in [[HTML]]:
<
function replaceMultipleSpaces(text) {
var p = java.util.regex.Pattern.compile(" +");
Riga 253 ⟶ 252:
text = text.replace("&", "&").replace("\"", """).
replace("<", "<").replace(">", ">").
replace("\t", "	").replace("\n", "<br />\n");
if (text.contains(" ")) { // Replace multiple spaces with sequences
text = replaceMultipleSpaces(text);
Riga 265 ⟶ 264:
textArea.endAtomicEdit();
}
</syntaxhighlight>
====Esempio di una macro che ordina alfabeticamente gli elementi di una lista====
L'esempio che segue mostra lo script [[JavaScript]] di una macro che ordina tutte le righe nel foglio di lavoro attivo di RText:
<
var removeDuplicates = true; // Change to "false" if you want to keep duplicates
Riga 304 ⟶ 303:
textArea.endAtomicEdit();
}
</syntaxhighlight>
Lo stesso esempio programmato in linguaggio [[Groovy]]:
<
final def removeDuplicates = true // Change to "false" if you want to keep duplicates
Riga 330 ⟶ 329:
textArea.endAtomicEdit()
}
</syntaxhighlight>
==
{{Note strette}}
{{interprogetto|commons=Category:RText}}▼
== Collegamenti esterni ==▼
== Voci correlate ==
Riga 346 ⟶ 342:
* [[Videoscrittura]]
==
▲== Collegamenti esterni ==
* {{Collegamenti esterni}}
{{Portale|informatica|Software libero}}
|