From 035cd2da44fe7c2fd3506caab6876f728da8a056 Mon Sep 17 00:00:00 2001 From: Maciej Jur Date: Mon, 26 Feb 2024 22:56:21 +0100 Subject: [PATCH] feat(nvim): insert date, treesitter text objects --- nvim/lazy-lock.json | 17 +++++++++-------- nvim/lua/config/keymaps.lua | 10 ++++++++++ nvim/lua/config/plugins.lua | 28 +++++++++++++++++++++++++++- 3 files changed, 46 insertions(+), 9 deletions(-) diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json index 5128aef..4e7be90 100644 --- a/nvim/lazy-lock.json +++ b/nvim/lazy-lock.json @@ -8,29 +8,30 @@ "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "diffview.nvim": { "branch": "main", "commit": "3dc498c9777fe79156f3d32dddd483b8b3dbd95f" }, "gitsigns.nvim": { "branch": "main", "commit": "2c2463dbd82eddd7dbab881c3a62cfbfbe3c67ae" }, - "haskell-tools.nvim": { "branch": "master", "commit": "1b739495b2b3ed82d18d7de367cc2754f33d2c15" }, + "haskell-tools.nvim": { "branch": "master", "commit": "217cb7958ebbebf360f7c43efd5129e66d748042" }, "kanagawa.nvim": { "branch": "master", "commit": "ab41956c4559c3eb21e713fcdf54cda1cb6d5f40" }, "lazy.nvim": { "branch": "main", "commit": "aedcd79811d491b60d0a6577a9c1701063c2a609" }, "lualine.nvim": { "branch": "master", "commit": "7d131a8d3ba5016229e8a1d08bf8782acea98852" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "fe4cce44dec93c69be17dad79b21de867dde118a" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "21d33d69a81f6351e5a5f49078b2e4f0075c8e73" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "3614a39aae98ccd34124b072939d6283853b3dd2" }, - "mason.nvim": { "branch": "main", "commit": "c43eeb5614a09dc17c03a7fb49de2e05de203924" }, + "mason.nvim": { "branch": "main", "commit": "3b5068f0fc565f337d67a2d315d935f574848ee7" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "f3941c57ec85d7bdb44fa53fd858fd80f159018f" }, - "neodev.nvim": { "branch": "main", "commit": "de3685b8c1cd439dd96b7958793f6f381f98652d" }, + "neodev.nvim": { "branch": "main", "commit": "3157f2e876fd6223d36cfa76bee4709247d62fa5" }, "nui.nvim": { "branch": "main", "commit": "c3c7fd618dcb5a89e443a2e1033e7d11fdb0596b" }, "nvim-cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" }, "nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" }, "nvim-dap": { "branch": "master", "commit": "fc880e82059eb21c0fa896be60146e5f17680648" }, "nvim-dap-ui": { "branch": "master", "commit": "9720eb5fa2f41988e8770f973cd11b76dd568a5d" }, "nvim-dap-vscode-js": { "branch": "main", "commit": "03bd29672d7fab5e515fc8469b7d07cc5994bbf6" }, - "nvim-lspconfig": { "branch": "master", "commit": "d1bab4cf4b69e49d6058028fd933d8ef5e74e680" }, + "nvim-lspconfig": { "branch": "master", "commit": "ec7d51a619049c7c597f469f81ea199db6794651" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, - "nvim-treesitter": { "branch": "master", "commit": "8e1df60b13301c9e3a14b79cddd7ccee1088d878" }, - "nvim-web-devicons": { "branch": "master", "commit": "14ac5887110b06b89a96881d534230dac3ed134d" }, + "nvim-treesitter": { "branch": "master", "commit": "18aa5ae3fd7245137bc41b5348102fe254405509" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "7f00d94543f1fd37cab2afa2e9a6cd54e1c6b9ef" }, + "nvim-web-devicons": { "branch": "master", "commit": "0bb67ef952ea3eb7b1bac9c011281471d99a27bc" }, "plenary.nvim": { "branch": "master", "commit": "4f71c0c4a196ceb656c824a70792f3df3ce6bb6d" }, "rustaceanvim": { "branch": "master", "commit": "bc8c4b8f7606d5b7c067cd8369e25c1a7ff77bd0" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, "telescope.nvim": { "branch": "0.1.x", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" }, - "vscode-js-debug": { "branch": "main", "commit": "61adc31bbc0fabdc620ba5202d71d92189c55b81" }, + "vscode-js-debug": { "branch": "main", "commit": "19cd30297dc05b7a7fa9d1d02a8e9dfc1749362e" }, "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" } } \ No newline at end of file diff --git a/nvim/lua/config/keymaps.lua b/nvim/lua/config/keymaps.lua index 1ee62d9..b084f14 100644 --- a/nvim/lua/config/keymaps.lua +++ b/nvim/lua/config/keymaps.lua @@ -34,6 +34,16 @@ n '[d' (vim.diagnostic.goto_prev) 'Previous diagnostic message' n ']d' (vim.diagnostic.goto_next) 'Next diagnostic message' n 'dl' (vim.diagnostic.setloclist) 'Diagnostic: list messages' +-- X +local function insert_date() + local row, col = unpack(vim.api.nvim_win_get_cursor(0)) + local text = os.date '!%Y-%m-%dT%H:%M:%SZ' ---@cast text string + col = math.min(#vim.api.nvim_get_current_line(), col + 1) + vim.api.nvim_buf_set_text(0, row - 1, col, row - 1, col, { text }) +end + +n 'xd' (insert_date) 'Execute: full date' + -- Meta local function open_config() diff --git a/nvim/lua/config/plugins.lua b/nvim/lua/config/plugins.lua index bc38154..260d85c 100644 --- a/nvim/lua/config/plugins.lua +++ b/nvim/lua/config/plugins.lua @@ -80,6 +80,9 @@ return { { 'nvim-treesitter/nvim-treesitter', build = ':TSUpdate', + dependencies = { + 'nvim-treesitter/nvim-treesitter-textobjects' + }, config = function() local configs = require 'nvim-treesitter.configs' @@ -123,6 +126,26 @@ return { node_decremental = '', }, }, + textobjects = { + select = { + enable = true, + keymaps = { + ['af'] = '@function.outer', + ['if'] = '@function.inner', + ['a?'] = '@conditional.outer', + ['i?'] = '@conditional.inner', + } + }, + move = { + enable = true, + goto_next_start = { + [']f'] = '@function.outer', + }, + goto_previous_start = { + ['[f'] = '@function.outer', + } + } + } } end, init = function() @@ -186,7 +209,10 @@ return { config = function() local disasm = require 'disasm' - n 'a' ':Disassemble' 'Disassemble' + n 'a' (disasm.disassemble) 'Disasm: Disassemble' + n 'Af' (disasm.disassemble_full) 'Disasm: Disassemble full' + n 'Ac' (disasm.reconfigure) 'Disasm: Configure' + n 'AC' (disasm.save_config) 'Disasm: Save config' disasm.setup() end