tux

Lavorando su di un server la prima cosa che si desidera è quella di disporre di un IDE che consenta un facile sviluppo del codice. Questo purtroppo non è possibile; si ripiega inevitabilmente su di un editor di testo che consenta un facile sviluppo del codice. Nella ricerca di un editor in grado di evidenziare la sintassi swift sono approdato al primo editor dell'ambiente Unix: vim.

Vim è disponibile su qualsiasi distribuzione Linux. Di seguito vedremo come scaricare il plugin per evidenziare la sintassi swift. Per questa procedura è necessario avere installato il programma git. Il plugin da scaricare si chiama swift.vim, per la sua installazione la via più semplice è quella di scaricare e installare il gestore di plugin per vim: vim-plug. Per scaricare il programma digitare da shell:

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

Verrà creata la directory ./vim nella vostra home. Questa directory contiene il gestore di plugin ed i successivi plugin che chiederemo al programma di scaricare.

E' necessario adesso creare nella propria home il file .vimrc e copiarvi dentro le porzioni di codice necessarie a far funzionare il programma. Si può utilizzare lo stesso vim per editare il file.

$ vim .vimrc

Nell'editor digitare 'i' per inserimento e copiare ed incollare il codice che segue:

call plug#begin('~/.vim/plugged')


call plug#end()

Si può intuire che tra la riga begin e la riga end verranno inseriti i riferimenti ai plugin da installare. Così è. Salviamo e usciamo da vim premendo esc :wq poi andiamo sul repository git di swift.vim.

Dal pulsante "clone or download" copiamo l'indirizzo del pacchetto, e attraverso vim inseriamo nel file .vimrc il comando per scaricare il plugin:

call plug#begin('~/.vim/plugged')

Plug 'https://github.com/keith/swift.vim.git'

call plug#end()

Salviamo e rilanciamo vim, poi digitiamo il comando :PlugInstall. In pochi secondi il plugin viene scaricato e installato. Apriamo un file swift per vedere l'effetto che fa.

Con la stessa procedura è possibile installare il plugin Syntastic che permette di evidenziare gli errori nel codice. Aggiungere al file .vimrc sotto alla precedente istruzione Plug la seguente riga:

Plug 'https://github.com/vim-syntastic/syntastic.git'

Aprire vim e lanciare nuovamente il comando :PlugInstall. Dopo l'installazione il plugin è funzionante, per verificarlo è possibile scrivere un file con estensione cpp (C++) con alcuni errori, in fase di salvataggio del file il sistema evidenzierà la linea contenente l'errore. Ora è necessario configurare il plugin per lavorare con Swift. Mettere in coda al file .vimrc la seguente riga (prima di call plug#end()):

let g:syntastic_swift_checkers = ['swiftpm']

Syntastic lavora appoggiandosi al package manager di Swift, per poter funzionare è necessario lanciare vim nella stessa directory in cui si trova il file package.swift, per cui se si vuole aprire il file main.swift è necessario dargli il percorso appropriato:

$ vim Sources/main.swift

Si potrà verificare il funzionamento di Syntastic aggiungendo caratteri a caso; all'atto del salvataggio (:w) vim evidenzierà la riga in cui è presente l'errore. Per rendere il plugin più utile è necessario aggiungere nuove impostazioni in coda al file .vimrc.

set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*

let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0

La penultima impostazione causa la verifica della sintassi all'apertura del file, mentre l'ultima evita la verifica in fase di salvataggio e chiusura. E' da segnalare che nel caso di macchine virtuali o server remoti l'apertura del file è rallentata. Un'ultima finezza, aggiungendo al file .vimrc queste due ultime impostazioni si ottiene l'utilizzo di un simbolo apposito per segnalare la linea con errore o warning.

let g:syntastic_error_symbol = "✖︎"
let g:syntastic_warning_symbol = "⚠"

Se per qualsiasi motivo si vuole sospendere una delle precedenti impostazioni è possibile commentare le righe nel file .vimrc anteponendo i doppi apici.

Infine se il programma è molto ampio oppure richiede un numero elevato di librerie potrebbe accadere che lanciando vim parte una elaborazione lunga e dispendiosa in termini di tempo, questo darebbe l'impressione di un blocco sul programma. Per aggirare questo problema è sufficiente lanciare la compilazione prima di aprire per la prima volta il file (swift build) in modo che se ci sono librerie da scaricare e compilare viene effettuato in modo trasparente e visibile. Se le librerie non vengono modificate questa operazione non andrà più eseguita.