{"id":15844177,"url":"https://github.com/saracalihan/diffazor","last_synced_at":"2025-09-11T06:33:56.152Z","repository":{"id":241208097,"uuid":"802993253","full_name":"saracalihan/diffazor","owner":"saracalihan","description":"basic text diff editor with c","archived":false,"fork":false,"pushed_at":"2024-05-23T17:40:00.000Z","size":2621,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-13T02:48:46.319Z","etag":null,"topics":["c","diff","raylib","raylib-c"],"latest_commit_sha":null,"homepage":"","language":"C","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/saracalihan.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":"2024-05-19T20:10:54.000Z","updated_at":"2024-05-23T17:41:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"c76e4a12-cacd-48df-8889-65ba5d11131b","html_url":"https://github.com/saracalihan/diffazor","commit_stats":null,"previous_names":["saracalihan/diffazor"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/saracalihan/diffazor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saracalihan%2Fdiffazor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saracalihan%2Fdiffazor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saracalihan%2Fdiffazor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saracalihan%2Fdiffazor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saracalihan","download_url":"https://codeload.github.com/saracalihan/diffazor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saracalihan%2Fdiffazor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274589609,"owners_count":25312971,"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","status":"online","status_checked_at":"2025-09-11T02:00:13.660Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["c","diff","raylib","raylib-c"],"created_at":"2024-10-05T17:20:35.286Z","updated_at":"2025-09-11T06:33:56.126Z","avatar_url":"https://github.com/saracalihan.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Diffazor\nDiffazor is basic text diff virtualization project.\n\n![Application Screenshot](./resources/Screenshot.png)\n\n\nWe use the Longest Common Subsequence algorithm to find common letters.\nThis algorithm places strings on both sides of a two-dimensional matrix and\ncompares whether they are the same letter for each pair i,j.\nWe mark the common letters in the table so that we can find the common letters.\nThen, the elements of the two strings are compared by going through the matrix and\nadding or deleting situations are determined.\n\nThis is pure c project and it only depends on [Raylib](https://www.raylib.com/) (located on `./raylib-5.0`) for creating graphics.\n\nDiffazor has hot-reload feature for development. All logics and drawing jobs in\n`plugin.c` file. `main.c` file only load `libplugin.so` file using dynamic library\nfunctions and create window.\n\n**Table of Contents**:\n\n- [setup](#setup-code)\n  - [install](#install-source-code)\n  - [run](#run-code)\n- [structure of project](#structure-of-project)\n- [development](#development)\n- [contributing](#contributing)\n- [license](#license)\n\n\u003e [!WARNING]\n\u003e This is experimental project, **DO NOT USE** in prod!\n\n## Setup Code\n\n### Install\nClone this project using GIT\n\n```bash\ngit clone git@github.com:saracalihan/diffazor\n```\n\nGo into directory\n\n```bash\ncd diffazor\n```\n\nNow, you **have to compile raylib**. Please read [raylib readme](./raylib-5.0/README.md).\n\nAfter the compile of reylib,\n\nCompile all source code:\n\n```bash\nmake\n```\n\nThis command compile and link main executable and libplugin.\n\n### Run Code\n\nRun main executable:\n```bash\n./build/main\n```\n\n## Structure of Project\n\n## Development\nIf you have only made improvements related to memory management or drawing,\nrun the following command while the `main` executable is running:\n\nA new thread is created in the `main.c` file and this thread listens to\nall files under the `src` folder and runs the \"make hotreload\" command\nin case of any changes (save, update or delete) so that when you update\nthe code, it is automatically compiled.\n\nYou can turn this feature off and on from the `src/config.h` file and\ndetermine which files will excluded in this feature.\n\nThen press the `r` key in the user interface. When you press the `r` key,\nthe current application data (memory, variables, etc.) is kept in the\n`Plugin` struct and `libplugin.so` is reopened and the values are restored.\n\n## Contributing\nThis project accepts the open source and free software mentality in its main terms.\nDevelopment and distribution are free within the framework of the rules specified\nin the license section, BUT the course and mentality of the project depends entirely\non my discretion.\n\n**Please respect this mentality and contributing rules**\n\n## License\nThis projct is under the [GNU GENERAL PUBLIC LICENSE](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaracalihan%2Fdiffazor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaracalihan%2Fdiffazor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaracalihan%2Fdiffazor/lists"}