{"id":22025905,"url":"https://github.com/sakryukov/vscode-macroscope","last_synced_at":"2026-05-21T05:02:43.008Z","repository":{"id":210589616,"uuid":"726944221","full_name":"SAKryukov/vscode-macroscope","owner":"SAKryukov","description":"VSCode Editor Macro Engine","archived":false,"fork":false,"pushed_at":"2025-04-26T21:40:20.000Z","size":151,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-26T22:25:24.132Z","etag":null,"topics":["javascript","macro","rule-based","rule-engine","script","text-editor","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":"https://www.SAKryukov.org","language":"JavaScript","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/SAKryukov.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-03T21:08:15.000Z","updated_at":"2025-04-26T21:24:04.000Z","dependencies_parsed_at":"2024-11-30T07:21:19.055Z","dependency_job_id":"d7e1fad5-8315-4203-8c27-04e90d878593","html_url":"https://github.com/SAKryukov/vscode-macroscope","commit_stats":null,"previous_names":["sakryukov/vscode-macroscope"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/SAKryukov/vscode-macroscope","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAKryukov%2Fvscode-macroscope","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAKryukov%2Fvscode-macroscope/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAKryukov%2Fvscode-macroscope/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAKryukov%2Fvscode-macroscope/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SAKryukov","download_url":"https://codeload.github.com/SAKryukov/vscode-macroscope/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAKryukov%2Fvscode-macroscope/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265464258,"owners_count":23770318,"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","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":["javascript","macro","rule-based","rule-engine","script","text-editor","vscode","vscode-extension"],"created_at":"2024-11-30T07:20:40.653Z","updated_at":"2026-05-21T05:02:37.964Z","avatar_url":"https://github.com/SAKryukov.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Macroscope\r\n\r\n\u003cimg src=\"images/logo.png\" width=\"64px\"/\u003e\r\n\r\nMacroscope, a VSCode Macro Engine, is a Visual Studio Code Extension used to create, manage, and play editor macros.\r\n\r\n### Commands:\r\n\r\n* Macroscope: Macro Editor\r\n* Macroscope: Play Macro\r\n\r\n### Features:\r\n\r\n* Simple rule-based macro definition language\r\n* Macro definition language is self-documented via a Macro Editor\r\n* 56 operations, most of which are parametrized\r\n* Macro operations can be edited manually or with a Macro Editor\r\n* Macro script compilation with clear error diagnostics\r\n* A last macro script persists the same way as all other persistent workspace data\r\n* The operations `return` and `pause` help to debug a macro script\r\n* The state of the execution is shown as the title of the Play Macro command on the status bar\r\n* No external dependencies\r\n\r\n### Examples:\r\n\r\n[Available macro script samples](https://github.com/SAKryukov/vscode-macroscope/tree/main/test)\r\n\r\nThis simple script cleans the lines off trailing whitespace characters:\r\n~~~\r\nmove end-line\r\nmove end-trimmed-line select\r\ndelete\r\nmove down\r\n~~~\r\n\r\nThis script converts human-readable lines of text into a definition set with values, taken from these lines.\r\nIt trims off trailing whitespace characters only on the right, to include left indentation spaces in the constants:\r\n~~~\r\nmove match-in-line-forward [ ] 1\r\nmove end-line\r\nmove end-trimmed-line select\r\ndelete\r\npush-line\r\nselect-line\r\ncamel-case\r\nselect-line\r\npush-line\r\nselect-line\r\ndelete\r\n[public const string ]\r\npop-text\r\n[ = \"]\r\npop-text\r\n[\";]\r\nmove down\r\n~~~\r\n\r\nThis macro script can be used to convert Markdown lines with references into an HTML list. It moves down through the original text if activated repeatedly. It will work even if the lines with references are interlaced with unrelated or empty lines and are indented in an arbitrary manner:\r\n~~~\r\nmove match-in-line-forward [](] 1 select\r\ndelete\r\npush-position\r\nmove end-trimmed-line\r\nmove backward 1 select\r\ndelete\r\npop-position\r\nmove end-trimmed-line select\r\npush-selection\r\ndelete\r\nmove start-trimmed-line\r\nmove forward 1 select\r\ndelete\r\n[\u003cli\u003e\u003ca href=\"]\r\npop-text\r\n[\"\u003e]\r\nmove end-trimmed-line\r\n[\u003c/a\u003e\u003c/li\u003e]\r\n~~~\r\n\r\n***Spoiler:*** The Markdown example is just an example. Don't do it!\r\nInstead, use highly comprehensive [Extensible Markdown](https://marketplace.visualstudio.com/items?itemName=sakryukov.extensible-markdown).\r\n\r\n### Installation\r\n\r\n[Macroscope On Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=sakryukov.macroscope)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsakryukov%2Fvscode-macroscope","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsakryukov%2Fvscode-macroscope","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsakryukov%2Fvscode-macroscope/lists"}