{"id":17060988,"url":"https://github.com/rhagenson/xer","last_synced_at":"2025-06-10T12:05:49.476Z","repository":{"id":89263246,"uuid":"199697811","full_name":"rhagenson/xer","owner":"rhagenson","description":"Xs out visual characters to force inspecting code layout","archived":false,"fork":false,"pushed_at":"2019-07-30T18:39:45.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-05-02T01:55:45.872Z","etag":null,"topics":["layout","tool","utility","visual"],"latest_commit_sha":null,"homepage":"","language":"Go","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/rhagenson.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":"2019-07-30T17:29:08.000Z","updated_at":"2024-06-19T12:36:47.067Z","dependencies_parsed_at":null,"dependency_job_id":"b4142736-fd46-48e2-bec8-3f043c820b96","html_url":"https://github.com/rhagenson/xer","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhagenson%2Fxer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhagenson%2Fxer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhagenson%2Fxer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhagenson%2Fxer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rhagenson","download_url":"https://codeload.github.com/rhagenson/xer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhagenson%2Fxer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259072704,"owners_count":22801069,"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":["layout","tool","utility","visual"],"created_at":"2024-10-14T10:45:46.012Z","updated_at":"2025-06-10T12:05:49.433Z","avatar_url":"https://github.com/rhagenson.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3355641.svg)](https://doi.org/10.5281/zenodo.3355641)\n\n# `xer`\n\n`xer` simple utility that Xs out every visual character to force looking at code layout over other elements of code structure. The idea spawned from a talk by Kevlin Henney and reading far too much code with triple-digit line lengths.\n\nUsers can also selectively unmask by select Unicode categories or by regex. This functionality is to allow the meta elements to be unmasked (parenthesis, brackets, curly braces, constants, and so on).\n\n## Philosophy on Use\n\nCode should suggest logical structure by how it is written. By masking all but\nthe whitespace we force ourselves to look at the structure differently.\nSome code is inherently messy, however most code can be cleaned up.\n\n### Use case\nA good use case for running this utility is checking nested statements.\nStatements that are nested under one another should appear nested.\n\nExample:\n\n```\nif in, err = os.Open(*read); err != nil {\n  log.Fatal(err)\n}\n```\n\nversus\n\n```\nif in, err = os.Open(*read); err != nil {log.Fatal(err)}\n```\n\nbecomes\n\n```\nXX XXX XXX X XXXXXXXXXXXXXXX XXX XX XXX X\n  XXXXXXXXXXXXXX\nX\n```\n\nversus\n\n```\nXX XXX XXX X XXXXXXXXXXXXXXX XXX XX XXX XXXXXXXXXXXXXXXX\n```\n\nThe former suggests the logical structure more so than the latter, which\nsimply appears as a long line.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhagenson%2Fxer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frhagenson%2Fxer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhagenson%2Fxer/lists"}