New keycodes; linux one time code execution; close file handle in save function
This commit is contained in:
parent
bc2b834f3b
commit
7933ec6bc9
|
@ -123,9 +123,20 @@ make_key_list(Arena *arena){
|
||||||
add_code(arena, &list, string_u8_litexpr("Control"));
|
add_code(arena, &list, string_u8_litexpr("Control"));
|
||||||
add_code(arena, &list, string_u8_litexpr("Alt"));
|
add_code(arena, &list, string_u8_litexpr("Alt"));
|
||||||
add_code(arena, &list, string_u8_litexpr("Command"));
|
add_code(arena, &list, string_u8_litexpr("Command"));
|
||||||
for (u32 i = 1; i <= 16; i += 1){
|
for (u32 i = 1; i <= 24; i += 1){
|
||||||
add_code(arena, &list, push_u8_stringf(arena, "F%d", i));
|
add_code(arena, &list, push_u8_stringf(arena, "F%d", i));
|
||||||
}
|
}
|
||||||
|
for (u32 i = '0'; i <= '9'; i += 1){
|
||||||
|
add_code(arena, &list, push_u8_stringf(arena, "NumPad%c", i));
|
||||||
|
}
|
||||||
|
add_code(arena, &list, string_u8_litexpr("NumPadStar"));
|
||||||
|
add_code(arena, &list, string_u8_litexpr("NumPadPlus"));
|
||||||
|
add_code(arena, &list, string_u8_litexpr("NumPadMinus"));
|
||||||
|
add_code(arena, &list, string_u8_litexpr("NumPadDot"));
|
||||||
|
add_code(arena, &list, string_u8_litexpr("NumPadSlash"));
|
||||||
|
for (i32 i = 0; i < 30; i += 1){
|
||||||
|
add_code(arena, &list, push_u8_stringf(arena, "Ex%d", i));
|
||||||
|
}
|
||||||
return(list);
|
return(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# If any command errors, stop the script
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Set up directories
|
||||||
|
ORIGINAL=$PWD
|
||||||
|
ME="$(readlink -f "$0")"
|
||||||
|
LOCATION="$(dirname "$ME")"
|
||||||
|
cd $LOCATION
|
||||||
|
cd ..
|
||||||
|
CUSTOM_ROOT=$PWD
|
||||||
|
cd $ORIGINAL
|
||||||
|
|
||||||
|
target=$1
|
||||||
|
if [ -z "$target" ]
|
||||||
|
then
|
||||||
|
echo error: no input file
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
full_target=$target
|
||||||
|
if [[ ${target:0:1} != "/" ]];
|
||||||
|
then
|
||||||
|
full_target="$PWD/$target"
|
||||||
|
fi
|
||||||
|
|
||||||
|
dst=$2
|
||||||
|
if [[ $dst == "" ]];
|
||||||
|
then
|
||||||
|
dst=.
|
||||||
|
fi
|
||||||
|
|
||||||
|
debug=-g
|
||||||
|
|
||||||
|
opts="-Wno-write-strings -Wno-null-dereference -Wno-comment -Wno-switch -Wno-missing-declarations -Wno-logical-op-parentheses -g -DOS_LINUX=1 -DOS_WINDOWS=0 -DOS_MAC=0"
|
||||||
|
|
||||||
|
pushd $dst
|
||||||
|
g++ -I"$CUSTOM_ROOT" $opts $full_target -o one_time
|
||||||
|
popd
|
||||||
|
|
||||||
|
|
|
@ -15,9 +15,11 @@ if [ -z "$SOURCE" ]; then
|
||||||
fi
|
fi
|
||||||
echo SOURCE = $SOURCE
|
echo SOURCE = $SOURCE
|
||||||
|
|
||||||
opts="-Wno-write-strings -Wno-null-dereference -Wno-comment -Wno-switch -Wno-missing-declarations -Wno-logical-op-parentheses -g -DOS_LINUX=1 -DOS_WINDOWS=0 -DOS_MAC=1"
|
opts="-Wno-write-strings -Wno-null-dereference -Wno-comment -Wno-switch -Wno-missing-declarations -Wno-logical-op-parentheses -g -DOS_LINUX=1 -DOS_WINDOWS=0 -DOS_MAC=0"
|
||||||
arch=-m64
|
arch=-m64
|
||||||
|
|
||||||
|
debug=-g
|
||||||
|
|
||||||
preproc_file=4coder_command_metadata.i
|
preproc_file=4coder_command_metadata.i
|
||||||
meta_macros="-DMETA_PASS"
|
meta_macros="-DMETA_PASS"
|
||||||
g++ -I"$CODE_HOME" $meta_macros $arch $opts $debug -std=c++11 "$SOURCE" -E -o $preproc_file
|
g++ -I"$CODE_HOME" $meta_macros $arch $opts $debug -std=c++11 "$SOURCE" -E -o $preproc_file
|
||||||
|
|
|
@ -18,6 +18,8 @@ fi
|
||||||
opts="-Wno-write-strings -Wno-null-dereference -Wno-comment -Wno-switch -Wno-missing-declarations -Wno-logical-op-parentheses -g -DOS_MAC=1 -DOS_WINDOWS=0 -DOS_LINUX=0"
|
opts="-Wno-write-strings -Wno-null-dereference -Wno-comment -Wno-switch -Wno-missing-declarations -Wno-logical-op-parentheses -g -DOS_MAC=1 -DOS_WINDOWS=0 -DOS_LINUX=0"
|
||||||
arch=-m64
|
arch=-m64
|
||||||
|
|
||||||
|
debug=-g
|
||||||
|
|
||||||
preproc_file=4coder_command_metadata.i
|
preproc_file=4coder_command_metadata.i
|
||||||
meta_macros="-DMETA_PASS"
|
meta_macros="-DMETA_PASS"
|
||||||
clang++ -I"$CODE_HOME" $meta_macros $arch $opts $debug -std=c++11 "$SOURCE" -E -o $preproc_file
|
clang++ -I"$CODE_HOME" $meta_macros $arch $opts $debug -std=c++11 "$SOURCE" -E -o $preproc_file
|
||||||
|
|
|
@ -14,9 +14,11 @@ if [ -z "$SOURCE" ]; then
|
||||||
SOURCE="$(readlink -f "$CODE_HOME/4coder_default_bindings.cpp")"
|
SOURCE="$(readlink -f "$CODE_HOME/4coder_default_bindings.cpp")"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
opts="-Wno-write-strings -Wno-null-dereference -Wno-comment -Wno-switch -Wno-missing-declarations -Wno-logical-op-parentheses -g -DOS_LINUX=1 -DOS_WINDOWS=0 -DOS_MAC=1"
|
opts="-Wno-write-strings -Wno-null-dereference -Wno-comment -Wno-switch -Wno-missing-declarations -Wno-logical-op-parentheses -g -DOS_LINUX=1 -DOS_WINDOWS=0 -DOS_MAC=0"
|
||||||
arch=-m32
|
arch=-m32
|
||||||
|
|
||||||
|
debug=-g
|
||||||
|
|
||||||
preproc_file=4coder_command_metadata.i
|
preproc_file=4coder_command_metadata.i
|
||||||
meta_macros="-DMETA_PASS"
|
meta_macros="-DMETA_PASS"
|
||||||
g++ -I"$CODE_HOME" $meta_macros $arch $opts $debug -std=c++11 "$SOURCE" -E -o $preproc_file
|
g++ -I"$CODE_HOME" $meta_macros $arch $opts $debug -std=c++11 "$SOURCE" -E -o $preproc_file
|
||||||
|
|
|
@ -1,212 +1,318 @@
|
||||||
enum{
|
enum{
|
||||||
KeyCode_A = 1,
|
KeyCode_A = 1,
|
||||||
KeyCode_B = 2,
|
KeyCode_B = 2,
|
||||||
KeyCode_C = 3,
|
KeyCode_C = 3,
|
||||||
KeyCode_D = 4,
|
KeyCode_D = 4,
|
||||||
KeyCode_E = 5,
|
KeyCode_E = 5,
|
||||||
KeyCode_F = 6,
|
KeyCode_F = 6,
|
||||||
KeyCode_G = 7,
|
KeyCode_G = 7,
|
||||||
KeyCode_H = 8,
|
KeyCode_H = 8,
|
||||||
KeyCode_I = 9,
|
KeyCode_I = 9,
|
||||||
KeyCode_J = 10,
|
KeyCode_J = 10,
|
||||||
KeyCode_K = 11,
|
KeyCode_K = 11,
|
||||||
KeyCode_L = 12,
|
KeyCode_L = 12,
|
||||||
KeyCode_M = 13,
|
KeyCode_M = 13,
|
||||||
KeyCode_N = 14,
|
KeyCode_N = 14,
|
||||||
KeyCode_O = 15,
|
KeyCode_O = 15,
|
||||||
KeyCode_P = 16,
|
KeyCode_P = 16,
|
||||||
KeyCode_Q = 17,
|
KeyCode_Q = 17,
|
||||||
KeyCode_R = 18,
|
KeyCode_R = 18,
|
||||||
KeyCode_S = 19,
|
KeyCode_S = 19,
|
||||||
KeyCode_T = 20,
|
KeyCode_T = 20,
|
||||||
KeyCode_U = 21,
|
KeyCode_U = 21,
|
||||||
KeyCode_V = 22,
|
KeyCode_V = 22,
|
||||||
KeyCode_W = 23,
|
KeyCode_W = 23,
|
||||||
KeyCode_X = 24,
|
KeyCode_X = 24,
|
||||||
KeyCode_Y = 25,
|
KeyCode_Y = 25,
|
||||||
KeyCode_Z = 26,
|
KeyCode_Z = 26,
|
||||||
KeyCode_0 = 27,
|
KeyCode_0 = 27,
|
||||||
KeyCode_1 = 28,
|
KeyCode_1 = 28,
|
||||||
KeyCode_2 = 29,
|
KeyCode_2 = 29,
|
||||||
KeyCode_3 = 30,
|
KeyCode_3 = 30,
|
||||||
KeyCode_4 = 31,
|
KeyCode_4 = 31,
|
||||||
KeyCode_5 = 32,
|
KeyCode_5 = 32,
|
||||||
KeyCode_6 = 33,
|
KeyCode_6 = 33,
|
||||||
KeyCode_7 = 34,
|
KeyCode_7 = 34,
|
||||||
KeyCode_8 = 35,
|
KeyCode_8 = 35,
|
||||||
KeyCode_9 = 36,
|
KeyCode_9 = 36,
|
||||||
KeyCode_Space = 37,
|
KeyCode_Space = 37,
|
||||||
KeyCode_Tick = 38,
|
KeyCode_Tick = 38,
|
||||||
KeyCode_Minus = 39,
|
KeyCode_Minus = 39,
|
||||||
KeyCode_Equal = 40,
|
KeyCode_Equal = 40,
|
||||||
KeyCode_LeftBracket = 41,
|
KeyCode_LeftBracket = 41,
|
||||||
KeyCode_RightBracket = 42,
|
KeyCode_RightBracket = 42,
|
||||||
KeyCode_Semicolon = 43,
|
KeyCode_Semicolon = 43,
|
||||||
KeyCode_Quote = 44,
|
KeyCode_Quote = 44,
|
||||||
KeyCode_Comma = 45,
|
KeyCode_Comma = 45,
|
||||||
KeyCode_Period = 46,
|
KeyCode_Period = 46,
|
||||||
KeyCode_ForwardSlash = 47,
|
KeyCode_ForwardSlash = 47,
|
||||||
KeyCode_BackwardSlash = 48,
|
KeyCode_BackwardSlash = 48,
|
||||||
KeyCode_Tab = 49,
|
KeyCode_Tab = 49,
|
||||||
KeyCode_Escape = 50,
|
KeyCode_Escape = 50,
|
||||||
KeyCode_Pause = 51,
|
KeyCode_Pause = 51,
|
||||||
KeyCode_Up = 52,
|
KeyCode_Up = 52,
|
||||||
KeyCode_Down = 53,
|
KeyCode_Down = 53,
|
||||||
KeyCode_Left = 54,
|
KeyCode_Left = 54,
|
||||||
KeyCode_Right = 55,
|
KeyCode_Right = 55,
|
||||||
KeyCode_Backspace = 56,
|
KeyCode_Backspace = 56,
|
||||||
KeyCode_Return = 57,
|
KeyCode_Return = 57,
|
||||||
KeyCode_Delete = 58,
|
KeyCode_Delete = 58,
|
||||||
KeyCode_Insert = 59,
|
KeyCode_Insert = 59,
|
||||||
KeyCode_Home = 60,
|
KeyCode_Home = 60,
|
||||||
KeyCode_End = 61,
|
KeyCode_End = 61,
|
||||||
KeyCode_PageUp = 62,
|
KeyCode_PageUp = 62,
|
||||||
KeyCode_PageDown = 63,
|
KeyCode_PageDown = 63,
|
||||||
KeyCode_CapsLock = 64,
|
KeyCode_CapsLock = 64,
|
||||||
KeyCode_NumLock = 65,
|
KeyCode_NumLock = 65,
|
||||||
KeyCode_ScrollLock = 66,
|
KeyCode_ScrollLock = 66,
|
||||||
KeyCode_Menu = 67,
|
KeyCode_Menu = 67,
|
||||||
KeyCode_Shift = 68,
|
KeyCode_Shift = 68,
|
||||||
KeyCode_Control = 69,
|
KeyCode_Control = 69,
|
||||||
KeyCode_Alt = 70,
|
KeyCode_Alt = 70,
|
||||||
KeyCode_Command = 71,
|
KeyCode_Command = 71,
|
||||||
KeyCode_F1 = 72,
|
KeyCode_F1 = 72,
|
||||||
KeyCode_F2 = 73,
|
KeyCode_F2 = 73,
|
||||||
KeyCode_F3 = 74,
|
KeyCode_F3 = 74,
|
||||||
KeyCode_F4 = 75,
|
KeyCode_F4 = 75,
|
||||||
KeyCode_F5 = 76,
|
KeyCode_F5 = 76,
|
||||||
KeyCode_F6 = 77,
|
KeyCode_F6 = 77,
|
||||||
KeyCode_F7 = 78,
|
KeyCode_F7 = 78,
|
||||||
KeyCode_F8 = 79,
|
KeyCode_F8 = 79,
|
||||||
KeyCode_F9 = 80,
|
KeyCode_F9 = 80,
|
||||||
KeyCode_F10 = 81,
|
KeyCode_F10 = 81,
|
||||||
KeyCode_F11 = 82,
|
KeyCode_F11 = 82,
|
||||||
KeyCode_F12 = 83,
|
KeyCode_F12 = 83,
|
||||||
KeyCode_F13 = 84,
|
KeyCode_F13 = 84,
|
||||||
KeyCode_F14 = 85,
|
KeyCode_F14 = 85,
|
||||||
KeyCode_F15 = 86,
|
KeyCode_F15 = 86,
|
||||||
KeyCode_F16 = 87,
|
KeyCode_F16 = 87,
|
||||||
KeyCode_COUNT = 88,
|
KeyCode_F17 = 88,
|
||||||
|
KeyCode_F18 = 89,
|
||||||
|
KeyCode_F19 = 90,
|
||||||
|
KeyCode_F20 = 91,
|
||||||
|
KeyCode_F21 = 92,
|
||||||
|
KeyCode_F22 = 93,
|
||||||
|
KeyCode_F23 = 94,
|
||||||
|
KeyCode_F24 = 95,
|
||||||
|
KeyCode_NumPad0 = 96,
|
||||||
|
KeyCode_NumPad1 = 97,
|
||||||
|
KeyCode_NumPad2 = 98,
|
||||||
|
KeyCode_NumPad3 = 99,
|
||||||
|
KeyCode_NumPad4 = 100,
|
||||||
|
KeyCode_NumPad5 = 101,
|
||||||
|
KeyCode_NumPad6 = 102,
|
||||||
|
KeyCode_NumPad7 = 103,
|
||||||
|
KeyCode_NumPad8 = 104,
|
||||||
|
KeyCode_NumPad9 = 105,
|
||||||
|
KeyCode_NumPadStar = 106,
|
||||||
|
KeyCode_NumPadPlus = 107,
|
||||||
|
KeyCode_NumPadMinus = 108,
|
||||||
|
KeyCode_NumPadDot = 109,
|
||||||
|
KeyCode_NumPadSlash = 110,
|
||||||
|
KeyCode_Ex0 = 111,
|
||||||
|
KeyCode_Ex1 = 112,
|
||||||
|
KeyCode_Ex2 = 113,
|
||||||
|
KeyCode_Ex3 = 114,
|
||||||
|
KeyCode_Ex4 = 115,
|
||||||
|
KeyCode_Ex5 = 116,
|
||||||
|
KeyCode_Ex6 = 117,
|
||||||
|
KeyCode_Ex7 = 118,
|
||||||
|
KeyCode_Ex8 = 119,
|
||||||
|
KeyCode_Ex9 = 120,
|
||||||
|
KeyCode_Ex10 = 121,
|
||||||
|
KeyCode_Ex11 = 122,
|
||||||
|
KeyCode_Ex12 = 123,
|
||||||
|
KeyCode_Ex13 = 124,
|
||||||
|
KeyCode_Ex14 = 125,
|
||||||
|
KeyCode_Ex15 = 126,
|
||||||
|
KeyCode_Ex16 = 127,
|
||||||
|
KeyCode_Ex17 = 128,
|
||||||
|
KeyCode_Ex18 = 129,
|
||||||
|
KeyCode_Ex19 = 130,
|
||||||
|
KeyCode_Ex20 = 131,
|
||||||
|
KeyCode_Ex21 = 132,
|
||||||
|
KeyCode_Ex22 = 133,
|
||||||
|
KeyCode_Ex23 = 134,
|
||||||
|
KeyCode_Ex24 = 135,
|
||||||
|
KeyCode_Ex25 = 136,
|
||||||
|
KeyCode_Ex26 = 137,
|
||||||
|
KeyCode_Ex27 = 138,
|
||||||
|
KeyCode_Ex28 = 139,
|
||||||
|
KeyCode_Ex29 = 140,
|
||||||
|
KeyCode_COUNT = 141,
|
||||||
};
|
};
|
||||||
global char* key_code_name[KeyCode_COUNT] = {
|
global char* key_code_name[KeyCode_COUNT] = {
|
||||||
"None",
|
"None",
|
||||||
"A",
|
"A",
|
||||||
"B",
|
"B",
|
||||||
"C",
|
"C",
|
||||||
"D",
|
"D",
|
||||||
"E",
|
"E",
|
||||||
"F",
|
"F",
|
||||||
"G",
|
"G",
|
||||||
"H",
|
"H",
|
||||||
"I",
|
"I",
|
||||||
"J",
|
"J",
|
||||||
"K",
|
"K",
|
||||||
"L",
|
"L",
|
||||||
"M",
|
"M",
|
||||||
"N",
|
"N",
|
||||||
"O",
|
"O",
|
||||||
"P",
|
"P",
|
||||||
"Q",
|
"Q",
|
||||||
"R",
|
"R",
|
||||||
"S",
|
"S",
|
||||||
"T",
|
"T",
|
||||||
"U",
|
"U",
|
||||||
"V",
|
"V",
|
||||||
"W",
|
"W",
|
||||||
"X",
|
"X",
|
||||||
"Y",
|
"Y",
|
||||||
"Z",
|
"Z",
|
||||||
"0",
|
"0",
|
||||||
"1",
|
"1",
|
||||||
"2",
|
"2",
|
||||||
"3",
|
"3",
|
||||||
"4",
|
"4",
|
||||||
"5",
|
"5",
|
||||||
"6",
|
"6",
|
||||||
"7",
|
"7",
|
||||||
"8",
|
"8",
|
||||||
"9",
|
"9",
|
||||||
"Space",
|
"Space",
|
||||||
"Tick",
|
"Tick",
|
||||||
"Minus",
|
"Minus",
|
||||||
"Equal",
|
"Equal",
|
||||||
"LeftBracket",
|
"LeftBracket",
|
||||||
"RightBracket",
|
"RightBracket",
|
||||||
"Semicolon",
|
"Semicolon",
|
||||||
"Quote",
|
"Quote",
|
||||||
"Comma",
|
"Comma",
|
||||||
"Period",
|
"Period",
|
||||||
"ForwardSlash",
|
"ForwardSlash",
|
||||||
"BackwardSlash",
|
"BackwardSlash",
|
||||||
"Tab",
|
"Tab",
|
||||||
"Escape",
|
"Escape",
|
||||||
"Pause",
|
"Pause",
|
||||||
"Up",
|
"Up",
|
||||||
"Down",
|
"Down",
|
||||||
"Left",
|
"Left",
|
||||||
"Right",
|
"Right",
|
||||||
"Backspace",
|
"Backspace",
|
||||||
"Return",
|
"Return",
|
||||||
"Delete",
|
"Delete",
|
||||||
"Insert",
|
"Insert",
|
||||||
"Home",
|
"Home",
|
||||||
"End",
|
"End",
|
||||||
"PageUp",
|
"PageUp",
|
||||||
"PageDown",
|
"PageDown",
|
||||||
"CapsLock",
|
"CapsLock",
|
||||||
"NumLock",
|
"NumLock",
|
||||||
"ScrollLock",
|
"ScrollLock",
|
||||||
"Menu",
|
"Menu",
|
||||||
"Shift",
|
"Shift",
|
||||||
"Control",
|
"Control",
|
||||||
"Alt",
|
"Alt",
|
||||||
"Command",
|
"Command",
|
||||||
"F1",
|
"F1",
|
||||||
"F2",
|
"F2",
|
||||||
"F3",
|
"F3",
|
||||||
"F4",
|
"F4",
|
||||||
"F5",
|
"F5",
|
||||||
"F6",
|
"F6",
|
||||||
"F7",
|
"F7",
|
||||||
"F8",
|
"F8",
|
||||||
"F9",
|
"F9",
|
||||||
"F10",
|
"F10",
|
||||||
"F11",
|
"F11",
|
||||||
"F12",
|
"F12",
|
||||||
"F13",
|
"F13",
|
||||||
"F14",
|
"F14",
|
||||||
"F15",
|
"F15",
|
||||||
"F16",
|
"F16",
|
||||||
|
"F17",
|
||||||
|
"F18",
|
||||||
|
"F19",
|
||||||
|
"F20",
|
||||||
|
"F21",
|
||||||
|
"F22",
|
||||||
|
"F23",
|
||||||
|
"F24",
|
||||||
|
"NumPad0",
|
||||||
|
"NumPad1",
|
||||||
|
"NumPad2",
|
||||||
|
"NumPad3",
|
||||||
|
"NumPad4",
|
||||||
|
"NumPad5",
|
||||||
|
"NumPad6",
|
||||||
|
"NumPad7",
|
||||||
|
"NumPad8",
|
||||||
|
"NumPad9",
|
||||||
|
"NumPadStar",
|
||||||
|
"NumPadPlus",
|
||||||
|
"NumPadMinus",
|
||||||
|
"NumPadDot",
|
||||||
|
"NumPadSlash",
|
||||||
|
"Ex0",
|
||||||
|
"Ex1",
|
||||||
|
"Ex2",
|
||||||
|
"Ex3",
|
||||||
|
"Ex4",
|
||||||
|
"Ex5",
|
||||||
|
"Ex6",
|
||||||
|
"Ex7",
|
||||||
|
"Ex8",
|
||||||
|
"Ex9",
|
||||||
|
"Ex10",
|
||||||
|
"Ex11",
|
||||||
|
"Ex12",
|
||||||
|
"Ex13",
|
||||||
|
"Ex14",
|
||||||
|
"Ex15",
|
||||||
|
"Ex16",
|
||||||
|
"Ex17",
|
||||||
|
"Ex18",
|
||||||
|
"Ex19",
|
||||||
|
"Ex20",
|
||||||
|
"Ex21",
|
||||||
|
"Ex22",
|
||||||
|
"Ex23",
|
||||||
|
"Ex24",
|
||||||
|
"Ex25",
|
||||||
|
"Ex26",
|
||||||
|
"Ex27",
|
||||||
|
"Ex28",
|
||||||
|
"Ex29",
|
||||||
};
|
};
|
||||||
enum{
|
enum{
|
||||||
MouseCode_Left = 1,
|
MouseCode_Left = 1,
|
||||||
MouseCode_Middle = 2,
|
MouseCode_Middle = 2,
|
||||||
MouseCode_Right = 3,
|
MouseCode_Right = 3,
|
||||||
MouseCode_COUNT = 4,
|
MouseCode_COUNT = 4,
|
||||||
};
|
};
|
||||||
global char* mouse_code_name[MouseCode_COUNT] = {
|
global char* mouse_code_name[MouseCode_COUNT] = {
|
||||||
"None",
|
"None",
|
||||||
"Left",
|
"Left",
|
||||||
"Middle",
|
"Middle",
|
||||||
"Right",
|
"Right",
|
||||||
};
|
};
|
||||||
enum{
|
enum{
|
||||||
CoreCode_Startup = 1,
|
CoreCode_Startup = 1,
|
||||||
CoreCode_Animate = 2,
|
CoreCode_Animate = 2,
|
||||||
CoreCode_ClickActivateView = 3,
|
CoreCode_ClickActivateView = 3,
|
||||||
CoreCode_ClickDeactivateView = 4,
|
CoreCode_ClickDeactivateView = 4,
|
||||||
CoreCode_TryExit = 5,
|
CoreCode_TryExit = 5,
|
||||||
CoreCode_FileExternallyModified = 6,
|
CoreCode_FileExternallyModified = 6,
|
||||||
CoreCode_NewClipboardContents = 7,
|
CoreCode_NewClipboardContents = 7,
|
||||||
CoreCode_COUNT = 8,
|
CoreCode_COUNT = 8,
|
||||||
};
|
};
|
||||||
global char* core_code_name[CoreCode_COUNT] = {
|
global char* core_code_name[CoreCode_COUNT] = {
|
||||||
"None",
|
"None",
|
||||||
"Startup",
|
"Startup",
|
||||||
"Animate",
|
"Animate",
|
||||||
"ClickActivateView",
|
"ClickActivateView",
|
||||||
"ClickDeactivateView",
|
"ClickDeactivateView",
|
||||||
"TryExit",
|
"TryExit",
|
||||||
"FileExternallyModified",
|
"FileExternallyModified",
|
||||||
"NewClipboardContents",
|
"NewClipboardContents",
|
||||||
};
|
};
|
||||||
|
|
|
@ -1080,7 +1080,7 @@ linux_keycode_init(Display* dpy){
|
||||||
|
|
||||||
// Find the rest by their key label
|
// Find the rest by their key label
|
||||||
struct SymCode { KeySym sym; Key_Code code; };
|
struct SymCode { KeySym sym; Key_Code code; };
|
||||||
SymCode sym_table[100];
|
SymCode sym_table[108];
|
||||||
SymCode* p = sym_table;
|
SymCode* p = sym_table;
|
||||||
|
|
||||||
*p++ = { XK_space, KeyCode_Space };
|
*p++ = { XK_space, KeyCode_Space };
|
||||||
|
@ -1112,7 +1112,7 @@ linux_keycode_init(Display* dpy){
|
||||||
*p++ = { XK_Super_L, KeyCode_Command };
|
*p++ = { XK_Super_L, KeyCode_Command };
|
||||||
*p++ = { XK_Super_R, KeyCode_Command };
|
*p++ = { XK_Super_R, KeyCode_Command };
|
||||||
|
|
||||||
for(Key_Code k = KeyCode_F1; k <= KeyCode_F16; ++k) {
|
for (Key_Code k = KeyCode_F1; k <= KeyCode_F24; ++k){
|
||||||
*p++ = { XK_F1 + (k - KeyCode_F1), k };
|
*p++ = { XK_F1 + (k - KeyCode_F1), k };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -233,6 +233,7 @@ system_save_file(Arena* scratch, char* file_name, String_Const_u8 data){
|
||||||
result = linux_file_attributes_from_struct_stat(&file_stat);
|
result = linux_file_attributes_from_struct_stat(&file_stat);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
close(fd);
|
||||||
} else {
|
} else {
|
||||||
perror("open");
|
perror("open");
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,8 +53,8 @@ command_list = {
|
||||||
{ .name = "run one time",
|
{ .name = "run one time",
|
||||||
.out = "*run*", .footer_panel = false, .save_dirty_files = false,
|
.out = "*run*", .footer_panel = false, .save_dirty_files = false,
|
||||||
.cmd = { { "pushd ..\\build & one_time", .os = "win" },
|
.cmd = { { "pushd ..\\build & one_time", .os = "win" },
|
||||||
{ "pushd ../build & one_time", .os = "linux" },
|
{ "cd ../build && ./one_time" , .os = "linux" },
|
||||||
{ "pushd ../build & one_time", .os = "mac" }, }, },
|
{ "pushd ../build && ./one_time" , .os = "mac" }, }, },
|
||||||
|
|
||||||
{ .name = "build custom api docs",
|
{ .name = "build custom api docs",
|
||||||
.out = "*compilation*", .footer_panel = true, .save_dirty_files = true,
|
.out = "*compilation*", .footer_panel = true, .save_dirty_files = true,
|
||||||
|
@ -92,7 +92,8 @@ command_list = {
|
||||||
|
|
||||||
{ .name = "build keycode generator",
|
{ .name = "build keycode generator",
|
||||||
.out = "*compilation*", .footer_panel = true, .save_dirty_files = true,
|
.out = "*compilation*", .footer_panel = true, .save_dirty_files = true,
|
||||||
.cmd = { { "custom\\bin\\build_one_time 4ed_generate_keycodes.cpp ..\\build", .os = "win" }, }, },
|
.cmd = { { "custom\\bin\\build_one_time 4ed_generate_keycodes.cpp ..\\build", .os = "win" },
|
||||||
|
{ "custom/bin/build_one_time.sh 4ed_generate_keycodes.cpp ../build", .os = "linux" }, }, },
|
||||||
|
|
||||||
{ .name = "build site render",
|
{ .name = "build site render",
|
||||||
.out = "*compilation*", .footer_panel = true, .save_dirty_files = true,
|
.out = "*compilation*", .footer_panel = true, .save_dirty_files = true,
|
||||||
|
|
|
@ -7,6 +7,8 @@
|
||||||
+ in config.4coder the variable virtual_whitespace_regular_indent determines the number of space-widths to use as the regular indentation in a virtual whitespace layout
|
+ in config.4coder the variable virtual_whitespace_regular_indent determines the number of space-widths to use as the regular indentation in a virtual whitespace layout
|
||||||
+ show whitespace mode implemented in 'default_render_buffer'
|
+ show whitespace mode implemented in 'default_render_buffer'
|
||||||
+ `set_face_size` and `set_face_size_this_buffer` commands
|
+ `set_face_size` and `set_face_size_this_buffer` commands
|
||||||
|
+ `HookID_WholeScreenRenderCaller` hook runs once per frame after all views render
|
||||||
|
+ Extended key codes list
|
||||||
+ Fix: tabs are measured with the correct amount of width for the user's settings
|
+ Fix: tabs are measured with the correct amount of width for the user's settings
|
||||||
+ Fix: virtual whitespace toggling works when the config initially diabled virtual whitespace
|
+ Fix: virtual whitespace toggling works when the config initially diabled virtual whitespace
|
||||||
+ Fix: never miss the most recent post to the clipboard on windows
|
+ Fix: never miss the most recent post to the clipboard on windows
|
||||||
|
|
Loading…
Reference in New Issue