lstlisting - lstdefinelanguage - Nicht alles funktioniert

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: lstlisting - lstdefinelanguage - Nicht alles funktioniert

lstlisting - lstdefinelanguage - Nicht alles funktioniert

von Master1991 » So 24. Jan 2016, 14:37

Hi,

es geht um die definition einer neuen Sprache für lstlisting

hoffe mir kann fix wer helfen, ansich funktioniert es schon relativ, aber:
--> Ich würde gerne das die Ziffern im Quellcode eine andere Farbe bekommen. Numberstyle ändert nur die Ziffern am Rand.
-->Außerdem sollte das # Symbol dieselbe Farbe wie die Ziffern bekommen.
-->Obwohl es ein Kommentar ist werden : und := anderfarbig gehighlighted
-->Die beiden Punkte in der Array definition sollten ebenfalls blau sein
-->Runde Klammern ebenfalls blau, wenn ich diese integriere gehen meine mehrzeiligen Kommentare nicht mehr.
-->Achso und 16#AF ... dort sind A-F auch Ziffern sollten also ebenfalls ziffernfarbe bekommen. Aber nur hinter der Raute...ich will nicht jedes f farbig haben


Minimalbeispiel:
\documentclass[]{article}

\usepackage{xcolor}
\usepackage{listings}

\lstdefinelanguage{ST}
{
	% list of keywords
	morekeywords={
		case,of,if,then,end_if,end_case,super,function_block,extends,var,
		constant, byte,,end_var,var_input, real,bool,var_output,
		dint,udint,word,dword,array, of,uint,not,adr
	},
	otherkeywords={
		:, :=, <>,;,\,.,\[,\],\^
	},
	sensitive=false,
	morecomment=[l]{//}, 
	morecomment=[s]{(*}{*)},
	morestring=[b]"
	morestring=[b]'	
}

\lstset{
	language=ST,
	numbers=left,
	numberstyle=\color{purple},
	keywordstyle=\color{blue},
	commentstyle=\color{green},
	stringstyle=\color{yellow},
	tabsize=3
}

\begin{document}
	\begin{lstlisting}
	FUNCTION_BLOCK Name EXTENDS Name2
	VAR CONSTANT
		(*
		Mehrzeiliges Kommentar 
		*)
		variable	: BYTE := 2#11111110;
		//Auskommentierte variable
		//variable2 : REAL := 16#AF;
		array1: ARRAY[0..1] OF Name3;
		END_VAR
		
		CASE Variable OF
			0:	
			IF SUPER^.init() THEN
			variable := 1;
			END_IF
			1:	
			variable := 10;	
		END_CASE	
	\end{lstlisting}
\end{document}

Nach oben