mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-05-30 11:21:15 -03:00
Various changes to reduce fish's compiled code size
OS X release build executable size dropped from 672k to 511k
This commit is contained in:
312
input.cpp
312
input.cpp
@@ -224,14 +224,7 @@ static std::vector<input_mapping_t> mapping_list;
|
||||
/* Terminfo map list */
|
||||
static std::vector<terminfo_mapping_t> terminfo_mappings;
|
||||
|
||||
/** Add a new terminfo mapping */
|
||||
static inline void terminfo_add(const wchar_t *name, const char *seq)
|
||||
{
|
||||
terminfo_mapping_t mapping = {name, seq};
|
||||
terminfo_mappings.push_back(mapping);
|
||||
}
|
||||
#define TERMINFO_ADD(key) do { terminfo_add((L ## #key)+4, key); } while (0)
|
||||
|
||||
#define TERMINFO_ADD(key) { (L ## #key) + 4, key }
|
||||
|
||||
|
||||
/**
|
||||
@@ -614,52 +607,53 @@ bool input_mapping_get( const wcstring &sequence, wcstring &cmd )
|
||||
*/
|
||||
static void input_terminfo_init()
|
||||
{
|
||||
TERMINFO_ADD(key_a1);
|
||||
TERMINFO_ADD(key_a3);
|
||||
TERMINFO_ADD(key_b2);
|
||||
TERMINFO_ADD(key_backspace);
|
||||
TERMINFO_ADD(key_beg);
|
||||
TERMINFO_ADD(key_btab);
|
||||
TERMINFO_ADD(key_c1);
|
||||
TERMINFO_ADD(key_c3);
|
||||
TERMINFO_ADD(key_cancel);
|
||||
TERMINFO_ADD(key_catab);
|
||||
TERMINFO_ADD(key_clear);
|
||||
TERMINFO_ADD(key_close);
|
||||
TERMINFO_ADD(key_command);
|
||||
TERMINFO_ADD(key_copy);
|
||||
TERMINFO_ADD(key_create);
|
||||
TERMINFO_ADD(key_ctab);
|
||||
TERMINFO_ADD(key_dc);
|
||||
TERMINFO_ADD(key_dl);
|
||||
TERMINFO_ADD(key_down);
|
||||
TERMINFO_ADD(key_eic);
|
||||
TERMINFO_ADD(key_end);
|
||||
TERMINFO_ADD(key_enter);
|
||||
TERMINFO_ADD(key_eol);
|
||||
TERMINFO_ADD(key_eos);
|
||||
TERMINFO_ADD(key_exit);
|
||||
TERMINFO_ADD(key_f0);
|
||||
TERMINFO_ADD(key_f1);
|
||||
TERMINFO_ADD(key_f2);
|
||||
TERMINFO_ADD(key_f3);
|
||||
TERMINFO_ADD(key_f4);
|
||||
TERMINFO_ADD(key_f5);
|
||||
TERMINFO_ADD(key_f6);
|
||||
TERMINFO_ADD(key_f7);
|
||||
TERMINFO_ADD(key_f8);
|
||||
TERMINFO_ADD(key_f9);
|
||||
TERMINFO_ADD(key_f10);
|
||||
TERMINFO_ADD(key_f11);
|
||||
TERMINFO_ADD(key_f12);
|
||||
TERMINFO_ADD(key_f13);
|
||||
TERMINFO_ADD(key_f14);
|
||||
TERMINFO_ADD(key_f15);
|
||||
TERMINFO_ADD(key_f16);
|
||||
TERMINFO_ADD(key_f17);
|
||||
TERMINFO_ADD(key_f18);
|
||||
TERMINFO_ADD(key_f19);
|
||||
TERMINFO_ADD(key_f20);
|
||||
const terminfo_mapping_t tinfos[] = {
|
||||
TERMINFO_ADD(key_a1),
|
||||
TERMINFO_ADD(key_a3),
|
||||
TERMINFO_ADD(key_b2),
|
||||
TERMINFO_ADD(key_backspace),
|
||||
TERMINFO_ADD(key_beg),
|
||||
TERMINFO_ADD(key_btab),
|
||||
TERMINFO_ADD(key_c1),
|
||||
TERMINFO_ADD(key_c3),
|
||||
TERMINFO_ADD(key_cancel),
|
||||
TERMINFO_ADD(key_catab),
|
||||
TERMINFO_ADD(key_clear),
|
||||
TERMINFO_ADD(key_close),
|
||||
TERMINFO_ADD(key_command),
|
||||
TERMINFO_ADD(key_copy),
|
||||
TERMINFO_ADD(key_create),
|
||||
TERMINFO_ADD(key_ctab),
|
||||
TERMINFO_ADD(key_dc),
|
||||
TERMINFO_ADD(key_dl),
|
||||
TERMINFO_ADD(key_down),
|
||||
TERMINFO_ADD(key_eic),
|
||||
TERMINFO_ADD(key_end),
|
||||
TERMINFO_ADD(key_enter),
|
||||
TERMINFO_ADD(key_eol),
|
||||
TERMINFO_ADD(key_eos),
|
||||
TERMINFO_ADD(key_exit),
|
||||
TERMINFO_ADD(key_f0),
|
||||
TERMINFO_ADD(key_f1),
|
||||
TERMINFO_ADD(key_f2),
|
||||
TERMINFO_ADD(key_f3),
|
||||
TERMINFO_ADD(key_f4),
|
||||
TERMINFO_ADD(key_f5),
|
||||
TERMINFO_ADD(key_f6),
|
||||
TERMINFO_ADD(key_f7),
|
||||
TERMINFO_ADD(key_f8),
|
||||
TERMINFO_ADD(key_f9),
|
||||
TERMINFO_ADD(key_f10),
|
||||
TERMINFO_ADD(key_f11),
|
||||
TERMINFO_ADD(key_f12),
|
||||
TERMINFO_ADD(key_f13),
|
||||
TERMINFO_ADD(key_f14),
|
||||
TERMINFO_ADD(key_f15),
|
||||
TERMINFO_ADD(key_f16),
|
||||
TERMINFO_ADD(key_f17),
|
||||
TERMINFO_ADD(key_f18),
|
||||
TERMINFO_ADD(key_f19),
|
||||
TERMINFO_ADD(key_f20),
|
||||
/*
|
||||
I know of no keyboard with more than 20 function keys, so
|
||||
adding the rest here makes very little sense, since it will
|
||||
@@ -667,109 +661,113 @@ static void input_terminfo_init()
|
||||
but with no benefit.
|
||||
*/
|
||||
/*
|
||||
TERMINFO_ADD(key_f21);
|
||||
TERMINFO_ADD(key_f22);
|
||||
TERMINFO_ADD(key_f23);
|
||||
TERMINFO_ADD(key_f24);
|
||||
TERMINFO_ADD(key_f25);
|
||||
TERMINFO_ADD(key_f26);
|
||||
TERMINFO_ADD(key_f27);
|
||||
TERMINFO_ADD(key_f28);
|
||||
TERMINFO_ADD(key_f29);
|
||||
TERMINFO_ADD(key_f30);
|
||||
TERMINFO_ADD(key_f31);
|
||||
TERMINFO_ADD(key_f32);
|
||||
TERMINFO_ADD(key_f33);
|
||||
TERMINFO_ADD(key_f34);
|
||||
TERMINFO_ADD(key_f35);
|
||||
TERMINFO_ADD(key_f36);
|
||||
TERMINFO_ADD(key_f37);
|
||||
TERMINFO_ADD(key_f38);
|
||||
TERMINFO_ADD(key_f39);
|
||||
TERMINFO_ADD(key_f40);
|
||||
TERMINFO_ADD(key_f41);
|
||||
TERMINFO_ADD(key_f42);
|
||||
TERMINFO_ADD(key_f43);
|
||||
TERMINFO_ADD(key_f44);
|
||||
TERMINFO_ADD(key_f45);
|
||||
TERMINFO_ADD(key_f46);
|
||||
TERMINFO_ADD(key_f47);
|
||||
TERMINFO_ADD(key_f48);
|
||||
TERMINFO_ADD(key_f49);
|
||||
TERMINFO_ADD(key_f50);
|
||||
TERMINFO_ADD(key_f51);
|
||||
TERMINFO_ADD(key_f52);
|
||||
TERMINFO_ADD(key_f53);
|
||||
TERMINFO_ADD(key_f54);
|
||||
TERMINFO_ADD(key_f55);
|
||||
TERMINFO_ADD(key_f56);
|
||||
TERMINFO_ADD(key_f57);
|
||||
TERMINFO_ADD(key_f58);
|
||||
TERMINFO_ADD(key_f59);
|
||||
TERMINFO_ADD(key_f60);
|
||||
TERMINFO_ADD(key_f61);
|
||||
TERMINFO_ADD(key_f62);
|
||||
TERMINFO_ADD(key_f63);*/
|
||||
TERMINFO_ADD(key_find);
|
||||
TERMINFO_ADD(key_help);
|
||||
TERMINFO_ADD(key_home);
|
||||
TERMINFO_ADD(key_ic);
|
||||
TERMINFO_ADD(key_il);
|
||||
TERMINFO_ADD(key_left);
|
||||
TERMINFO_ADD(key_ll);
|
||||
TERMINFO_ADD(key_mark);
|
||||
TERMINFO_ADD(key_message);
|
||||
TERMINFO_ADD(key_move);
|
||||
TERMINFO_ADD(key_next);
|
||||
TERMINFO_ADD(key_npage);
|
||||
TERMINFO_ADD(key_open);
|
||||
TERMINFO_ADD(key_options);
|
||||
TERMINFO_ADD(key_ppage);
|
||||
TERMINFO_ADD(key_previous);
|
||||
TERMINFO_ADD(key_print);
|
||||
TERMINFO_ADD(key_redo);
|
||||
TERMINFO_ADD(key_reference);
|
||||
TERMINFO_ADD(key_refresh);
|
||||
TERMINFO_ADD(key_replace);
|
||||
TERMINFO_ADD(key_restart);
|
||||
TERMINFO_ADD(key_resume);
|
||||
TERMINFO_ADD(key_right);
|
||||
TERMINFO_ADD(key_save);
|
||||
TERMINFO_ADD(key_sbeg);
|
||||
TERMINFO_ADD(key_scancel);
|
||||
TERMINFO_ADD(key_scommand);
|
||||
TERMINFO_ADD(key_scopy);
|
||||
TERMINFO_ADD(key_screate);
|
||||
TERMINFO_ADD(key_sdc);
|
||||
TERMINFO_ADD(key_sdl);
|
||||
TERMINFO_ADD(key_select);
|
||||
TERMINFO_ADD(key_send);
|
||||
TERMINFO_ADD(key_seol);
|
||||
TERMINFO_ADD(key_sexit);
|
||||
TERMINFO_ADD(key_sf);
|
||||
TERMINFO_ADD(key_sfind);
|
||||
TERMINFO_ADD(key_shelp);
|
||||
TERMINFO_ADD(key_shome);
|
||||
TERMINFO_ADD(key_sic);
|
||||
TERMINFO_ADD(key_sleft);
|
||||
TERMINFO_ADD(key_smessage);
|
||||
TERMINFO_ADD(key_smove);
|
||||
TERMINFO_ADD(key_snext);
|
||||
TERMINFO_ADD(key_soptions);
|
||||
TERMINFO_ADD(key_sprevious);
|
||||
TERMINFO_ADD(key_sprint);
|
||||
TERMINFO_ADD(key_sr);
|
||||
TERMINFO_ADD(key_sredo);
|
||||
TERMINFO_ADD(key_sreplace);
|
||||
TERMINFO_ADD(key_sright);
|
||||
TERMINFO_ADD(key_srsume);
|
||||
TERMINFO_ADD(key_ssave);
|
||||
TERMINFO_ADD(key_ssuspend);
|
||||
TERMINFO_ADD(key_stab);
|
||||
TERMINFO_ADD(key_sundo);
|
||||
TERMINFO_ADD(key_suspend);
|
||||
TERMINFO_ADD(key_undo);
|
||||
TERMINFO_ADD(key_up);
|
||||
TERMINFO_ADD(key_f21),
|
||||
TERMINFO_ADD(key_f22),
|
||||
TERMINFO_ADD(key_f23),
|
||||
TERMINFO_ADD(key_f24),
|
||||
TERMINFO_ADD(key_f25),
|
||||
TERMINFO_ADD(key_f26),
|
||||
TERMINFO_ADD(key_f27),
|
||||
TERMINFO_ADD(key_f28),
|
||||
TERMINFO_ADD(key_f29),
|
||||
TERMINFO_ADD(key_f30),
|
||||
TERMINFO_ADD(key_f31),
|
||||
TERMINFO_ADD(key_f32),
|
||||
TERMINFO_ADD(key_f33),
|
||||
TERMINFO_ADD(key_f34),
|
||||
TERMINFO_ADD(key_f35),
|
||||
TERMINFO_ADD(key_f36),
|
||||
TERMINFO_ADD(key_f37),
|
||||
TERMINFO_ADD(key_f38),
|
||||
TERMINFO_ADD(key_f39),
|
||||
TERMINFO_ADD(key_f40),
|
||||
TERMINFO_ADD(key_f41),
|
||||
TERMINFO_ADD(key_f42),
|
||||
TERMINFO_ADD(key_f43),
|
||||
TERMINFO_ADD(key_f44),
|
||||
TERMINFO_ADD(key_f45),
|
||||
TERMINFO_ADD(key_f46),
|
||||
TERMINFO_ADD(key_f47),
|
||||
TERMINFO_ADD(key_f48),
|
||||
TERMINFO_ADD(key_f49),
|
||||
TERMINFO_ADD(key_f50),
|
||||
TERMINFO_ADD(key_f51),
|
||||
TERMINFO_ADD(key_f52),
|
||||
TERMINFO_ADD(key_f53),
|
||||
TERMINFO_ADD(key_f54),
|
||||
TERMINFO_ADD(key_f55),
|
||||
TERMINFO_ADD(key_f56),
|
||||
TERMINFO_ADD(key_f57),
|
||||
TERMINFO_ADD(key_f58),
|
||||
TERMINFO_ADD(key_f59),
|
||||
TERMINFO_ADD(key_f60),
|
||||
TERMINFO_ADD(key_f61),
|
||||
TERMINFO_ADD(key_f62),
|
||||
TERMINFO_ADD(key_f63),*/
|
||||
TERMINFO_ADD(key_find),
|
||||
TERMINFO_ADD(key_help),
|
||||
TERMINFO_ADD(key_home),
|
||||
TERMINFO_ADD(key_ic),
|
||||
TERMINFO_ADD(key_il),
|
||||
TERMINFO_ADD(key_left),
|
||||
TERMINFO_ADD(key_ll),
|
||||
TERMINFO_ADD(key_mark),
|
||||
TERMINFO_ADD(key_message),
|
||||
TERMINFO_ADD(key_move),
|
||||
TERMINFO_ADD(key_next),
|
||||
TERMINFO_ADD(key_npage),
|
||||
TERMINFO_ADD(key_open),
|
||||
TERMINFO_ADD(key_options),
|
||||
TERMINFO_ADD(key_ppage),
|
||||
TERMINFO_ADD(key_previous),
|
||||
TERMINFO_ADD(key_print),
|
||||
TERMINFO_ADD(key_redo),
|
||||
TERMINFO_ADD(key_reference),
|
||||
TERMINFO_ADD(key_refresh),
|
||||
TERMINFO_ADD(key_replace),
|
||||
TERMINFO_ADD(key_restart),
|
||||
TERMINFO_ADD(key_resume),
|
||||
TERMINFO_ADD(key_right),
|
||||
TERMINFO_ADD(key_save),
|
||||
TERMINFO_ADD(key_sbeg),
|
||||
TERMINFO_ADD(key_scancel),
|
||||
TERMINFO_ADD(key_scommand),
|
||||
TERMINFO_ADD(key_scopy),
|
||||
TERMINFO_ADD(key_screate),
|
||||
TERMINFO_ADD(key_sdc),
|
||||
TERMINFO_ADD(key_sdl),
|
||||
TERMINFO_ADD(key_select),
|
||||
TERMINFO_ADD(key_send),
|
||||
TERMINFO_ADD(key_seol),
|
||||
TERMINFO_ADD(key_sexit),
|
||||
TERMINFO_ADD(key_sf),
|
||||
TERMINFO_ADD(key_sfind),
|
||||
TERMINFO_ADD(key_shelp),
|
||||
TERMINFO_ADD(key_shome),
|
||||
TERMINFO_ADD(key_sic),
|
||||
TERMINFO_ADD(key_sleft),
|
||||
TERMINFO_ADD(key_smessage),
|
||||
TERMINFO_ADD(key_smove),
|
||||
TERMINFO_ADD(key_snext),
|
||||
TERMINFO_ADD(key_soptions),
|
||||
TERMINFO_ADD(key_sprevious),
|
||||
TERMINFO_ADD(key_sprint),
|
||||
TERMINFO_ADD(key_sr),
|
||||
TERMINFO_ADD(key_sredo),
|
||||
TERMINFO_ADD(key_sreplace),
|
||||
TERMINFO_ADD(key_sright),
|
||||
TERMINFO_ADD(key_srsume),
|
||||
TERMINFO_ADD(key_ssave),
|
||||
TERMINFO_ADD(key_ssuspend),
|
||||
TERMINFO_ADD(key_stab),
|
||||
TERMINFO_ADD(key_sundo),
|
||||
TERMINFO_ADD(key_suspend),
|
||||
TERMINFO_ADD(key_undo),
|
||||
TERMINFO_ADD(key_up)
|
||||
};
|
||||
const size_t count = sizeof tinfos / sizeof *tinfos;
|
||||
terminfo_mappings.reserve(terminfo_mappings.size() + count);
|
||||
terminfo_mappings.insert(terminfo_mappings.end(), tinfos, tinfos + count);
|
||||
}
|
||||
|
||||
const wchar_t *input_terminfo_get_sequence( const wchar_t *name )
|
||||
|
||||
Reference in New Issue
Block a user