Subversion Repositories Kolibri OS

Rev

Rev 9193 | Rev 9413 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9193 Rev 9210
Line 17... Line 17...
17
    along with CEdit. If not, see .
17
    along with CEdit. If not, see .
18
*)
18
*)
Line 19... Line 19...
19
 
19
 
Line 20... Line 20...
20
MODULE Languages;
20
MODULE Languages;
Line 21... Line 21...
21
 
21
 
Line 22... Line 22...
22
IMPORT Lines;
22
IMPORT Lines, Utils;
Line 47... Line 47...
47
	KW: ARRAY 8 OF ARRAY 3 OF tKeyWords;
47
	KW: ARRAY 8 OF ARRAY 3 OF tKeyWords;
48
	Delim: ARRAY 8 OF tDelimiters;
48
	Delim: ARRAY 8 OF tDelimiters;
Line 49... Line 49...
49
 
49
 
Line -... Line 50...
-
 
50
    currentLang: INTEGER;
-
 
51
 
Line 50... Line 52...
50
    currentLang: INTEGER;
52
    fileExt: ARRAY 11 OF RECORD ext: ARRAY 8 OF CHAR; lang: INTEGER END;
51
 
53
 
52
 
54
 
Line 393... Line 395...
393
BEGIN
395
BEGIN
394
	currentLang := lang
396
	currentLang := lang
395
END setCurLang;
397
END setCurLang;
Line -... Line 398...
-
 
398
 
-
 
399
 
-
 
400
PROCEDURE getLang* (ext: ARRAY OF CHAR): INTEGER;
-
 
401
VAR
-
 
402
	i: INTEGER;
-
 
403
BEGIN
-
 
404
	i := 0;
-
 
405
	WHILE (i < LEN(fileExt)) & (fileExt[i].ext # ext) DO
-
 
406
		INC(i)
-
 
407
	END;
-
 
408
	IF i < LEN(fileExt) THEN
-
 
409
		i := fileExt[i].lang
-
 
410
	ELSE
-
 
411
		i := langText
-
 
412
	END
-
 
413
	RETURN i
-
 
414
END getLang;
-
 
415
 
-
 
416
 
-
 
417
PROCEDURE getExt* (lang: INTEGER; VAR ext: ARRAY OF CHAR);
-
 
418
VAR
-
 
419
	i: INTEGER;
-
 
420
BEGIN
-
 
421
	i := 0;
-
 
422
	WHILE fileExt[i].lang # lang DO
-
 
423
		INC(i)
-
 
424
	END;
-
 
425
	COPY(fileExt[i].ext, ext);
-
 
426
	Utils.lowcase(ext)
-
 
427
END getExt;
396
 
428
 
397
 
429
 
398
PROCEDURE init* (getStr: procGetStr);
430
PROCEDURE init* (getStr: procGetStr);
399
BEGIN
431
BEGIN
400
	currentLang := langText;
432
	currentLang := langText;
Line 404... Line 436...
404
    loadKW(KW[langPascal], Delim[langPascal], getStr, "lang_Pascal");
436
    loadKW(KW[langPascal], Delim[langPascal], getStr, "lang_Pascal");
405
    loadKW(KW[langLua],    Delim[langLua],    getStr, "lang_Lua");
437
    loadKW(KW[langLua],    Delim[langLua],    getStr, "lang_Lua");
406
    loadKW(KW[langIni],    Delim[langIni],    getStr, "lang_Ini");
438
    loadKW(KW[langIni],    Delim[langIni],    getStr, "lang_Ini");
407
    loadKW(KW[langFasm],   Delim[langFasm],   getStr, "lang_Fasm");
439
    loadKW(KW[langFasm],   Delim[langFasm],   getStr, "lang_Fasm");
408
    loadKW(KW[langJSON],   Delim[langJSON],   getStr, "lang_JSON");
440
    loadKW(KW[langJSON],   Delim[langJSON],   getStr, "lang_JSON");
-
 
441
 
-
 
442
    fileExt[ 0].ext := "OB07"; fileExt[ 0].lang := langOberon;
-
 
443
    fileExt[ 1].ext := "C";    fileExt[ 1].lang := langC;
-
 
444
    fileExt[ 2].ext := "H";    fileExt[ 2].lang := langC;
-
 
445
    fileExt[ 3].ext := "CPP";  fileExt[ 3].lang := langC;
-
 
446
    fileExt[ 4].ext := "PAS";  fileExt[ 4].lang := langPascal;
-
 
447
    fileExt[ 5].ext := "PP";   fileExt[ 5].lang := langPascal;
-
 
448
    fileExt[ 6].ext := "ASM";  fileExt[ 6].lang := langFasm;
-
 
449
    fileExt[ 7].ext := "LUA";  fileExt[ 7].lang := langLua;
-
 
450
    fileExt[ 8].ext := "INI";  fileExt[ 8].lang := langIni;
-
 
451
    fileExt[ 9].ext := "JSON"; fileExt[ 9].lang := langJSON;
-
 
452
    fileExt[10].ext := "TXT";  fileExt[10].lang := langText;
409
END init;
453
END init;
Line 410... Line 454...
410
 
454
 
411
 
455