6 slides ready; virtual whitespace toggle hacked in for nowsies
This commit is contained in:
parent
9129e5898b
commit
bf47b2cb09
|
@ -248,11 +248,13 @@ draw_string(Render_Target *target, Face *face, String_Const_u8 string, Vec2_f32
|
|||
if (behavior.do_codepoint_advance){
|
||||
u32 codepoint = step.value;
|
||||
if (color != 0){
|
||||
draw_font_glyph(target, face, codepoint, point, color, flags);
|
||||
u32 draw_codepoint = step.value;
|
||||
if (draw_codepoint == '\t'){
|
||||
draw_codepoint = ' ';
|
||||
}
|
||||
f32 d = font_get_glyph_advance(&face->advance_map,
|
||||
&face->metrics,
|
||||
codepoint);
|
||||
draw_font_glyph(target, face, draw_codepoint, point, color, flags);
|
||||
}
|
||||
f32 d = font_get_glyph_advance(&face->advance_map, &face->metrics, codepoint);
|
||||
point += d*delta;
|
||||
total_delta += d;
|
||||
}
|
||||
|
|
|
@ -717,15 +717,6 @@ CUSTOM_DOC("Reads the state of the mouse wheel and uses it to either increase or
|
|||
}
|
||||
}
|
||||
|
||||
CUSTOM_COMMAND_SIG(toggle_virtual_whitespace)
|
||||
CUSTOM_DOC("Toggles the current buffer's virtual whitespace status.")
|
||||
{
|
||||
View_ID view = get_active_view(app, Access_ReadVisible);
|
||||
Buffer_ID buffer = view_get_buffer(app, view, Access_ReadVisible);
|
||||
(void)buffer;
|
||||
NotImplemented;
|
||||
}
|
||||
|
||||
CUSTOM_COMMAND_SIG(toggle_show_whitespace)
|
||||
CUSTOM_DOC("Toggles the current buffer's whitespace visibility status.")
|
||||
{
|
||||
|
|
|
@ -769,12 +769,15 @@ layout_index_unwrapped__inner(Application_Links *app, Arena *arena, Buffer_ID bu
|
|||
return(list);
|
||||
}
|
||||
|
||||
|
||||
|
||||
function Layout_Item_List
|
||||
layout_virt_indent_index_unwrapped(Application_Links *app, Arena *arena,
|
||||
Buffer_ID buffer, Range_i64 range, Face_ID face,
|
||||
f32 width){
|
||||
Layout_Item_List result = {};
|
||||
|
||||
if (global_config.enable_virtual_whitespace){
|
||||
code_index_lock();
|
||||
Code_Index_File *file = code_index_get_file(buffer);
|
||||
if (file != 0){
|
||||
|
@ -784,9 +787,25 @@ layout_virt_indent_index_unwrapped(Application_Links *app, Arena *arena,
|
|||
if (file == 0){
|
||||
result = layout_virt_indent_literal_unwrapped(app, arena, buffer, range, face, width);
|
||||
}
|
||||
}
|
||||
else{
|
||||
result = layout_wrap_whitespace(app, arena, buffer, range, face, width);
|
||||
}
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
CUSTOM_COMMAND_SIG(toggle_virtual_whitespace)
|
||||
CUSTOM_DOC("Toggles the current buffer's virtual whitespace status.")
|
||||
{
|
||||
global_config.enable_virtual_whitespace = !global_config.enable_virtual_whitespace;
|
||||
|
||||
for (Buffer_ID buffer = get_buffer_next(app, 0, Access_Always);
|
||||
buffer != 0;
|
||||
buffer = get_buffer_next(app, buffer, Access_Always)){
|
||||
buffer_clear_layout_cache(app, buffer);
|
||||
}
|
||||
}
|
||||
|
||||
// BOTTOM
|
||||
|
||||
|
|
|
@ -86,7 +86,7 @@ tutorial_init_title_face(Application_Links *app){
|
|||
}
|
||||
|
||||
function void
|
||||
default_4coder_tutorial_render(Application_Links *app, Frame_Info frame_info, View_ID view_id){
|
||||
tutorial_render(Application_Links *app, Frame_Info frame_info, View_ID view_id){
|
||||
Face_ID face = get_face_id(app, 0);
|
||||
tutorial_init_title_face(app);
|
||||
Face_Metrics metrics = get_face_metrics(app, face);
|
||||
|
@ -179,7 +179,7 @@ default_4coder_tutorial_render(Application_Links *app, Frame_Info frame_info, Vi
|
|||
Rect_f32 restart_box = pair.min;
|
||||
|
||||
if (tutorial.slide_index == tutorial.slide_count - 1){
|
||||
if (draw_button(app, exit_box, m_p, face, string_u8_litexpr("exit"))){
|
||||
if (draw_button(app, exit_box, m_p, face, string_u8_litexpr("end"))){
|
||||
tutorial.hover_action = TutorialAction_Exit;
|
||||
}
|
||||
|
||||
|
@ -197,11 +197,11 @@ default_4coder_tutorial_render(Application_Links *app, Frame_Info frame_info, Vi
|
|||
}
|
||||
|
||||
function void
|
||||
default_4coder_tutorial_run(Application_Links *app)
|
||||
tutorial_run_loop(Application_Links *app)
|
||||
{
|
||||
View_ID view = get_this_ctx_view(app, Access_Always);
|
||||
View_Context ctx = view_current_context(app, view);
|
||||
ctx.render_caller = default_4coder_tutorial_render;
|
||||
ctx.render_caller = tutorial_render;
|
||||
ctx.hides_buffer = true;
|
||||
View_Context_Block ctx_block(app, view, &ctx);
|
||||
|
||||
|
@ -277,10 +277,31 @@ default_4coder_tutorial_run(Application_Links *app)
|
|||
tutorial.in_tutorial = false;
|
||||
}
|
||||
|
||||
function void
|
||||
run_tutorial(Application_Links *app, Tutorial_Slide_Function **slides, i32 slide_count){
|
||||
if (slide_count > 0){
|
||||
kill_tutorial(app);
|
||||
Panel_ID root_panel = panel_get_root(app);
|
||||
if (panel_split(app, root_panel, Dimension_Y)){
|
||||
panel_swap_children(app, root_panel);
|
||||
Panel_ID tutorial_panel = panel_get_child(app, root_panel, Side_Min);
|
||||
tutorial.view = panel_get_view(app, tutorial_panel, Access_Always);
|
||||
view_set_passive(app, tutorial.view, true);
|
||||
tutorial_activate(app);
|
||||
tutorial.slide_index = 0;
|
||||
tutorial.slide_func_ptrs = slides;
|
||||
tutorial.slide_count = slide_count;
|
||||
view_enqueue_command_function(app, tutorial.view, tutorial_run_loop);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////
|
||||
|
||||
global String_Const_u8 hms_title = string_u8_litexpr("Handmade Seattle Demo");
|
||||
|
||||
function void
|
||||
default_4coder_tutorial_short_details(Application_Links *app, Arena *arena, Fancy_Line *short_details){
|
||||
hms_demo_tutorial_short_details(Application_Links *app, Arena *arena, Fancy_Line *short_details){
|
||||
Face_ID face = get_face_id(app, 0);
|
||||
push_fancy_string(arena, short_details, tutorial.face, fcolor_id(Stag_Pop1), hms_title);
|
||||
push_fancy_string(arena, short_details, face, fcolor_id(Stag_Default), 8.f, 8.f, string_u8_litexpr("Welcome to Handmade Seattle and to this 4coder demo!"));
|
||||
|
@ -288,7 +309,7 @@ default_4coder_tutorial_short_details(Application_Links *app, Arena *arena, Fanc
|
|||
}
|
||||
|
||||
function void
|
||||
default_4coder_tutorial_long_start(Application_Links *app, Arena *arena, Fancy_Block *long_details){
|
||||
hms_demo_tutorial_long_start(Application_Links *app, Arena *arena, Fancy_Block *long_details){
|
||||
Fancy_Line *line = push_fancy_line(arena, long_details, tutorial.face, fcolor_id(Stag_Pop1), hms_title);
|
||||
|
||||
Face_ID face = get_face_id(app, 0);
|
||||
|
@ -297,199 +318,339 @@ default_4coder_tutorial_long_start(Application_Links *app, Arena *arena, Fancy_B
|
|||
#define M "If there are any features you'd like to know about or try out, "
|
||||
push_fancy_string(arena, line, string_u8_litexpr(M));
|
||||
#undef M
|
||||
push_fancy_string(arena, line, fcolor_id(Stag_Keyword), string_u8_litexpr("ask!"));
|
||||
push_fancy_string(arena, line, fcolor_id(Stag_Pop2), string_u8_litexpr("ask!"));
|
||||
|
||||
//
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Pop1), string_u8_litexpr(""));
|
||||
}
|
||||
|
||||
function void
|
||||
hms_demo_tutorial_binding_line(Application_Links *app, Arena *arena, Fancy_Block *long_details, Face_ID face, char *modifiers, char *key, char *description){
|
||||
String_Const_u8 m = SCu8(modifiers);
|
||||
String_Const_u8 k = SCu8(key);
|
||||
|
||||
f32 fill_size = (f32)k.size;
|
||||
if (m.size > 0){
|
||||
fill_size += (f32)m.size + 0.5f;
|
||||
}
|
||||
f32 pad_size = 0.f;
|
||||
if (fill_size < 40.f){
|
||||
pad_size = 40.f - fill_size;
|
||||
}
|
||||
|
||||
Fancy_Line *line = line = push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default));
|
||||
push_fancy_stringf(arena, line, pad_size, 0.5f, "<");
|
||||
if (m.size > 0){
|
||||
push_fancy_stringf(arena, line, fcolor_id(Stag_Keyword), 0.f, 0.5f, "%s", modifiers);
|
||||
}
|
||||
push_fancy_stringf(arena, line, fcolor_id(Stag_Pop2), "%s", key);
|
||||
push_fancy_stringf(arena, line, 0.5f, 1.f, ">");
|
||||
push_fancy_stringf(arena, line, "%s", description);
|
||||
}
|
||||
|
||||
function Tutorial_Slide
|
||||
default_4coder_tutorial_slide_1(Application_Links *app, Arena *arena){
|
||||
hms_demo_tutorial_slide_1(Application_Links *app, Arena *arena){
|
||||
Tutorial_Slide result = {};
|
||||
|
||||
Face_ID face = get_face_id(app, 0);
|
||||
tutorial_init_title_face(app);
|
||||
|
||||
default_4coder_tutorial_short_details(app, arena, &result.short_details);
|
||||
hms_demo_tutorial_short_details(app, arena, &result.short_details);
|
||||
|
||||
Fancy_Block *long_details = &result.long_details;
|
||||
default_4coder_tutorial_long_start(app, arena, long_details);
|
||||
hms_demo_tutorial_long_start(app, arena, long_details);
|
||||
|
||||
Fancy_Line *line = 0;
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Pop1), string_u8_litexpr("Let's start with a few navigation commands:"));
|
||||
|
||||
//
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Keyword), string_u8_litexpr("Let's start with a few navigation commands:"));
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Control", "Comma", "change active panel");
|
||||
|
||||
//
|
||||
line = push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default));
|
||||
push_fancy_stringf(arena, line, fcolor_id(Stag_Pop2),
|
||||
"%40s ", "<Control Comma>");
|
||||
push_fancy_stringf(arena, line, "change active panel");
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"", "*AnyArrow*", "move cursor one character or line");
|
||||
|
||||
//
|
||||
line = push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default));
|
||||
push_fancy_stringf(arena, line, fcolor_id(Stag_Pop2),
|
||||
"%40s ", "<*AnyArrow*>");
|
||||
push_fancy_stringf(arena, line, "move cursor one character or line");
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Control", "*AnyArrow*", "move cursor by 'chunks'");
|
||||
|
||||
//
|
||||
line = push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default));
|
||||
push_fancy_stringf(arena, line, fcolor_id(Stag_Pop2),
|
||||
"%40s ", "<Control *AnyArrow*>");
|
||||
push_fancy_stringf(arena, line, "move cursor by 'chunks'");
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"", "Home/End", "move cursor to the first/last character of the line");
|
||||
|
||||
//
|
||||
line = push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default));
|
||||
push_fancy_stringf(arena, line, fcolor_id(Stag_Pop2),
|
||||
"%40s ", "<Home>, <End>");
|
||||
push_fancy_stringf(arena, line, "move cursor to the first/last character of the line");
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"", "PageUp/PageDown", "move cursor by full pages up/down");
|
||||
|
||||
//
|
||||
line = push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default));
|
||||
push_fancy_stringf(arena, line, fcolor_id(Stag_Pop2),
|
||||
"%40s ", "<PageUp>, <PageDown>");
|
||||
push_fancy_stringf(arena, line, "move cursor by full pages up/down");
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Pop1), string_u8_litexpr("Available in code files:"));
|
||||
|
||||
//
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Keyword), string_u8_litexpr("Available in code files:"));
|
||||
|
||||
//
|
||||
line = push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default));
|
||||
push_fancy_stringf(arena, line, fcolor_id(Stag_Pop2),
|
||||
"%40s ", "<Alt OpenBracket>");
|
||||
push_fancy_stringf(arena, line, "move cursor and mark to surrounding scope");
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Alt", "LeftBracket", "move cursor and mark to surrounding scope");
|
||||
|
||||
//
|
||||
line = push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default));
|
||||
push_fancy_stringf(arena, line, fcolor_id(Stag_Pop2),
|
||||
"%40s ", "<Alt CloseBracket>");
|
||||
push_fancy_stringf(arena, line, "move cursor and mark to previous scope");
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Alt", "RightBracket", "move cursor and mark to previous scope");
|
||||
|
||||
//
|
||||
line = push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default));
|
||||
push_fancy_stringf(arena, line, fcolor_id(Stag_Pop2),
|
||||
"%40s ", "<Alt SingleQuote>");
|
||||
push_fancy_stringf(arena, line, "move cursor and mark to next scope");
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Alt", "Quote", "move cursor and mark to next scope");
|
||||
|
||||
//
|
||||
line = push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default));
|
||||
push_fancy_stringf(arena, line, fcolor_id(Stag_Pop2),
|
||||
"%40s ", "<Alt Shift CloseBracket>");
|
||||
push_fancy_stringf(arena, line, "move cursor and mark to previous top-level scope");
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Alt Shift", "RightBracket", "move cursor and mark to previous top-level scope");
|
||||
|
||||
//
|
||||
line = push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default));
|
||||
push_fancy_stringf(arena, line, fcolor_id(Stag_Pop2),
|
||||
"%40s ", "<Alt Shift SingleQuote>");
|
||||
push_fancy_stringf(arena, line, "move cursor and mark to next top-level scope");
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Alt Shift", "Quote", "move cursor and mark to next scope at the same level as the current scope");
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
function Tutorial_Slide
|
||||
default_4coder_tutorial_slide_2(Application_Links *app, Arena *arena){
|
||||
hms_demo_tutorial_slide_2(Application_Links *app, Arena *arena){
|
||||
Tutorial_Slide result = {};
|
||||
|
||||
Face_ID face = get_face_id(app, 0);
|
||||
tutorial_init_title_face(app);
|
||||
|
||||
default_4coder_tutorial_short_details(app, arena, &result.short_details);
|
||||
hms_demo_tutorial_short_details(app, arena, &result.short_details);
|
||||
|
||||
Fancy_Block *long_details = &result.long_details;
|
||||
default_4coder_tutorial_long_start(app, arena, long_details);
|
||||
hms_demo_tutorial_long_start(app, arena, long_details);
|
||||
|
||||
Fancy_Line *line = 0;
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Pop1), string_u8_litexpr("Now a look at basic editing:"));
|
||||
|
||||
//
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Keyword), string_u8_litexpr("4coder's default editing paradigm is emacs-like but with some differences:"));
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"", "TextInsert", "non-modal text insertion works in any user-writable buffers at the cursor");
|
||||
|
||||
//
|
||||
line = push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default));
|
||||
push_fancy_stringf(arena, line, fcolor_id(Stag_Pop2),
|
||||
"%40s ", "<TextInsert>");
|
||||
push_fancy_stringf(arena, line, "non-modal text insertion works in any user-writable buffers at the cursor");
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"", "Backspace/Delete", "delete the previous/next character from the cursor");
|
||||
|
||||
//
|
||||
line = push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default));
|
||||
push_fancy_stringf(arena, line, fcolor_id(Stag_Pop2),
|
||||
"%40s ", "<Backspace>/<Delete>");
|
||||
push_fancy_stringf(arena, line, "delete the previous/next character from the cursor");
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Control", "Z", "undo the last edit");
|
||||
|
||||
//
|
||||
line = push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default));
|
||||
push_fancy_stringf(arena, line, fcolor_id(Stag_Pop2),
|
||||
"%40s ", "<Control Space>");
|
||||
push_fancy_stringf(arena, line, "moves the mark to the cursor cursor");
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Control", "Y", "redo the last undone edit");
|
||||
|
||||
//
|
||||
line = push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default));
|
||||
push_fancy_stringf(arena, line, fcolor_id(Stag_Pop2),
|
||||
"%40s ", "<Control D>");
|
||||
push_fancy_stringf(arena, line, "delete the cursor to mark range");
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Control", "L", "duplicate the current line");
|
||||
|
||||
//
|
||||
line = push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default));
|
||||
push_fancy_stringf(arena, line, fcolor_id(Stag_Pop2),
|
||||
"%40s ", "<Control C>");
|
||||
push_fancy_stringf(arena, line, "copy the cursor to mark range to the clipboard");
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Alt", "Up/Down", "move the current line");
|
||||
|
||||
//
|
||||
line = push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default));
|
||||
push_fancy_stringf(arena, line, fcolor_id(Stag_Pop2),
|
||||
"%40s ", "<Control X>");
|
||||
push_fancy_stringf(arena, line, "cut the cursor to mark range to the clipboard");
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Pop1), string_u8_litexpr("Range commands based on a cursor and mark (emacs style):"));
|
||||
|
||||
//
|
||||
line = push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default));
|
||||
push_fancy_stringf(arena, line, fcolor_id(Stag_Pop2),
|
||||
"%40s ", "<Control V>");
|
||||
push_fancy_stringf(arena, line, "paste the clipboard to the buffer");
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Control", "Space", "moves the mark to the cursor cursor");
|
||||
|
||||
//
|
||||
line = push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default));
|
||||
push_fancy_stringf(arena, line, fcolor_id(Stag_Pop2),
|
||||
"%40s ", "<Control Shift V>");
|
||||
push_fancy_stringf(arena, line, "paste the clipboard to the buffer cycling through the clipboard's 'clips'");
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Control", "D", "delete the range");
|
||||
|
||||
//
|
||||
line = push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default));
|
||||
push_fancy_stringf(arena, line, fcolor_id(Stag_Pop2),
|
||||
"%40s ", "<Control Z>");
|
||||
push_fancy_stringf(arena, line, "undo the last edit");
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Control", "C", "copy the range");
|
||||
|
||||
//
|
||||
line = push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default));
|
||||
push_fancy_stringf(arena, line, fcolor_id(Stag_Pop2),
|
||||
"%40s ", "<Control Y>");
|
||||
push_fancy_stringf(arena, line, "redo the last undone edit");
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Control", "X", "cut the range");
|
||||
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Pop1), string_u8_litexpr("Paste options with a multi-stage clipboard:"));
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Control", "V", "paste the clipboard to the buffer");
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Control Shift", "V", "paste the clipboard to the buffer cycling through the clipboard's 'clips'");
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
CUSTOM_COMMAND_SIG(default_4coder_tutorial)
|
||||
function Tutorial_Slide
|
||||
hms_demo_tutorial_slide_3(Application_Links *app, Arena *arena){
|
||||
Tutorial_Slide result = {};
|
||||
|
||||
Face_ID face = get_face_id(app, 0);
|
||||
tutorial_init_title_face(app);
|
||||
|
||||
hms_demo_tutorial_short_details(app, arena, &result.short_details);
|
||||
|
||||
Fancy_Block *long_details = &result.long_details;
|
||||
hms_demo_tutorial_long_start(app, arena, long_details);
|
||||
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Pop1), string_u8_litexpr("Now try beginning a file lister:"));
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Control", "N", "begin a file lister for exploring the file system - always creating a new file");
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Control", "O", "begin a file lister for exploring the file system - ultimiately opening or creating a file");
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Alt", "O", "same as previous option but opens in the other panel");
|
||||
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Pop1), string_u8_litexpr("Inside a file lister:"));
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"", "TextInsert", "narrows the lister down to options with substrings matching the text field");
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"", "Backspace", "backspace the end of the text field");
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"", "Up/Down", "move the highlighted option up/down");
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"", "PageUp/PageDown", "move the highlighted option up/down by a 'large chunk'");
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"", "Return/Tab", "select the highlighted option; when a folder is highlighted it is opened in the lister");
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"", "Escape", "cancel the operation");
|
||||
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Pop1), string_u8_litexpr("There are also buffer listers for operations on buffers that are already open:"));
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Control", "I", "begin a buffer lister and switch to the selected buffer");
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Control", "K", "begin a buffer lister and try to kill the selected buffer");
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
function Tutorial_Slide
|
||||
hms_demo_tutorial_slide_4(Application_Links *app, Arena *arena){
|
||||
Tutorial_Slide result = {};
|
||||
|
||||
Face_ID face = get_face_id(app, 0);
|
||||
tutorial_init_title_face(app);
|
||||
|
||||
hms_demo_tutorial_short_details(app, arena, &result.short_details);
|
||||
|
||||
Fancy_Block *long_details = &result.long_details;
|
||||
hms_demo_tutorial_long_start(app, arena, long_details);
|
||||
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Pop1), string_u8_litexpr("The command lister makes all commands available in one place:"));
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Alt", "X", "a lister of all commands");
|
||||
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Pop1), string_u8_litexpr("Try some of these commands from the command lister:"));
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"", "toggle_filebar", "toggle the panel's filebar");
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"", "toggle_line_numbers", "toggle the panel's line number");
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"", "set_eol_mode_*", "change how a buffer prefers to fixup it's line endings");
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"", "close_panel", "close the current panel");
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"", "open_panel_vsplit", "create a vertical split in the current panel");
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"", "open_panel_hsplit", "create a horizontal split in the current panel");
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
function Tutorial_Slide
|
||||
hms_demo_tutorial_slide_5(Application_Links *app, Arena *arena){
|
||||
Tutorial_Slide result = {};
|
||||
|
||||
Face_ID face = get_face_id(app, 0);
|
||||
tutorial_init_title_face(app);
|
||||
|
||||
hms_demo_tutorial_short_details(app, arena, &result.short_details);
|
||||
|
||||
Fancy_Block *long_details = &result.long_details;
|
||||
hms_demo_tutorial_long_start(app, arena, long_details);
|
||||
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Pop1), string_u8_litexpr("Fast navigation by jump lists:"));
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Alt", "F", "after the user answers a query for a string generate a jump list of matches");
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Control Shift", "T", "extract an identifier from the text under cursor and generate a jump list of matches");
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Control Shift", "I", "parse the current buffer as a C/C++ source and generate a jump list of functions");
|
||||
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Pop1), string_u8_litexpr("After generating a jump list it is bound as the active jump list enabling these commands:"));
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Alt", "N", "jump to the next jump location");
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Alt Shift", "N", "jump to the previous jump location");
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Alt Shift", "M", "jump to the first jump");
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
function Tutorial_Slide
|
||||
hms_demo_tutorial_slide_6(Application_Links *app, Arena *arena){
|
||||
Tutorial_Slide result = {};
|
||||
|
||||
Face_ID face = get_face_id(app, 0);
|
||||
tutorial_init_title_face(app);
|
||||
|
||||
hms_demo_tutorial_short_details(app, arena, &result.short_details);
|
||||
|
||||
Fancy_Block *long_details = &result.long_details;
|
||||
hms_demo_tutorial_long_start(app, arena, long_details);
|
||||
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Pop1), string_u8_litexpr("Virtual whitespace:"));
|
||||
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default),
|
||||
string_u8_litexpr("\tBuffers that are indexed with information about nest structures can be equiped with the virtual whitespace layout algorithm."));
|
||||
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default),
|
||||
string_u8_litexpr("\tTry inserting new scopes and parenthetical sections in a code file."));
|
||||
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default),
|
||||
string_u8_litexpr("\tObserve that indentation is updated automatically."));
|
||||
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default),
|
||||
string_u8_litexpr("\tTry creating a line that is long enough to wrap around the edge."));
|
||||
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default),
|
||||
string_u8_litexpr("\tObserve that wrapped lines obey the same indentation rules as literal lines."));
|
||||
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default),
|
||||
string_u8_litexpr("\tThe on screen layout of text is independent of the actual whitespace contents of the underlying text."));
|
||||
|
||||
{
|
||||
Fancy_Line *line = push_fancy_line(arena, long_details, face, fcolor_id(Stag_Default));
|
||||
push_fancy_stringf(arena, line, "\tUse the command ");
|
||||
push_fancy_stringf(arena, line, fcolor_id(Stag_Pop2), "toggle_virtual_whitespace");
|
||||
push_fancy_stringf(arena, line, " to turn this feature on and off");
|
||||
}
|
||||
|
||||
push_fancy_line(arena, long_details, face, fcolor_id(Stag_Pop1), string_u8_litexpr("Auto Indentation:"));
|
||||
|
||||
hms_demo_tutorial_binding_line(app, arena, long_details, face,
|
||||
"Control", "Tab", "auto indent the lines marked by the cursor-mark range; this command only observable when virtual whitespace is off.");
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
CUSTOM_COMMAND_SIG(hms_demo_tutorial)
|
||||
CUSTOM_DOC("Tutorial for built in 4coder bindings and features.")
|
||||
{
|
||||
kill_tutorial(app);
|
||||
|
||||
Panel_ID root_panel = panel_get_root(app);
|
||||
if (panel_split(app, root_panel, Dimension_Y)){
|
||||
panel_swap_children(app, root_panel);
|
||||
Panel_ID tutorial_panel = panel_get_child(app, root_panel, Side_Min);
|
||||
tutorial.view = panel_get_view(app, tutorial_panel, Access_Always);
|
||||
view_set_passive(app, tutorial.view, true);
|
||||
tutorial_activate(app);
|
||||
|
||||
local_persist Tutorial_Slide_Function *slides[] = {
|
||||
default_4coder_tutorial_slide_1,
|
||||
default_4coder_tutorial_slide_2,
|
||||
// basic navigation
|
||||
hms_demo_tutorial_slide_1,
|
||||
// basic editing
|
||||
hms_demo_tutorial_slide_2,
|
||||
// file and buffer lister
|
||||
hms_demo_tutorial_slide_3,
|
||||
// command lister
|
||||
hms_demo_tutorial_slide_4,
|
||||
// advanced navigation
|
||||
hms_demo_tutorial_slide_5,
|
||||
// virtual whitespace
|
||||
hms_demo_tutorial_slide_6,
|
||||
};
|
||||
tutorial.slide_index = 0;
|
||||
tutorial.slide_func_ptrs = slides;
|
||||
tutorial.slide_count = ArrayCount(slides);
|
||||
|
||||
view_enqueue_command_function(app, tutorial.view, default_4coder_tutorial_run);
|
||||
}
|
||||
run_tutorial(app, slides, ArrayCount(slides));
|
||||
}
|
||||
|
||||
// BOTTOM
|
||||
|
|
|
@ -19,6 +19,7 @@ CUSTOM_COMMAND_SIG(seek_beginning_of_line);
|
|||
CUSTOM_COMMAND_SIG(seek_end_of_line);
|
||||
CUSTOM_COMMAND_SIG(goto_beginning_of_file);
|
||||
CUSTOM_COMMAND_SIG(goto_end_of_file);
|
||||
CUSTOM_COMMAND_SIG(toggle_virtual_whitespace);
|
||||
CUSTOM_COMMAND_SIG(change_active_panel);
|
||||
CUSTOM_COMMAND_SIG(change_active_panel_backwards);
|
||||
CUSTOM_COMMAND_SIG(open_panel_vsplit);
|
||||
|
@ -91,7 +92,6 @@ CUSTOM_COMMAND_SIG(toggle_fps_meter);
|
|||
CUSTOM_COMMAND_SIG(increase_face_size);
|
||||
CUSTOM_COMMAND_SIG(decrease_face_size);
|
||||
CUSTOM_COMMAND_SIG(mouse_wheel_change_face_size);
|
||||
CUSTOM_COMMAND_SIG(toggle_virtual_whitespace);
|
||||
CUSTOM_COMMAND_SIG(toggle_show_whitespace);
|
||||
CUSTOM_COMMAND_SIG(toggle_line_numbers);
|
||||
CUSTOM_COMMAND_SIG(exit_4coder);
|
||||
|
@ -222,7 +222,7 @@ CUSTOM_COMMAND_SIG(miblo_increment_time_stamp_minute);
|
|||
CUSTOM_COMMAND_SIG(miblo_decrement_time_stamp_minute);
|
||||
CUSTOM_COMMAND_SIG(profile_inspect);
|
||||
CUSTOM_COMMAND_SIG(kill_tutorial);
|
||||
CUSTOM_COMMAND_SIG(default_4coder_tutorial);
|
||||
CUSTOM_COMMAND_SIG(hms_demo_tutorial);
|
||||
CUSTOM_COMMAND_SIG(default_startup);
|
||||
CUSTOM_COMMAND_SIG(default_try_exit);
|
||||
#endif
|
||||
|
@ -248,6 +248,7 @@ static Command_Metadata fcoder_metacmd_table[216] = {
|
|||
{ PROC_LINKS(seek_end_of_line, 0), false, "seek_end_of_line", 16, "Seeks the cursor to the end of the visual line.", 47, "w:\\4ed\\code\\custom\\4coder_helper.cpp", 36, 2175 },
|
||||
{ PROC_LINKS(goto_beginning_of_file, 0), false, "goto_beginning_of_file", 22, "Sets the cursor to the beginning of the file.", 45, "w:\\4ed\\code\\custom\\4coder_helper.cpp", 36, 2181 },
|
||||
{ PROC_LINKS(goto_end_of_file, 0), false, "goto_end_of_file", 16, "Sets the cursor to the end of the file.", 39, "w:\\4ed\\code\\custom\\4coder_helper.cpp", 36, 2189 },
|
||||
{ PROC_LINKS(toggle_virtual_whitespace, 0), false, "toggle_virtual_whitespace", 25, "Toggles the current buffer's virtual whitespace status.", 55, "w:\\4ed\\code\\custom\\4coder_code_index.cpp", 40, 798 },
|
||||
{ PROC_LINKS(change_active_panel, 0), false, "change_active_panel", 19, "Change the currently active panel, moving to the panel with the next highest view_id.", 85, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 284 },
|
||||
{ PROC_LINKS(change_active_panel_backwards, 0), false, "change_active_panel_backwards", 29, "Change the currently active panel, moving to the panel with the next lowest view_id.", 84, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 290 },
|
||||
{ PROC_LINKS(open_panel_vsplit, 0), false, "open_panel_vsplit", 17, "Create a new panel by vertically splitting the active panel.", 60, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 300 },
|
||||
|
@ -320,43 +321,42 @@ static Command_Metadata fcoder_metacmd_table[216] = {
|
|||
{ PROC_LINKS(increase_face_size, 0), false, "increase_face_size", 18, "Increase the size of the face used by the current buffer.", 57, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 681 },
|
||||
{ PROC_LINKS(decrease_face_size, 0), false, "decrease_face_size", 18, "Decrease the size of the face used by the current buffer.", 57, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 692 },
|
||||
{ PROC_LINKS(mouse_wheel_change_face_size, 0), false, "mouse_wheel_change_face_size", 28, "Reads the state of the mouse wheel and uses it to either increase or decrease the face size.", 92, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 703 },
|
||||
{ PROC_LINKS(toggle_virtual_whitespace, 0), false, "toggle_virtual_whitespace", 25, "Toggles the current buffer's virtual whitespace status.", 55, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 720 },
|
||||
{ PROC_LINKS(toggle_show_whitespace, 0), false, "toggle_show_whitespace", 22, "Toggles the current buffer's whitespace visibility status.", 58, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 729 },
|
||||
{ PROC_LINKS(toggle_line_numbers, 0), false, "toggle_line_numbers", 19, "Toggles the left margin line numbers.", 37, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 738 },
|
||||
{ PROC_LINKS(exit_4coder, 0), false, "exit_4coder", 11, "Attempts to close 4coder.", 25, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 744 },
|
||||
{ PROC_LINKS(goto_line, 0), false, "goto_line", 9, "Queries the user for a number, and jumps the cursor to the corresponding line.", 78, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 752 },
|
||||
{ PROC_LINKS(search, 0), false, "search", 6, "Begins an incremental search down through the current buffer for a user specified string.", 89, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 980 },
|
||||
{ PROC_LINKS(reverse_search, 0), false, "reverse_search", 14, "Begins an incremental search up through the current buffer for a user specified string.", 87, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 986 },
|
||||
{ PROC_LINKS(search_identifier, 0), false, "search_identifier", 17, "Begins an incremental search down through the current buffer for the word or token under the cursor.", 100, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 992 },
|
||||
{ PROC_LINKS(reverse_search_identifier, 0), false, "reverse_search_identifier", 25, "Begins an incremental search up through the current buffer for the word or token under the cursor.", 98, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 998 },
|
||||
{ PROC_LINKS(replace_in_range, 0), false, "replace_in_range", 16, "Queries the user for a needle and string. Replaces all occurences of needle with string in the range between cursor and the mark in the active buffer.", 150, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1045 },
|
||||
{ PROC_LINKS(replace_in_buffer, 0), false, "replace_in_buffer", 17, "Queries the user for a needle and string. Replaces all occurences of needle with string in the active buffer.", 109, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1054 },
|
||||
{ PROC_LINKS(replace_in_all_buffers, 0), false, "replace_in_all_buffers", 22, "Queries the user for a needle and string. Replaces all occurences of needle with string in all editable buffers.", 112, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1063 },
|
||||
{ PROC_LINKS(query_replace, 0), false, "query_replace", 13, "Queries the user for two strings, and incrementally replaces every occurence of the first string with the second string.", 120, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1153 },
|
||||
{ PROC_LINKS(query_replace_identifier, 0), false, "query_replace_identifier", 24, "Queries the user for a string, and incrementally replace every occurence of the word or token found at the cursor with the specified string.", 140, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1174 },
|
||||
{ PROC_LINKS(query_replace_selection, 0), false, "query_replace_selection", 23, "Queries the user for a string, and incrementally replace every occurence of the string found in the selected range with the specified string.", 141, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1190 },
|
||||
{ PROC_LINKS(save_all_dirty_buffers, 0), false, "save_all_dirty_buffers", 22, "Saves all buffers marked dirty (showing the '*' indicator).", 59, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1226 },
|
||||
{ PROC_LINKS(delete_file_query, 0), false, "delete_file_query", 17, "Deletes the file of the current buffer if 4coder has the appropriate access rights. Will ask the user for confirmation first.", 125, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1251 },
|
||||
{ PROC_LINKS(save_to_query, 0), false, "save_to_query", 13, "Queries the user for a file name and saves the contents of the current buffer, altering the buffer's name too.", 110, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1295 },
|
||||
{ PROC_LINKS(rename_file_query, 0), false, "rename_file_query", 17, "Queries the user for a new name and renames the file of the current buffer, altering the buffer's name too.", 107, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1328 },
|
||||
{ PROC_LINKS(make_directory_query, 0), false, "make_directory_query", 20, "Queries the user for a name and creates a new directory with the given name.", 76, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1366 },
|
||||
{ PROC_LINKS(move_line_up, 0), false, "move_line_up", 12, "Swaps the line under the cursor with the line above it, and moves the cursor up with it.", 88, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1400 },
|
||||
{ PROC_LINKS(move_line_down, 0), false, "move_line_down", 14, "Swaps the line under the cursor with the line below it, and moves the cursor down with it.", 90, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1406 },
|
||||
{ PROC_LINKS(duplicate_line, 0), false, "duplicate_line", 14, "Create a copy of the line on which the cursor sits.", 51, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1412 },
|
||||
{ PROC_LINKS(delete_line, 0), false, "delete_line", 11, "Delete the line the on which the cursor sits.", 45, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1426 },
|
||||
{ PROC_LINKS(open_file_in_quotes, 0), false, "open_file_in_quotes", 19, "Reads a filename from surrounding '\"' characters and attempts to open the corresponding file.", 94, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1491 },
|
||||
{ PROC_LINKS(open_matching_file_cpp, 0), false, "open_matching_file_cpp", 22, "If the current file is a *.cpp or *.h, attempts to open the corresponding *.h or *.cpp file in the other view.", 110, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1523 },
|
||||
{ PROC_LINKS(view_buffer_other_panel, 0), false, "view_buffer_other_panel", 23, "Set the other non-active panel to view the buffer that the active panel views, and switch to that panel.", 104, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1536 },
|
||||
{ PROC_LINKS(swap_panels, 0), false, "swap_panels", 11, "Swaps the active panel with it's sibling.", 41, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1548 },
|
||||
{ PROC_LINKS(kill_buffer, 0), false, "kill_buffer", 11, "Kills the current buffer.", 25, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1572 },
|
||||
{ PROC_LINKS(save, 0), false, "save", 4, "Saves the current buffer.", 25, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1580 },
|
||||
{ PROC_LINKS(reopen, 0), false, "reopen", 6, "Reopen the current buffer from the hard drive.", 46, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1590 },
|
||||
{ PROC_LINKS(undo, 0), false, "undo", 4, "Advances backwards through the undo history of the current buffer.", 66, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1815 },
|
||||
{ PROC_LINKS(redo, 0), false, "redo", 4, "Advances forwards through the undo history of the current buffer.", 65, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1828 },
|
||||
{ PROC_LINKS(undo_all_buffers, 0), false, "undo_all_buffers", 16, "Advances backward through the undo history in the buffer containing the most recent regular edit.", 97, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1842 },
|
||||
{ PROC_LINKS(redo_all_buffers, 0), false, "redo_all_buffers", 16, "Advances forward through the undo history in the buffer containing the most recent regular edit.", 96, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1913 },
|
||||
{ PROC_LINKS(open_in_other, 0), false, "open_in_other", 13, "Interactively opens a file in the other panel.", 46, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 2014 },
|
||||
{ PROC_LINKS(default_file_externally_modified, 0), false, "default_file_externally_modified", 32, "Notes the external modification of attached files by printing a message.", 72, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 2020 },
|
||||
{ PROC_LINKS(toggle_show_whitespace, 0), false, "toggle_show_whitespace", 22, "Toggles the current buffer's whitespace visibility status.", 58, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 720 },
|
||||
{ PROC_LINKS(toggle_line_numbers, 0), false, "toggle_line_numbers", 19, "Toggles the left margin line numbers.", 37, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 729 },
|
||||
{ PROC_LINKS(exit_4coder, 0), false, "exit_4coder", 11, "Attempts to close 4coder.", 25, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 735 },
|
||||
{ PROC_LINKS(goto_line, 0), false, "goto_line", 9, "Queries the user for a number, and jumps the cursor to the corresponding line.", 78, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 743 },
|
||||
{ PROC_LINKS(search, 0), false, "search", 6, "Begins an incremental search down through the current buffer for a user specified string.", 89, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 971 },
|
||||
{ PROC_LINKS(reverse_search, 0), false, "reverse_search", 14, "Begins an incremental search up through the current buffer for a user specified string.", 87, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 977 },
|
||||
{ PROC_LINKS(search_identifier, 0), false, "search_identifier", 17, "Begins an incremental search down through the current buffer for the word or token under the cursor.", 100, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 983 },
|
||||
{ PROC_LINKS(reverse_search_identifier, 0), false, "reverse_search_identifier", 25, "Begins an incremental search up through the current buffer for the word or token under the cursor.", 98, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 989 },
|
||||
{ PROC_LINKS(replace_in_range, 0), false, "replace_in_range", 16, "Queries the user for a needle and string. Replaces all occurences of needle with string in the range between cursor and the mark in the active buffer.", 150, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1036 },
|
||||
{ PROC_LINKS(replace_in_buffer, 0), false, "replace_in_buffer", 17, "Queries the user for a needle and string. Replaces all occurences of needle with string in the active buffer.", 109, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1045 },
|
||||
{ PROC_LINKS(replace_in_all_buffers, 0), false, "replace_in_all_buffers", 22, "Queries the user for a needle and string. Replaces all occurences of needle with string in all editable buffers.", 112, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1054 },
|
||||
{ PROC_LINKS(query_replace, 0), false, "query_replace", 13, "Queries the user for two strings, and incrementally replaces every occurence of the first string with the second string.", 120, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1144 },
|
||||
{ PROC_LINKS(query_replace_identifier, 0), false, "query_replace_identifier", 24, "Queries the user for a string, and incrementally replace every occurence of the word or token found at the cursor with the specified string.", 140, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1165 },
|
||||
{ PROC_LINKS(query_replace_selection, 0), false, "query_replace_selection", 23, "Queries the user for a string, and incrementally replace every occurence of the string found in the selected range with the specified string.", 141, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1181 },
|
||||
{ PROC_LINKS(save_all_dirty_buffers, 0), false, "save_all_dirty_buffers", 22, "Saves all buffers marked dirty (showing the '*' indicator).", 59, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1217 },
|
||||
{ PROC_LINKS(delete_file_query, 0), false, "delete_file_query", 17, "Deletes the file of the current buffer if 4coder has the appropriate access rights. Will ask the user for confirmation first.", 125, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1242 },
|
||||
{ PROC_LINKS(save_to_query, 0), false, "save_to_query", 13, "Queries the user for a file name and saves the contents of the current buffer, altering the buffer's name too.", 110, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1286 },
|
||||
{ PROC_LINKS(rename_file_query, 0), false, "rename_file_query", 17, "Queries the user for a new name and renames the file of the current buffer, altering the buffer's name too.", 107, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1319 },
|
||||
{ PROC_LINKS(make_directory_query, 0), false, "make_directory_query", 20, "Queries the user for a name and creates a new directory with the given name.", 76, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1357 },
|
||||
{ PROC_LINKS(move_line_up, 0), false, "move_line_up", 12, "Swaps the line under the cursor with the line above it, and moves the cursor up with it.", 88, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1391 },
|
||||
{ PROC_LINKS(move_line_down, 0), false, "move_line_down", 14, "Swaps the line under the cursor with the line below it, and moves the cursor down with it.", 90, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1397 },
|
||||
{ PROC_LINKS(duplicate_line, 0), false, "duplicate_line", 14, "Create a copy of the line on which the cursor sits.", 51, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1403 },
|
||||
{ PROC_LINKS(delete_line, 0), false, "delete_line", 11, "Delete the line the on which the cursor sits.", 45, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1417 },
|
||||
{ PROC_LINKS(open_file_in_quotes, 0), false, "open_file_in_quotes", 19, "Reads a filename from surrounding '\"' characters and attempts to open the corresponding file.", 94, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1482 },
|
||||
{ PROC_LINKS(open_matching_file_cpp, 0), false, "open_matching_file_cpp", 22, "If the current file is a *.cpp or *.h, attempts to open the corresponding *.h or *.cpp file in the other view.", 110, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1514 },
|
||||
{ PROC_LINKS(view_buffer_other_panel, 0), false, "view_buffer_other_panel", 23, "Set the other non-active panel to view the buffer that the active panel views, and switch to that panel.", 104, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1527 },
|
||||
{ PROC_LINKS(swap_panels, 0), false, "swap_panels", 11, "Swaps the active panel with it's sibling.", 41, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1539 },
|
||||
{ PROC_LINKS(kill_buffer, 0), false, "kill_buffer", 11, "Kills the current buffer.", 25, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1563 },
|
||||
{ PROC_LINKS(save, 0), false, "save", 4, "Saves the current buffer.", 25, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1571 },
|
||||
{ PROC_LINKS(reopen, 0), false, "reopen", 6, "Reopen the current buffer from the hard drive.", 46, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1581 },
|
||||
{ PROC_LINKS(undo, 0), false, "undo", 4, "Advances backwards through the undo history of the current buffer.", 66, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1806 },
|
||||
{ PROC_LINKS(redo, 0), false, "redo", 4, "Advances forwards through the undo history of the current buffer.", 65, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1819 },
|
||||
{ PROC_LINKS(undo_all_buffers, 0), false, "undo_all_buffers", 16, "Advances backward through the undo history in the buffer containing the most recent regular edit.", 97, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1833 },
|
||||
{ PROC_LINKS(redo_all_buffers, 0), false, "redo_all_buffers", 16, "Advances forward through the undo history in the buffer containing the most recent regular edit.", 96, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 1904 },
|
||||
{ PROC_LINKS(open_in_other, 0), false, "open_in_other", 13, "Interactively opens a file in the other panel.", 46, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 2005 },
|
||||
{ PROC_LINKS(default_file_externally_modified, 0), false, "default_file_externally_modified", 32, "Notes the external modification of attached files by printing a message.", 72, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 2011 },
|
||||
{ PROC_LINKS(set_eol_mode_to_crlf, 0), false, "set_eol_mode_to_crlf", 20, "Puts the buffer in crlf line ending mode.", 41, "w:\\4ed\\code\\custom\\4coder_eol.cpp", 33, 86 },
|
||||
{ PROC_LINKS(set_eol_mode_to_lf, 0), false, "set_eol_mode_to_lf", 18, "Puts the buffer in lf line ending mode.", 39, "w:\\4ed\\code\\custom\\4coder_eol.cpp", 33, 97 },
|
||||
{ PROC_LINKS(set_eol_mode_to_binary, 0), false, "set_eol_mode_to_binary", 22, "Puts the buffer in bin line ending mode.", 40, "w:\\4ed\\code\\custom\\4coder_eol.cpp", 33, 108 },
|
||||
|
@ -451,7 +451,7 @@ static Command_Metadata fcoder_metacmd_table[216] = {
|
|||
{ PROC_LINKS(miblo_decrement_time_stamp_minute, 0), false, "miblo_decrement_time_stamp_minute", 33, "Decrement a time stamp under the cursor by one minute. (format [m]m:ss or h:mm:ss", 81, "w:\\4ed\\code\\custom\\4coder_miblo_numbers.cpp", 43, 249 },
|
||||
{ PROC_LINKS(profile_inspect, 0), true, "profile_inspect", 15, "Inspect all currently collected profiling information in 4coder's self profiler.", 80, "w:\\4ed\\code\\custom\\4coder_profile_inspect.cpp", 45, 779 },
|
||||
{ PROC_LINKS(kill_tutorial, 0), false, "kill_tutorial", 13, "If there is an active tutorial, kill it.", 40, "w:\\4ed\\code\\custom\\4coder_tutorial.cpp", 38, 9 },
|
||||
{ PROC_LINKS(default_4coder_tutorial, 0), false, "default_4coder_tutorial", 23, "Tutorial for built in 4coder bindings and features.", 51, "w:\\4ed\\code\\custom\\4coder_tutorial.cpp", 38, 470 },
|
||||
{ PROC_LINKS(hms_demo_tutorial, 0), false, "hms_demo_tutorial", 17, "Tutorial for built in 4coder bindings and features.", 51, "w:\\4ed\\code\\custom\\4coder_tutorial.cpp", 38, 636 },
|
||||
{ PROC_LINKS(default_startup, 0), false, "default_startup", 15, "Default command for responding to a startup event", 49, "w:\\4ed\\code\\custom\\4coder_default_hooks.cpp", 43, 7 },
|
||||
{ PROC_LINKS(default_try_exit, 0), false, "default_try_exit", 16, "Default command for responding to a try-exit event", 50, "w:\\4ed\\code\\custom\\4coder_default_hooks.cpp", 43, 22 },
|
||||
};
|
||||
|
@ -465,79 +465,79 @@ static i32 fcoder_metacmd_ID_seek_beginning_of_line = 6;
|
|||
static i32 fcoder_metacmd_ID_seek_end_of_line = 7;
|
||||
static i32 fcoder_metacmd_ID_goto_beginning_of_file = 8;
|
||||
static i32 fcoder_metacmd_ID_goto_end_of_file = 9;
|
||||
static i32 fcoder_metacmd_ID_change_active_panel = 10;
|
||||
static i32 fcoder_metacmd_ID_change_active_panel_backwards = 11;
|
||||
static i32 fcoder_metacmd_ID_open_panel_vsplit = 12;
|
||||
static i32 fcoder_metacmd_ID_open_panel_hsplit = 13;
|
||||
static i32 fcoder_metacmd_ID_suppress_mouse = 14;
|
||||
static i32 fcoder_metacmd_ID_allow_mouse = 15;
|
||||
static i32 fcoder_metacmd_ID_toggle_mouse = 16;
|
||||
static i32 fcoder_metacmd_ID_set_mode_to_original = 17;
|
||||
static i32 fcoder_metacmd_ID_set_mode_to_notepad_like = 18;
|
||||
static i32 fcoder_metacmd_ID_toggle_highlight_line_at_cursor = 19;
|
||||
static i32 fcoder_metacmd_ID_toggle_highlight_enclosing_scopes = 20;
|
||||
static i32 fcoder_metacmd_ID_toggle_paren_matching_helper = 21;
|
||||
static i32 fcoder_metacmd_ID_toggle_fullscreen = 22;
|
||||
static i32 fcoder_metacmd_ID_write_text_input = 23;
|
||||
static i32 fcoder_metacmd_ID_write_space = 24;
|
||||
static i32 fcoder_metacmd_ID_write_underscore = 25;
|
||||
static i32 fcoder_metacmd_ID_delete_char = 26;
|
||||
static i32 fcoder_metacmd_ID_backspace_char = 27;
|
||||
static i32 fcoder_metacmd_ID_set_mark = 28;
|
||||
static i32 fcoder_metacmd_ID_cursor_mark_swap = 29;
|
||||
static i32 fcoder_metacmd_ID_delete_range = 30;
|
||||
static i32 fcoder_metacmd_ID_backspace_alpha_numeric_boundary = 31;
|
||||
static i32 fcoder_metacmd_ID_delete_alpha_numeric_boundary = 32;
|
||||
static i32 fcoder_metacmd_ID_snipe_backward_whitespace_or_token_boundary = 33;
|
||||
static i32 fcoder_metacmd_ID_snipe_forward_whitespace_or_token_boundary = 34;
|
||||
static i32 fcoder_metacmd_ID_center_view = 35;
|
||||
static i32 fcoder_metacmd_ID_left_adjust_view = 36;
|
||||
static i32 fcoder_metacmd_ID_click_set_cursor_and_mark = 37;
|
||||
static i32 fcoder_metacmd_ID_click_set_cursor = 38;
|
||||
static i32 fcoder_metacmd_ID_click_set_cursor_if_lbutton = 39;
|
||||
static i32 fcoder_metacmd_ID_click_set_mark = 40;
|
||||
static i32 fcoder_metacmd_ID_mouse_wheel_scroll = 41;
|
||||
static i32 fcoder_metacmd_ID_move_up = 42;
|
||||
static i32 fcoder_metacmd_ID_move_down = 43;
|
||||
static i32 fcoder_metacmd_ID_move_up_10 = 44;
|
||||
static i32 fcoder_metacmd_ID_move_down_10 = 45;
|
||||
static i32 fcoder_metacmd_ID_move_down_textual = 46;
|
||||
static i32 fcoder_metacmd_ID_page_up = 47;
|
||||
static i32 fcoder_metacmd_ID_page_down = 48;
|
||||
static i32 fcoder_metacmd_ID_move_up_to_blank_line = 49;
|
||||
static i32 fcoder_metacmd_ID_move_down_to_blank_line = 50;
|
||||
static i32 fcoder_metacmd_ID_move_up_to_blank_line_skip_whitespace = 51;
|
||||
static i32 fcoder_metacmd_ID_move_down_to_blank_line_skip_whitespace = 52;
|
||||
static i32 fcoder_metacmd_ID_move_up_to_blank_line_end = 53;
|
||||
static i32 fcoder_metacmd_ID_move_down_to_blank_line_end = 54;
|
||||
static i32 fcoder_metacmd_ID_move_left = 55;
|
||||
static i32 fcoder_metacmd_ID_move_right = 56;
|
||||
static i32 fcoder_metacmd_ID_move_right_whitespace_boundary = 57;
|
||||
static i32 fcoder_metacmd_ID_move_left_whitespace_boundary = 58;
|
||||
static i32 fcoder_metacmd_ID_move_right_token_boundary = 59;
|
||||
static i32 fcoder_metacmd_ID_move_left_token_boundary = 60;
|
||||
static i32 fcoder_metacmd_ID_move_right_whitespace_or_token_boundary = 61;
|
||||
static i32 fcoder_metacmd_ID_move_left_whitespace_or_token_boundary = 62;
|
||||
static i32 fcoder_metacmd_ID_move_right_alpha_numeric_boundary = 63;
|
||||
static i32 fcoder_metacmd_ID_move_left_alpha_numeric_boundary = 64;
|
||||
static i32 fcoder_metacmd_ID_move_right_alpha_numeric_or_camel_boundary = 65;
|
||||
static i32 fcoder_metacmd_ID_move_left_alpha_numeric_or_camel_boundary = 66;
|
||||
static i32 fcoder_metacmd_ID_select_all = 67;
|
||||
static i32 fcoder_metacmd_ID_to_uppercase = 68;
|
||||
static i32 fcoder_metacmd_ID_to_lowercase = 69;
|
||||
static i32 fcoder_metacmd_ID_clean_all_lines = 70;
|
||||
static i32 fcoder_metacmd_ID_basic_change_active_panel = 71;
|
||||
static i32 fcoder_metacmd_ID_close_panel = 72;
|
||||
static i32 fcoder_metacmd_ID_show_scrollbar = 73;
|
||||
static i32 fcoder_metacmd_ID_hide_scrollbar = 74;
|
||||
static i32 fcoder_metacmd_ID_show_filebar = 75;
|
||||
static i32 fcoder_metacmd_ID_hide_filebar = 76;
|
||||
static i32 fcoder_metacmd_ID_toggle_filebar = 77;
|
||||
static i32 fcoder_metacmd_ID_toggle_fps_meter = 78;
|
||||
static i32 fcoder_metacmd_ID_increase_face_size = 79;
|
||||
static i32 fcoder_metacmd_ID_decrease_face_size = 80;
|
||||
static i32 fcoder_metacmd_ID_mouse_wheel_change_face_size = 81;
|
||||
static i32 fcoder_metacmd_ID_toggle_virtual_whitespace = 82;
|
||||
static i32 fcoder_metacmd_ID_toggle_virtual_whitespace = 10;
|
||||
static i32 fcoder_metacmd_ID_change_active_panel = 11;
|
||||
static i32 fcoder_metacmd_ID_change_active_panel_backwards = 12;
|
||||
static i32 fcoder_metacmd_ID_open_panel_vsplit = 13;
|
||||
static i32 fcoder_metacmd_ID_open_panel_hsplit = 14;
|
||||
static i32 fcoder_metacmd_ID_suppress_mouse = 15;
|
||||
static i32 fcoder_metacmd_ID_allow_mouse = 16;
|
||||
static i32 fcoder_metacmd_ID_toggle_mouse = 17;
|
||||
static i32 fcoder_metacmd_ID_set_mode_to_original = 18;
|
||||
static i32 fcoder_metacmd_ID_set_mode_to_notepad_like = 19;
|
||||
static i32 fcoder_metacmd_ID_toggle_highlight_line_at_cursor = 20;
|
||||
static i32 fcoder_metacmd_ID_toggle_highlight_enclosing_scopes = 21;
|
||||
static i32 fcoder_metacmd_ID_toggle_paren_matching_helper = 22;
|
||||
static i32 fcoder_metacmd_ID_toggle_fullscreen = 23;
|
||||
static i32 fcoder_metacmd_ID_write_text_input = 24;
|
||||
static i32 fcoder_metacmd_ID_write_space = 25;
|
||||
static i32 fcoder_metacmd_ID_write_underscore = 26;
|
||||
static i32 fcoder_metacmd_ID_delete_char = 27;
|
||||
static i32 fcoder_metacmd_ID_backspace_char = 28;
|
||||
static i32 fcoder_metacmd_ID_set_mark = 29;
|
||||
static i32 fcoder_metacmd_ID_cursor_mark_swap = 30;
|
||||
static i32 fcoder_metacmd_ID_delete_range = 31;
|
||||
static i32 fcoder_metacmd_ID_backspace_alpha_numeric_boundary = 32;
|
||||
static i32 fcoder_metacmd_ID_delete_alpha_numeric_boundary = 33;
|
||||
static i32 fcoder_metacmd_ID_snipe_backward_whitespace_or_token_boundary = 34;
|
||||
static i32 fcoder_metacmd_ID_snipe_forward_whitespace_or_token_boundary = 35;
|
||||
static i32 fcoder_metacmd_ID_center_view = 36;
|
||||
static i32 fcoder_metacmd_ID_left_adjust_view = 37;
|
||||
static i32 fcoder_metacmd_ID_click_set_cursor_and_mark = 38;
|
||||
static i32 fcoder_metacmd_ID_click_set_cursor = 39;
|
||||
static i32 fcoder_metacmd_ID_click_set_cursor_if_lbutton = 40;
|
||||
static i32 fcoder_metacmd_ID_click_set_mark = 41;
|
||||
static i32 fcoder_metacmd_ID_mouse_wheel_scroll = 42;
|
||||
static i32 fcoder_metacmd_ID_move_up = 43;
|
||||
static i32 fcoder_metacmd_ID_move_down = 44;
|
||||
static i32 fcoder_metacmd_ID_move_up_10 = 45;
|
||||
static i32 fcoder_metacmd_ID_move_down_10 = 46;
|
||||
static i32 fcoder_metacmd_ID_move_down_textual = 47;
|
||||
static i32 fcoder_metacmd_ID_page_up = 48;
|
||||
static i32 fcoder_metacmd_ID_page_down = 49;
|
||||
static i32 fcoder_metacmd_ID_move_up_to_blank_line = 50;
|
||||
static i32 fcoder_metacmd_ID_move_down_to_blank_line = 51;
|
||||
static i32 fcoder_metacmd_ID_move_up_to_blank_line_skip_whitespace = 52;
|
||||
static i32 fcoder_metacmd_ID_move_down_to_blank_line_skip_whitespace = 53;
|
||||
static i32 fcoder_metacmd_ID_move_up_to_blank_line_end = 54;
|
||||
static i32 fcoder_metacmd_ID_move_down_to_blank_line_end = 55;
|
||||
static i32 fcoder_metacmd_ID_move_left = 56;
|
||||
static i32 fcoder_metacmd_ID_move_right = 57;
|
||||
static i32 fcoder_metacmd_ID_move_right_whitespace_boundary = 58;
|
||||
static i32 fcoder_metacmd_ID_move_left_whitespace_boundary = 59;
|
||||
static i32 fcoder_metacmd_ID_move_right_token_boundary = 60;
|
||||
static i32 fcoder_metacmd_ID_move_left_token_boundary = 61;
|
||||
static i32 fcoder_metacmd_ID_move_right_whitespace_or_token_boundary = 62;
|
||||
static i32 fcoder_metacmd_ID_move_left_whitespace_or_token_boundary = 63;
|
||||
static i32 fcoder_metacmd_ID_move_right_alpha_numeric_boundary = 64;
|
||||
static i32 fcoder_metacmd_ID_move_left_alpha_numeric_boundary = 65;
|
||||
static i32 fcoder_metacmd_ID_move_right_alpha_numeric_or_camel_boundary = 66;
|
||||
static i32 fcoder_metacmd_ID_move_left_alpha_numeric_or_camel_boundary = 67;
|
||||
static i32 fcoder_metacmd_ID_select_all = 68;
|
||||
static i32 fcoder_metacmd_ID_to_uppercase = 69;
|
||||
static i32 fcoder_metacmd_ID_to_lowercase = 70;
|
||||
static i32 fcoder_metacmd_ID_clean_all_lines = 71;
|
||||
static i32 fcoder_metacmd_ID_basic_change_active_panel = 72;
|
||||
static i32 fcoder_metacmd_ID_close_panel = 73;
|
||||
static i32 fcoder_metacmd_ID_show_scrollbar = 74;
|
||||
static i32 fcoder_metacmd_ID_hide_scrollbar = 75;
|
||||
static i32 fcoder_metacmd_ID_show_filebar = 76;
|
||||
static i32 fcoder_metacmd_ID_hide_filebar = 77;
|
||||
static i32 fcoder_metacmd_ID_toggle_filebar = 78;
|
||||
static i32 fcoder_metacmd_ID_toggle_fps_meter = 79;
|
||||
static i32 fcoder_metacmd_ID_increase_face_size = 80;
|
||||
static i32 fcoder_metacmd_ID_decrease_face_size = 81;
|
||||
static i32 fcoder_metacmd_ID_mouse_wheel_change_face_size = 82;
|
||||
static i32 fcoder_metacmd_ID_toggle_show_whitespace = 83;
|
||||
static i32 fcoder_metacmd_ID_toggle_line_numbers = 84;
|
||||
static i32 fcoder_metacmd_ID_exit_4coder = 85;
|
||||
|
@ -668,7 +668,7 @@ static i32 fcoder_metacmd_ID_miblo_increment_time_stamp_minute = 209;
|
|||
static i32 fcoder_metacmd_ID_miblo_decrement_time_stamp_minute = 210;
|
||||
static i32 fcoder_metacmd_ID_profile_inspect = 211;
|
||||
static i32 fcoder_metacmd_ID_kill_tutorial = 212;
|
||||
static i32 fcoder_metacmd_ID_default_4coder_tutorial = 213;
|
||||
static i32 fcoder_metacmd_ID_hms_demo_tutorial = 213;
|
||||
static i32 fcoder_metacmd_ID_default_startup = 214;
|
||||
static i32 fcoder_metacmd_ID_default_try_exit = 215;
|
||||
#endif
|
||||
|
|
|
@ -32,7 +32,7 @@ setup_default_mapping(Mapping *mapping){
|
|||
Bind(execute_previous_cli, KeyCode_Z, KeyCode_Alt, KeyCode_Shift);
|
||||
Bind(command_lister, KeyCode_X, KeyCode_Alt);
|
||||
Bind(project_command_lister, KeyCode_X, KeyCode_Alt, KeyCode_Shift);
|
||||
Bind(list_all_functions_all_buffers_lister, KeyCode_I, KeyCode_Control, KeyCode_Shift);
|
||||
Bind(list_all_functions_current_buffer, KeyCode_I, KeyCode_Control, KeyCode_Shift);
|
||||
Bind(project_fkey_command, KeyCode_F1);
|
||||
Bind(project_fkey_command, KeyCode_F2);
|
||||
Bind(project_fkey_command, KeyCode_F3);
|
||||
|
|
Loading…
Reference in New Issue