{"id":20575958,"url":"https://github.com/pryrt/win32-mechanize-notepadplusplus","last_synced_at":"2025-10-24T10:19:42.369Z","repository":{"id":42482463,"uuid":"199491091","full_name":"pryrt/Win32-Mechanize-NotepadPlusPlus","owner":"pryrt","description":"Automate the Windows application Notepad++ thru Perl modules and Win32::GuiTest","archived":false,"fork":false,"pushed_at":"2023-05-31T12:53:12.000Z","size":2362,"stargazers_count":2,"open_issues_count":15,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-03T23:34:33.007Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Perl","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/pryrt.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES","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":"2019-07-29T16:41:39.000Z","updated_at":"2021-10-05T16:28:02.000Z","dependencies_parsed_at":"2025-01-16T21:43:43.632Z","dependency_job_id":"3d51d45e-fc84-4a2e-962a-8d2a70f4cb1a","html_url":"https://github.com/pryrt/Win32-Mechanize-NotepadPlusPlus","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/pryrt/Win32-Mechanize-NotepadPlusPlus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pryrt%2FWin32-Mechanize-NotepadPlusPlus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pryrt%2FWin32-Mechanize-NotepadPlusPlus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pryrt%2FWin32-Mechanize-NotepadPlusPlus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pryrt%2FWin32-Mechanize-NotepadPlusPlus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pryrt","download_url":"https://codeload.github.com/pryrt/Win32-Mechanize-NotepadPlusPlus/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pryrt%2FWin32-Mechanize-NotepadPlusPlus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280778805,"owners_count":26389468,"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-10-24T02:00:06.418Z","response_time":73,"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":[],"created_at":"2024-11-16T05:44:12.603Z","updated_at":"2025-10-24T10:19:42.317Z","avatar_url":"https://github.com/pryrt.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NAME\r\n\r\nWin32::Mechanize::NotepadPlusPlus - Automate the Windows application Notepad++\r\n\r\n# SYNOPSIS\r\n\r\n    use Win32::Mechanize::NotepadPlusPlus ':main';\r\n    my $npp = notepad();    # main application\r\n\r\n# DESCRIPTION\r\n\r\nAutomate the Windows application [Notepad++](https://notepad-plus-plus.org/).  This is inspired by the\r\nNotepad++ plugin PythonScript, but I decided to automate the application from the outside, rather than\r\nfrom inside a Notepad++ plugin.  But this module uses similar naming conventions and interface to the\r\nPythonScript plugin.\r\n\r\n## REQUIREMENTS\r\n\r\nYou need to have Notepad++ on your system.\r\n\r\nThis module will work if Notepad++ is in a standard install location, like `%ProgramFiles%\\Notepad++\\`\r\nor `%ProgramFiles(x86)%\\Notepad++\\`, or if it is in your path: when it can find the executable,\r\nit will either use the currently-running instance, or will launch a new instance if none are\r\ncurrently running.  If it cannot find your executable, the will only work if Notepad++ is\r\nalready running.\r\n\r\nThe module was developed with Notepad++ v7.7 or newer in mind, though some features should still\r\nwork on older versions of Notepad++.  As Notepad++ adds new features, the minimum version for\r\nthat method will be indicated in the help.\r\n\r\n# LIMITATIONS\r\n\r\nThis is the first public release of the module.  In general, it works.  As with all first releases,\r\nthere is room for improvement; I welcome feedback.\r\n\r\nThe first known limitation is that none of the hooks for Scintilla or Notepad++ callbacks have been\r\nenabled.  That may come sometime in the future.\r\n\r\nAll the testing and development was done with a US-English installation of Notepad++, and all the\r\nfile encodings have been ANSI or UTF-8.\r\nI [know](https://github.com/pryrt/Win32-Mechanize-NotepadPlusPlus/issues/2) that I need to include\r\nbetter tests for encoding, and any help you can provide with that is appreciated.\r\n\r\nNotepad++ is a Windows application, so that's the intended platform for this module.  However,\r\nI know Notepad++ can be made to run in Wine and similar environments in Linux, so it may be\r\npossible to make this module drive Notepad++ in such an environment.  Feedback on this process\r\nis welcome.\r\n\r\n# INSTALLATION\r\n\r\nTo install this module, use your favorite CPAN client.\r\n\r\nFor a manual install, type the following:\r\n\r\n    perl Makefile.PL\r\n    make\r\n    make test\r\n    make install\r\n\r\n(On Windows machines, you may need to use \"dmake\" or \"gmake\" instead of \"make\", depending on your setup.)\r\n\r\n## It didn't install\r\n\r\nIn general, if the test suite fails and it doesn't install, you will probably need to file a\r\n[bug report](https://github.com/pryrt/Win32-Mechanize-NotepadPlusPlus/issues).\r\n\r\nKnown possible causes include\r\n\r\n- Bit mismatch\r\n\r\n    Notepad++ and Perl must have the same bits -- 64bit or 32bit.  Make sure they do.\r\n    If they don't, it will fail in test file `t\\02_bits.t`.\r\n\r\n- `-1 NOT \u003e= 0` error\r\n\r\n    See [issue #28](https://github.com/pryrt/Win32-Mechanize-NotepadPlusPlus/issues/28):\r\n    if you get the message\r\n    `SendMessage_getRawString(): -1 NOT \u003e= 0 at C:\\usr\\local\\share\\GitHubSvn\\Win32-Mechanize-NotepadPlusPlus\\lib/Win32/Mechanize/NotepadPlusPlus/Notepad.pm line 755.`\r\n    or similar in multiple of the test files, it might be because you have one or\r\n    more really large files currently open in Notepad++, or you have too many\r\n    files open.  Either of these can cause a race condition where the test suite\r\n    expects Notepad++ to respond with all files loaded, but Notepad++ isn't quite\r\n    ready yet.  In that case, **File \u003e Save Session**, then\r\n    **File \u003e Close All**.  Exit and restart Notepad++.  The test suite will\r\n    probably pass now (if not, please comment on issue#28).  Once passing and\r\n    installed, you can **File \u003e Load Session** to restore your previously\r\n    active file session.\r\n\r\n# AUTHOR\r\n\r\nPeter C. Jones `\u003cpetercj AT cpan DOT org\u003e`\r\n\r\nPlease report any bugs or feature requests\r\nthru the repository's interface at [https://github.com/pryrt/Win32-Mechanize-NotepadPlusPlus/issues](https://github.com/pryrt/Win32-Mechanize-NotepadPlusPlus/issues),\r\nor by emailing `\u003cbug-Win32-Mechanize-NotepadPlusPlus AT rt.cpan.org\u003e`\r\nor thru the web interface at [http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Win32-Mechanize-NotepadPlusPlus](http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Win32-Mechanize-NotepadPlusPlus).\r\n\r\n\u003cdiv\u003e\r\n    \u003ca href=\"https://metacpan.org/pod/Win32::Mechanize::NotepadPlusPlus\"\u003e\u003cimg src=\"https://img.shields.io/cpan/v/Win32-Mechanize-NotepadPlusPlus.svg?colorB=00CC00\" alt=\"\" title=\"metacpan\"\u003e\u003c/a\u003e\r\n    \u003ca href=\"http://matrix.cpantesters.org/?dist=Win32-Mechanize-NotepadPlusPlus\"\u003e\u003cimg src=\"http://cpants.cpanauthors.org/dist/Win32-Mechanize-NotepadPlusPlus.png\" alt=\"\" title=\"cpan testers\"\u003e\u003c/a\u003e\r\n    \u003ca href=\"https://github.com/pryrt/Win32-Mechanize-NotepadPlusPlus/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/release/pryrt/Win32-Mechanize-NotepadPlusPlus.svg\" alt=\"\" title=\"github release\"\u003e\u003c/a\u003e\r\n    \u003ca href=\"https://github.com/pryrt/Win32-Mechanize-NotepadPlusPlus/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/pryrt/Win32-Mechanize-NotepadPlusPlus.svg\" alt=\"\" title=\"issues\"\u003e\u003c/a\u003e\r\n    \u003ca href=\"https://ci.appveyor.com/project/pryrt/win32-mechanize-notepadplusplus\"\u003e\u003cimg src=\"https://ci.appveyor.com/api/projects/status/6gv0lnwj1t6yaykp/branch/master?svg=true\" alt=\"\" title=\"test coverage\"\u003e\u003c/a\u003e\r\n\u003c/div\u003e\r\n\r\n# COPYRIGHT\r\n\r\nCopyright (C) 2019,2020,2021 Peter C. Jones\r\n\r\n# LICENSE\r\n\r\nThis program is free software; you can redistribute it and/or modify it\r\nunder the terms of either: the GNU General Public License as published\r\nby the Free Software Foundation; or the Artistic License.\r\nSee [http://dev.perl.org/licenses/](http://dev.perl.org/licenses/) for more information.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpryrt%2Fwin32-mechanize-notepadplusplus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpryrt%2Fwin32-mechanize-notepadplusplus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpryrt%2Fwin32-mechanize-notepadplusplus/lists"}