DanielHesslow / HH

Making a textEditorStuff

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Texteditor

This is my attempt at making a code editor. Or was. It's currently under a thick layer of ice.

The goal is to be able to move from visual studio to this. Currently it's nowhere near that goal.

Most importantly it needs to be 100% reliable.

We need to reintroduce the lexer and parser. Maybe as it's own self contained 'plugin' The memory handling stuff is completely shit. I'll have to think about moving back to a basic malloc. (+ debug) Also probably use templates for hashtables, dynamic arrays etc. Good experiment but I'm not 100% a fan.

The features that are important:

  • unicode support
  • multiple buffers
  • multiple cursors
  • multiple views of same file
  • subpixel font-rendering
  • copy paste
  • color markdown
  • customization (currently hotloading DLLs)
  • intellisence
  • see search matches in new virtual file (file / folder)
  • smooth scrolling
  • virtual whitespace?
  • i3-style window manager for buffers
  • tree based history ie. crtl-z doesn't remove stuff only branch, (currently buggy and complicated scheme to reduce size, maybe do simple thing but add an layer of compression) also not clear what even should happen in all cases for editions in mutliple views and undo in one.
  • title's ie. special comments with different font size

At somepoint

  • AST-search / replace
  • csi mode (multiple people typing, same computer)
  • networked mode
  • multiple files single buffer mode
  • hardware rendering
  • hinting for font rendering (patent problem?)

Ports:

  • Windows
  • Mac
  • Linux

Notes

We should probably actually use the standard library. Fun experiment to do everything myself, but mostly a waste of time. Everything is single threaded because it's a texteditor, it shouldn't need more threads. Still like unity-builds.

We'll see if I get back to this. Currently doing other things that seems more fun for now. But I might circle back :)

About

Making a textEditorStuff


Languages

Language:C 83.1%Language:C++ 16.7%Language:Batchfile 0.2%