Delete raylib_utils, update todo
This commit is contained in:
@@ -1,47 +0,0 @@
|
|||||||
Rectangle ToRectangle(Rect2 r) {
|
|
||||||
Rectangle result = {r.min.x, r.min.y, r.max.x - r.min.x, r.max.y - r.min.y};
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
Rectangle ToRectangle(Rect2I r) {
|
|
||||||
Rectangle result = {(float)r.min.x, (float)r.min.y, (float)(r.max.x - r.min.x), (float)(r.max.y - r.min.y)};
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
Rect2I GetScreenRect() {
|
|
||||||
Rect2I result = {0, 0, GetRenderWidth(), GetRenderHeight()};
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
Rect2 GetScreenRectF() {
|
|
||||||
Rect2 result = {0, 0, (float)GetRenderWidth(), (float)GetRenderHeight()};
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
Int GetCharSpacing(Font font, Int font_size, Int spacing) {
|
|
||||||
int index = GetGlyphIndex(font, '_');
|
|
||||||
Int textOffsetX = 0;
|
|
||||||
if (font.glyphs[index].advanceX == 0) textOffsetX += ((Int)font.recs[index].width + spacing);
|
|
||||||
else textOffsetX += ((Int)font.glyphs[index].advanceX + spacing);
|
|
||||||
return textOffsetX;
|
|
||||||
}
|
|
||||||
|
|
||||||
void DrawString(Font font, String16 text, Vector2 position, float fontSize, float spacing, Color tint) {
|
|
||||||
if (font.texture.id == 0) font = GetFontDefault(); // Security check in case of not valid font
|
|
||||||
|
|
||||||
float textOffsetX = 0.0f; // Offset X to next character to draw
|
|
||||||
for (Int i = 0; i < text.len; i += 1) {
|
|
||||||
// Get next codepoint from byte string and glyph index in font
|
|
||||||
int codepoint = text[i];
|
|
||||||
int index = GetGlyphIndex(font, codepoint);
|
|
||||||
|
|
||||||
if (codepoint == '\n') {
|
|
||||||
// DrawCircle((int)position.x + (int)textOffsetX, (int)position.y, fontSize / 10, tint);
|
|
||||||
} else if ((codepoint != ' ') && (codepoint != '\t')) {
|
|
||||||
DrawTextCodepoint(font, codepoint, {position.x + textOffsetX, position.y}, fontSize, tint);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (font.glyphs[index].advanceX == 0) textOffsetX += ((float)font.recs[index].width + spacing);
|
|
||||||
else textOffsetX += ((float)font.glyphs[index].advanceX + spacing);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,10 +1,26 @@
|
|||||||
|
- delete raylib utils, delete WaitForExit?
|
||||||
|
- remove pointers from ids since they will quickly get invalidated, move fully to array stuff
|
||||||
|
- try waiting for events despite of running processes, I remember there was a problem with this in 4Coder, your PC would just start going ham
|
||||||
|
- Attach BufferID to process, append to that buffer
|
||||||
|
- kill all processes on exit https://devblogs.microsoft.com/oldnewthing/20131209-00/?p=2433
|
||||||
|
- AppendToConsole should scroll only if caret is at end and one caret otherwise the carets should not change
|
||||||
|
- if exec is prepended with '!' symbol then run a shell command
|
||||||
|
- Open git commit as part of "Open" in new buffer using git --no-pager show <hash>
|
||||||
|
- try using git grep for search for now, combine with fuzzy search buffer
|
||||||
|
- Test stdin writing code
|
||||||
|
- Implement shell interaction (last line should have a '$'' symbols, if you press enter it should send that line to stdin of a running shell)
|
||||||
|
|
||||||
|
- open file from cmd
|
||||||
|
- detach from console when executing the program from the console to make sure that the user won't have to keep the cmd alive
|
||||||
|
- win32 open file with text editor from desktop
|
||||||
|
- drag and drop file into the window
|
||||||
|
- exe icon
|
||||||
|
|
||||||
|
combine glyph and selection rendering
|
||||||
|
debugging: resize dynamic array on every item add
|
||||||
|
|
||||||
- search as a command to execute which is going to be in the title bar
|
- search as a command to execute which is going to be in the title bar
|
||||||
- search backwards
|
- search backwards
|
||||||
- change size of command window because it's wacky
|
|
||||||
|
|
||||||
- Implement opening and polling processes, sending info back and forth
|
|
||||||
- Open git commit using git --no-pager show <hash>
|
|
||||||
- Implement shell interaction (here we also could use the coroutine library)
|
|
||||||
|
|
||||||
- word complete
|
- word complete
|
||||||
- Search all buffers in 10X style, incrementally searched results popping up on every key press (maybe we need coroutine library in C so this is easier?)
|
- Search all buffers in 10X style, incrementally searched results popping up on every key press (maybe we need coroutine library in C so this is easier?)
|
||||||
@@ -12,13 +28,12 @@
|
|||||||
- load in a next window
|
- load in a next window
|
||||||
- load in new window
|
- load in new window
|
||||||
|
|
||||||
- win32 open file with text editor from desktop
|
- kill view - killing all views for buffer ejects buffer (maybe also introduce kill buffer)
|
||||||
- open file/cmd from cmd
|
- ask if you want to close without saving on exit
|
||||||
- detach from console when executing the program from the console to make sure that the user won't have to keep the cmd alive
|
- how to be better at marking buffers as modified?
|
||||||
- drag and drop file into the window
|
- ask if you want to create new file?
|
||||||
- exe icon
|
|
||||||
|
|
||||||
- how do we regen directory buffers?
|
- when do we regen directory buffers?
|
||||||
- load project command which loads files and config
|
- load project command which loads files and config
|
||||||
- load all files in a directory
|
- load all files in a directory
|
||||||
- global config and local config
|
- global config and local config
|
||||||
@@ -26,23 +41,24 @@
|
|||||||
|
|
||||||
- draw indentation levels like in sublime (those lines) - we render chars one by one so seems relatively easy to figure out if whitespace belongs to beginning of line (make sure to add max value like 40 because of big files)
|
- draw indentation levels like in sublime (those lines) - we render chars one by one so seems relatively easy to figure out if whitespace belongs to beginning of line (make sure to add max value like 40 because of big files)
|
||||||
- code sections, visual demarkation if beginning of line has a very specific text + goto next / goto prev section hotkey!
|
- code sections, visual demarkation if beginning of line has a very specific text + goto next / goto prev section hotkey!
|
||||||
|
- change size of command window because it's wacky
|
||||||
- page up and down should also scroll and leave you in exactly same scroll
|
|
||||||
- I think the way sublime text and we display line highlights is confusing with multiple cursors (line highlight can be confused with selection)
|
|
||||||
- ctrl + delete maybe should stop on new line but it keeps on going, sublime is much more careful with deleting
|
|
||||||
BUG: there is a click hang when switching windows sometimes, you click after select and it doesn't switch active window
|
|
||||||
|
|
||||||
|
|
||||||
- Windows
|
|
||||||
|
Windows
|
||||||
- switch to previous view (ctrl + tab)
|
- switch to previous view (ctrl + tab)
|
||||||
- shift + ctrl + click should open a new window and then with alt it probably should kill it
|
- shift + ctrl + click should open a new window and then with alt it probably should kill it
|
||||||
- layout using a tree!!
|
- layout using a tree!!
|
||||||
- I don't think we need WindowIDs
|
- I don't think we need WindowIDs
|
||||||
- layouting, resize windows
|
- layouting, resize windows
|
||||||
- try to incorporate the acme square which allows you to put windows wherever and also scale the border
|
- try to incorporate the acme square which allows you to put windows wherever and also scale the border
|
||||||
|
BUG: there is a click hang when switching windows sometimes, you click after select and it doesn't switch active window
|
||||||
|
|
||||||
|
|
||||||
backlog
|
backlog
|
||||||
|
- page up and down should also scroll and leave you in exactly same scroll
|
||||||
|
- I think the way sublime text and we display line highlights is confusing with multiple cursors (line highlight can be confused with selection)
|
||||||
|
- ctrl + delete maybe should stop on new line but it keeps on going, sublime is much more careful with deleting
|
||||||
- text_editor --record events.txt text_editor --playback events.txt
|
- text_editor --record events.txt text_editor --playback events.txt
|
||||||
- make the editor replayable, store events and then replay, be careful about globals
|
- make the editor replayable, store events and then replay, be careful about globals
|
||||||
- maybe open should return multiple options if there are many more? (like in sublime if many symbols you get a window and you choose and it automatically jumps you to the symbol in the background)
|
- maybe open should return multiple options if there are many more? (like in sublime if many symbols you get a window and you choose and it automatically jumps you to the symbol in the background)
|
||||||
@@ -51,6 +67,4 @@ backlog
|
|||||||
- font cache and on demand unicode loads
|
- font cache and on demand unicode loads
|
||||||
- Set scroll centered, what was the use case for this?
|
- Set scroll centered, what was the use case for this?
|
||||||
- color parens, braces
|
- color parens, braces
|
||||||
- auto register commands, but we need to figure out how to properly structure lua stuff
|
- auto register commands, but we need to figure out how to properly structure lua stuff
|
||||||
- double click - start enclosing word, triple click - start enclosing lines, merge 2 cursor selection - start treating it as anchor
|
|
||||||
- Colored strings
|
|
||||||
Reference in New Issue
Block a user