webForumDet fria alternativet

Implementera syntax highlightning i editor, hur?

2 svar · 1 230 visningar · startad av erciz

ercizMedlem sedan maj 20011 880 inlägg
#1

Funderade lite på hur syntax highlightning i en kodeditor är implementerat. Någon som har koll på det?

Det kan väl inte vara så beräkningstungt att man parsar hela dokumentet och bygger ett AST efter varje tangenttryckning? Måste väl finnas någon smartare algorithm. Eller så bygger man ett AST från början och gör förändringar i det under tiden som dokumenter ändras, men det låter ganska komplicerat.

Har tidigare skrivit en kompilator, så själva front-end-delen är ganska snarlik, antar jag.

ercizMedlem sedan maj 20011 880 inlägg
#2

Funderade på detta igen. Räcker det helt enkelt med att göra reguljära uttryck (regular expressions) och sen byta färg på de matchade orden? Det allra enklaste är väl att köra alla regex efter varje tangenttryckning... låter beräkningstungt, men kanske funkar, får nog testa det.

NickemannenMedlem sedan aug. 20003 524 inlägg
#3

Känns som att du bara skall parsa det ordet eller den raden du ändrat på.

366 ms totalt · 5 externa anrop · cache AV · v20260730165559-full.0b955084
0 ms — hämta statistik (cache)
118 ms — slå upp tråd (db)
0 ms — hämta forumlista (cache)
122 ms — hämta inlägg (db)
124 ms — hämta bilagor (db)