{"id":17693417,"url":"https://github.com/ttytm/keyword-o-mat.code","last_synced_at":"2026-04-21T16:42:07.781Z","repository":{"id":112548521,"uuid":"487338043","full_name":"ttytm/keyword-o-mat.code","owner":"ttytm","description":"VSCode/Codium extension. Easily cycle/switch/toggle through commonly used, related keywords. ","archived":false,"fork":false,"pushed_at":"2022-06-25T16:41:58.000Z","size":6799,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-03T11:41:21.734Z","etag":null,"topics":["keywords","productivity","shortcuts","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":"https://open-vsx.org/extension/Turiiya/keyword-o-mat","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ttytm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-04-30T17:20:35.000Z","updated_at":"2022-11-24T00:20:20.000Z","dependencies_parsed_at":"2023-05-16T04:15:50.746Z","dependency_job_id":null,"html_url":"https://github.com/ttytm/keyword-o-mat.code","commit_stats":null,"previous_names":["ttytm/keyword-o-mat.code","tobealive/keyword-o-mat"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ttytm/keyword-o-mat.code","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ttytm%2Fkeyword-o-mat.code","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ttytm%2Fkeyword-o-mat.code/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ttytm%2Fkeyword-o-mat.code/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ttytm%2Fkeyword-o-mat.code/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ttytm","download_url":"https://codeload.github.com/ttytm/keyword-o-mat.code/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ttytm%2Fkeyword-o-mat.code/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27670947,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-11T02:00:11.302Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["keywords","productivity","shortcuts","vscode","vscode-extension"],"created_at":"2024-10-24T13:44:56.856Z","updated_at":"2025-12-11T22:01:38.932Z","avatar_url":"https://github.com/ttytm.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Keyword-O-Mat\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"assets/keyword-o-mat__logo.png\" /\u003e\n\n\u003e _\"Amp up your workflows. Quickly swap related keywords.\"_\n\n\u003c/div\u003e\n\n## Examples\n\nSwitch variables, booleans and commonly used keywords\n\n\u003cimg src=\"assets/kom__bool.gif\" alt=\"Example CSS\" width=\"480\" /\u003e\n\n\u003cimg src=\"assets/kom__css.gif\" alt=\"Example CSS\" width=\"480\" style=\"margin-top:0.25em;\"/\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eMulti cursor selection compatible \u003cem\u003e- click to unfold\u003c/em\u003e\u003c/summary\u003e\n  \u003cimg src=\"assets/kom__mc__css.gif\" alt=\"Example Multi cursor selection css\" width=\"480\" style=\"margin-top:0.25em\"/\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eExtension compatible - Auto Rename Tag \u003cem\u003e- click to unfold\u003c/em\u003e\u003c/summary\u003e\n  \u003cimg src=\"assets/kom__art.gif\" alt=\"Example Auto Rename Tag Extension\" width=\"480\" style=\"margin-top:0.25em;\"/\u003e\n\u003c/details\u003e\n\n## How To Use\n\n|                | **Default Keymaps** | **Commands**           |\n| -------------- | ------------------- | ---------------------- |\n| Cycle Forward  | \u003ckbd\u003eAlt+a\u003c/kbd\u003e    | `K-O-M Cycle Forward`  |\n| Cycle Backward | \u003ckbd\u003eAlt+x\u003c/kbd\u003e    | `K-O-M Cycle Backward` |\n\n\u003csub\u003eThe default keybindings are inspired by VIM's _add_ \u003ckbd\u003eCtrl-a\u003c/kbd\u003e and _subtract_ \u003ckbd\u003eCtrl-x\u003c/kbd\u003e.\u003cbr\u003e\nOf course , you can remap them to your preference.\u003c/sub\u003e\n\n## Settings\n\nSettings are accessible via the GUI settings and your `settings.json` file.\u003cbr\u003e\nChoose whether you want to use the default keywords and add custom cycle groups.\n\n### Custom Keywords\n\nSimply create a custom keyword cycle group by adding it as an array of strings to your `settings.json`.\u003cbr\u003e\nE.g., if one of the groups you want to add should cycle through `foo` / `bar` / `baz`, it would be implemented like shown below. To add another group just separate it with a comma.\u003cbr\u003e\n\n```json\n\"keyword-o-mat.customKeywords\": [\n  [\"foo\", \"bar\", \"baz\"],\n  [\"veggies\", \"fruits\", \"berries\"]\n],\n```\n\n### Default Keywords\n\n| _Rotate symbols\\* and words that are in one row_                                   |\n| ---------------------------------------------------------------------------------- |\n| `\u0026\u0026` , `\\|\\|`                                                                      |\n| `and` , `or`                                                                       |\n| `true` , `false`                                                                   |\n| `if` , `else`                                                                      |\n| `YES` , `NO`                                                                       |\n| `yes` , `no`                                                                       |\n| `on` , `off`                                                                       |\n| `running` , `stopped`                                                              |\n| `const` , `let`                                                                    |\n| `private` , `protected` , `public`                                                 |\n| `push` , `pull`                                                                    |\n|                                                                                    |\n| `div` , `p` , `span`                                                               |\n| `max` , `min`                                                                      |\n| `ul` , `ol`                                                                        |\n| `class` , `id`                                                                     |\n| `px` , `%` , `em`                                                                  |\n| `left` , `right`                                                                   |\n| `top` , `bottom`                                                                   |\n| `margin` , `padding`                                                               |\n| `height` , `width`                                                                 |\n| `absolute` , `relative`                                                            |\n| `h1` , `h2` , `h3` , `h4` , `h5` , `h6`                                            |\n| `png` , `jpg` , `gif`                                                              |\n| `linear` , `radial`                                                                |\n| `horizontal` , `vertical`                                                          |\n| `show` , `hide`                                                                    |\n| `mouseover` , `mouseout`                                                           |\n| `mouseenter` , `mouseleave`                                                        |\n| `add` , `remove`                                                                   |\n| `up` , `down`                                                                      |\n| `before` , `after`                                                                 |\n| `slow` , `fast`                                                                    |\n| `small` , `large`                                                                  |\n| `even` , `odd`                                                                     |\n| `inside` , `outside`                                                               |\n| `above` , `below`                                                                  |\n|                                                                                    |\n| `include` , `require`                                                              |\n| `Time` , `Date`                                                                    |\n| `present` , `blank`                                                                |\n| `while` , `until`                                                                  |\n| `only` , `except`                                                                  |\n| `create` , `update`                                                                |\n| `new` , `edit`                                                                     |\n| `get` , `post` , `put` , `patch`                                                   |\n|                                                                                    |\n| `one` , `two` , `three` , `four` , `five`                                          |\n| `first`, `second`, `third`, `forth`, `fifth`, `last`                               |\n| `primary` , `secondary` , `tertiary` , `quaternary` , `quinary`                    |\n| `Monday` , `Tuesday` , `Wednesday` , `Thursday` , `Friday` , `Saturday` , `Sunday` |\n| `TODO` , `DOING` , `DONE` , `CANCELED`                                             |\n| `NOW` , `LATER`                                                                    |\n\n\u003csmall\u003e\\* A visual selection is required when the cycle element is a:\n\n-  Word separated by a hyphen, e.g., _element-`one`_\n-  Symbol like _`\u0026\u0026`_\n\nIt is sufficient to place the cursor above the cycle element when it is a:\n\n-  Word surrounded by spaces, parentheses, or double quotes\n\n \u003c/small\u003e\n\n## Release Notes\n\n### 0.2.0\n\n-  Users can define custom keyword cycle groups in their `settings.json`\n-  Add option to disable default keywords\n\n### 0.1.0\n\n-  Initial release\n\n## Outlook\n\n-  [x] User created keyword groups\n-  [x] Option to disable default keywords\n-  [ ] Language(filetype) specific keywords\n-  [ ] Advanced user options\n\n## Credits\n\nSimilar extensions and projects that served as an inspiration.\n\n-  [Toggle Boolean](https://github.com/silesky/vscode-toggle-bool)\n-  [Swap Keywords](https://github.com/L13/vscode-swap)\n-  [vim-cycle](https://github.com/zef/vim-cycle)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fttytm%2Fkeyword-o-mat.code","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fttytm%2Fkeyword-o-mat.code","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fttytm%2Fkeyword-o-mat.code/lists"}