-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path06_highlighter_demo.js
77 lines (65 loc) · 3.6 KB
/
06_highlighter_demo.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
/* -------------------------------------------------------------------------- */
// Copyright (c) 2021. Nikola Vukićević
/* -------------------------------------------------------------------------- */
document.addEventListener("keydown", prepoznavanjeTastera);
let poljeZaIspis = document.getElementById("polje_ispis");
let listaTokena = null;
let radioDugme = 1;
let brojDugmica = 14;
let DEBUG = false;
let PARSER = true;
let REZIM_ISPISA = "html";
/* -------------------------------------------------------------------------- */
// Obrada:
/* -------------------------------------------------------------------------- */
function radioKlik(n) {
if(n == 1) {
document.getElementById("polje_ispis").classList.remove('language-php');
document.getElementById("polje_ispis").classList.remove('language-javascript');
}
else {
document.getElementById("polje_ispis").classList.add('language-php');
document.getElementById("polje_ispis").classList.add('language-javascript');
}
switch(n) {
case 1 : obradaKoda(tekstHTML, HTML_definicijaJezika, poljeZaIspis, REZIM_ISPISA); break;
case 2 : obradaKoda(tekstCSS, CSS_definicijaJezika, poljeZaIspis, REZIM_ISPISA); break;
case 3 : obradaKoda(tekstJS, JavaScript_definicijaJezika, poljeZaIspis, REZIM_ISPISA); break;
case 4 : obradaKoda(tekstC, C_definicijaJezika, poljeZaIspis, REZIM_ISPISA); break;
case 5 : obradaKoda(tekstCPP, CPP_definicijaJezika, poljeZaIspis, REZIM_ISPISA); break;
case 6 : obradaKoda(tekstCSharp, C_Sharp_definicijaJezika, poljeZaIspis, REZIM_ISPISA); break;
case 7 : obradaKoda(tekstJava, Java_definicijaJezika, poljeZaIspis, REZIM_ISPISA); break;
case 8 : obradaKoda(tekstSQL, SQL_definicijaJezika, poljeZaIspis, REZIM_ISPISA); break;
case 9 : obradaKoda(tekstPython, Python_definicijaJezika, poljeZaIspis, REZIM_ISPISA); break;
case 10 : obradaKoda(tekstPHP, PHP_definicijaJezika, poljeZaIspis, REZIM_ISPISA); break;
case 11 : obradaKoda(tekstJSON, JSON_definicijaJezika, poljeZaIspis, REZIM_ISPISA); break;
case 12 : obradaKoda(tekstAssembler, Assembler_definicijaJezika, poljeZaIspis, REZIM_ISPISA); break;
case 13 : obradaKoda(tekstMarkup, Markup_definicijaJezika, poljeZaIspis, REZIM_ISPISA); break;
case 14 : obradaKoda(tekstRegex, RegEx_definicijaJezika, poljeZaIspis, REZIM_ISPISA); break;
default : obradaKoda(tekstCSS, CSS_definicijaJezika, poljeZaIspis, REZIM_ISPISA); break;
}
}
/* -------------------------------------------------------------------------- */
function prebacivanjeJezika(smer) {
radioDugme += smer;
if(radioDugme > brojDugmica) radioDugme = 1;
let rD = document.getElementById("izbor_jezika_" + radioDugme);
rD.checked = true;
radioKlik(radioDugme);
}
/* -------------------------------------------------------------------------- */
function prepoznavanjeTastera(event) {
switch(event.keyCode) {
case 81: prebacivanjeJezika(1); break; // q
default: break;
}
}
/* -------------------------------------------------------------------------- */
//let t1 = performance.now();
/* -------------------------------------------------------------------------- */
obradaKoda(tekstHTML, HTML_definicijaJezika, poljeZaIspis, "html");
// obradaKoda(tekstC, CLIKE_definicijaJezika, poljeZaIspis, "html");
// obradaKoda(tekstJS, JavaScript_definicijaJezika, poljeZaIspis, "html");
/* ----- telemetrija ----- */
//vremeObradeIspis(t1, "Glavna funkcija")
/* ----------------------- */