feat: expose a few small groups of mapping changes

Those can be loaded as required
This commit is contained in:
Clément Joly 2022-05-07 20:54:16 +00:00
parent 8af301bc20
commit 363d16adcc
2 changed files with 39 additions and 20 deletions

View File

@ -31,11 +31,7 @@
(map-normal key target) (map-normal key target)
(map-text-object key target)) (map-text-object key target))
(fn mapping-setup [] (fn mapping-movement []
;; Keys still free
;; , and ; as they may be used as leaders
;; à and À
;; è and È
;; on préserve {hjkl} pour les directions ;; on préserve {hjkl} pour les directions
(map-all :c :h) (map-all :c :h)
(map-all :t :j) (map-all :t :j)
@ -73,7 +69,9 @@
;; {k} devient [s] ;; {k} devient [s]
(map-all :k :s) (map-all :k :s)
;; {K} devient [S] ;; {K} devient [S]
(map-all :K :S) (map-all :K :S))
(fn mapping-tabs []
;; le couple [gb]/[gé] agit sur les tabs ;; le couple [gb]/[gé] agit sur les tabs
(map-normal :gb :gT) (map-normal :gb :gT)
(map-normal "gé" :gt) (map-normal "gé" :gt)
@ -82,7 +80,9 @@
;; [gÉ] au dernier ;; [gÉ] au dernier
(map-normal "gÉ" ":execute \"silent! tablast\"<CR>") (map-normal "gÉ" ":execute \"silent! tablast\"<CR>")
;; [gT] est libéré et peut agir sur les tags ;; [gT] est libéré et peut agir sur les tags
(map-normal :gT "<C-]>") (map-normal :gT "<C-]>"))
(fn mapping-easy-access []
;; [<] est moins accessible que [«] ;; [<] est moins accessible que [«]
(map-normal "«" "<") (map-normal "«" "<")
;; idem pour [»] et [>] ;; idem pour [»] et [>]
@ -94,7 +94,6 @@
(map-all "é" :w) (map-all "é" :w)
;; idem pour [W] et [É] ;; idem pour [W] et [É]
(map-all "É" :W) (map-all "É" :W)
;; ------
;; idem pour [aw] et [aé] ;; idem pour [aw] et [aé]
(map-text-object "aé" :aw) (map-text-object "aé" :aw)
;; idem pour [aW] et [aÉ] ;; idem pour [aW] et [aÉ]
@ -102,8 +101,9 @@
;; idem pour [iw] et [ié] ;; idem pour [iw] et [ié]
(map-text-object "ié" :iw) (map-text-object "ié" :iw)
;; idem pour [iW] et [iÉ] ;; idem pour [iW] et [iÉ]
(map-text-object "iÉ" :iW) (map-text-object "iÉ" :iW))
;; ------
(fn mapping-window []
;; [w] est libre pour faire <C-w> ;; [w] est libre pour faire <C-w>
(map-normal :w :<C-w>) (map-normal :w :<C-w>)
;; et [w] pour faire <C-w><C-w> ;; et [w] pour faire <C-w><C-w>
@ -122,13 +122,23 @@
;; va en haut à gauche ;; va en haut à gauche
(map-normal "wé" :<C-w>t) (map-normal "wé" :<C-w>t)
;; déplace sur un nouveau tab ;; déplace sur un nouveau tab
(map-normal "wÉ" :<C-w>T) (map-normal "wÉ" :<C-w>T))
)
(fn setup [] (fn setup []
"Keys that are still free
;; , and ; as they may be used as leaders
;; à and À
è and È"
(when (= vim.g.loaded_bepo_nvim nil) (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))) (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}

View File

@ -11,7 +11,7 @@ local function map_all(key, target)
map_normal(key, target) map_normal(key, target)
return map_text_object(key, target) return map_text_object(key, target)
end end
local function mapping_setup() local function mapping_movement()
map_all("c", "h") map_all("c", "h")
map_all("t", "j") map_all("t", "j")
map_all("s", "k") map_all("s", "k")
@ -33,12 +33,16 @@ local function mapping_setup()
map_all("j", "r") map_all("j", "r")
map_all("J", "R") map_all("J", "R")
map_all("k", "s") map_all("k", "s")
map_all("K", "S") return map_all("K", "S")
end
local function mapping_tabs()
map_normal("gb", "gT") map_normal("gb", "gT")
map_normal("g\195\169", "gt") map_normal("g\195\169", "gt")
map_normal("gB", ":execute \"silent! tabfirst\"<CR>") map_normal("gB", ":execute \"silent! tabfirst\"<CR>")
map_normal("g\195\137", ":execute \"silent! tablast\"<CR>") map_normal("g\195\137", ":execute \"silent! tablast\"<CR>")
map_normal("gT", "<C-]>") return map_normal("gT", "<C-]>")
end
local function mapping_easy_access()
map_normal("\194\171", "<") map_normal("\194\171", "<")
map_normal("\194\187", ">") map_normal("\194\187", ">")
map_all("g,", "g;") map_all("g,", "g;")
@ -48,7 +52,9 @@ local function mapping_setup()
map_text_object("a\195\169", "aw") map_text_object("a\195\169", "aw")
map_text_object("a\195\137", "aW") map_text_object("a\195\137", "aW")
map_text_object("i\195\169", "iw") 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", "<C-w>") map_normal("w", "<C-w>")
map_normal("W", "<C-w><C-w>") map_normal("W", "<C-w><C-w>")
map_normal("wc", "<C-w>h") map_normal("wc", "<C-w>h")
@ -65,11 +71,14 @@ local function mapping_setup()
end end
local function setup() local function setup()
if (vim.g.loaded_bepo_nvim == nil) then 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 vim.g.loaded_bepo_nvim = 1
return nil return nil
else else
return nil return nil
end end
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}