{"id":17312875,"url":"https://github.com/9seconds/prettypar","last_synced_at":"2025-06-25T23:32:03.714Z","repository":{"id":47255485,"uuid":"401711130","full_name":"9seconds/prettypar","owner":"9seconds","description":"Simple but opionated par","archived":false,"fork":false,"pushed_at":"2021-09-06T14:31:20.000Z","size":27,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-27T01:16:16.590Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/9seconds.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}},"created_at":"2021-08-31T13:21:53.000Z","updated_at":"2023-12-29T08:13:58.000Z","dependencies_parsed_at":"2022-07-25T23:02:57.929Z","dependency_job_id":null,"html_url":"https://github.com/9seconds/prettypar","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/9seconds/prettypar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/9seconds%2Fprettypar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/9seconds%2Fprettypar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/9seconds%2Fprettypar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/9seconds%2Fprettypar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/9seconds","download_url":"https://codeload.github.com/9seconds/prettypar/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/9seconds%2Fprettypar/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261972891,"owners_count":23238539,"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":[],"created_at":"2024-10-15T12:44:53.628Z","updated_at":"2025-06-25T23:32:03.687Z","avatar_url":"https://github.com/9seconds.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# prettypar\n\n[![CI](https://github.com/9seconds/prettypar/actions/workflows/ci.yaml/badge.svg?branch=master)](https://github.com/9seconds/prettypar/actions/workflows/ci.yaml)\n[![codecov](https://codecov.io/gh/9seconds/prettypar/branch/master/graph/badge.svg?token=R2C5IAR7AP)](https://codecov.io/gh/9seconds/prettypar)\n[![Go Reference](https://pkg.go.dev/badge/github.com/9seconds/prettypar.svg)](https://pkg.go.dev/github.com/9seconds/prettypar)\n\nThis is a simple but highly opinionated alternative to\n[par](https://bitbucket.org/amc-nicemice/par/src/master/) utility that fixes a\ncouple of my irritants and removes tons of complexity.\n\nPar is a great and robust tool that works great with Vim as its\n[`formatprg`](https://vimhelp.org/options.txt.html#%27formatprg%27). But it was\ncreated back in the days when people loved to make ASCII boxes and\npseudo-graphics in files and readjust these decorations on where a new character\nis added that lead to funny code review confusion. I hate these boxes. They\nbring nothing but constant frustration.\n\nThese boxes and an attempt to support decoration made par 3000x times more\ncomplex than it should. When I've tried to fix a bug (if each line is a sentence\nthat ends with a dot, it _aligns a text as a dot as a border_), I was kinda\nshocked by how complex it is. I wanted to have something simple and opinionated.\nI know myself and I know how I format text so I didn't want to fight with a\ntool, I wanted my copilot.\n\nTo make this tool simple and robust, I decided to split a task of text\nformatting into 2 steps:\n\n1. Preparation\n2. Formatting\n\nPreparation is important because I do not want to reformat something from\nscratch, I want to give it some shape and _complete_ formatting with a tool,\ninstead of throwing it a set of letters with an order \"do something\". I tend to\nformat text like this:\n\n```\nPreparation is important because I do not want to reformat something from scratch,\nI want to give it some shape and _complete_ formatting with a tool, instead of\nthrowing it a set of letters with an order \"do something\". I tend to format text\nlike this:\n\n    1. lalala\n       and this continues a line. Pay attention to indentation.\n    2. And this is a second bullet\n\n    # btw, this tool still needs to treat comments. But not decorations\n    #\n    # * and remember\n    # * that lists\n    #   can be nested\n```\n\nprettypar transforms this text literally to:\n\n```\nPreparation is important because I do not want to reformat something from\nscratch, I want to give it some shape and _complete_ formatting with a tool,\ninstead of throwing it a set of letters with an order \"do something\". I tend to\nformat text like this:\n\n    1. lalala and this continues a line. Pay attention to indentation.\n    2. And this is a second bullet\n\n    # btw, this tool still needs to treat comments. But not decorations\n    #\n    # * and remember\n    # * that lists can be nested\n```\n\nAlso, since its main usage is running with no CLI arguments, prettypar has\nalmost no options. It has 2, but you can set up them with environment\nvariables.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F9seconds%2Fprettypar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F9seconds%2Fprettypar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F9seconds%2Fprettypar/lists"}