{"id":14549465,"url":"https://github.com/velorek1/c-edit","last_synced_at":"2025-09-03T20:31:51.099Z","repository":{"id":47582264,"uuid":"120105634","full_name":"velorek1/c-edit","owner":"velorek1","description":"A text editor in C with drop down menus from scratch. No ncurses.","archived":false,"fork":false,"pushed_at":"2024-09-03T09:17:34.000Z","size":959,"stargazers_count":229,"open_issues_count":4,"forks_count":18,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-09-06T13:10:36.568Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","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/velorek1.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":"2018-02-03T15:56:48.000Z","updated_at":"2024-09-06T05:57:54.000Z","dependencies_parsed_at":"2022-08-30T21:10:38.309Z","dependency_job_id":"919b758c-e704-408d-a009-0df977ee3591","html_url":"https://github.com/velorek1/c-edit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/velorek1%2Fc-edit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/velorek1%2Fc-edit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/velorek1%2Fc-edit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/velorek1%2Fc-edit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/velorek1","download_url":"https://codeload.github.com/velorek1/c-edit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231916575,"owners_count":18445425,"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-09-06T13:00:42.581Z","updated_at":"2025-09-03T20:31:51.084Z","avatar_url":"https://github.com/velorek1.png","language":"C","funding_links":[],"categories":["Table of Contents","\u003ca name=\"editors\"\u003e\u003c/a\u003eEditors"],"sub_categories":[],"readme":"C-EDIT Project in C language (NO NCURSES)\n=========================================\nC-EDIT for linux - ALPHA - A linux text editor in the style of the MSDOS EDIT - WITHOUT USING NCURSES\nWorks well with Termux! :)\n* WARNING: DO NOT EDIT YOUR PRECIOUS FILES WITH THIS EDITOR!!\n\n**If you want to support this project: \nbitcoin:bc1qn8hzf7f07afcyasym434e9a7sflf8mpjflhg4w**\n\nContact me at: velorek1@gmail.com\n\n**NEW: AUGUST 2025**\n- Fixed flickering issues in status bar\n- Added pageup/down home/end keys\n\nHistory:\n- 2024 -\u003e Dynamyc buffer added (vector of lineS)\n- 2023 -\u003e Previous demo version kept in https://github.com/velorek1/C-editold\n- 2022 -\u003e I have rewritten the screenbuffer and fixed polling issues (lynx: https://github.com/velorek1/lynx). \nIdeally, a keyboard library abstraction would be nice to expand the editor's possibilities.**\n- 2018 -\u003e Start of the project; basic demo concepts developed (https://oldstuff286.blogspot.com/2018/03/c-edit-in-progress.html)\n\nTO INSTALL:  \n\n    * Download or clone repository.\n    * Type \"cd src\", \"make\" and \"./cedit\" to execute.\n    \nSo far I have implemented:\n\n* A very simple Double Screen Buffer with a simple linked list in memory for greater display control. \n* Rudimentary Text User Interface with Windows, Textbox, Keyboard handling, Color schemes, etc.\n* Automatic display resizing.\n* Open file dialog with a Listbox and SCROLL capabilities to navigate and find the file to open.\n* Rudimentary Edit buffer with vertical and horizontal scroll (vector of lines). \n* A millisecond timer for animations.\n* Timers and kbhit with no polling for optimate CPU usage.\n* Greater modularity than Demo version\n* Rudimentary syntax highlighting\n\nFiles in /src/:\n===============\n* rterm.c -\u003e code for the library that handles output with Ansi Functions and kbhit() in linux console (with its header file)\n* listbox.c -\u003e code for the circular linked list responsible for handling menus \n* scbuf.c -\u003e code for controlling display with a double screen buffer (with its header file)\n* keyb.c -\u003e module to control keyboard input.\n* opfile.c -\u003e module that list files with scroll capabilities to select the file to open.\n* ui.c -\u003e module with user interface widgets: alert windows, confirmation windows, textbox, etc.\n* fileb.c -\u003e module for single file operations.\n* tm.c -\u003e module for a millisecond timer for animations (C11)\n* main.c -\u003e Editor in C in the style of MSDOS EDIT (In progress).\n* global.c -\u003e Global variables and main animation\n* menu.c -\u003e Drop-down menu\n* editor.c -\u003e Code for the editor section\n* edbuf.c -\u003e Buffer - vector of lines\n\n\nAs a screen buffer I have implemented a dynamic structure in memory that allows to save the current screen so that you can display new things on top and then go back to the previous (saved) screen. (simple linked list)\n\nTO-DO:\n* Clean code\n* Complete menus / dialogs \n* READ MODE\n* FULL UTF 8! - SUPPORT change from char to win_t/wchar in editor buffer\n* Copy/Paste/Cut routines / Highlight text\n* Create Keyboard abstraction to make it more portable (bottom-up fashion!)\n* Address glitches/bugs\n\n![Alt text](cedit3.jpg?raw=true \"Demo\")\n![Alt text](cedit4.jpg?raw=true \"Demo\")\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvelorek1%2Fc-edit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvelorek1%2Fc-edit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvelorek1%2Fc-edit/lists"}