dcolson's Avatar
dcolson
Member since

Recent Activity

Got a little update on my text editor I've been making for large projects and large files!

  • It's now called Photon (cause it's as fast as light lol)
  • The core text editing system has been completely rewritten to be fully threadsafe and lockless
    • Thanks to @starfreakclone for the help! Uses a similar data structure to his editor Fred
  • It is now highly parallelized and even faster!
  • It now support projects!
  • In the demo below I have a copy of Unreal Engine's source code loaded as the project, 43,000 files (that includes Engine/Source/ThirdParty)
    • I can navigate the source tree to a file and load it instantly
    • I can fuzzy search for a filename in all the project files and load it instantly
    • The feature I'm most proud of, you can string search all 43k files in less than 16ms, giving you realtime, instant search feedback, updates instantly as you type
    • You can jump to any file and location instantly!
    • At the end, just for extra flare, I open a 1GB json file, which loads in about half a second, you can jump around in it, and search the 1GB file at realtime instant speeds
View original message on Discord

Got another text editor project to share (I'm sorry I know there's many). I had that urge many programmers seem to have where they get annoyed at their text editor options and decide to make their own cause how hard can it be. It's actually been very fun and I've got pretty far. It's built for my needs, which is gamedev, super large projects and files, so I put a lot of emphasis on speed.

Here's the current state of it:

  • Helix/Kakoune style modal editing (though my work colleagues want a normal style editing version, so we'll see about that, it wouldn't be that hard to support)
  • Syntax highlighting for Jai, C and C++
  • File search
  • Filesystem navigator inspired by Focus
  • Supports both LF and CRLF endings, and can normalize files to either
  • Can support massive files with syntax highlighting (just today I had to look at a 6m line generated C file at work, which loads in about 20 seconds, and is snappy to view and instantaneous to edit)
  • Multibyte UTF8 is not there yet, but in progress, the core rendering supports it but the editor generally not so much.
  • A custom UI system that supports animations, smooth scrolling and that sort of thing
  • Custom font cache and font rendering that looks great in person (video compression has not been kind)

Todo list for near future

  • Finish utf8 support
  • Workspaces and workspace searching
  • Multiple cursors
View original message on Discord