diff --git a/lazy-lock.json b/lazy-lock.json index f8e30a6..26d23a8 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -1,18 +1,18 @@ { - "CopilotChat.nvim": { "branch": "main", "commit": "09d38bed9148553d38d2dc5407293f9fcce491bd" }, + "CopilotChat.nvim": { "branch": "main", "commit": "371620e550efda53fa97cf177448b46dbd100c63" }, "LazyVim": { "branch": "main", "commit": "3f034d0a7f58031123300309f2efd3bb0356ee21" }, - "SchemaStore.nvim": { "branch": "main", "commit": "c183ec0ee5847642f3e8a2de881fc9cfebec1536" }, + "SchemaStore.nvim": { "branch": "main", "commit": "e03b50ce453b1ce9f6b7805239c52db604d740dc" }, "blink-cmp-copilot": { "branch": "main", "commit": "439cff78780c033aa23cf061d7315314b347e3c1" }, "blink.cmp": { "branch": "main", "commit": "dcda20d3aa345025699a920c45b0a0603551f41d" }, "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" }, "catppuccin": { "branch": "main", "commit": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429" }, "conform.nvim": { "branch": "master", "commit": "db8a4a9edb217067b1d7a2e0362c74bfe9cc944d" }, "copilot.lua": { "branch": "master", "commit": "30321e33b03cb924fdcd6a806a0dc6fa0b0eafb9" }, - "crates.nvim": { "branch": "main", "commit": "6bf1b4ceb62f205c903590ccc62061aafc17024a" }, + "crates.nvim": { "branch": "main", "commit": "403a0abef0e2aec12749a534dc468d6fd50c6741" }, "flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" }, "friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" }, "gitsigns.nvim": { "branch": "main", "commit": "4c40357994f386e72be92a46f41fc1664c84c87d" }, - "grug-far.nvim": { "branch": "main", "commit": "3a370c3a47b579f67a365c16d7bb740fa9d8eb7d" }, + "grug-far.nvim": { "branch": "main", "commit": "293f28a7279629076191e6d6cc2397f20e783268" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, "lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" }, "lualine.nvim": { "branch": "master", "commit": "f4f791f67e70d378a754d02da068231d2352e5bc" }, @@ -24,8 +24,8 @@ "noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" }, "nui.nvim": { "branch": "main", "commit": "8d3bce9764e627b62b07424e0df77f680d47ffdb" }, "nvim-lint": { "branch": "master", "commit": "6e9dd545a1af204c4022a8fcd99727ea41ffdcc8" }, - "nvim-lspconfig": { "branch": "master", "commit": "fd26f8626c03b424f7140d454031d1dcb8d23513" }, - "nvim-treesitter": { "branch": "master", "commit": "ffd284c4706d91c0d94916995f584b22ce89afcb" }, + "nvim-lspconfig": { "branch": "master", "commit": "8a1529e46eef5efc86c34c8d9bdd313abc2ecba0" }, + "nvim-treesitter": { "branch": "master", "commit": "cf0eabc16cf32d69f7612d0e023ef210d84cdde6" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "143856b1cee509a190cc8c17ddb0638002171235" }, "nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" }, "persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" }, @@ -36,5 +36,6 @@ "tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" }, "trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" }, "ts-comments.nvim": { "branch": "main", "commit": "1bd9d0ba1d8b336c3db50692ffd0955fe1bb9f0c" }, - "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" } + "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }, + "window-picker": { "branch": "main", "commit": "5902827d0e338890a22849e2f18dc80d1cc1a8db" } } diff --git a/lua/config/keymaps.lua b/lua/config/keymaps.lua index 2c134f7..0257a42 100644 --- a/lua/config/keymaps.lua +++ b/lua/config/keymaps.lua @@ -1,3 +1,10 @@ -- Keymaps are automatically loaded on the VeryLazy event -- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua -- Add any additional keymaps here +vim.keymap.set("n", "", ":w", { desc = "Save file", silent = true }) +vim.keymap.set("i", "", ":wa", { desc = "Save file", silent = true }) +vim.g.neovide_input_macos_option_key_is_meta = "only_left" +if vim.g.neovide then + -- Enable Command key mappings + vim.g.neovide_input_use_logo = true -- Enable the Command/Super/Windows key +end diff --git a/lua/config/options.lua b/lua/config/options.lua index e591ea0..9479351 100644 --- a/lua/config/options.lua +++ b/lua/config/options.lua @@ -1,14 +1,20 @@ -- Options are automatically loaded before lazy.nvim startup -- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua -- Add any additional options here - -- Set default split behavior vim.opt.splitright = true -- Vertical splits go to the right vim.opt.splitbelow = true -- Horizontal splits go below --- Prevent automatic comment continuation -vim.opt.formatoptions:remove({ "c", "r", "o" }) - -- Set absolute line numbers instead of relative vim.opt.number = true vim.opt.relativenumber = false + +-- Prevent automatic comment continuation +-- This needs to be in an autocmd to override filetype settings +vim.api.nvim_create_autocmd("FileType", { + pattern = "*", + callback = function() + vim.opt_local.formatoptions:remove({ "c", "r", "o" }) + end, + desc = "Disable automatic comment continuation", +}) diff --git a/lua/plugins/window-picker.lua b/lua/plugins/window-picker.lua new file mode 100644 index 0000000..7dd5815 --- /dev/null +++ b/lua/plugins/window-picker.lua @@ -0,0 +1,45 @@ +return { + { + "s1n7ax/nvim-window-picker", + name = "window-picker", + event = "VeryLazy", + version = "v1.*", + config = function() + require("window-picker").setup({ + -- Set your configuration options here + autoselect_one = true, + include_current = false, + filter_rules = { + -- filter using buffer options + bo = { + -- if the file type is one of following, the window will be ignored + filetype = { "neo-tree", "neo-tree-popup", "notify", "lazy" }, + -- if the buffer type is one of following, the window will be ignored + buftype = { "terminal", "quickfix" }, + }, + }, + -- Other options: 'label', 'both' + selection_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", + show_prompt = true, + prompt_message = "Pick window: ", + }) + + -- Key mappings to select windows + vim.keymap.set("n", "wp", function() + local picked_window_id = require("window-picker").pick_window() or vim.api.nvim_get_current_win() + vim.api.nvim_set_current_win(picked_window_id) + end, { desc = "Pick window" }) + + -- Optional: Add a mapping to swap windows + vim.keymap.set("n", "ws", function() + local picked_window_id = require("window-picker").pick_window() or vim.api.nvim_get_current_win() + local current_window_id = vim.api.nvim_get_current_win() + local current_buffer = vim.api.nvim_get_current_buf() + local picked_buffer = vim.api.nvim_win_get_buf(picked_window_id) + + vim.api.nvim_win_set_buf(current_window_id, picked_buffer) + vim.api.nvim_win_set_buf(picked_window_id, current_buffer) + end, { desc = "Swap windows" }) + end, + }, +}