--------------------------------------------------------------------------
                                 Jif
                              v 0.9.6 (beta)
--------------------------------------------------------------------------

© 2003 - Alessandro Schillaci
http://www.freec0de.netfirms.com
silver.slade@tiscalinet.it


--------------------------------------------------------------------------
0. Tasti rapidi
--------------------------------------------------------------------------

CTRL+A                  Seleziona Tutto
CTRL+X                  Taglia
CTRL+C,CTRL+INS         Copia
CTRL+V,SHIFT+INS        Incolla

ALT+FRECCIA A DESTRA    Shift A Destra   Del Blocco Di Codice Selezionato
ALT+FRECCIA A DESTRA    Shift A Sinistra Del Blocco Di Codice Selezionato

TASTO DESTRO DEL MOUSE  Menu Popup

ALT+1                   Finestra Simboli
ALT+2                   Finestra Oggetti
ALT+3                   Finestra Funzioni

CTRL+F                  Cerca la stringa selezionata

F1,..., F10             Caratteri personalizzati
F11 e F12               Lancia programmi esterni a JIF


--------------------------------------------------------------------------
1. Configurazione
--------------------------------------------------------------------------

L'archivio di Jif contiene i seguenti file/directory:

[DIRECTORY]:

backup            - directory dove vengono memorizzate le copie dei 
                    sorgenti editati (se il sistema di backup è attivato)
compiler          - directory di default per il compilatore Inform
config            - cartella dei file di configurazione di Jif
doc               - cartella dei documenti su Jif
games             - directory dei sorgenti (estensione .inf) e dei 
                    file compilati (.z5, .z8 ecc.)
interpreter       - directory di default per l'interprete Inform
lib               - directory dei file di libreria

config/menu       - directory della funzione configurabile "Inserisci nuovo" 			
config/template	  - directory relativa ai template



[FILES]

config.ini         - impostazioni dei path
config.jif         - impostazioni generali di Jif 
functionalKeys.ini - gestione dei tasti funzione F1..F5 personalizzabile
helpedcode.ini	   - Lista dei comandi per il "codice assistito"
links.ini	   - Lista dei link WEB
mapping.ini        - mappatura dei caratteri speciali
switches.ini       - tutti gli switch selezionabili per la compilazione 
symbols.ini	   - Lista dei simboli inseribili da JIF
syntax.ini	   - gestione della syntax highlight





--------------------------------------------------------------------------
1.2 Compilatore
--------------------------------------------------------------------------
Se non viene cambiato il file config.ini, Jif farà riferimento al file 
[%PATH_DI_INSTALLAZIONE%\compiler\infrmw32.exe]

--------------------------------------------------------------------------
1.3 Interprete
--------------------------------------------------------------------------
Se non viene cambiato il file config.ini, Jif farà riferimento al file 
[%PATH_DI_INSTALLAZIONE%\interpreter\WindowsFrotz2002\Frotz.exe]

--------------------------------------------------------------------------
1.4 Librerie
--------------------------------------------------------------------------
Nella directory [%PATH_DI_INSTALLAZIONE%\lib\] (se lasciata tale nel file 
config.ini), dovrete inserire tutti i files di libreria, compresi quelli 
relativi alla lingua italiana (infit, copyright di Giovanni Riccardi)









-------------------------------------------------------------------------------
2. File di configurazione
-------------------------------------------------------------------------------

Vediamoli in dettaglio.

-------------------------------------------------------------------------------
2.1 Menu
-------------------------------------------------------------------------------

Per Jif ho previsto l'utilizzo di una funzione tipo "Inserisci nuovo oggetto", 
dove per oggetto intendo semplicemente una parte di testo da scegliere in una 
lista già esistente. Per aggiungere una struttura di oggetti da inserire 
procedere in questo modo:

a) nella directory [%PATH_DI_INSTALLAZIONE%\config\menu creare una directory 
   nuova (ES: "Comment")
b) nella directory appena creata creare un file "menu.ini"
c) all'interno del file menu.ini inserire le righe relative ad un nuovo 
   inserimento

esempio:
<--------- inizio esempio ----------->	

#
# Questa è una riga di commento.
#
#####################################################################

Comment Block,!=====================================================================!§! CommentBlock§! §!=====================================================================!
Comment Line,!=====================================================================!

<--------- fine  esempio ----------->	


Dove:
- le righe che iniziano con il carattere "#" (cancelletto) e le righe vuote 
  sono ignorate e considerate linee di commento.
- il carattere "§" è considerato come un carattere di newline.

Nell'esempio, durante l'esecuzione di Jif, è possibile richiamare il menu di 
selezione usando il tasto destro del mouse.
Se si sceglie "Inserisci nuovo"->"Comment"->"CommentBlock", verrà inserita 
nell'area di editing di Jif la stringa:

!=====================================================================!
! CommentBlock
! 
!=====================================================================!




-------------------------------------------------------------------------------
2.2 config.ini
-------------------------------------------------------------------------------
In questo file è possibile configurare il PATH per:

Liberie:
libPath=%PATH_DI_INSTALLAZIONE%\lib\

Giochi:	
gamesDir=%PATH_DI_INSTALLAZIONE%\games\

Interprete:
interpreter=%PATH_DI_INSTALLAZIONE%\interpreter\WindowsFrotz2002\Frotz.exe

Compilatore:
compiler=%PATH_DI_INSTALLAZIONE%\compiler\infrmw32.exe

Se si utilizza l'editor con le opzioni predefinite, questo file non dev'essere 
editato.
In caso contrario è possibile editarlo, utilizzando la 
funzione "Impostazioni->configurazione Path"




-------------------------------------------------------------------------------
2.3 helpedcode.ini
-------------------------------------------------------------------------------
File che contiene tutte le keyword riconosciute da Jif per la gestione del 
"codice assistito": se l'opzione è attiva, quando si inserisce una parola 
chiave nella TextArea dell'editor, la stringa viene completata con un testo.

Esempio:

digito -> "IF"+[SPAZIO]
ottengo nel mio documento inf -> "IF ( ){ }"

Il file helpedcode.ini è configurabile a piacere.





-------------------------------------------------------------------------------
2.4 mapping.ini
-------------------------------------------------------------------------------
Se l'opzione "Mapping dei caratteri via file temporaneo" è abilitata, il file 
mapping.ini viene utilizzato per trasformare caratteri speciali, prima della 
compilazione.

Il file corrente "XXX.inf" viene salvato con nome "mapping_XXX.inf" e
viene compilato con nome di uscita: "mapping_XXX.z5" (oppure .z6,.z8 a seconda 
del tipo di switch attivato)

Il file "mapping_XXX.inf" contiene la traduzione dei
caratteri inseriti in questo file.


Es: 
Ogni carattere "è" del file XXX.inf
viene tradotto in "@`e" nel file mapping_XXX.inf

Se l'opzione "Mapping dei caratteri in editing mode" è abilitata, il mapping
dei caratteri viene abilitato in fase di editing del file di testo.


Il file mapping.ini è configurabile a piacere.





-------------------------------------------------------------------------------
2.5 switches.ini
-------------------------------------------------------------------------------
Con Jif è possibile creare una lista di possibili switch da passare in linea
al compilatore, editando il file switches.ini.
Per ogni switch è possibile impostare se attivo oppure no.
Dalla lista di switches è possibile scegliere quelli da usare, di volta
in volta, usando il componente "Switch Manager"

E' possibile editare/inserire gli switch inserendo righe con questo formato nel
file switches.ini

[SWITCH],[on,off],[Commento]

Tutti gli switch che sono abilitati (on) sono 
abilitati per default quando si attiva la compilazione





-------------------------------------------------------------------------------
2.6 functionalKeys.ini
-------------------------------------------------------------------------------
E' possibile personalizzare i tasti funzione F1,F2,F3,F4,F5

Questa personalizzazione può essere utile nel caso di caratteri particolari, 
tipo:

~,^,{,`.......ecc.




-------------------------------------------------------------------------------
2.7 symbols.ini
-------------------------------------------------------------------------------
E' possibile personalizzare la lista dei simboli che si possono inserire nel
file INF attraverso JIF.



-------------------------------------------------------------------------------
2.8 syntax.ini
-------------------------------------------------------------------------------
Questo file contiene le liste di KEYWORDS riconosciute da JIF per la syntax
highlight. E' configurabile a piacere.





-------------------------------------------------------------------------------
3	Template Manager
-------------------------------------------------------------------------------

Con il Template Manager è possibile creare/utilizzare template statici/dinamici.
E' stata inserita l'opzione per l'aggiornamento dei template via WEB o attraverso 
un file.

I template statici si comportano come frammenti di codice con alcune informazioni 
aggiuntive(versione, autore ecc).
I template dinamici si comportano come frammenti di codice da "personalizzare" con 
l'utilizzo di parametri.

Esempio di Template DINAMICO:

Class tesoro
 with punti 7,
      after
      [; Take: if (location==§*stanza§) "Preso!";        
      ];


Il testo inserito nei caratteri "§*" e "§" è considerato parametro, cioè inseribile 
dall'utente in fase di utilizzo del template dinamico.

Quando l'utente utilizza il template dinamico, gli verrà chiesto di inserire il valore del
parametro ("stanza"), che verrà utilizzato per l'inserimento del template all'interno
del codice.


Con il tasto "Esporta", è possibile esportare tutti i template locali su file...

Ulteriori spiegazioni, verranno incluse nelle prossime versioni di JIF...


Inviare commenti, osservazioni, segnalazioni e complimenti(!) al seguente indirizzo:
silver.slade@tiscalinet.it


