Implementera syntax highlightning i editor, hur?

Programmering

2 svar · 1 253 visningar · startad av erciz

Medlem sedan maj 20011 826 inlägg
Trådstart#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.

Medlem sedan maj 20011 826 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.

Medlem sedan aug. 20003 575 inlägg
#3

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

376 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
123 ms — hämta statistik (db)
128 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)