aboutsummaryrefslogtreecommitdiffhomepage
path: root/vim/lua
diff options
context:
space:
mode:
Diffstat (limited to 'vim/lua')
-rw-r--r--vim/lua/configs/conform.lua5
-rw-r--r--vim/lua/configs/lspconfig.lua2
-rw-r--r--vim/lua/mappings.lua103
-rw-r--r--vim/lua/plugins/init.lua10
4 files changed, 68 insertions, 52 deletions
diff --git a/vim/lua/configs/conform.lua b/vim/lua/configs/conform.lua
index a000447..3553caf 100644
--- a/vim/lua/configs/conform.lua
+++ b/vim/lua/configs/conform.lua
@@ -1,8 +1,9 @@
1local options = { 1local options = {
2 formatters_by_ft = { 2 formatters_by_ft = {
3 lua = { "stylua" }, 3 lua = { "stylua" },
4 -- css = { "prettier" }, 4 css = { "prettier" },
5 -- html = { "prettier" }, 5 html = { "prettier" },
6 markdown = { "prettier" }
6 }, 7 },
7 8
8 -- format_on_save = { 9 -- format_on_save = {
diff --git a/vim/lua/configs/lspconfig.lua b/vim/lua/configs/lspconfig.lua
index a73657a..c0fda79 100644
--- a/vim/lua/configs/lspconfig.lua
+++ b/vim/lua/configs/lspconfig.lua
@@ -1,4 +1,4 @@
1-- EXAMPLE 1-- EXAMPLE
2local on_attach = require("nvchad.configs.lspconfig").on_attach 2local on_attach = require("nvchad.configs.lspconfig").on_attach
3local on_init = require("nvchad.configs.lspconfig").on_init 3local on_init = require("nvchad.configs.lspconfig").on_init
4local capabilities = require("nvchad.configs.lspconfig").capabilities 4local capabilities = require("nvchad.configs.lspconfig").capabilities
diff --git a/vim/lua/mappings.lua b/vim/lua/mappings.lua
index 7408708..fd58297 100644
--- a/vim/lua/mappings.lua
+++ b/vim/lua/mappings.lua
@@ -2,63 +2,63 @@
2 2
3-- add yours here 3-- add yours here
4 4
5local map = vim.keymap.set 5vim.keymap.set("i", "jk", "<ESC>")
6 6vim.keymap.set("n", "<leader>co", "<cmd>cd ~/.config/nvim<CR><cmd>pwd<CR>")
7map("i", "jk", "<ESC>")
8vim.cmd("command! W execute 'SudaWrite %'") 7vim.cmd("command! W execute 'SudaWrite %'")
9 8
10-- map({ "n", "i", "v" }, "<C-s>", "<cmd> w <cr>") 9-- map({ "n", "i", "v" }, "<C-s>", "<cmd> w <cr>")
11 10
12map("n", "<Esc>", "<cmd>noh<CR>", { desc = "general clear highlights" }) 11vim.keymap.set("n", "<Esc>", "<cmd>noh<CR>", { desc = "general clear highlights" })
13 12
14-- map("n", "<C-c>", "<cmd>%y+<CR>", { desc = "file copy whole" }) 13-- map("n", "<C-c>", "<cmd>%y+<CR>", { desc = "file copy whole" })
15 14
16-- map("n", "<leader>n", "<cmd>set nu!<CR>", { desc = "toggle line number" }) 15-- map("n", "<leader>n", "<cmd>set nu!<CR>", { desc = "toggle line number" })
17-- map("n", "<leader>rn", "<cmd>set rnu!<CR>", { desc = "toggle relative number" }) 16-- map("n", "<leader>rn", "<cmd>set rnu!<CR>", { desc = "toggle relative number" })
18map("n", "<leader>ch", "<cmd>NvCheatsheet<CR>", { desc = "toggle nvcheatsheet" }) 17vim.keymap.set("n", "<leader>ch", "<cmd>NvCheatsheet<CR>", { desc = "toggle nvcheatsheet" })
19 18
20map("n", "<leader>F", function() 19vim.keymap.set("n", "<leader>F", function()
21 require("conform").format { lsp_fallback = true } 20 require("conform").format { lsp_fallback = true }
22end, { desc = "format files" }) 21end, { desc = "format files" })
23 22
24-- global lsp mappings 23-- global lsp mappings
25map("n", "<leader>ds", vim.diagnostic.setloclist, { desc = "lsp diagnostic loclist" }) 24vim.keymap.set("n", "<leader>ds", vim.diagnostic.setloclist, { desc = "lsp diagnostic loclist" })
26 25
27-- tabufline 26-- tabufline
28map("n", "<tab>", function() 27vim.keymap.set("n", "<tab>", function()
29 require("nvchad.tabufline").next() 28 require("nvchad.tabufline").next()
30end, { desc = "buffer goto next" }) 29end, { desc = "buffer goto next" })
31 30
32map("n", "<S-tab>", function() 31vim.keymap.set("n", "<S-tab>", function()
33 require("nvchad.tabufline").prev() 32 require("nvchad.tabufline").prev()
34end, { desc = "buffer goto prev" }) 33end, { desc = "buffer goto prev" })
35 34
36map("n", "<leader>x", function() 35vim.keymap.set("n", "<leader>x", function()
37 require("nvchad.tabufline").close_buffer() 36 require("nvchad.tabufline").close_buffer()
38end, { desc = "buffer close" }) 37end, { desc = "buffer close" })
39 38
40-- Comment 39-- Comment
41map("n", "<leader>/", "gcc", { desc = "comment toggle", remap = true }) 40vim.keymap.set("n", "<leader>/", "gcc", { desc = "comment toggle", remap = true })
42map("v", "<leader>/", "gc", { desc = "comment toggle", remap = true }) 41vim.keymap.set("v", "<leader>/", "gc", { desc = "comment toggle", remap = true })
43 42
44-- nvimtree 43-- nvimtree
45map("n", "<C-n>", "<cmd>NvimTreeToggle<CR>", { desc = "nvimtree toggle window" }) 44vim.keymap.set("n", "<C-n>", "<cmd>NvimTreeToggle<CR>", { desc = "nvimtree toggle window" })
46map("n", "<leader>nf", "<cmd>NvimTreeFocus<CR>", { desc = "nvimtree focus window" }) 45vim.keymap.set("n", "<leader>nf", "<cmd>NvimTreeFocus<CR>", { desc = "nvimtree focus window" })
47 46
48-- telescope 47-- telescope
49map("n", "<leader>f", "<cmd>Telescope oldfiles<CR>", { desc = "telescope find oldfiles" }) 48vim.keymap.set("n", "<leader>f", "<cmd>Telescope oldfiles<CR>", { desc = "telescope find oldfiles" })
50map("n", "<leader>b", "<cmd>Telescope buffers<CR>", { desc = "telescope find buffers" }) 49vim.keymap.set("n", "<leader>b", "<cmd>Telescope buffers<CR>", { desc = "telescope find buffers" })
51map("n", "<leader>/", "<cmd>Telescope current_buffer_fuzzy_find<CR>", { desc = "telescope find in current buffer" }) 50vim.keymap.set("n", "<leader>/", "<cmd>Telescope current_buffer_fuzzy_find<CR>",
52map("n", "<leader>sf", "<cmd>Telescope find_files<cr>", { desc = "telescope find files" }) 51 { desc = "telescope find in current buffer" })
53map("n", "<leader>sF", "<cmd>Telescope find_files follow=true no_ignore=true hidden=true<CR>", 52vim.keymap.set("n", "<leader>sf", "<cmd>Telescope find_files<cr>", { desc = "telescope find files" })
53vim.keymap.set("n", "<leader>sF", "<cmd>Telescope find_files follow=true no_ignore=true hidden=true<CR>",
54 { desc = "telescope find all files" }) 54 { desc = "telescope find all files" })
55map("n", "<leader>sg", "<cmd>Telescope live_grep<CR>", { desc = "telescope live grep" }) 55vim.keymap.set("n", "<leader>sg", "<cmd>Telescope live_grep<CR>", { desc = "telescope live grep" })
56 56
57map("n", "<leader>gf", "<cmd>Telescope git_files<CR>", { desc = "telescope git files" }) 57vim.keymap.set("n", "<leader>gf", "<cmd>Telescope git_files<CR>", { desc = "telescope git files" })
58map("n", "<leader>sH", "<cmd>Telescope help_tags<CR>", { desc = "telescope help page" }) 58vim.keymap.set("n", "<leader>sH", "<cmd>Telescope help_tags<CR>", { desc = "telescope help page" })
59map("n", "<leader>tt", ":Telescope ", { desc = "telescope help page" }) 59vim.keymap.set("n", "<leader>tt", ":Telescope ", { desc = "telescope help page" })
60map('n', '<leader>sk', "<cmd>Telescope keymaps<CR>", { desc = 'telescope keymaps' }) 60vim.keymap.set('n', '<leader>sk', "<cmd>Telescope keymaps<CR>", { desc = 'telescope keymaps' })
61map("n", "<leader>pt", "<cmd>Telescope terms<CR>", { desc = "telescope pick hidden term" }) 61vim.keymap.set("n", "<leader>pt", "<cmd>Telescope terms<CR>", { desc = "telescope pick hidden term" })
62 62
63vim.keymap.set('n', '<leader>ss', function() 63vim.keymap.set('n', '<leader>ss', function()
64 local current_filetype = vim.bo.filetype 64 local current_filetype = vim.bo.filetype
@@ -82,6 +82,26 @@ vim.keymap.set('n', '<leader>ss', function()
82 } 82 }
83end, { desc = '[S]earch [S]nippets' }) 83end, { desc = '[S]earch [S]nippets' })
84 84
85vim.keymap.set('n', '<leader>sd', function()
86 require('telescope.builtin').oldfiles {
87 prompt_title = 'CD to',
88 attach_mappings = function(prompt_bufnr, map)
89 local cd_to_dir = function()
90 local file = require('telescope.actions.state').get_selected_entry()[1]
91 local path = string.match(file, "(.*[/\\])")
92 require('telescope.actions').close(prompt_bufnr)
93 vim.cmd("cd " .. path)
94 vim.cmd("pwd")
95 end
96
97 map('i', '<CR>', cd_to_dir)
98 map('n', '<CR>', cd_to_dir)
99
100 return true
101 end,
102 }
103end, { desc = 'Search Directory' })
104
85vim.keymap.set('n', '<leader>sn', function() 105vim.keymap.set('n', '<leader>sn', function()
86 vim.ui.input({ prompt = 'Snippet Name: ' }, function(snippet_path) 106 vim.ui.input({ prompt = 'Snippet Name: ' }, function(snippet_path)
87 local current_filetype 107 local current_filetype
@@ -112,27 +132,27 @@ end, { desc = "Create a new snippet" })
112-- map("t", "<C-x>", "<C-\\><C-N>", { desc = "terminal escape terminal mode" }) 132-- map("t", "<C-x>", "<C-\\><C-N>", { desc = "terminal escape terminal mode" })
113 133
114-- new terminals 134-- new terminals
115map("n", "<leader><leader>h", function() require("nvchad.term").new { pos = "sp" } end, 135vim.keymap.set("n", "<leader><leader>h", function() require("nvchad.term").new { pos = "sp" } end,
116 { desc = "terminal new horizontal term" }) 136 { desc = "terminal new horizontal term" })
117map("n", "<leader>v", function() require("nvchad.term").new { pos = "vsp" } end, 137vim.keymap.set("n", "<leader>v", function() require("nvchad.term").new { pos = "vsp" } end,
118 { desc = "terminal new vertical window" }) 138 { desc = "terminal new vertical window" })
119-- toggleable 139-- toggleable
120map({ "n", "t" }, "<A-v>", function() require("nvchad.term").toggle { pos = "vsp", id = "vtoggleTerm" } end, 140vim.keymap.set({ "n", "t" }, "<A-v>", function() require("nvchad.term").toggle { pos = "vsp", id = "vtoggleTerm" } end,
121 { desc = "terminal toggleable vertical term" }) 141 { desc = "terminal toggleable vertical term" })
122map({ "n", "t" }, "<A-t>", function() require("nvchad.term").toggle { pos = "sp", id = "htoggleTerm" } end, 142vim.keymap.set({ "n", "t" }, "<A-t>", function() require("nvchad.term").toggle { pos = "sp", id = "htoggleTerm" } end,
123 { desc = "terminal new horizontal term" }) 143 { desc = "terminal new horizontal term" })
124map({ "n", "t" }, "<A-i>", function() require("nvchad.term").toggle { pos = "float", id = "floatTerm" } end, 144vim.keymap.set({ "n", "t" }, "<A-i>", function() require("nvchad.term").toggle { pos = "float", id = "floatTerm" } end,
125 { desc = "terminal toggle floating term" }) 145 { desc = "terminal toggle floating term" })
126 146
127-- whichkey 147-- whichkey
128map("n", "<leader>wK", "<cmd>WhichKey <CR>", { desc = "whichkey all keymaps" }) 148vim.keymap.set("n", "<leader>wK", "<cmd>WhichKey <CR>", { desc = "whichkey all keymaps" })
129 149
130map("n", "<leader>wk", function() 150vim.keymap.set("n", "<leader>wk", function()
131 vim.cmd("WhichKey " .. vim.fn.input "WhichKey: ") 151 vim.cmd("WhichKey " .. vim.fn.input "WhichKey: ")
132end, { desc = "whichkey query lookup" }) 152end, { desc = "whichkey query lookup" })
133 153
134-- blankline 154-- blankline
135map("n", "<leader>cc", function() 155vim.keymap.set("n", "<leader>cc", function()
136 local config = { scope = {} } 156 local config = { scope = {} }
137 config.scope.exclude = { language = {}, node_type = {} } 157 config.scope.exclude = { language = {}, node_type = {} }
138 config.scope.include = { node_type = {} } 158 config.scope.include = { node_type = {} }
@@ -148,11 +168,12 @@ map("n", "<leader>cc", function()
148end, { desc = "blankline jump to current context" }) 168end, { desc = "blankline jump to current context" })
149 169
150-- [[ Configure Obsidian.nvim ]] 170-- [[ Configure Obsidian.nvim ]]
151map('n', "<leader>oo", ':Obsidian') 171vim.keymap.set('n', "<leader>oo", ':Obsidian')
152map('n', "<leader>ot", ':ObsidianTags<CR>') 172vim.keymap.set('n', "<leader>ot", ':ObsidianTags<CR>')
153map('n', "<leader>os", ':ObsidianSearch<CR>') 173vim.keymap.set('n', "<leader>os", ':ObsidianSearch<CR>')
154map('n', "<leader>oq", ':ObsidianQuickSwitch<CR>') 174vim.keymap.set('n', "<leader>oq", ':ObsidianQuickSwitch<CR>')
155map('v', "<leader>on", ':ObsidianLinkNew<CR>') 175vim.keymap.set('v', "<leader>on", ':ObsidianLinkNew<CR>')
176vim.keymap.set('n', "<leader>ol", ':ObsidianLinks<CR>')
156 177
157-- vim.cmd("let g:mkdp_browser = 'surf'") 178-- vim.cmd("let g:mkdp_browser = 'surf'")
158vim.cmd("let g:mkdp_browser = 'firefox'") 179vim.cmd("let g:mkdp_browser = 'firefox'")
@@ -170,7 +191,7 @@ vim.keymap.set('n', "<space>", ':HopWord<CR>')
170vim.keymap.set('n', '<C-.>', ':HopChar1<CR>') 191vim.keymap.set('n', '<C-.>', ':HopChar1<CR>')
171 192
172-- [ Aerial ] 193-- [ Aerial ]
173vim.keymap.set("n", "{", "<cmd>AerialPrev<CR>", { buffer = bufnr }) 194vim.keymap.set("n", "{", "<cmd>AerialPrev<CR>", {})
174vim.keymap.set("n", "}", "<cmd>AerialNext<CR>", { buffer = bufnr }) 195vim.keymap.set("n", "}", "<cmd>AerialNext<CR>", {})
175vim.keymap.set("n", "<leader><leader>a", "<cmd>Telescope aerial<CR>") 196vim.keymap.set("n", "<leader><leader>a", "<cmd>Telescope aerial<CR>")
176vim.keymap.set("n", "<leader><leader>A", "<cmd>AerialToggle!left<CR>") 197vim.keymap.set("n", "<leader><leader>A", function() require("aerial").toggle({ direction = "left" }) end)
diff --git a/vim/lua/plugins/init.lua b/vim/lua/plugins/init.lua
index f6fb013..2342d18 100644
--- a/vim/lua/plugins/init.lua
+++ b/vim/lua/plugins/init.lua
@@ -40,7 +40,7 @@ return {
40 -- Add indentation guides even on blank lines 40 -- Add indentation guides even on blank lines
41 'lukas-reineke/indent-blankline.nvim', 41 'lukas-reineke/indent-blankline.nvim',
42 -- See `:help ibl` 42 -- See `:help ibl`
43 enabled = false, 43 enabled = true,
44 main = "ibl", 44 main = "ibl",
45 opts = { 45 opts = {
46 indent = { char = "┊" }, 46 indent = { char = "┊" },
@@ -173,13 +173,6 @@ return {
173 { 173 {
174 'stevearc/aerial.nvim', 174 'stevearc/aerial.nvim',
175 opts = { 175 opts = {
176 on_attach = function(bufnr)
177 -- Jump forwards/backwards with '{' and '}'
178 vim.keymap.set("n", "{", "<cmd>AerialPrev<CR>", { buffer = bufnr })
179 vim.keymap.set("n", "}", "<cmd>AerialNext<CR>", { buffer = bufnr })
180 vim.keymap.set("n", "<leader><leader>a", "<cmd>Telescope aerial<CR>")
181 vim.keymap.set("n", "<leader><leader>A", "<cmd>AerialToggle!left<CR>")
182 end,
183 }, 176 },
184 -- Optional dependencies 177 -- Optional dependencies
185 dependencies = { 178 dependencies = {
@@ -213,6 +206,7 @@ return {
213 { 206 {
214 "williamboman/mason.nvim", 207 "williamboman/mason.nvim",
215 opts = { 208 opts = {
209 automatically_installation = true,
216 ensure_installed = { 210 ensure_installed = {
217 "lua-language-server", "stylua", 211 "lua-language-server", "stylua",
218 "html-lsp", "css-lsp", "prettier" 212 "html-lsp", "css-lsp", "prettier"