Compare commits

...

1 Commits

Author SHA1 Message Date
Clément Joly
bbce509a37 feat: attempt to use macro in fennel to improve preformance
That seems to mess up the JIT optimisations, so doing that is actually
slower.
2022-11-13 13:01:21 +00:00
3 changed files with 221 additions and 121 deletions

View File

@ -43,45 +43,6 @@ only the “window” and “movement” groups of mapping, use this instead of
The following subsections go into details of exactly what mappings are The following subsections go into details of exactly what mappings are
in each group. “Modes” have the same meaning as in the |map-table|. in each group. “Modes” have the same meaning as in the |map-table|.
--------------------------------------------------------------------------------
require("bepo").movement() *bepo.nvim-movement*
on préserve {hjkl} pour les directions
Modes Bepo Qwerty
nx c h
nx t j
nx s k
nx r l
nx C H
nx T J
nx S K
nx R L
nx gt gj
nx gs gk
nx zT zt
nx zt zj
nx zk zs
nx zs zk
nx h t
nx H T
nx l c
nx L C
nx j r
nx J R
nx k s
nx K S
--------------------------------------------------------------------------------
require("bepo").tabs() *bepo.nvim-tabs*
le couple [gb]/[gé] agit sur les tabs
Modes Bepo Qwerty
n gb gT
n gé gt
n gB :execute "silent! tabfirst"<CR>
n gÉ :execute "silent! tablast"<CR>
n gT <C-]>
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
require("bepo").window() *bepo.nvim-window* require("bepo").window() *bepo.nvim-window*
[w] est libre pour faire <C-w>, grâce à easy_access [w] est libre pour faire <C-w>, grâce à easy_access
@ -118,5 +79,44 @@ require("bepo").easy_access() *bepo.nvim-easy_acces
ox ié iw ox ié iw
ox iÉ iW ox iÉ iW
--------------------------------------------------------------------------------
require("bepo").tabs() *bepo.nvim-tabs*
le couple [gb]/[gé] agit sur les tabs
Modes Bepo Qwerty
n gb gT
n gé gt
n gB :execute "silent! tabfirst"<CR>
n gÉ :execute "silent! tablast"<CR>
n gT <C-]>
--------------------------------------------------------------------------------
require("bepo").movement() *bepo.nvim-movement*
on préserve {hjkl} pour les directions
Modes Bepo Qwerty
nx c h
nx t j
nx s k
nx r l
nx C H
nx T J
nx S K
nx R L
nx gt gj
nx gs gk
nx zT zt
nx zt zj
nx zk zs
nx zs zk
nx h t
nx H T
nx l c
nx L C
nx j r
nx J R
nx k s
nx K S
vim:tw=78:ts=8:ft=help:norl: vim:tw=78:ts=8:ft=help:norl:

View File

@ -15,26 +15,27 @@
;; ;;
;; Credit: Inspired by https://github.com/michamos/vim-bepo by Micha Moskovic ;; Credit: Inspired by https://github.com/michamos/vim-bepo by Micha Moskovic
(fn map-text-object [key target] (macro map-text-object [key target]
"For text-objects mappings" "For text-objects mappings"
(vim.api.nvim_set_keymap :o key target {:noremap true}) `(do
(vim.api.nvim_set_keymap :x key target {:noremap true}) (vim.api.nvim_set_keymap :o ,key ,target {:noremap true})
nil) (vim.api.nvim_set_keymap :x ,key ,target {:noremap true})
nil))
(fn map-visual [key target] (macro map-visual [key target]
"For normal mode mappings" "For normal mode mappings"
(vim.api.nvim_set_keymap :v key target {:noremap true}) `(vim.api.nvim_set_keymap :v ,key ,target {:noremap true}))
nil)
(fn map-normal [key target] (macro map-normal [key target]
"For normal mode mappings" "For normal mode mappings"
(vim.api.nvim_set_keymap :n key target {:noremap true}) `(vim.api.nvim_set_keymap :n ,key ,target {:noremap true}))
nil)
(fn map-all [key target] (macro map-all [key target]
"For all directional mappings" "For all directional mappings"
(map-normal key target) `(do
(map-text-object key target)) (map-normal ,key ,target)
(map-text-object ,key ,target)
nil))
(macro 𝛅 [...] (macro 𝛅 [...]
"When called with the right context, this will print the documentation of the "When called with the right context, this will print the documentation of the

237
lua/bepo.lua generated
View File

@ -1,79 +1,178 @@
local function map_text_object(key, target)
vim.api.nvim_set_keymap("o", key, target, {noremap = true})
vim.api.nvim_set_keymap("x", key, target, {noremap = true})
return nil
end
local function map_visual(key, target)
vim.api.nvim_set_keymap("v", key, target, {noremap = true})
return nil
end
local function map_normal(key, target)
vim.api.nvim_set_keymap("n", key, target, {noremap = true})
return nil
end
local function map_all(key, target)
map_normal(key, target)
return map_text_object(key, target)
end
local function mapping_movement() local function mapping_movement()
map_all("c", "h") do
map_all("t", "j") vim.api.nvim_set_keymap("n", "c", "h", {noremap = true})
map_all("s", "k") vim.api.nvim_set_keymap("o", "c", "h", {noremap = true})
map_all("r", "l") vim.api.nvim_set_keymap("x", "c", "h", {noremap = true})
map_all("C", "H") end
map_all("T", "J") do
map_all("S", "K") vim.api.nvim_set_keymap("n", "t", "j", {noremap = true})
map_all("R", "L") vim.api.nvim_set_keymap("o", "t", "j", {noremap = true})
map_all("gt", "gj") vim.api.nvim_set_keymap("x", "t", "j", {noremap = true})
map_all("gs", "gk") end
map_all("zT", "zt") do
map_all("zt", "zj") vim.api.nvim_set_keymap("n", "s", "k", {noremap = true})
map_all("zk", "zs") vim.api.nvim_set_keymap("o", "s", "k", {noremap = true})
map_all("zs", "zk") vim.api.nvim_set_keymap("x", "s", "k", {noremap = true})
map_all("h", "t") end
map_all("H", "T") do
map_all("l", "c") vim.api.nvim_set_keymap("n", "r", "l", {noremap = true})
map_all("L", "C") vim.api.nvim_set_keymap("o", "r", "l", {noremap = true})
map_all("j", "r") vim.api.nvim_set_keymap("x", "r", "l", {noremap = true})
map_all("J", "R") end
map_all("k", "s") do
return map_all("K", "S") vim.api.nvim_set_keymap("n", "C", "H", {noremap = true})
vim.api.nvim_set_keymap("o", "C", "H", {noremap = true})
vim.api.nvim_set_keymap("x", "C", "H", {noremap = true})
end
do
vim.api.nvim_set_keymap("n", "T", "J", {noremap = true})
vim.api.nvim_set_keymap("o", "T", "J", {noremap = true})
vim.api.nvim_set_keymap("x", "T", "J", {noremap = true})
end
do
vim.api.nvim_set_keymap("n", "S", "K", {noremap = true})
vim.api.nvim_set_keymap("o", "S", "K", {noremap = true})
vim.api.nvim_set_keymap("x", "S", "K", {noremap = true})
end
do
vim.api.nvim_set_keymap("n", "R", "L", {noremap = true})
vim.api.nvim_set_keymap("o", "R", "L", {noremap = true})
vim.api.nvim_set_keymap("x", "R", "L", {noremap = true})
end
do
vim.api.nvim_set_keymap("n", "gt", "gj", {noremap = true})
vim.api.nvim_set_keymap("o", "gt", "gj", {noremap = true})
vim.api.nvim_set_keymap("x", "gt", "gj", {noremap = true})
end
do
vim.api.nvim_set_keymap("n", "gs", "gk", {noremap = true})
vim.api.nvim_set_keymap("o", "gs", "gk", {noremap = true})
vim.api.nvim_set_keymap("x", "gs", "gk", {noremap = true})
end
do
vim.api.nvim_set_keymap("n", "zT", "zt", {noremap = true})
vim.api.nvim_set_keymap("o", "zT", "zt", {noremap = true})
vim.api.nvim_set_keymap("x", "zT", "zt", {noremap = true})
end
do
vim.api.nvim_set_keymap("n", "zt", "zj", {noremap = true})
vim.api.nvim_set_keymap("o", "zt", "zj", {noremap = true})
vim.api.nvim_set_keymap("x", "zt", "zj", {noremap = true})
end
do
vim.api.nvim_set_keymap("n", "zk", "zs", {noremap = true})
vim.api.nvim_set_keymap("o", "zk", "zs", {noremap = true})
vim.api.nvim_set_keymap("x", "zk", "zs", {noremap = true})
end
do
vim.api.nvim_set_keymap("n", "zs", "zk", {noremap = true})
vim.api.nvim_set_keymap("o", "zs", "zk", {noremap = true})
vim.api.nvim_set_keymap("x", "zs", "zk", {noremap = true})
end
do
vim.api.nvim_set_keymap("n", "h", "t", {noremap = true})
vim.api.nvim_set_keymap("o", "h", "t", {noremap = true})
vim.api.nvim_set_keymap("x", "h", "t", {noremap = true})
end
do
vim.api.nvim_set_keymap("n", "H", "T", {noremap = true})
vim.api.nvim_set_keymap("o", "H", "T", {noremap = true})
vim.api.nvim_set_keymap("x", "H", "T", {noremap = true})
end
do
vim.api.nvim_set_keymap("n", "l", "c", {noremap = true})
vim.api.nvim_set_keymap("o", "l", "c", {noremap = true})
vim.api.nvim_set_keymap("x", "l", "c", {noremap = true})
end
do
vim.api.nvim_set_keymap("n", "L", "C", {noremap = true})
vim.api.nvim_set_keymap("o", "L", "C", {noremap = true})
vim.api.nvim_set_keymap("x", "L", "C", {noremap = true})
end
do
vim.api.nvim_set_keymap("n", "j", "r", {noremap = true})
vim.api.nvim_set_keymap("o", "j", "r", {noremap = true})
vim.api.nvim_set_keymap("x", "j", "r", {noremap = true})
end
do
vim.api.nvim_set_keymap("n", "J", "R", {noremap = true})
vim.api.nvim_set_keymap("o", "J", "R", {noremap = true})
vim.api.nvim_set_keymap("x", "J", "R", {noremap = true})
end
do
vim.api.nvim_set_keymap("n", "k", "s", {noremap = true})
vim.api.nvim_set_keymap("o", "k", "s", {noremap = true})
vim.api.nvim_set_keymap("x", "k", "s", {noremap = true})
end
vim.api.nvim_set_keymap("n", "K", "S", {noremap = true})
do
vim.api.nvim_set_keymap("o", "K", "S", {noremap = true})
vim.api.nvim_set_keymap("x", "K", "S", {noremap = true})
end
return nil
end end
local function mapping_tabs() local function mapping_tabs()
map_normal("gb", "gT") vim.api.nvim_set_keymap("n", "gb", "gT", {noremap = true})
map_normal("g\195\169", "gt") vim.api.nvim_set_keymap("n", "g\195\169", "gt", {noremap = true})
map_normal("gB", ":execute \"silent! tabfirst\"<CR>") vim.api.nvim_set_keymap("n", "gB", ":execute \"silent! tabfirst\"<CR>", {noremap = true})
map_normal("g\195\137", ":execute \"silent! tablast\"<CR>") vim.api.nvim_set_keymap("n", "g\195\137", ":execute \"silent! tablast\"<CR>", {noremap = true})
return map_normal("gT", "<C-]>") return vim.api.nvim_set_keymap("n", "gT", "<C-]>", {noremap = true})
end end
local function mapping_easy_access() local function mapping_easy_access()
map_normal("\194\171", "<") vim.api.nvim_set_keymap("n", "\194\171", "<", {noremap = true})
map_visual("\194\171", "<gv") vim.api.nvim_set_keymap("v", "\194\171", "<gv", {noremap = true})
map_normal("\194\187", ">") vim.api.nvim_set_keymap("n", "\194\187", ">", {noremap = true})
map_visual("\194\187", ">gv") vim.api.nvim_set_keymap("v", "\194\187", ">gv", {noremap = true})
map_all("g,", "g;") do
map_all("g;", "g,") vim.api.nvim_set_keymap("n", "g,", "g;", {noremap = true})
map_all("\195\169", "w") vim.api.nvim_set_keymap("o", "g,", "g;", {noremap = true})
map_all("\195\137", "W") vim.api.nvim_set_keymap("x", "g,", "g;", {noremap = true})
map_text_object("a\195\169", "aw") end
map_text_object("a\195\137", "aW") do
map_text_object("i\195\169", "iw") vim.api.nvim_set_keymap("n", "g;", "g,", {noremap = true})
return map_text_object("i\195\137", "iW") vim.api.nvim_set_keymap("o", "g;", "g,", {noremap = true})
vim.api.nvim_set_keymap("x", "g;", "g,", {noremap = true})
end
do
vim.api.nvim_set_keymap("n", "\195\169", "w", {noremap = true})
vim.api.nvim_set_keymap("o", "\195\169", "w", {noremap = true})
vim.api.nvim_set_keymap("x", "\195\169", "w", {noremap = true})
end
do
vim.api.nvim_set_keymap("n", "\195\137", "W", {noremap = true})
vim.api.nvim_set_keymap("o", "\195\137", "W", {noremap = true})
vim.api.nvim_set_keymap("x", "\195\137", "W", {noremap = true})
end
do
vim.api.nvim_set_keymap("o", "a\195\169", "aw", {noremap = true})
vim.api.nvim_set_keymap("x", "a\195\169", "aw", {noremap = true})
end
do
vim.api.nvim_set_keymap("o", "a\195\137", "aW", {noremap = true})
vim.api.nvim_set_keymap("x", "a\195\137", "aW", {noremap = true})
end
do
vim.api.nvim_set_keymap("o", "i\195\169", "iw", {noremap = true})
vim.api.nvim_set_keymap("x", "i\195\169", "iw", {noremap = true})
end
vim.api.nvim_set_keymap("o", "i\195\137", "iW", {noremap = true})
vim.api.nvim_set_keymap("x", "i\195\137", "iW", {noremap = true})
return nil
end end
local function mapping_window() local function mapping_window()
map_normal("w", "<C-w>") vim.api.nvim_set_keymap("n", "w", "<C-w>", {noremap = true})
map_normal("W", "<C-w><C-w>") vim.api.nvim_set_keymap("n", "W", "<C-w><C-w>", {noremap = true})
map_normal("wc", "<C-w>h") vim.api.nvim_set_keymap("n", "wc", "<C-w>h", {noremap = true})
map_normal("wt", "<C-w>j") vim.api.nvim_set_keymap("n", "wt", "<C-w>j", {noremap = true})
map_normal("ws", "<C-w>k") vim.api.nvim_set_keymap("n", "ws", "<C-w>k", {noremap = true})
map_normal("wr", "<C-w>l") vim.api.nvim_set_keymap("n", "wr", "<C-w>l", {noremap = true})
map_normal("wC", "<C-w>H") vim.api.nvim_set_keymap("n", "wC", "<C-w>H", {noremap = true})
map_normal("wT", "<C-w>J") vim.api.nvim_set_keymap("n", "wT", "<C-w>J", {noremap = true})
map_normal("wS", "<C-w>K") vim.api.nvim_set_keymap("n", "wS", "<C-w>K", {noremap = true})
map_normal("wR", "<C-w>L") vim.api.nvim_set_keymap("n", "wR", "<C-w>L", {noremap = true})
map_normal("wh", "<C-w>s") vim.api.nvim_set_keymap("n", "wh", "<C-w>s", {noremap = true})
map_normal("w\195\169", "<C-w>t") vim.api.nvim_set_keymap("n", "w\195\169", "<C-w>t", {noremap = true})
return map_normal("w\195\137", "<C-w>T") return vim.api.nvim_set_keymap("n", "w\195\137", "<C-w>T", {noremap = true})
end end
local function setup() local function setup()
if (vim.g.loaded_bepo_nvim == nil) then if (vim.g.loaded_bepo_nvim == nil) then