{"id":17070768,"url":"https://github.com/raimondi/vim-relab","last_synced_at":"2025-03-23T11:22:47.744Z","repository":{"id":66959452,"uuid":"156652601","full_name":"Raimondi/vim-relab","owner":"Raimondi","description":"A playground for Vim regular expressions","archived":false,"fork":false,"pushed_at":"2018-11-12T07:22:48.000Z","size":150,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-28T17:46:09.418Z","etag":null,"topics":["plugin","regexp","regular-expressions","vim","vimscript"],"latest_commit_sha":null,"homepage":"","language":"Vim script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Raimondi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2018-11-08T05:01:58.000Z","updated_at":"2019-11-21T21:40:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"7c192cd2-9398-43ba-8503-524cc288512d","html_url":"https://github.com/Raimondi/vim-relab","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Raimondi%2Fvim-relab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Raimondi%2Fvim-relab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Raimondi%2Fvim-relab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Raimondi%2Fvim-relab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Raimondi","download_url":"https://codeload.github.com/Raimondi/vim-relab/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245092211,"owners_count":20559519,"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":["plugin","regexp","regular-expressions","vim","vimscript"],"created_at":"2024-10-14T11:33:35.217Z","updated_at":"2025-03-23T11:22:47.711Z","avatar_url":"https://github.com/Raimondi.png","language":"Vim script","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RELab: a playground for Vim regular expressions\n\nVim's regular expressions (regexp) can be a bit different from what people is\nused to nowadays, RELab provides some tools to help with understanding how\nthey work.\n\nThere are four available views that show different aspects of the regexp. The\nDescription view shows every item next to a description of what it does. The\nMatches view shows what text is matched by the regexp, when used on a sample\ntext. The Validation view shows which lines of the sample text are matched or\nnot by the regexp. The Sample Text view shows the provided text that is used\nto match the regexp against, and eny edits to it is preserved after switching\nto other view. Whenever the regexp is shown it can be edited and the result\nwith be automatically updated and stored for the other views.\n\n\n## Description View\n\nShows the description of every element of the current regexp. Get to this view\nwith `:RELabDescribe` or `\u003cleader\u003erd`.\n\n```\n\t+---------------------------------------------------------------+\n\t|RELab: Description\t\t\t\t\t\t|\n\t|\\(\\w\\+\\)@\\(\\w\\+\\)\t\t\t\t\t\t|\n\t|\t\t\t\t\t\t\t\t|\n\t|  \\( =\u003e Starts a capturing group.\t\t\t\t|\n\t|    \\w =\u003e A word character: [0-9A-Za-z_].\t\t\t|\n\t|    \\+ =\u003e 1 or more of the preceding atom, as many as possible.|\n\t|  \\) =\u003e Ends a capturing group.\t\t\t\t|\n\t|  @ =\u003e Matches the character \"@\" (code 64).\t\t\t|\n\t|  \\( =\u003e Starts a capturing group.\t\t\t\t|\n\t|    \\w =\u003e A word character: [0-9A-Za-z_].\t\t\t|\n\t|    \\+ =\u003e 1 or more of the preceding atom, as many as possible.|\n\t|  \\) =\u003e Ends a capturing group.\t\t\t\t|\n\t|~\t\t\t\t\t\t\t\t|\n\t+---------------------------------------------------------------+\n```\n\n## Matches View\n\nDisplay every line of the sample text that is matched by the current regexp.\nAlso show the matched text for every matched line. Both `:RELabMatches` and\n`\u003cleader\u003erm` open this view.\n\n```\n\t+---------------------------------------------------------------+\n\t|RELab: Matches\t\t\t\t\t\t\t|\n\t|\\(\\w\\+\\)@\\(\\w\\+\\)\t\t\t\t\t\t|\n\t|\t\t\t\t\t\t\t\t|\n\t|+:email@example.com\t\t\t\t\t\t|\n\t|0:email@example\t\t\t\t\t\t|\n\t||\\1:email\t\t\t\t\t\t\t|\n\t| \\2:example\t\t\t\t\t\t\t|\n\t|+:firstname.lastname@example.com\t\t\t\t|\n\t|0:lastname@example\t\t\t\t\t\t|\n\t||\\1:lastname\t\t\t\t\t\t\t|\n\t| \\2:example\t\t\t\t\t\t\t|\n\t|+:email@subdomain.example.com\t\t\t\t\t|\n\t|0:email@subdomain\t\t\t\t\t\t|\n\t+---------------------------------------------------------------+\n```\n\n## Validation View\n\nEvery line of the sample text is marked as matched (with +) or unmatched (with\nx) by the current regexp. Also show the matched text for every matched line.\nThe command `:RELabValidate` or the mapping in `\u003cleader\u003erv` bring you here.\n\n```\n\t+---------------------------------------------------------------+\n\t|RELab: Validation\t\t\t\t\t\t|\n\t|\\(\\w\\+\\)@\\(\\w\\+\\)\t\t\t\t\t\t|\n\t|\t\t\t\t\t\t\t\t|\n\t|x:Some email addresses to play with\t\t\t\t|\n\t|x:\t\t\t\t\t\t\t\t|\n\t|+:email@example.com\t\t\t\t\t\t|\n\t|0:email@example\t\t\t\t\t\t|\n\t||\\1:email\t\t\t\t\t\t\t|\n\t| \\2:example\t\t\t\t\t\t\t|\n\t|+:firstname.lastname@example.com\t\t\t\t|\n\t|0:lastname@example\t\t\t\t\t\t|\n\t||\\1:lastname\t\t\t\t\t\t\t|\n\t| \\2:example\t\t\t\t\t\t\t|\n\t+---------------------------------------------------------------+\n```\n\n## Sample Text View\n\nShows the sample text that will be used with the given regex. Any edits to the\ntext while in this view will be preserved for the other views. In order to\naccess the sample text, use `:RELabSample` or `\u003cleader\u003ers`. `RELabGetSample` will\nalso open this view and get the sample text from the current buffer or read\nfrom another file.\n\n```\n\t+---------------------------------------------------------------+\n\t|RELab: Sample Text\t\t\t\t\t\t|\n\t|-------------\t\t\t\t\t\t\t|\n\t|Some email addresses to play with\t\t\t\t|\n\t|\t\t\t\t\t\t\t\t|\n\t|email@example.com\t\t\t\t\t\t|\n\t|firstname.lastname@example.com\t\t\t\t\t|\n\t|email@subdomain.example.com\t\t\t\t\t|\n\t|firstname+lastname@example.com\t\t\t\t\t|\n\t|email@123.123.123.123\t\t\t\t\t\t|\n\t|email@[123.123.123.123]\t\t\t\t\t|\n\t|~\t\t\t\t\t\t\t\t|\n\t|~\t\t\t\t\t\t\t\t|\n\t|~\t\t\t\t\t\t\t\t|\n\t+---------------------------------------------------------------+\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraimondi%2Fvim-relab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraimondi%2Fvim-relab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraimondi%2Fvim-relab/lists"}