Eine Möglichkeit:
Delphi-Quellcode:
type
THighLights = (SynAsm, SynCs, SynCpp);
const
HighLights[THighLights]: array[0..3] of string =
(('.asm', '', '', ''),
( '.cs', '', '', ''),
( '.h', '.hpp', '.c', '.cpp'));
//...
function GetSynHighlight: THighLights;
var
j: integer;
begin
for result := SynAsm to SynCpp do
for j := low(HighLights[result]) to high(HighLights[result]) do
if pos(HighLights[result][j], FileName) > 0 then
exit;
end;
nicht geprüft, müsst aber (rein theoritisch) gut funktionieren...
Edit: Ok, der Code wurde nich wirklich kürzer, aber wenn du mehr Sprachen im Syntaxhighlighting unterstüzen willst, hastes 1. schnell umgeändert und bei 10 Sprachen und je 3-4 versch. Dateien is der Source dann doch kürzer als sonst