{"id":25530831,"url":"https://github.com/mveety/esmglob","last_synced_at":"2026-05-04T12:41:09.508Z","repository":{"id":274578206,"uuid":"922031734","full_name":"mveety/esmglob","owner":"mveety","description":"Globbing utility based on my fork of es","archived":false,"fork":false,"pushed_at":"2025-01-28T06:20:32.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-28T06:28:03.711Z","etag":null,"topics":["globbing","language","scripting","shell","terminal"],"latest_commit_sha":null,"homepage":"","language":"Zig","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mveety.png","metadata":{"files":{"readme":"README","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":"2025-01-25T06:07:49.000Z","updated_at":"2025-01-28T06:20:35.000Z","dependencies_parsed_at":"2025-01-28T06:38:14.104Z","dependency_job_id":null,"html_url":"https://github.com/mveety/esmglob","commit_stats":null,"previous_names":["mveety/esmglob"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mveety%2Fesmglob","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mveety%2Fesmglob/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mveety%2Fesmglob/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mveety%2Fesmglob/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mveety","download_url":"https://codeload.github.com/mveety/esmglob/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239753974,"owners_count":19691220,"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":["globbing","language","scripting","shell","terminal"],"created_at":"2025-02-20T00:22:17.503Z","updated_at":"2026-01-16T00:30:15.807Z","avatar_url":"https://github.com/mveety.png","language":"Zig","funding_links":[],"categories":[],"sub_categories":[],"readme":"es-mveety extended globbing\n\nBasic Syntax:\n\n[match pattern]![filter pattern]\n\nGlobs take the input set and matches it against the match pattern,\nthen it takes the match set and removes all elements that match the\nfilter pattern. Either the match or filter pattern can be omitted and\nan empty pattern (ie an empty string) matches nothing.\n\nPatterns are similar to standard POSIX globs with some additions and\nchanges:\n\nCharacter classes:\n\tmatch sets: (pattern|pattern|...)\n\t\tThese match against any pattern in the set. The patterns can\n\t\tbe any valid pattern.\n\n\tclass match: [chars or range] ex: [a-z] or [A-Z] or [abcd]\n\t\tThese match against any single character in the range. They\n\t\tcan be inverted by beginning the match with ~ (ie [~ab]).\n\t\tvalid ranges are between a-Z and 0-9.\n\n\twildcards: *, ?, ?n, ?\u003cmin-max\u003e\n\t\tmatch as many chars as possible, one, n, or between min and max\n\n\texpansion macro: %string\u003cmin-max\u003e or %string\u003clength\u003e (ie %[a-zA-Z]\u003c3-5\u003e)\n\t\tThe expansion macro expands to a match set containing the string\n\t\trepeated length or min to max times:\n\t\tie: %a\u003c3-5\u003e is the same as (aaa|aaaa|aaaaa)\n\nmatches all c and zig source files in this project:\n\tfrom the root:\n\t\t(|*/)*.(c|h|zig)\n\tmatch all of es's sources in es-mveety:\n\t\t(|libraries/)*.(c|h|y|es)!libinstall*\n\t\t\tthis will match all .c .y .h and .es files but removes\n\t\t\tanything that matches libinstall* from the results.\n\tmatch all files with names of 3 to 6 letters and an extension of 3 chars:\n\t\t%[a-Z]\u003c3-6\u003e.?3\n\tmatch a string made of 50 to 100 = signs that starts with a 1 to 6 digit\n\tnumber\n\t\t%[0-9]\u003c1-6\u003e%=\u003c50-100\u003e\n\nsee also: https://github.com/mveety/es\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmveety%2Fesmglob","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmveety%2Fesmglob","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmveety%2Fesmglob/lists"}