29 lines
1.5 KiB
Markdown
29 lines
1.5 KiB
Markdown
# ScratchPad
|
|
A text editor I'm developing for personal use as well as getting used to 2D and UI development with Vulkan.
|
|
|
|
It's currently in an early state, it has core functionality built out but is still a work in progress and isn't currently recommended for use.
|
|
|
|
### Demonstration Video
|
|
|
|
https://git.sleepy.day/sleepy-day/editor/raw/branch/master/media/editor-demo.mp4
|
|
|
|
### Gifs
|
|
|
|

|
|
|
|

|
|
|
|

|
|
|
|

|
|
|
|
## Details
|
|
|
|
- Editor that supports multiple text buffers through multiple panels that can be automatically resized and arbitrarily split
|
|
- Command palette for actions such as opening/saving files, splitting text editor views and eventually will contain config options and key bindings.
|
|
- Implemented with minimal external dependencies, only using cglm/xxhash/Vulkan Memory Allocator as well as system libraries and Vulkan for the graphics API
|
|
- Manual memory management primarily using arenas, no GC usage.
|
|
- Syntax highlighting (for D and C-like languages) and auto indenting/auto closing pairs (strings, braces, etc)
|
|
- Animations such as smooth scrolling, highlighting on focus and animated cursors with text after the cursor having its position animated
|
|
|