Programmer’s Notepad


13
Oct 09

PN Command Bar

Version 2.1 introduces a new prototype feature called the Command Bar. The Command Bar enables modal editing control, allowing advanced keyboard control of the editor – the initial implementation adds some simple VI-style commands.

The handling for the commands is entirely implemented in PyPN, and it’s designed so it’s easy for you to extend and test your extensions immediately. Just edit commands.py and run it as a script and the command handling is updated.

The look and feel will obviously be worked on over time, but this version will be in the forthcoming testing release and can be enabled from the options if you have PyPN installed. This quick video doesn’t show you all of the features already supported (skipping search and some other combination commands) but gives you a feel for what can be done.


18
Aug 09

New Testing Release Incoming…

Guess what?! I haven’t been idly waiting for the stable release to go gold. Instead I got my head down and spent a lot of hours fixing up the Unicode conversion of Programmer’s Notepad. Long overdue, PN 2.1 will be full-unicode but there’s more than just that. Here’s the list of features in the build I’m currently dogfooding:

  1. Full Unicode Support
  2. Support for Translation – PN in your language
  3. Multiple concurrent selections, and block typing
  4. Virtual space

Full Unicode Support

This support extends right the way throughout Programmer’s Notepad, meaning you can now have projects containing complex-script filenames, search for and find Japanese text in your document, and insert Chinese text from your text clips. I’m sure there will be a few bugs in the unicode support, but they’ll be much easier to fix now this work is done.

Translation

I’ve wanted to do this for a long time, and finally found the time and inspiration (plus the prerequisite Unicode support). Version 2.1 supports translations built into fast, small, Windows-standard resources – no runtime string remapping. Translations, however, are performed using the industry and open-source standard PO file format meaning lots of good tools for maintaining the translations. Each translation is then transformed into a Windows-standard resource DLL by black magic, or something like that anyway – I’ll detail this further later.

Want to get your translation in for 2.1? Get started translating PN.

Multiple Selections, Block Typing, Virtual Space

I’ll probably write some more about this at a later stage, but fantastic upstream changes in Scintilla are coming to you in PN 2.1. You can now Ctrl-Click to set multiple insertion points, or Ctrl-Drag to create multiple selections. With multiple insertion points you can type and the same text will be inserted at each point. Virtual Space has been requested so many times I’ve lost count, and finally this release brings it to you.

Screenshot Anyone?
These claims would be worthless without a released build or proof right, so here’s your screenshot:

Programmer's Notepad 2.1 Pseudo-Localised Build

Programmer's Notepad 2.1 Psuedo Localised Build

This build is running with a pseudo-localised language meaning that I can check where strings still need localising. You’ll see there are a bunch still to do, but progress is being made. You can also see a three-line insertion point where I’ve just typed a sentence once and had it appear in three places (this never gets old). Finally the projects window is showing a project containing a Japanese filename – I have no idea what that file is called, but I do know I can save and load the project and file, and can find that text in that file. For those of you who regularly work with non-English text this is huge.

I just have to add the UI to enable language switches and store the configuration, and I’ll release a new testing build – watch this space.


18
Aug 09

Build 2.0.10.1010 Goes Stable

There have been no show-stopping issues found in 2.0.10.1010 so I’m very happy to finally declare a new stable release. There will probably be an update for this build at some point in the near future to fix a couple of minor issues and also to test the auto-update system for stable release users.

If you’ve been holding off from testing releases, now is a great time to download the new stable release!

Thanks to all the testers, forum users, bug reporters and patch submitters for making 2.0.10 a great release. If you’re still using 2.0.8 here are some of the highlights:

  1. Vastly improved regular expressions support
  2. Explorer view
  3. Open files view
  4. Vista-behaviour improvements
  5. Win7 Support
  6. API file autocomplete
  7. SDK for building extensions
  8. Style presets
  9. Macro/Script recording with PyPN
  10. Smart Highlight to show all instances of selected word
  11. Loads of bug fixes, and a bunch more new features

24
Jul 09

Now signalling 2.0.10.10 as Stable update

Programmer’s Notepad 2.0.10.10 is now being signalled as a stable update to test the update mechanism. It’s been signalled for those checking for testing releases for the last few days and no show-stopping bugs have been found. Those with the default update check settings will now get this build in the next few days.

Note that this doesn’t mean this is the final stable build yet, although I have high hopes. I’ll leave it a few days longer before actually declaring the build stable for public consumption.


21
Jul 09

Trunk Now Open for 2.1 Changes

This post is probably only of interest to those playing with or working on the code for Programmer’s Notepad.

Programmer’s Notepad 2.0.10 RC is now out, and with that the code has been branched in subversion to the rel-2-0-10 branch.

This means that the trunk is open for big changes again, and there are some relatively big changes on the way – in fact for the next few weeks expect the trunk to be broken fairly often. Here are the changes coming in:

  1. Fixing the Unicode build – 2.1 will be released as a full Unicode rather than mixed mode build
  2. Updating to the newest Scintilla code, error handling model has changed completely
  3. Moving to Visual Studio 2008 SP1 for development instead of 2005
  4. Updating Boost to latest release

Apart from this (!) I don’t intend on taking many changes before 2.1 is released. You can see the current suggested list of items to fix in the tracker: Ellington Issues.


21
Jul 09

Programmer’s Notepad 2 0.10.1010 Released

This is the release candidate for Programmer’s Notepad 2.0.10 – a new stable build!

Almost all changes since build 970 are minor fixes, with the exception of the additional support for XML API files (supporting Notepad++ format). Providing no major issues are found, this will become the stable release, and I plan to test the update mechanism for stable builds soon by signalling this as the new stable build.

Downloads:

2.0.10 RC Installer
2.0.10 RC Portable Zip

Changes in this build:

  1. Find word under cursor updates user search options
  2. Allow all mini toolbar buttons to live on the main toolbar (#446)
  3. Fix a leak with huge find in files matches.
  4. Fix line numbers when very long lines are in the source files (#129)
  5. Fix find next across multiple documents (#510)
  6. Fix multiple file opens from exporer (#508)
  7. Enable api-based autocomplete supporting notepad++ format (#142)
  8. Updated D language keywords and other bits (#484)
  9. Manual “Check for Updates” command under Help (#469)
  10. Mini toolbar slightly too small (#461)
  11. Disable properties controls when write-protect is enabled (#449)
  12. Fix inconsistent spelling of colour in options dialog
  13. Support word wrap in output window (#382)
  14. Avoid win7 bug hiding find in files dialog (#488)
  15. Make sure readonly is disabled during revert (#380)
  16. Provide option to disable mini toolbar (#470)
  17. Try to fix mini toolbar button size issue (#501)
  18. 24-bit images for mini toolbar where high colour is not supported (#342)
  19. Fix crash when finding with no text (#463)
  20. When close on Find Next is disabled, really don’t close (#473)
  21. Remember the last goto line
  22. Avoid a bug when reading invalid ini sections (#443)
  23. Fix bug preventing copy from output window (#412)
  24. More low-colour toolbar images for downlevel OS support (#518, #513)
  25. Minor const correctness fix for extensions

Thanks to all the users who have put time and effort into reporting and following up on bugs, testing, and contributing patches.


13
May 09

PyPN Script Repository

Like the idea of using Python scripts to enhance Programmer’s Notepad but not sure where to start? James Yoneda has created the awesome ScriptShare website for exactly this purpose:

Scriptshare in Google Chrome

Scriptshare in Google Chrome

There are a bunch of scripts already there, and hopefully you will add yours too! We’re working on getting this moved over to pnotepad.org eventually.

My thanks to James for putting this effort in and creating such a useful site in such short time!


13
May 09

PyPN 0.10.973 Released

I’m happy to announce a minor bug fix release for PyPN, the Python extension for Programmer’s Notepad. This release fixes a PN crash if you tried to create a Scintilla object with no active document, and also the exception syntax problem preventing PyPN from working in Python 2.4-2.5.

Downloads


12
May 09

Programmer’s Notepad 2 0.9.970 Released

The latest testing release of Programmer’s Notepad is out. This is a minor release with a few important bug fixes, including Unicode file handling, Windows 7 RC quirks, and a couple of toolbar appearance issues. All testing release users should upgrade to this new build.

Downloads

Thanks to all the users who have put time and effort into reporting and following up on bugs, testing, and contributing patches.


2
May 09

Programmer’s Notepad 2 0.9.962 Released

The latest testing release of Programmer’s Notepad is out. This release brings a whole bunch of great changes: Script (macro) recording when using PyPN, a customizable toolbar, firefox-style tab ordering and smart highlight. There are also a load of bug fixes too.

Downloads

There is also a new PyPN release fixing a couple of issues with the included scripts from the last build:

Thanks to all the users who have put time and effort into reporting and following up on bugs, testing, and contributing patches.