{"id":31725724,"url":"https://github.com/radad/multipad","last_synced_at":"2026-04-16T01:33:30.411Z","repository":{"id":315507758,"uuid":"1041733404","full_name":"RadAd/MultiPad","owner":"RadAd","description":"Simple text editor using the win32 edit control","archived":false,"fork":false,"pushed_at":"2025-11-19T03:33:28.000Z","size":135,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-11-19T05:29:18.037Z","etag":null,"topics":["appveyor","gui-application","win32","windows"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RadAd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-20T23:54:51.000Z","updated_at":"2025-11-19T03:33:31.000Z","dependencies_parsed_at":"2025-09-19T02:42:28.346Z","dependency_job_id":"35bff895-fbb1-4e7b-a06a-8f9a30e6d1b9","html_url":"https://github.com/RadAd/MultiPad","commit_stats":null,"previous_names":["radad/multipad"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RadAd/MultiPad","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RadAd%2FMultiPad","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RadAd%2FMultiPad/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RadAd%2FMultiPad/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RadAd%2FMultiPad/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RadAd","download_url":"https://codeload.github.com/RadAd/MultiPad/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RadAd%2FMultiPad/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31867711,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"ssl_error","status_checked_at":"2026-04-15T15:24:39.138Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["appveyor","gui-application","win32","windows"],"created_at":"2025-10-09T05:58:15.782Z","updated_at":"2026-04-16T01:33:30.396Z","avatar_url":"https://github.com/RadAd.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- ![Icon](MultiPad.ico) MultiPad --\u003e\n# \u003cimg src=\"res/MultiPad.ico\" width=32/\u003e MultiPad\n\nSimple text editor using the Win32 edit control.\n\n![Windows](https://img.shields.io/badge/platform-Windows-blue.svg)\n[![Downloads](https://img.shields.io/github/downloads/RadAd/MultiPad/total.svg)](https://github.com/RadAd/MultiPad/releases/latest)\n[![Releases](https://img.shields.io/github/release/RadAd/MultiPad.svg)](https://github.com/RadAd/MultiPad/releases/latest)\n[![commits-since](https://img.shields.io/github/commits-since/RadAd/MultiPad/latest.svg)](commits/master)\n[![Build](https://img.shields.io/appveyor/ci/RadAd/MultiPad.svg)](https://ci.appveyor.com/project/RadAd/MultiPad)\n\n## Win32 Edit Control\nNotepad also uses the standard Win32 edit control. It has been untouched for many years, but recently it has gained some extra features.\n+ Support for different line endings.\n+ Zoom.\n+ Getting and setting the cursor position independent of the selection message\n  \nHowever, I still required some enhancements that required subclassing the control.\n### Notification on selection change\nThe edit control has a notification when the text has changed, but I also needed a notification when the selection has changed in order\nto update the information in the status bar.\n### Better keyboard navigation\n+ Ctrl+Up - line up\n+ Ctrl+Down - line down\n+ Ctrl+PgUp - page up\n+ Ctrl+PgDown - page down\n### Line endings\nTODO\n### Insert tabs or spaces\nBy intercepting the tab character when pressed, we can insert spaces instead. The number of spaces can be chosen to achieve the appropriate tab indentation.\n### Indenting\nTODO\n### Better word breaks\nThe edit control supports using a function to find word breaks. This is used when word wrapping is turned on and when advancing to the next or previous word. The default behaviour is to break on whitespace, I have used a function that breaks on whitepsace and on punctuation which is more appropriate for code editing.\n### Visible control characters\nThis is achieved by replacing the control characters with visible Unicode versions when text is entered and putting them back when text is extracted. This does have the downside that these Unicode characters used in the original text will also be replaced.\n### Visible whitespace\nThis is achieved with an option to replace the whitespace with a visible Unicode version. This has similar issues to the visible control characters feature. This has teh additional issue that tab character replacement is not expanded like the original tab character is.\n### Line numbers\nThis is achieved by creating a gutter to the left of the edit control that draws the line numbers using the [EM_SETRECT](https://learn.microsoft.com/en-us/windows/win32/controls/em-setrect) message. By intercepting the [WM_PAINT](https://learn.microsoft.com/en-us/windows/win32/gdi/wm-paint) message, we can draw the line numbers in the gutter area.\n### Bookmarks\nTODO\n### Multi-level undo/redo\nTODO\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradad%2Fmultipad","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fradad%2Fmultipad","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradad%2Fmultipad/lists"}