Add opencode and notes/todo configuration
This commit is contained in:
+17
-21
@@ -47,14 +47,10 @@ _G.Config.leader_group_clues = {
|
||||
{ mode = 'n', keys = '<Leader>m', desc = '+Map' },
|
||||
{ mode = 'n', keys = '<Leader>o', desc = '+Other' },
|
||||
{ mode = 'n', keys = '<Leader>s', desc = '+Session' },
|
||||
{ mode = 'n', keys = '<Leader>t', desc = '+Terminal' },
|
||||
{ mode = 'x', keys = '<Leader>g', desc = '+Git' },
|
||||
{ mode = 'x', keys = '<Leader>z', desc = '+Notes' },
|
||||
}
|
||||
|
||||
-- Comodities
|
||||
vim.keymap.set({'n', 'x'}, '<Leader>y', '"y', { desc = "Yank" })
|
||||
vim.keymap.set({'n', 'x'}, '<Leader>d', '"d', { desc = "Cut" })
|
||||
|
||||
-- Helpers for a more concise `<Leader>` mappings.
|
||||
-- Most of the mappings use `<Cmd>...<CR>` string as a right hand side (RHS) in
|
||||
-- an attempt to be more concise yet descriptive. See `:h <Cmd>`.
|
||||
@@ -63,14 +59,20 @@ vim.keymap.set({'n', 'x'}, '<Leader>d', '"d', { desc = "Cut" })
|
||||
local nmap_leader = function(suffix, rhs, desc)
|
||||
vim.keymap.set('n', '<Leader>' .. suffix, rhs, { desc = desc })
|
||||
end
|
||||
|
||||
local xmap_leader = function(suffix, rhs, desc)
|
||||
vim.keymap.set('x', '<Leader>' .. suffix, rhs, { desc = desc })
|
||||
end
|
||||
|
||||
local vmap_leader = function(suffix, rhs, desc)
|
||||
vim.keymap.set('v', '<Leader>' .. suffix, rhs, { desc = desc })
|
||||
end
|
||||
|
||||
-- a is for 'AI'
|
||||
nmap_leader('ac', ':ClaudeCode<CR>', 'Toggle Claude')
|
||||
nmap_leader('af', ':ClaudeCodeFocus<CR>', 'Focus Claude')
|
||||
nmap_leader('ar', ':ClaudeCode --resume<CR>', 'Resume Claude')
|
||||
|
||||
nmap_leader('ac', ':lua require("opencode").toggle()<CR>', 'Toggle Opencode')
|
||||
nmap_leader('af', ':lua require("opencode").select()<CR>', 'Execute Opencode action...')
|
||||
nmap_leader('aa', ':luat require("opencode").ask("@this: ", { submit = true })', 'Ask Opencode')
|
||||
|
||||
-- b is for 'Buffer'. Common usage:
|
||||
-- - `<Leader>bs` - create scratch (temporary) buffer
|
||||
@@ -176,19 +178,13 @@ nmap_leader('oz', '<Cmd>lua MiniMisc.zoom()<CR>', 'Zoom toggle')
|
||||
nmap_leader('om', '<Cmd>Mason<CR>', 'Open Mason')
|
||||
nmap_leader('ou', '<Cmd>DepsUpdate<CR>', 'Update plugins')
|
||||
|
||||
-- s is for 'Session'. Common usage:
|
||||
-- - `<Leader>sn` - start new session
|
||||
-- - `<Leader>sr` - read previously started session
|
||||
-- - `<Leader>sd` - delete previously started session
|
||||
local session_new = 'MiniSessions.write(vim.fn.input("Session name: "))'
|
||||
|
||||
nmap_leader('sd', '<Cmd>lua MiniSessions.select("delete")<CR>', 'Delete')
|
||||
nmap_leader('sn', '<Cmd>lua ' .. session_new .. '<CR>', 'New')
|
||||
nmap_leader('sr', '<Cmd>lua MiniSessions.select("read")<CR>', 'Read')
|
||||
nmap_leader('sw', '<Cmd>lua MiniSessions.write()<CR>', 'Write current')
|
||||
|
||||
-- t is for 'Terminal'
|
||||
nmap_leader('tT', '<Cmd>horizontal term<CR>', 'Terminal (horizontal)')
|
||||
nmap_leader('tt', '<Cmd>vertical term<CR>', 'Terminal (vertical)')
|
||||
-- z if for notes and todos
|
||||
nmap_leader('zz', "<Cmd>ZkNotes {sort={'modified'}}<CR>", 'Notes picker')
|
||||
nmap_leader('zn', "<Cmd>ZkNew {title = vim.fn.input('Title: ')}<CR>", 'New note')
|
||||
nmap_leader('zt', "<Cmd>ZkTags<CR>", 'Notes tags')
|
||||
nmap_leader('zf', "<Cmd>ZkNotes {sort={'modified'}, match={vim.fn.input('Search: ')}}<CR>", 'Search')
|
||||
vmap_leader('zm', "<Cmd>'<,'>ZkMatch<CR>", "Search match")
|
||||
nmap_leader('zt', "<Cmd>e ~/notes/TODO.md<CR>", "Open TODOs")
|
||||
|
||||
-- stylua: ignore end
|
||||
|
||||
Reference in New Issue
Block a user