.. _pspad:
*****
PSPad
*****
`PSPad `_ è un editor di testo freeware con caratteristiche molto utili per la programmazione.
Di seguito si riassumono alcune tra le funzionalità più interessanti.
Sintassi
========
Evidenziazione
--------------
E' possibile definire fino a cinque nuove sintasi personalizzate oltre alle numerose disponibili
e associare a ciascuna un file di definizione della sintassi contenente le parole chiave del linguaggio: :download:`Odin.INI <_files/Odin.INI>`.
.. image:: _static/pspad_syntax_dialog.png
.. :width: 350pt
---
.. image:: _static/pspad_syntax.png
Applicazioni esterne e compilatore
----------------------------------
A ciascuna sintassi è possibile associare fino a cinque applicazioni esterne e un compilatore. Le prime tre applicazioni sono attivabili con tasti funzione.
.. image:: _static/pspad_applications.png
Help linguaggio
---------------
Alla sintassi è possibile associare un file di guida attivabile con ``Alt+F1`` in relazione alla parola chiave su cui è posizionato il cursore.
.. image:: _static/pspad_help.png
Clips
-----
A ogni sintassi si può associare una serie di *clips* o *costrutti* (simili alle *clip library* di TextPad) che contengono pezzi di codice che possono essere inseriti nel file che si sta editando.
.. image:: _static/pspad_clips.png
E' anche possibili associare tasti scorciatoia ad alcune clips. Le clips sono specifiche di ciascuna sintassi e si attivano automaticamente editando un file di quel linguaggio.
Clips di linguaggi diversi possono quindi avere gli stessi shortcuts.
.. image:: _static/pspad_shortcuts_clips.png
Interactive Clips
-----------------
Attraverso le *clip macro definitions*, una clip può diventare interattiva e mostrare all'utente una maschera per l'inserimento di parametri.
.. image:: _static/pspad_interactive_clips.png
.. :width: 300pt
.. image:: _static/pspad_interactive_clips_results.png
Autocompletamento
-----------------
Premendo ``Ctrl+J`` si attiva la funzione di autocompletamento del testo.
I termini sono presi dal file che si sta editando e da un elenco predefinito per il linguaggio/sintassi specifico del file.
.. image:: _static/pspad_autocompletion.png
Scripts
=======
L'utente può aggiungere funzionalità attraverso la scittura di *scripts* e integrarli nel menu di PSPad.
.. image:: _static/pspad_scripts.png
PSPad utilizza `MS Windows Scripting host (WSH) `_,
pertanto i linguaggi supportati sono molteplici, tra gli altri *VBScript*, *JavaScript* e *Python*.
Gli script interagiscono con PSPad permettendo, per esempio, di scrivere piccoli programmi che possono accedere al file attivo, elaborarne il contenuto o
il solo testo selezionato e sostituire il contenuto dell'editor con quello modificato.
.. image:: _static/pspad_script_dialog.png
Differenze di testo
===================
La funzione di confronto dei file può essere attivata nei confronti di un file differente oppure dell'ultima versione salvata (la versione presente su disco).
.. image:: _static/pspad_diff.png
:width: 600pt
Altre funzionalità
==================
* Aggiunta/eliminazione commento alle righe del programma
* Modifica dell'indentazione del testo (spostamenti a destra e a sinistra)
* Evidenziazione coppie di parentesi
* Chiusura automatica parentesi
* Formattazione del testo: maiuscolo, minuscolo, allineamenti, unione righe...
* Eliminazione spazi inizio/fine riga e spazi interni multipli
* Modalità di selezione a colonna
* Trova/sostituisci nei file
* Segnalibri
* Macro registrabili e successivamente editabili
* Gestione sessioni e progetti
* Somma della colonna di numeri selezionata
* Valutazione di espressioni matematiche contenute in forma di stringa nella selezione o inserite in una finestra di dialogo (con funzioni matematiche, parentesi, ecc.)
* Vari strumenti per l'editing di file HTML
* Client FTP