Hacker News new | ask | show | jobs
by rubymamis 791 days ago
Hey, Kate is awesome! Didn't mean to bring you down or anything. I myself got some trimming to do for my own apps. Keep up the good work.

BTW, any idea how Kate is so fast? Is there an architecture explanation somewhere? Is it based on Scintilla? I'm on a block editor[1] in Qt C++ and QML so that kind of information will be helpful.

[1] https://www.get-plume.com/

1 comments

the architecture is really simple. The buffer contigously stores a list of "blocks". Each block contains a small number of actual text lines (usually 64-128). Thus if you edit a line, we only need to update the block containing the line. Once a block grows bigger than a certain number of lines, we split it into two.
Hey, Waqar!

If I’m not mistaken, you also contributed to my own Notes app https://github.com/nuttyartist/notes, so thanks!

Can you please point where in Kate’s source code I’ll see the implementation for this? That would be super helpful.

Thanks!
I don't think it is the best design, but for the sizes of files one usually works with, it seems a good fit (with low complexity).