-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmappings.lua
More file actions
85 lines (76 loc) · 2.76 KB
/
mappings.lua
File metadata and controls
85 lines (76 loc) · 2.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
vim.g.mapleader = " "
local M = {}
-- General keybinds
function M.other()
return {
{ "<leader><tab>", vim.cmd.Neotree, desc = "Open File Tree" },
{ "<leader><leader>", function() vim.cmd.Telescope("find_files") end, desc = "Open File Finder" },
{ "<leader>b", function() vim.cmd.Telescope("buffers") end, desc = "List Buffers" },
{ "<leader>g", function() vim.cmd.Telescope("live_grep") end, desc = "Grep Working Directory" },
{ "<leader>r", function() vim.cmd.Telescope("resume") end, desc = "Resume Telescope" },
{ "<leader>c", group = "Code" },
{ "<leader>ca", vim.lsp.buf.code_action, desc = "Action", mode = { "n", "v" } },
{ "<leader>cf", vim.lsp.buf.format, desc = "Format", mode = { "n", "v" } },
{ "<leader>cr", vim.lsp.buf.rename, desc = "Rename" },
{ "<leader>cd", function() vim.cmd.Telescope("lsp_definitions") end, desc = "Definitions" },
{ "<leader>cu", function() vim.cmd.Telescope("lsp_references") end, desc = "Usages" },
{ "<leader>cs", function() vim.cmd.Telescope("lsp_document_symbols") end, desc = "Symbols" },
{ "<C-Space>", vim.cmd.stopinsert, desc = "Exit terminal mode", mode = "t" }
}
end
-- File tree keybinds
-- Press ? to show the help window
function M.neotree()
return {
["<space>"] = "none", -- Fix for using space as <leader>
["n"] = "new_typst_note" -- Copy the typst template to the specified location in the current context
}
end
-- Keybinds when a preview server is attached
function M.preview(buffer)
local preview = require("tide.preview")
return {
mode = "n",
buffer = buffer,
{ "<leader>p", preview.start, desc = "Preview > Start" },
{ "<leader>P", preview.kill, desc = "Preview > Stop" },
{ "<leader>m", preview.pin, desc = "Preview > Pin Main File" },
{ "<leader>M", preview.unpin, desc = "Preview > Unpin Main File" },
}
end
-- Keybinds for typst files
function M.typst(buffer)
return {
mode = "n",
buffer = buffer,
{
"<leader>n",
function()
local tideproject = require("tide.tideproject").current()
if tideproject ~= nil then
tideproject:new_rnote_doc()
else
vim.notify("No tideproject active")
end
end,
desc = "New Rnote Document"
}
}
end
-- Keybinds for autocompletion
-- Multiple actions are cycled when pressing the keybind multiple times
function M.blink()
return {
preset = "enter", -- See https://github.com/Saghen/blink.cmp/blob/4cc0e2bc27fc5ff67f846808e42d3046e05c2f11/lua/blink/cmp/keymap.lua#L47
['<C-space>'] = {
'show',
require("blink.cmp.signature.trigger").show,
'show_documentation', 'hide_documentation'
},
['<C-e>'] = {
vim.schedule_wrap(require("blink.cmp.signature.trigger").hide),
'hide'
},
}
end
return M