{"id":13339675,"url":"https://github.com/lucaswerkmeister/cformat","last_synced_at":"2026-04-28T11:06:52.629Z","repository":{"id":148665100,"uuid":"78665221","full_name":"lucaswerkmeister/cformat","owner":"lucaswerkmeister","description":"Daemonized version of ceylon.formatter","archived":false,"fork":false,"pushed_at":"2017-01-19T23:26:34.000Z","size":26,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-09T21:13:51.984Z","etag":null,"topics":["ceylon","daemon","linux","systemd","unix","unix-domain-socket"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lucaswerkmeister.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":"2017-01-11T18:06:05.000Z","updated_at":"2017-01-18T17:27:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"3822309f-87c8-4944-9dee-443a4eeb8208","html_url":"https://github.com/lucaswerkmeister/cformat","commit_stats":{"total_commits":14,"total_committers":1,"mean_commits":14.0,"dds":0.0,"last_synced_commit":"8c94dd03181fbf7f70be1f589a8129f1f585672d"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucaswerkmeister%2Fcformat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucaswerkmeister%2Fcformat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucaswerkmeister%2Fcformat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucaswerkmeister%2Fcformat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lucaswerkmeister","download_url":"https://codeload.github.com/lucaswerkmeister/cformat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247166172,"owners_count":20894654,"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":["ceylon","daemon","linux","systemd","unix","unix-domain-socket"],"created_at":"2024-07-29T19:21:08.163Z","updated_at":"2026-04-28T11:06:52.567Z","avatar_url":"https://github.com/lucaswerkmeister.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"cformat\n=======\n\nA daemonized version of the `ceylon.formatter` command line tool (`ceylon format`),\nmostly to showcase [ceylond].\n\n[ceylond]: https://github.com/lucaswerkmeister/ceylond\n\nInstallation\n------------\n\n```sh\nmake install # install to home directory\nsystemctl --user daemon-reload # make user manager see cformat.{service,socket} units\nsystemctl --user enable --now cformat.socket # start daemon\n```\n\nThe `cformat` binary will be installed in `$(systemd-path user-binaries)`,\nwhich is `~/.local/bin` with the default XDG paths.\nEnsure that this directory is contained in your `PATH`.\n\nTo uninstall, run the reverse commands:\n```sh\nsystemctl --user disable --now cformat.service cformat.socket\nmake uninstall\nsystemctl --user daemon-reload\n```\n\nUsage\n-----\n\n`cformat` is a drop-in replacement for `ceylon format` (except for some *very* minor caveats around pipe mode):\n\n```sh\ncformat source # to format all Ceylon code in source\ncformat source --to source-formatted # if you’re afraid I might break your code – directory structure is preserved\ncformat source test-source # to format all Ceylon code in source and test-source\ncformat source --and test-source --to formatted # to format all Ceylon code in source and test-source into formatted\n```\n\nPerformance\n-----------\n\nThe first invocation of `cformat`, which launches the daemon, will be slightly slower,\nsince the JVM has to load, run and optimize more code.\nBut after that, `cformat` can be vastly faster than `ceylon format`,\nsince the daemon just keeps running and is optimized further and further by the JVM:\n\n![](https://github.com/lucaswerkmeister/cformat/blob/master/benchmark/iterations-25.png)\n\nLicense\n-------\n\nThe content of this repository is released under the ASL v2.0\nas provided in the LICENSE file that accompanied this code.\n\nBy submitting a “pull request” or otherwise contributing to \nthis repository, you agree to license your contribution under \nthe license mentioned above.\n\ncformat uses ceylond, which is published under the LGPLv3,\nas provided in the LICENSE.LGPLv3 file that accompanied this code.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucaswerkmeister%2Fcformat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucaswerkmeister%2Fcformat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucaswerkmeister%2Fcformat/lists"}