Introduction
Introduction Statistics Contact Development Disclaimer Help
tAdd key mappings for other languages - ledit - Text editor (WIP)
git clone git://lumidify.org/ledit.git (fast, but not encrypted)
git clone https://lumidify.org/git/ledit.git (encrypted, but very slow)
Log
Files
Refs
README
LICENSE
---
commit 89c0c124f4a4097292b1e5baa5e158cdfb6a81f7
parent e822581bc43838987d8830b54c5e2103056a1b18
Author: lumidify <[email protected]>
Date: Thu, 23 Dec 2021 21:40:48 +0100
Add key mappings for other languages
Diffstat:
D BUG | 9 ---------
M keys_basic_config.h | 249 +++++++++++++++++++++++++++++…
M keys_command_config.h | 115 +++++++++++++++++++++++++++++…
M ledit.c | 11 +++++++++--
4 files changed, 371 insertions(+), 13 deletions(-)
---
diff --git a/BUG b/BUG
t@@ -1,9 +0,0 @@
-Random bugs noted down so I remember them; you are not expected to understand …
-deleting two lines in middle: leaves stray empty line without cursor; undo not…
-#0 0x00000d017890ccef in memcpy (dst0=0xd01adb5cf00, src0=0xd01c90a610b, leng…
-#1 0x00000cff1763be78 in ledit_insert_text_base (buffer=0xd01adb67300, line_i…
-#2 0x00000cff1763c516 in ledit_insert_text_with_newlines_base (buffer=0xd01ad…
- text=0xd01c90a6080 "اسجد\233ا\204کسجدا\233س\204کجاس\233\204…
- end_char_ret=0x0) at buffer.c:391
-#3 0x00000cff17640058 in ledit_undo (buffer=0xd01adb67300) at undo.c:172
-#4 0x00000cff17639d8a in undo () at ledit.c:1774
diff --git a/keys_basic_config.h b/keys_basic_config.h
t@@ -194,14 +194,263 @@ static struct key keys_en[] = {
};
static struct key keys_de[] = {
+ {NULL, 0, XK_BackSpace, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &bac…
+ {NULL, 0, XK_Left, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|KE…
+ {NULL, 0, XK_Right, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|K…
+ {NULL, 0, XK_Up, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_…
+ {NULL, 0, XK_Down, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|KE…
+ {NULL, XK_ANY_MOD, XK_Return, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN…
+ {NULL, 0, XK_Delete, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &delete…
+ {NULL, 0, XK_Escape, NORMAL|VISUAL|INSERT, KEY_ANY, KEY_ENSURE_CURSOR_…
+ {"i", 0, 0, NORMAL|VISUAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &enter_…
+ {"h", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, KEY…
+ {"l", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, KEY…
+ {"j", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, KEY…
+ {"k", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, KEY…
+ {"h", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_N…
+ {"t", ControlMask, 0, NORMAL|VISUAL, KEY_ANY, KEY_NONE, &toggle_hard_…
+ {NULL, 0, XK_space, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUM…
+ {"j", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_N…
+ {"n", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_N…
+ {"p", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_N…
+ {"0", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CUR…
+ {"0", 0, 0, NORMAL|VISUAL, KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &push…
+ {"1", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"2", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"3", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"4", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"5", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"6", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"7", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"8", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"9", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"x", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &de…
+ {"X", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &de…
+ {"d", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY…
+ {"z", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY…
+ {"Z", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &ya…
+ {"c", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY…
+ {"v", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &enter_visual},
+ {"o", 0, 0, VISUAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &switch_select…
+ {"c", ControlMask, 0, VISUAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &cli…
+ {"v", ControlMask, 0, INSERT, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &cli…
+ {"g", ControlMask, 0, NORMAL|VISUAL, KEY_ANY, KEY_NONE, &show_line},
+ {"Ö", 0, 0, NORMAL|VISUAL, KEY_NONE, KEY_NONE, &enter_commandedit},
+ {"_", 0, 0, NORMAL, KEY_NONE, KEY_NONE, &enter_searchedit_backward},
+ {"-", 0, 0, NORMAL, KEY_NONE, KEY_NONE, &enter_searchedit_forward},
+ {"n", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &key_search_ne…
+ {"N", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &key_search_pr…
+ {"u", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &un…
+ {"U", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &re…
+ {".", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &re…
+ {"y", ControlMask, 0, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &undo…
+ {"z", ControlMask, 0, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &redo…
+ {"b", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_…
+ {"f", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_…
+ {"e", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_…
+ {"z", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_…
+ {"d", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_…
+ {"u", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_…
+ {"$", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CUR…
+ {"w", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY…
+ {"e", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY…
+ {"W", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY…
+ {"E", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY…
+ {"b", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY…
+ {"B", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY…
+ {"G", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY…
+ {"J", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &jo…
+ {"I", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &insert_at_beg…
+ {"p", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &paste_normal},
+ {"P", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &paste_normal_…
+ {"A", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_after_…
+ {"a", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_after_…
+ {"O", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_line_a…
+ {"o", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_line_b…
+ {"m", 0, 0, NORMAL|VISUAL, KEY_NONE, KEY_NONE, &mark_line},
+ {"ä", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CU…
+ {"C", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &change_to_eol…
+ {"D", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &delete_to_eol…
+ {"r", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &replace},
+ {"&", 0, 0, NORMAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CURSOR_SHO…
+ {"t", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY…
+ {"T", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY…
+ {"f", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY…
+ {"F", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY…
{"", 0, 0, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &insert_mode_inse…
};
static struct key keys_ur[] = {
+ {NULL, 0, XK_BackSpace, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &bac…
+ {NULL, 0, XK_Left, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|KE…
+ {NULL, 0, XK_Right, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|K…
+ {NULL, 0, XK_Up, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_…
+ {NULL, 0, XK_Down, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|KE…
+ {NULL, XK_ANY_MOD, XK_Return, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN…
+ {NULL, 0, XK_Delete, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &delete…
+ {NULL, 0, XK_Escape, NORMAL|VISUAL|INSERT, KEY_ANY, KEY_ENSURE_CURSOR_…
+ {"ی", 0, 0, NORMAL|VISUAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &enter…
+ {"ح", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, KE…
+ {"ل", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, KE…
+ {"ج", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, KE…
+ {"ک", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, KE…
+ {"ح", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_…
+ {"ت", ControlMask, 0, NORMAL|VISUAL, KEY_ANY, KEY_NONE, &toggle_hard…
+ {NULL, 0, XK_space, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUM…
+ {"ج", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_…
+ {"ن", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_…
+ {"پ", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_…
+ {"0", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CUR…
+ {"0", 0, 0, NORMAL|VISUAL, KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &push…
+ {"1", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"2", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"3", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"4", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"5", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"6", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"7", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"8", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"9", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"ش", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &d…
+ {"ژ", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &d…
+ {"د", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE…
+ {"ے", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE…
+ {"َ", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &y…
+ {"چ", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE…
+ {"ط", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &enter_visual…
+ {"ہ", 0, 0, VISUAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &switch_selec…
+ {"چ", ControlMask, 0, VISUAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &cl…
+ {"ط", ControlMask, 0, INSERT, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &cl…
+ {"گ", ControlMask, 0, NORMAL|VISUAL, KEY_ANY, KEY_NONE, &show_line},
+ {":", 0, 0, NORMAL|VISUAL, KEY_NONE, KEY_NONE, &enter_commandedit},
+ {"؟", 0, 0, NORMAL, KEY_NONE, KEY_NONE, &enter_searchedit_backward},
+ {"/", 0, 0, NORMAL, KEY_NONE, KEY_NONE, &enter_searchedit_forward},
+ {"ن", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &key_search_n…
+ {"ں", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &key_search_p…
+ {"ء", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &u…
+ {"ئ", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &r…
+ {"۔", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &r…
+ {"ز", ControlMask, 0, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &und…
+ {"َ", ControlMask, 0, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &red…
+ {"ب", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR…
+ {"ف", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR…
+ {"ع", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR…
+ {"ے", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR…
+ {"د", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR…
+ {"ء", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR…
+ {"$", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CUR…
+ {"و", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE…
+ {"ع", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE…
+ {"ؤ", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE…
+ {"ٰ", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE…
+ {"ب", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE…
+ {".", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KEY…
+ {"غ", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE…
+ {"ض", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &j…
+ {"ِ", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &insert_at_be…
+ {"پ", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &paste_normal…
+ {"ُ", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &paste_normal…
+ {"آ", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_after…
+ {"ا", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_after…
+ {"ۃ", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_line_…
+ {"ہ", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_line_…
+ {"م", 0, 0, NORMAL|VISUAL, KEY_NONE, KEY_NONE, &mark_line},
+ {"'", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CUR…
+ {"ث", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &change_to_eo…
+ {"ڈ", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &delete_to_eo…
+ {"ر", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &replace},
+ {"^", 0, 0, NORMAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CURSOR_SHO…
+ {"ت", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE…
+ {"ٹ", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE…
+ {"ف", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE…
+ {"ّ", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, KE…
{"", 0, 0, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &insert_mode_inse…
};
static struct key keys_hi[] = {
+ {NULL, 0, XK_BackSpace, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &bac…
+ {NULL, 0, XK_Left, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|KE…
+ {NULL, 0, XK_Right, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|K…
+ {NULL, 0, XK_Up, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_…
+ {NULL, 0, XK_Down, VISUAL|INSERT|NORMAL, KEY_NONE|KEY_MOTIONALLOWED|KE…
+ {NULL, XK_ANY_MOD, XK_Return, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN…
+ {NULL, 0, XK_Delete, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &delete…
+ {NULL, 0, XK_Escape, NORMAL|VISUAL|INSERT, KEY_ANY, KEY_ENSURE_CURSOR_…
+ {"ि", 0, 0, NORMAL|VISUAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &ente…
+ {"ह", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, K…
+ {"ल", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, K…
+ {"ज", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, K…
+ {"क", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUMBER, K…
+ {"ह", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY…
+ {"त", ControlMask, 0, NORMAL|VISUAL, KEY_ANY, KEY_NONE, &toggle_har…
+ {NULL, 0, XK_space, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY_NUM…
+ {"ज", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY…
+ {"न", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY…
+ {"प", ControlMask, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED|KEY…
+ {"0", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CUR…
+ {"0", 0, 0, NORMAL|VISUAL, KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &push…
+ {"1", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"2", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"3", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"4", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"5", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"6", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"7", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"8", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"9", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_NUMBERALLOWED, KEY…
+ {"्", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &…
+ {"ॉ", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &…
+ {"द", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K…
+ {"य", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K…
+ {"ञ", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &…
+ {"च", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K…
+ {"ड", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &enter_visua…
+ {"ो", 0, 0, VISUAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &switch_sele…
+ {"च", ControlMask, 0, VISUAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &c…
+ {"ड", ControlMask, 0, INSERT, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &c…
+ {"ग", ControlMask, 0, NORMAL|VISUAL, KEY_ANY, KEY_NONE, &show_line},
+ {":", 0, 0, NORMAL|VISUAL, KEY_NONE, KEY_NONE, &enter_commandedit},
+ {"?", 0, 0, NORMAL, KEY_NONE, KEY_NONE, &enter_searchedit_backward},
+ {"/", 0, 0, NORMAL, KEY_NONE, KEY_NONE, &enter_searchedit_forward},
+ {"न", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &key_search_…
+ {"ण", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &key_search_…
+ {"ु", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &…
+ {"ू", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &…
+ {".", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &re…
+ {"श", ControlMask, 0, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &un…
+ {"य", ControlMask, 0, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &re…
+ {"ब", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSO…
+ {"ट", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSO…
+ {"े", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSO…
+ {"य", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSO…
+ {"द", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSO…
+ {"ु", ControlMask, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSO…
+ {"$", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CUR…
+ {"व", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K…
+ {"े", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K…
+ {"ॐ", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K…
+ {"ै", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K…
+ {"ब", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K…
+ {"भ", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K…
+ {"घ", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K…
+ {"झ", 0, 0, NORMAL, KEY_NONE|KEY_NUMBER, KEY_ENSURE_CURSOR_SHOWN, &…
+ {"ी", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &insert_at_b…
+ {"प", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &paste_norma…
+ {"फ", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &paste_norma…
+ {"आ", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_afte…
+ {"ा", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_afte…
+ {"ौ", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_line…
+ {"ो", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &append_line…
+ {"म", 0, 0, NORMAL|VISUAL, KEY_NONE, KEY_NONE, &mark_line},
+ {"'", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CUR…
+ {"छ", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &change_to_e…
+ {"ध", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &delete_to_e…
+ {"र", 0, 0, NORMAL, KEY_NONE, KEY_ENSURE_CURSOR_SHOWN, &replace},
+ {"^", 0, 0, NORMAL, KEY_NONE|KEY_MOTIONALLOWED, KEY_ENSURE_CURSOR_SHO…
+ {"त", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K…
+ {"थ", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K…
+ {"ट", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K…
+ {"ठ", 0, 0, NORMAL|VISUAL, KEY_NONE|KEY_NUMBER|KEY_MOTIONALLOWED, K…
{"", 0, 0, INSERT, KEY_ANY, KEY_ENSURE_CURSOR_SHOWN, &insert_mode_inse…
};
diff --git a/keys_command_config.h b/keys_command_config.h
t@@ -74,12 +74,123 @@ static struct key keys_en[] = {
};
static struct key keys_de[] = {
+ {"z", 0, 0, CMD_SUBSTITUTE, &substitute_yes},
+ {"Z", 0, 0, CMD_SUBSTITUTE, &substitute_yes_all},
+ {"n", 0, 0, CMD_SUBSTITUTE, &substitute_no},
+ {"N", 0, 0, CMD_SUBSTITUTE, &substitute_no_all},
+ {NULL, XK_ANY_MOD, XK_Return, CMD_EDIT, &edit_submit},
+ {NULL, XK_ANY_MOD, XK_Return, CMD_EDITSEARCH, &editsearch_submit},
+ {NULL, XK_ANY_MOD, XK_Return, CMD_EDITSEARCHB, &editsearchb_submit},
+ {NULL, 0, XK_Left, CMD_EDIT, &edit_cursor_left},
+ {NULL, 0, XK_Left, CMD_EDITSEARCH, &edit_cursor_left},
+ {NULL, 0, XK_Left, CMD_EDITSEARCHB, &edit_cursor_left},
+ {NULL, 0, XK_Right, CMD_EDIT, &edit_cursor_right},
+ {NULL, 0, XK_Right, CMD_EDITSEARCH, &edit_cursor_right},
+ {NULL, 0, XK_Right, CMD_EDITSEARCHB, &edit_cursor_right},
+ {NULL, 0, XK_Up, CMD_EDIT, &edit_prevcommand},
+ {NULL, 0, XK_Up, CMD_EDITSEARCH, &edit_prevsearch},
+ {NULL, 0, XK_Up, CMD_EDITSEARCHB, &edit_prevsearch},
+ {NULL, 0, XK_Down, CMD_EDIT, &edit_nextcommand},
+ {NULL, 0, XK_Down, CMD_EDITSEARCH, &edit_nextsearch},
+ {NULL, 0, XK_Down, CMD_EDITSEARCHB, &edit_nextsearch},
+ {NULL, 0, XK_BackSpace, CMD_EDIT, &edit_backspace},
+ {NULL, 0, XK_BackSpace, CMD_EDITSEARCH, &edit_backspace},
+ {NULL, 0, XK_BackSpace, CMD_EDITSEARCHB, &edit_backspace},
+ {NULL, 0, XK_Delete, CMD_EDIT, &edit_delete},
+ {NULL, 0, XK_Delete, CMD_EDITSEARCH, &edit_delete},
+ {NULL, 0, XK_Delete, CMD_EDITSEARCHB, &edit_delete},
+ {NULL, 0, XK_End, CMD_EDIT, &edit_cursor_to_end},
+ {NULL, 0, XK_End, CMD_EDITSEARCH, &edit_cursor_to_end},
+ {NULL, 0, XK_End, CMD_EDITSEARCHB, &edit_cursor_to_end},
+ {NULL, 0, XK_Home, CMD_EDIT, &edit_cursor_to_beginning},
+ {NULL, 0, XK_Home, CMD_EDITSEARCH, &edit_cursor_to_beginning},
+ {NULL, 0, XK_Home, CMD_EDITSEARCHB, &edit_cursor_to_beginning},
+ {NULL, 0, XK_Escape, CMD_EDIT, &edit_discard},
+ {NULL, 0, XK_Escape, CMD_EDITSEARCH, &edit_discard},
+ {NULL, 0, XK_Escape, CMD_EDITSEARCHB, &edit_discard},
+ {"", 0, 0, CMD_EDIT, &edit_insert_text},
+ {"", 0, 0, CMD_EDITSEARCH, &edit_insert_text},
+ {"", 0, 0, CMD_EDITSEARCHB, &edit_insert_text}
};
-static struct key keys_hi[] = {
+static struct key keys_ur[] = {
+ {"ے", 0, 0, CMD_SUBSTITUTE, &substitute_yes},
+ {"َ", 0, 0, CMD_SUBSTITUTE, &substitute_yes_all},
+ {"ن", 0, 0, CMD_SUBSTITUTE, &substitute_no},
+ {"ں", 0, 0, CMD_SUBSTITUTE, &substitute_no_all},
+ {NULL, XK_ANY_MOD, XK_Return, CMD_EDIT, &edit_submit},
+ {NULL, XK_ANY_MOD, XK_Return, CMD_EDITSEARCH, &editsearch_submit},
+ {NULL, XK_ANY_MOD, XK_Return, CMD_EDITSEARCHB, &editsearchb_submit},
+ {NULL, 0, XK_Left, CMD_EDIT, &edit_cursor_left},
+ {NULL, 0, XK_Left, CMD_EDITSEARCH, &edit_cursor_left},
+ {NULL, 0, XK_Left, CMD_EDITSEARCHB, &edit_cursor_left},
+ {NULL, 0, XK_Right, CMD_EDIT, &edit_cursor_right},
+ {NULL, 0, XK_Right, CMD_EDITSEARCH, &edit_cursor_right},
+ {NULL, 0, XK_Right, CMD_EDITSEARCHB, &edit_cursor_right},
+ {NULL, 0, XK_Up, CMD_EDIT, &edit_prevcommand},
+ {NULL, 0, XK_Up, CMD_EDITSEARCH, &edit_prevsearch},
+ {NULL, 0, XK_Up, CMD_EDITSEARCHB, &edit_prevsearch},
+ {NULL, 0, XK_Down, CMD_EDIT, &edit_nextcommand},
+ {NULL, 0, XK_Down, CMD_EDITSEARCH, &edit_nextsearch},
+ {NULL, 0, XK_Down, CMD_EDITSEARCHB, &edit_nextsearch},
+ {NULL, 0, XK_BackSpace, CMD_EDIT, &edit_backspace},
+ {NULL, 0, XK_BackSpace, CMD_EDITSEARCH, &edit_backspace},
+ {NULL, 0, XK_BackSpace, CMD_EDITSEARCHB, &edit_backspace},
+ {NULL, 0, XK_Delete, CMD_EDIT, &edit_delete},
+ {NULL, 0, XK_Delete, CMD_EDITSEARCH, &edit_delete},
+ {NULL, 0, XK_Delete, CMD_EDITSEARCHB, &edit_delete},
+ {NULL, 0, XK_End, CMD_EDIT, &edit_cursor_to_end},
+ {NULL, 0, XK_End, CMD_EDITSEARCH, &edit_cursor_to_end},
+ {NULL, 0, XK_End, CMD_EDITSEARCHB, &edit_cursor_to_end},
+ {NULL, 0, XK_Home, CMD_EDIT, &edit_cursor_to_beginning},
+ {NULL, 0, XK_Home, CMD_EDITSEARCH, &edit_cursor_to_beginning},
+ {NULL, 0, XK_Home, CMD_EDITSEARCHB, &edit_cursor_to_beginning},
+ {NULL, 0, XK_Escape, CMD_EDIT, &edit_discard},
+ {NULL, 0, XK_Escape, CMD_EDITSEARCH, &edit_discard},
+ {NULL, 0, XK_Escape, CMD_EDITSEARCHB, &edit_discard},
+ {"", 0, 0, CMD_EDIT, &edit_insert_text},
+ {"", 0, 0, CMD_EDITSEARCH, &edit_insert_text},
+ {"", 0, 0, CMD_EDITSEARCHB, &edit_insert_text}
};
-static struct key keys_ur[] = {
+static struct key keys_hi[] = {
+ {"य", 0, 0, CMD_SUBSTITUTE, &substitute_yes},
+ {"ञ", 0, 0, CMD_SUBSTITUTE, &substitute_yes_all},
+ {"न", 0, 0, CMD_SUBSTITUTE, &substitute_no},
+ {"ण", 0, 0, CMD_SUBSTITUTE, &substitute_no_all},
+ {NULL, XK_ANY_MOD, XK_Return, CMD_EDIT, &edit_submit},
+ {NULL, XK_ANY_MOD, XK_Return, CMD_EDITSEARCH, &editsearch_submit},
+ {NULL, XK_ANY_MOD, XK_Return, CMD_EDITSEARCHB, &editsearchb_submit},
+ {NULL, 0, XK_Left, CMD_EDIT, &edit_cursor_left},
+ {NULL, 0, XK_Left, CMD_EDITSEARCH, &edit_cursor_left},
+ {NULL, 0, XK_Left, CMD_EDITSEARCHB, &edit_cursor_left},
+ {NULL, 0, XK_Right, CMD_EDIT, &edit_cursor_right},
+ {NULL, 0, XK_Right, CMD_EDITSEARCH, &edit_cursor_right},
+ {NULL, 0, XK_Right, CMD_EDITSEARCHB, &edit_cursor_right},
+ {NULL, 0, XK_Up, CMD_EDIT, &edit_prevcommand},
+ {NULL, 0, XK_Up, CMD_EDITSEARCH, &edit_prevsearch},
+ {NULL, 0, XK_Up, CMD_EDITSEARCHB, &edit_prevsearch},
+ {NULL, 0, XK_Down, CMD_EDIT, &edit_nextcommand},
+ {NULL, 0, XK_Down, CMD_EDITSEARCH, &edit_nextsearch},
+ {NULL, 0, XK_Down, CMD_EDITSEARCHB, &edit_nextsearch},
+ {NULL, 0, XK_BackSpace, CMD_EDIT, &edit_backspace},
+ {NULL, 0, XK_BackSpace, CMD_EDITSEARCH, &edit_backspace},
+ {NULL, 0, XK_BackSpace, CMD_EDITSEARCHB, &edit_backspace},
+ {NULL, 0, XK_Delete, CMD_EDIT, &edit_delete},
+ {NULL, 0, XK_Delete, CMD_EDITSEARCH, &edit_delete},
+ {NULL, 0, XK_Delete, CMD_EDITSEARCHB, &edit_delete},
+ {NULL, 0, XK_End, CMD_EDIT, &edit_cursor_to_end},
+ {NULL, 0, XK_End, CMD_EDITSEARCH, &edit_cursor_to_end},
+ {NULL, 0, XK_End, CMD_EDITSEARCHB, &edit_cursor_to_end},
+ {NULL, 0, XK_Home, CMD_EDIT, &edit_cursor_to_beginning},
+ {NULL, 0, XK_Home, CMD_EDITSEARCH, &edit_cursor_to_beginning},
+ {NULL, 0, XK_Home, CMD_EDITSEARCHB, &edit_cursor_to_beginning},
+ {NULL, 0, XK_Escape, CMD_EDIT, &edit_discard},
+ {NULL, 0, XK_Escape, CMD_EDITSEARCH, &edit_discard},
+ {NULL, 0, XK_Escape, CMD_EDITSEARCHB, &edit_discard},
+ {"", 0, 0, CMD_EDIT, &edit_insert_text},
+ {"", 0, 0, CMD_EDITSEARCH, &edit_insert_text},
+ {"", 0, 0, CMD_EDITSEARCHB, &edit_insert_text}
};
GEN_KEY_ARRAY(struct key, keys_en, keys_de, keys_hi, keys_ur);
diff --git a/ledit.c b/ledit.c
t@@ -346,10 +346,17 @@ redraw(void) {
static void
change_keyboard(char *lang) {
- printf("%s\n", lang);
cur_lang = get_language_index(lang);
- if (cur_lang < 0)
+ if (cur_lang < 0) {
+ for (size_t i = 0; i < buffer->views_num; i++) {
+ window_show_message_fmt(
+ buffer->views[i]->window,
+ "No mapping for language \"%s\", using default map…
+ lang
+ );
+ }
cur_lang = 0;
+ }
}
static void
You are viewing proxied material from lumidify.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.