{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":779393727,"defaultBranch":"main","name":"dmacro.nvim","ownerLogin":"tani","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-03-29T18:26:46.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/5019902?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1715585266.0","currentOid":""},"activityList":{"items":[{"before":"21a9ec26e9267b944b1e048b378b0efd1372596f","after":"aef4a3cfae071ed856c8bd95c7b6bb57bc167b57","ref":"refs/heads/main","pushedAt":"2024-06-06T01:50:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"feat(dmacro): add null check for keys in play_macro function\n\nThis commit adds a null check for the 'keys' variable in the\nplay_macro function. This prevents potential null pointer\nexceptions when the 'keys' variable is not initialized. The\nchange also restructures the code for better readability and\nmaintains the existing functionality of the macro guessing\nand playing.","shortMessageHtmlLink":"feat(dmacro): add null check for keys in play_macro function"}},{"before":"b0fc22425546835c80363bc95f83035916242082","after":"21a9ec26e9267b944b1e048b378b0efd1372596f","ref":"refs/heads/main","pushedAt":"2024-06-05T10:17:33.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'refs/remotes/origin/main'","shortMessageHtmlLink":"Merge remote-tracking branch 'refs/remotes/origin/main'"}},{"before":"0b2675777184809b85a02373e12c1ce6a39d7dd1","after":"803101fafe17aee6cdc49d5309801b2356956c4a","ref":"refs/heads/develop","pushedAt":"2024-05-18T03:30:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"feat: Simplify dmacro setup and keymap set\n\nThis commit simplifies the dmacro setup by removing the local variable\n'dmacro'. It also changes the way the 'play_macro' function is set to\nthe '' keymap. The function is now directly required in the\nkeymap set call. This makes the code cleaner and easier to understand.","shortMessageHtmlLink":"feat: Simplify dmacro setup and keymap set"}},{"before":"d2312ce24c06ddb5b75265b7bfb5066e6d13c447","after":"0b2675777184809b85a02373e12c1ce6a39d7dd1","ref":"refs/heads/develop","pushedAt":"2024-05-18T03:25:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"feat(dmacro): refactor macro recording and setup\n\nThe macro recording functionality has been refactored into a separate\nfunction, `record_macro`, for better code organization and readability.\nThis function is now called in the `setup` function using `vim.on_key`.\n\nThe `setup` function in the README has been updated to reflect these\nchanges. It now suggests calling `dmacro.setup()` at an early phase\nlike `VimEnter` or `BufEnter`, or intensively in the `CursorHold` event.\n\nThe changes improve the flexibility and maintainability of the code.","shortMessageHtmlLink":"feat(dmacro): refactor macro recording and setup"}},{"before":"e636332426a69ce242fb8b0d07d5dd9f184d212b","after":"d2312ce24c06ddb5b75265b7bfb5066e6d13c447","ref":"refs/heads/develop","pushedAt":"2024-05-18T01:38:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"feat(dmacro): Simplify macro setup and rename function\n\nThe macro setup process has been simplified by introducing a new\n`dmacro.setup()` function. This change reduces the amount of code\nneeded to initialize the macro recorder.\n\nAdditionally, the `dmacro()` function has been renamed to\n`play_macro()`, making its purpose clearer and more intuitive.\n\nBREAKING CHANGE: The `dmacro()` function has been renamed to\n`play_macro()`. Please update your code accordingly.","shortMessageHtmlLink":"feat(dmacro): Simplify macro setup and rename function"}},{"before":"22b2b7987c97d192274b7b04240c31ba389f49e9","after":"e636332426a69ce242fb8b0d07d5dd9f184d212b","ref":"refs/heads/develop","pushedAt":"2024-05-18T00:35:22.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"fix(dmacro): simplify key detection and splitting\n\nThe functions `detect_dmacro_key` and `split_keys` have been removed as\nthey were overly complex for the task at hand. The `dmacro` function\nnow simply slices the keys based on a fixed size, and the `setup`\nfunction checks the macro length directly against the keys length. This\nsimplifies the code and improves readability.\n\nNote: vim.on_key fires only once after all keys in a combination are\ninput. For example, for dmacro_key = \"g@\", it doesn't fire between \"g\"\nand \"@\", but fires once \"g@\" is input as a whole.","shortMessageHtmlLink":"fix(dmacro): simplify key detection and splitting"}},{"before":"47e4041bbc73da6895eee13937624a2eac77719a","after":"b0fc22425546835c80363bc95f83035916242082","ref":"refs/heads/main","pushedAt":"2024-05-16T14:48:35.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"Merge branch 'develop'","shortMessageHtmlLink":"Merge branch 'develop'"}},{"before":"fa1c92fc899f87246029dced594abcafb4969bc9","after":"22b2b7987c97d192274b7b04240c31ba389f49e9","ref":"refs/heads/develop","pushedAt":"2024-05-16T14:46:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"fix: correct typo in README.md\n\nThis commit corrects a typo in the README.md file where the word \"late\"\nwas used instead of \"later\". This change is necessary for the correct\nunderstanding of the required Neovim version.","shortMessageHtmlLink":"fix: correct typo in README.md"}},{"before":"9e603a412b2436d55bd0169743e0e8b35921dff2","after":"fa1c92fc899f87246029dced594abcafb4969bc9","ref":"refs/heads/develop","pushedAt":"2024-05-16T14:44:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"feat(README): Update Neovim version requirement\n\nThe README has been updated to reflect the new Neovim version\nrequirement. Users are now advised to use nightly 0.10.0 or later.\nThe previous dependency on a specific pull request has been removed.","shortMessageHtmlLink":"feat(README): Update Neovim version requirement"}},{"before":"d3504dbab556e004b0decdfe0eb173c3bc8ebd9a","after":"9e603a412b2436d55bd0169743e0e8b35921dff2","ref":"refs/heads/develop","pushedAt":"2024-05-16T00:20:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"refactor(dmacro): simplify macro guessing logic\n\nThe previous implementation was unnecessarily complex and hard to\nunderstand. It created two identical spans and compared them with a\ndouble span. The new implementation simplifies this by creating two\nspans from different parts of the keys and comparing them directly.\nThis makes the code easier to read and understand.","shortMessageHtmlLink":"refactor(dmacro): simplify macro guessing logic"}},{"before":"6ae9bed7126835a536a32c75d7570acc16cceba8","after":"d3504dbab556e004b0decdfe0eb173c3bc8ebd9a","ref":"refs/heads/develop","pushedAt":"2024-05-15T10:04:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"refactor(dmacro): optimize guess_macro_1 function\n\nThe guess_macro_1 function in dmacro.lua has been refactored for\noptimization. The changes include modifying the way 'span' and 'double'\nvariables are calculated. This change simplifies the code and potentially\nimproves performance.","shortMessageHtmlLink":"refactor(dmacro): optimize guess_macro_1 function"}},{"before":"98ed9cd49b0aa5ac73d74fc296f1f67cc67f1fd1","after":"6ae9bed7126835a536a32c75d7570acc16cceba8","ref":"refs/heads/develop","pushedAt":"2024-05-15T09:57:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"feat(dmacro): Improve macro guessing and key handling\n\nThis commit improves the macro guessing logic in the `guess_macro_1` and\n`guess_macro_2` functions. The new logic better handles repeated patterns\nand completions between patterns.\n\nThe key handling in `create_macro_recorder` and `play_macro` functions is\nalso updated to better manage the keys state. The slicing of keys in the\n`play_macro` function is adjusted to correctly drop the first key.\n\nThe changes are reflected in the README and the unit tests are updated\naccordingly.","shortMessageHtmlLink":"feat(dmacro): Improve macro guessing and key handling"}},{"before":"b24944864b9503baba8b7ae0ce43c0c1a933511c","after":"98ed9cd49b0aa5ac73d74fc296f1f67cc67f1fd1","ref":"refs/heads/develop","pushedAt":"2024-05-14T02:54:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"feat: Add unit tests for dmacro\n\nThis commit introduces unit tests for the dmacro module. The tests cover\nfunctions such as guess_macro_1, guess_macro_2, get_and_set_state, and\ncreate_macro_recorder. A Makefile is also added to facilitate running\nthese tests.","shortMessageHtmlLink":"feat: Add unit tests for dmacro"}},{"before":"053d35986e7c2458a987187d4f978102329dedae","after":"b24944864b9503baba8b7ae0ce43c0c1a933511c","ref":"refs/heads/develop","pushedAt":"2024-05-14T02:34:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"feat(dmacro): Refactor macro guessing functions\n\nThe functions `guess_macro_1` and `guess_macro_2` have been refactored\nto be part of the `_M` module. This change allows these functions to be\nused elsewhere in the codebase. The functions have also been documented\nwith LuaDoc comments.\n\nThe `create_macro_recorder` function has been updated to use\n`vim.list_extend` instead of `vim.fn.extend` for extending lists. This\nchange is more idiomatic and consistent with the rest of the codebase.","shortMessageHtmlLink":"feat(dmacro): Refactor macro guessing functions"}},{"before":"e09040adc3a6c9d724977ba5e46c4922eac405aa","after":"053d35986e7c2458a987187d4f978102329dedae","ref":"refs/heads/develop","pushedAt":"2024-05-13T07:37:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"feat(dmacro): Rename variable for clarity\n\nThe variable `dmacro_prev_macro` has been renamed to `dmacro_macro` to\nbetter reflect its purpose. This change improves code readability and\nmaintainability.","shortMessageHtmlLink":"feat(dmacro): Rename variable for clarity"}},{"before":null,"after":"e09040adc3a6c9d724977ba5e46c4922eac405aa","ref":"refs/heads/develop","pushedAt":"2024-05-13T07:27:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"feat(dmacro): Refactor and enhance dmacro functionality\n\nThis commit refactors the dmacro module to improve its functionality.\nThe main changes include:\n\n- The module now exports a table of functions instead of a single setup\n function.\n- The state (keys and previous macro) is now stored in the buffer and can\n be retrieved and set with get_state and set_state functions.\n- The macro recorder is now created with a function that takes the\n dmacro_key as a parameter.\n- The play_macro function now takes the keys and the macro as parameters\n and returns the updated keys and the played macro.\n- The setup function now takes a table of options and sets up a keymap for\n the dmacro_key to play the macro.\n\nThese changes make the module more flexible and easier to use.","shortMessageHtmlLink":"feat(dmacro): Refactor and enhance dmacro functionality"}},{"before":"db0738cee0fd5153d158429c00ef34669e996957","after":"47e4041bbc73da6895eee13937624a2eac77719a","ref":"refs/heads/main","pushedAt":"2024-05-13T03:59:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"1912c040eeb0d6ba0ca0579b4c0cbc1ca1543694","after":"db0738cee0fd5153d158429c00ef34669e996957","ref":"refs/heads/main","pushedAt":"2024-05-07T16:25:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"refactor: Rename prev_macro to dmacro_prev_macro\n\nThe variable `prev_macro` was renamed to `dmacro_prev_macro` to improve\nclarity and maintain consistency in naming conventions. This change\naffects the `record_macro` and `play_macro` functions where the variable\nis used.","shortMessageHtmlLink":"refactor: Rename prev_macro to dmacro_prev_macro"}},{"before":"ebe680c7dfd9bd478fda1fd74d6db667b993ce67","after":"1912c040eeb0d6ba0ca0579b4c0cbc1ca1543694","ref":"refs/heads/main","pushedAt":"2024-05-07T16:19:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"feat: Add documentation for dmacro.vim plugin\n\nThis commit introduces a new documentation file for the dmacro.vim\nplugin. The documentation includes an introduction to the plugin,\nrelated works, usage instructions, and license information. The\ndocument is formatted according to Vim's help file conventions.","shortMessageHtmlLink":"feat: Add documentation for dmacro.vim plugin"}},{"before":"c2659b9f3e250afdde0d9fa0c9a4b21b3e2bd527","after":"ebe680c7dfd9bd478fda1fd74d6db667b993ce67","ref":"refs/heads/main","pushedAt":"2024-05-06T08:02:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"213e9c49307bd7243a9ba4f1918f12ed5ebbda02","after":"c2659b9f3e250afdde0d9fa0c9a4b21b3e2bd527","ref":"refs/heads/main","pushedAt":"2024-04-08T01:34:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"feat(dmacro): Refactor macro functionality\n\nThe changes include renaming of guess_completion_1 and\nguess_completion_2 to guess_macro_1 and guess_macro_2 respectively.\nThe setup function has been refactored to use the new functions\nrecord_macro and play_macro. The dmacro_key is now a local variable\ninstead of an option. The record_macro function records the typed\nkeys and the play_macro function plays the recorded macro.","shortMessageHtmlLink":"feat(dmacro): Refactor macro functionality"}},{"before":"df0e6ea183d895f3a50e826a4cb53e6fe0a553fd","after":"213e9c49307bd7243a9ba4f1918f12ed5ebbda02","ref":"refs/heads/main","pushedAt":"2024-04-07T08:45:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"refactor(dmacro): simplify setup function and improve nil handling. Closes #2.\n\nThe setup function in dmacro.lua has been refactored to simplify the code\nand improve handling of nil values. The dmacro_key is now directly accessed\nfrom the opts parameter, removing the need for a separate variable. The\ncreation of an autocmd group and the BufWinEnter autocmd has been removed,\nas it was not necessary. The on_key function now handles nil values for\ndmacro_history and prev_completion. The set function for the keymap also\nhandles nil values for dmacro_history.","shortMessageHtmlLink":"refactor(dmacro): simplify setup function and improve nil handling. C…"}},{"before":"902eac1d5393a76b5f26469e7219b62edbc1fc41","after":"df0e6ea183d895f3a50e826a4cb53e6fe0a553fd","ref":"refs/heads/main","pushedAt":"2024-04-06T08:27:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"c980577a39f893e1afebce76953c3be20591775f","after":"902eac1d5393a76b5f26469e7219b62edbc1fc41","ref":"refs/heads/main","pushedAt":"2024-04-06T08:14:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"c257604f0592a8b1b0bfc5e337658ec5a28f3e9c","after":"c980577a39f893e1afebce76953c3be20591775f","ref":"refs/heads/main","pushedAt":"2024-04-04T12:11:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":null,"after":"43ad0a152e382e89c217f9997b0d5439e0c1ab7a","ref":"refs/heads/renovate/configure","pushedAt":"2024-04-01T18:00:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"Add renovate.json","shortMessageHtmlLink":"Add renovate.json"}},{"before":"b57c4cf25d368c502ab96200b6fde5adc7f40839","after":"c257604f0592a8b1b0bfc5e337658ec5a28f3e9c","ref":"refs/heads/main","pushedAt":"2024-03-31T14:36:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"Delete install.sh","shortMessageHtmlLink":"Delete install.sh"}},{"before":"314208d16958d9a746fb8aabb6f76bbcf15a025d","after":"b57c4cf25d368c502ab96200b6fde5adc7f40839","ref":"refs/heads/main","pushedAt":"2024-03-31T10:11:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"normalize keycode","shortMessageHtmlLink":"normalize keycode"}},{"before":"91b006b6e8b8c5f619190dc1c57cc941105ccd65","after":"314208d16958d9a746fb8aabb6f76bbcf15a025d","ref":"refs/heads/main","pushedAt":"2024-03-31T10:04:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"Update README","shortMessageHtmlLink":"Update README"}},{"before":"32df89be50da91fa95828c568b799e6a505be4ea","after":"91b006b6e8b8c5f619190dc1c57cc941105ccd65","ref":"refs/heads/main","pushedAt":"2024-03-31T09:55:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tani","name":"TANIGUCHI Masaya","path":"/tani","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5019902?s=80&v=4"},"commit":{"message":"Update readme","shortMessageHtmlLink":"Update readme"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEXbO6KgA","startCursor":null,"endCursor":null}},"title":"Activity · tani/dmacro.nvim"}