From 363d16adcca6c547ae00a24238d6403ebaa4dd99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Joly?= Date: Sat, 7 May 2022 20:54:16 +0000 Subject: [PATCH] feat: expose a few small groups of mapping changes Those can be loaded as required --- fnl/bepo.fnl | 38 ++++++++++++++++++++++++-------------- lua/bepo.lua | 21 +++++++++++++++------ 2 files changed, 39 insertions(+), 20 deletions(-) diff --git a/fnl/bepo.fnl b/fnl/bepo.fnl index 0064fd8..fb5e716 100644 --- a/fnl/bepo.fnl +++ b/fnl/bepo.fnl @@ -31,11 +31,7 @@ (map-normal key target) (map-text-object key target)) -(fn mapping-setup [] - ;; Keys still free - ;; , and ; as they may be used as leaders - ;; à and À - ;; è and È +(fn mapping-movement [] ;; on préserve {hjkl} pour les directions (map-all :c :h) (map-all :t :j) @@ -73,7 +69,9 @@ ;; {k} devient [s] (map-all :k :s) ;; {K} devient [S] - (map-all :K :S) + (map-all :K :S)) + +(fn mapping-tabs [] ;; le couple [gb]/[gé] agit sur les tabs (map-normal :gb :gT) (map-normal "gé" :gt) @@ -82,7 +80,9 @@ ;; [gÉ] au dernier (map-normal "gÉ" ":execute \"silent! tablast\"") ;; [gT] est libéré et peut agir sur les tags - (map-normal :gT "") + (map-normal :gT "")) + +(fn mapping-easy-access [] ;; [<] est moins accessible que [«] (map-normal "«" "<") ;; idem pour [»] et [>] @@ -94,7 +94,6 @@ (map-all "é" :w) ;; idem pour [W] et [É] (map-all "É" :W) - ;; ------ ;; idem pour [aw] et [aé] (map-text-object "aé" :aw) ;; idem pour [aW] et [aÉ] @@ -102,8 +101,9 @@ ;; idem pour [iw] et [ié] (map-text-object "ié" :iw) ;; idem pour [iW] et [iÉ] - (map-text-object "iÉ" :iW) - ;; ------ + (map-text-object "iÉ" :iW)) + +(fn mapping-window [] ;; [w] est libre pour faire (map-normal :w :) ;; et [w] pour faire @@ -122,13 +122,23 @@ ;; va en haut à gauche (map-normal "wé" :t) ;; déplace sur un nouveau tab - (map-normal "wÉ" :T) - ) + (map-normal "wÉ" :T)) (fn setup [] + "Keys that are still free + ;; , and ; as they may be used as leaders + ;; à and À + è and È" (when (= vim.g.loaded_bepo_nvim nil) - (mapping-setup) + (mapping-movement) + (mapping-tabs) + (mapping-easy-access) + (mapping-window) (set vim.g.loaded_bepo_nvim 1))) -{: setup} +{: setup + :mapping_movement mapping-movement + :mapping_tabs mapping-tabs + :mapping_easy_access mapping-easy-access + :mapping_window mapping-window} diff --git a/lua/bepo.lua b/lua/bepo.lua index fb06bff..8a5cee8 100644 --- a/lua/bepo.lua +++ b/lua/bepo.lua @@ -11,7 +11,7 @@ local function map_all(key, target) map_normal(key, target) return map_text_object(key, target) end -local function mapping_setup() +local function mapping_movement() map_all("c", "h") map_all("t", "j") map_all("s", "k") @@ -33,12 +33,16 @@ local function mapping_setup() map_all("j", "r") map_all("J", "R") map_all("k", "s") - map_all("K", "S") + return map_all("K", "S") +end +local function mapping_tabs() map_normal("gb", "gT") map_normal("g\195\169", "gt") map_normal("gB", ":execute \"silent! tabfirst\"") map_normal("g\195\137", ":execute \"silent! tablast\"") - map_normal("gT", "") + return map_normal("gT", "") +end +local function mapping_easy_access() map_normal("\194\171", "<") map_normal("\194\187", ">") map_all("g,", "g;") @@ -48,7 +52,9 @@ local function mapping_setup() map_text_object("a\195\169", "aw") map_text_object("a\195\137", "aW") map_text_object("i\195\169", "iw") - map_text_object("i\195\137", "iW") + return map_text_object("i\195\137", "iW") +end +local function mapping_window() map_normal("w", "") map_normal("W", "") map_normal("wc", "h") @@ -65,11 +71,14 @@ local function mapping_setup() end local function setup() if (vim.g.loaded_bepo_nvim == nil) then - mapping_setup() + mapping_movement() + mapping_tabs() + mapping_easy_access() + mapping_window() vim.g.loaded_bepo_nvim = 1 return nil else return nil end end -return {setup = setup} +return {setup = setup, mapping_movement = mapping_movement, mapping_tabs = mapping_tabs, mapping_easy_access = mapping_easy_access, mapping_window = mapping_window}