Sitzung: Jeden Freitag ab 15 Uhr c. t. online. Falls ihr den Link haben wollt, schreibt uns. Manchmal auch im MAR 0.005 (Jemensch da?). Macht mit!

Opal Syntax-Highlighting

Wenn man seine Zeit mit der Programmierung von OPAL-Programmen verbringt, möchte man natürlich auch von seinem Editor unterstützt werden.

Deshalb sammeln wir hier Links zu Syntaxfiles, mit denen man Editoren beibringen kann, OPAL-Sourcecode schön einzufärben. Wenn ihr weitere Syntaxfiles findet/erstellt, fügt sie bitte dieser Liste hinzu.

Übersicht der Editoren mit Opal-Unterstützung

Editor Betriebssysteme Lizenz Homepage
Coda MacOS Kommerziell [1]
ConTEXT Windows Freeware [2]
Emacs Unix, Windows, MacOS Open Source (GPL) [3]
EmEditor Windows Kommerziell, Freeware [4]
Gedit Unix, MacOS Open Source [5]
Kate Unix+KDE Open Source (GPL) [6]
nano Unix, Mac OSX Open Source (GPL) [7]
Proton/Phase5 Windows Freeware [8]
Programmer's Notepad 2 Windows Open Source (BSD) [9]
SciTE Unix (GTK), Windows Open Source [10]
Sublime Text Unix, Windows, OS X Shareware [11]
TextPad Windows Shareware [12]
Vim Unix, Windows, MacOS Open Source [13]
TextWrangler OS X Freeware [14]

Details

Coda

Bitte die Datei Opal.mode in das Verzeichnis ~/Library/Application Support/Coda/Modes/ kopieren.
Auch kompatibel mit Subethaedit.
Bitte beachten, dass ich das Ganze mehr oder weniger schnell zusammengeklickt habe, wem Fehler auffallen, immer her damit. --PaulG 14:38, 10. Jan. 2012 (CET)

Bonus: Dieses AppleScript in den Ordner ~/Library/Scripts/Applications/Coda/ schieben, um einen netten "oasys aufrufen und Dateien laden"-Shortcut in der Menüleiste unter Scripts zu haben.

ConTEXT

Einfach die Datei opal_context.chl in Verzeichnis Highlighters kopieren.

Emacs

Für Emacs gibt es im OCS-Paket Dateien, die auch im Fakultätsnetz zu finden sind. Um den Opal-Modus von Emacs verfügbar zu machen, füge man folgende Zeilen in die Datei ~/.emacs ein:

(setq load-path
      (cons "/home/uebb/opal/ocs/lib/emacs" load-path)
      )
(defvar opal-novice t)
(require 'opal-mode)  

Den Opal-Modus startet man in Emacs mittels "M-x opal-mode [enter]". M-x bedeutet: Meta-Taste und x gleichzeitig drücken, wobei Esc gefolgt von x die selbe Wirkung hat.

EmEditor

Ein Syntaxfile für EmEditor ist auf http://www.hartwork.org/ zu finden. Auf der offiziellen Seite des Editors gibt es auch eine Kopie.

Gedit

Da gedit auf gtksourceview aufbaut, sollten auch andere Editoren die gtksourceview ab der Version 2.0 nutzen funktionieren. Zur Installation die Datei opal.lang nach /usr/share/gtksourceview-2.0/language-specs oder $HOME/.local/share/gtksourceview-2.0/language-specs kopieren. Die Datei funktioniert nur mit gtksourceview 2.0 und neuer, da das Format geändert wurde. Gedit nutzt ab Version 2.20 diese Version.

Unter Mac OSX kann die opal.lang hier eingefügt werden: /Applications/gedit.app/Contents/Resources/share/gtksourceview-2.0/language-specs

Danach einfach in gedit unter "Ansicht -> Hervorhebungsmodus -> Quelltexte -> Opal" einstellen.

Kate

Zur Installation einfach die Datei opal_kate.xml nach ~/.kde/share/apps/katepart/syntax kopieren. Eventuell muss das Verzeichnis zuerst angelegt werden, da es nicht automatisch vom Editor erzeugt wird.
Da KWrite und KDevelop genau wie Kate auf Katepart basieren, funktioniert die Datei dort auch.

Sollte es nicht funktionieren, kann man schauen, welches Einstellungs-Verzeichnis KDE sonst nutzt (etwa .kde3.5) oder die Datei (als root) nach /usr/share/apps/katepart/syntax installieren. In diesem Fall wird sie aber systemweit eingestellt und gilt für alle Nutzer.

nano

Auch nano unterstützt Syntax-Highlighting, wenn man entsprechende nanorc-Datei installiert. Die Datei und Installationsanleitung von gab es auf der Seite von Sven Schneider, aber ist leider nicht mehr verfuegbar.

Proton/Phase5

Einfach die Datei opal_proton_20051119.sch in Verzeichnis syntax kopieren.

Programmer's Notepad 2

Programmer's Notepad 2 basiert auf Scintilla. Daher wird eine SciLexer.dll von Scintilla 1.68 oder später benötigt. Eine solche DLL findest du in der jeweiligen wscite???.zip. Außerdem benötigt wird opal_pn2.scheme. Die gehört dann ins schemes Verzeichnis.

Dann in Programmer's Notepad einfach über View -> Change Scheme -> Opal

SciTE

Die aktuelle Version 1.68 unterstützt bereits OPAL Highlighting.

Um alternativ die jeweils aktuellste Version aus der CVS Repository nutzen zu können, muss man an der Unix Shell etwa folgendes tun:

# Scintilla/SciTE aus dem CVS laden (bei Fehler wiederholen!)
mkdir -m744 scite_cvs
cd scite_cvs
cvs -z9 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/scintilla co -P scintilla
cvs -z9 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/scintilla co -P scite

# Kompilieren
cd scintilla/gtk
make
cd ../../scite/gtk
make
cd ../../..

Danach müssen in scite/src/SciTEGlobal.properties noch zwei Zeilen de-kommentiert werden.
Am besten nach "opal" suchen - das geht am schnellsten:

#Opal|impl||\
#import opal

Global installieren wäre danach gegebenfalls mit

sudo make install

(aus Verzeichnis scite/gtk heraus) möglich.

Sublime Text

Eine prächtige, ständig weiterentwickelte Syntaxdefinition und Installationsanleitung gibt es hier: https://github.com/artifactz/sublime-opal

TextPad

Eine (bisher noch unvollständige) Syntaxdefinition gibt es hier: http://codepad.org/SthPfryj
Diese muss als "opal.syn" in das TextPad\System-Verzeichnis und kann dann wie jede andere Syntax-Definition verwendet werden.

Vim

Für Vim gibt es zwei Highlighting-Definitionen. Eine Highlighting-Definition ist im OCS-Paket im Verzeichnis ocs/lib/vim enthalten (im cs-Netz also /usr/ocs/lib/vim). In der README-Datei der OPAL-Distribution gibt es weitere Informationen. Userseitige Vim-Konfiguration besteht aus dem Kopieren von opal.vim nach ~/.vim/syntax/ und dem Einfügen von

augroup filetypedetect
au BufNewFile,BufRead *.sign,*.impl    set ft=opal
augroup END

(ggf. nur der mittleren Zeile in einen bereits vorhandenen augroup-Block) in ~/.vim/filetype.vim.

Hier die Datei aus der Opal Distribution: opal.vim Es gibt auch eine alternative Highlighting-Definition: opal.vim.

Vim ist im cs-Netz unter /home/pub/bin/vim verfügbar.

TextWrangler

Syntaxdefinition https://gist.github.com/mtrotzinski/7230721 herunterladen und nach ~/Library/Application Support/TextWrangler/Language Modules/ verschieben.