<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="bbPress/1.0.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>pnotepad.org forums &#187; Tag: extension - Recent Posts</title>
		<link>http://pnotepad.org/forums/tags/extension</link>
		<description>Programmer&#039;s Notepad Forums</description>
		<language>en-US</language>
		<pubDate>Thu, 09 Feb 2012 10:40:38 +0000</pubDate>
		<generator>http://bbpress.org/?v=1.0.3</generator>
		<textInput>
			<title><![CDATA[Search]]></title>
			<description><![CDATA[Search all topics from these forums.]]></description>
			<name>q</name>
			<link>http://pnotepad.org/forums/search.php</link>
		</textInput>
		<atom:link href="http://pnotepad.org/forums/rss/tags/extension" rel="self" type="application/rss+xml" />

		<item>
                        <title>Technical questions about extensions (jalopeura)</title>
			<link>http://pnotepad.org/forums/topic/7446#post-10628</link>
			<pubDate>Mon, 30 Jan 2012 19:22:13 +0000</pubDate>
			<dc:creator>jalopeura</dc:creator>
			<guid isPermaLink="false">10628@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;I'm writing a Perl scripting extension. I've got some basic functionality compiling, and I'm testing it. I still need to add callbacks and allow users to register scripts. (For testing, it's hard-coded to run a particular file.)&#60;/p&#62;
&#60;p&#62;I've been using PN for years and ever since extensions became possible I've been wanting to write one for Perl. I recently finished my Masters, and I am freelancing while I seek funding for a PhD, so I have occasional free time now.&#60;/p&#62;
&#60;p&#62;I hope to release something by the end of February, but it depends on how busy I am. I am a freelancer and some days I'm busier than others. Yesterday, I got several hours in, but today, I did almost nothing on the plugin because I had a lot of paying work.&#60;/p&#62;
&#60;p&#62;So basically I should never delete any objects, and I should free any non-const strings returned to me.&#60;/p&#62;
&#60;p&#62;Now I need to figure out how to make Perl play nice with &#60;code&#62;shared_ptr&#60;/code&#62;. Perl is written in C, and I'm casting object pointers to &#60;code&#62;void*&#60;/code&#62; so my Perl objects can store them. A pointer to a &#60;code&#62;shared_ptr&#60;/code&#62;, cast to a &#60;code&#62;void*&#60;/code&#62; - I don't think &#60;code&#62;shared_ptr&#60;/code&#62; will track that properly.
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Technical questions about extensions (simon)</title>
			<link>http://pnotepad.org/forums/topic/7446#post-10625</link>
			<pubDate>Mon, 30 Jan 2012 17:00:50 +0000</pubDate>
			<dc:creator>simon</dc:creator>
			<guid isPermaLink="false">10625@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;In general, items that PN calls methods with (IDocumentPtr etc) are owned by PN, and ideally you should not store references to them between calls. In the case of IDocumentPtr this is relaxed a bit, as it's useful to tie things to doc instances, but make sure you use shared_ptr to keep the reference.&#60;/p&#62;
&#60;p&#62;For event sinks and other types where PN takes a &#60;code&#62;&#38;lt;classname&#38;gt;Ptr&#60;/code&#62; instance, you should create and store these directly in &#60;code&#62;shared_ptr&#60;/code&#62;, and then the &#60;code&#62;shared_ptr&#60;/code&#62; gubbins will take care of lifetime management - you can pass to PN and forget and &#60;code&#62;shared_ptr&#60;/code&#62; will take care of deletion when there are no references left.&#60;/p&#62;
&#60;p&#62;From my recollection (I don't have the code in front of me) menu item collections are copied so you don't need to keep them around, I'd have to double-check.&#60;/p&#62;
&#60;p&#62;Any string returned to you non-const must be released with PN::ReleaseString. In most cases I've switched to using &#60;code&#62;PN::BaseString&#60;/code&#62; for this as this removes the need for this, the rest will eventually follow. Anything else you'll need to copy to keep.&#60;/p&#62;
&#60;p&#62;Hope this helps!&#60;/p&#62;
&#60;p&#62;Out of interest, what are you building?
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Technical questions about extensions (jalopeura)</title>
			<link>http://pnotepad.org/forums/topic/7446#post-10619</link>
			<pubDate>Sat, 28 Jan 2012 15:25:18 +0000</pubDate>
			<dc:creator>jalopeura</dc:creator>
			<guid isPermaLink="false">10619@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;I'm working on an extension, and I have a few questions.&#60;/p&#62;
&#60;p&#62;First, all the interfaces have a destructor in the class definition. One group of them by their nature seem to be singleton objects, and therefore I shouldn't ever delete them (IPN, IOptions, etc.). Another group is things I define my own descendant class for, and therefore I should create and destroy them myself (event sinks, for example).&#60;/p&#62;
&#60;p&#62;However, there are two groups I'm not sure about. One of them is things like IDocument. Are these pointers to copies of objects that I take ownership of, or are they pointers to the same objects the main program is using, and therefore the main program retains ownership?&#60;/p&#62;
&#60;p&#62;The other group (well, a group of one) is MenuItems, which I pass to the main program via AddPluginMenuItems. Does the main program take ownership of this, or should I delete it when the plugin exits?&#60;/p&#62;
&#60;p&#62;Most of the strings passed back and forth seem to be either const'ed or passed via PN::BaseString. I assume that any const char*/wchar_t* I pass to the main program are copied if necessary, and thus I can safely free them after the call. Similarly, if I get them from the main program, I assume I have to copy them if I want to keep them around.&#60;/p&#62;
&#60;p&#62;There are, however, three examples of non-const wchar_t* being returned. On two of those, there is a comment indicating that I should use PN::ReleaseString when I'm done with it. Am I correct in my assumption that the other one should be treated the same way? The method in question is:&#60;/p&#62;
&#60;p&#62;&#60;code&#62;virtual wchar_t* InputBox(const wchar_t* title, const wchar_t* caption) = 0;&#60;/code&#62;
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Why I can&#039;t add the compiled demo extension to PN2.1.4.2191? (simon)</title>
			<link>http://pnotepad.org/forums/topic/4899#post-7068</link>
			<pubDate>Mon, 14 Jun 2010 12:12:52 +0000</pubDate>
			<dc:creator>simon</dc:creator>
			<guid isPermaLink="false">7068@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;That SDK is out of date for PN 2.1.x, I'd suggest you grab the code from this addons project here:&#60;/p&#62;
&#60;p&#62;&#60;a href=&#34;http://code.google.com/p/pnotepad-plugins/&#34; rel=&#34;nofollow&#34;&#62;http://code.google.com/p/pnotepad-plugins/&#60;/a&#62;&#60;/p&#62;
&#60;p&#62;This includes an up-to-date 2.1 SDK and better samples. Hope that helps.
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Why I can&#039;t add the compiled demo extension to PN2.1.4.2191? (baston)</title>
			<link>http://pnotepad.org/forums/topic/4899#post-7065</link>
			<pubDate>Sat, 12 Jun 2010 08:28:32 +0000</pubDate>
			<dc:creator>baston</dc:creator>
			<guid isPermaLink="false">7065@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;I want to develop extension for PN. So first I install PN2.1.4 ,the sdk-2.0.9.921 and boost_1_43_0.zip. I compile the demo project packed in the sdk zip file successfully with vs2005 Team Suite, and copy the demo.dll file to PN directory.&#60;/p&#62;
&#60;p&#62;Under the command shell, I run &#34;pn --findexts&#34; command, later start PN, but unfortunately the PN can't install the demo extension. I have tried many times,can somebody help me?&#60;/p&#62;
&#60;p&#62;My OS is XP with sp3, and the PN has installed the pypn extension successfully.
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Adding a keyboard shortcut for a extension method, and SDK out-of-date (simon)</title>
			<link>http://pnotepad.org/forums/topic/649#post-2356</link>
			<pubDate>Wed, 19 Aug 2009 06:49:41 +0000</pubDate>
			<dc:creator>simon</dc:creator>
			<guid isPermaLink="false">2356@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;I should also add that version 9 of the interface is for the in-development version of PN - 2.1. Extensions built against that won't work with currently shipping PN.&#60;/p&#62;
&#60;p&#62;The 2.0.10 files can all be found here:&#60;/p&#62;
&#60;p&#62;&#60;a href=&#34;http://code.google.com/p/pnotepad/source/browse/#svn/branches/rel-2-0-10&#34; rel=&#34;nofollow&#34;&#62;http://code.google.com/p/pnotepad/source/browse/#svn/branches/rel-2-0-10&#60;/a&#62;
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Adding a keyboard shortcut for a extension method, and SDK out-of-date (simon)</title>
			<link>http://pnotepad.org/forums/topic/649#post-2354</link>
			<pubDate>Wed, 19 Aug 2009 06:44:24 +0000</pubDate>
			<dc:creator>simon</dc:creator>
			<guid isPermaLink="false">2354@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;Thanks, I'd forgotten to update the SDK in a while and I'll get on that.&#60;/p&#62;
&#60;p&#62;The current version doesn't support keyboard shortcuts for menu items, but it's on my list to do soon. In the mean time you can use a trigger letter, something like &#34;My &#38;amp;Command&#34; and you can then use the command with Alt-E, C.&#60;/p&#62;
&#60;p&#62;The main thing I have to work out is how best to identify extension commands across runs - is the title of the command enough (perhaps name and plugin name?) or should I add some kind of unique identifier like a GUID.
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Adding a keyboard shortcut for a extension method, and SDK out-of-date (DewVinci)</title>
			<link>http://pnotepad.org/forums/topic/649#post-2351</link>
			<pubDate>Tue, 18 Aug 2009 22:02:28 +0000</pubDate>
			<dc:creator>DewVinci</dc:creator>
			<guid isPermaLink="false">2351@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;I'm looking into creating an extension, but I need my functionality to be keyboard accessible. Is there a way to do this? Currently, I just create a menu item, but this new menu doesn't appear in the command list in the Keyboard Shortcuts option page.&#60;/p&#62;
&#60;p&#62;Also, the SDK download is out-of-date. It contains headers with PN_EXT_IFACE_VERSION = 8, but the current app is at version 9. I worked around this by directly downloading the headers from the source.
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Building demo Extension (simon)</title>
			<link>http://pnotepad.org/forums/topic/592#post-2113</link>
			<pubDate>Wed, 27 May 2009 20:37:35 +0000</pubDate>
			<dc:creator>simon</dc:creator>
			<guid isPermaLink="false">2113@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;Yes, I'm really looking forward to the VS2010 C++ enhancements. I have it installed at work and plan to get the beta onto my laptop too and have a go building PN with it.
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Building demo Extension (NickDMax)</title>
			<link>http://pnotepad.org/forums/topic/592#post-2112</link>
			<pubDate>Wed, 27 May 2009 17:13:53 +0000</pubDate>
			<dc:creator>NickDMax</dc:creator>
			<guid isPermaLink="false">2112@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;Ah! You know I have VS6, and VS 2003 professional, and 2008 express and none are good enough. Yet I really don't want to buy 2008 with 2010 already peeking around the corner as I am very interested in the C++0x extensions so I really would rather hold out.
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Building demo Extension (simon)</title>
			<link>http://pnotepad.org/forums/topic/592#post-2111</link>
			<pubDate>Wed, 27 May 2009 13:41:52 +0000</pubDate>
			<dc:creator>simon</dc:creator>
			<guid isPermaLink="false">2111@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;You mentioned above that you're using VS2008 express, and I've never tried to get PN to build with the express version. Last time I checked the express version doesn't include the full ATL distribution which means that WTL (the UI library PN uses) won't build properly - this would explain the _Module errors. It's annoying, but it means that without a paid-for edition you can only build PN extensions and not the full code.
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Building demo Extension (NickDMax)</title>
			<link>http://pnotepad.org/forums/topic/592#post-2110</link>
			<pubDate>Wed, 27 May 2009 03:40:34 +0000</pubDate>
			<dc:creator>NickDMax</dc:creator>
			<guid isPermaLink="false">2110@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;Thanks... I have been trying to compile PN as well with little success. I am not at that computer to share the errors (something to do with undefined _Module in atl and wpt errors). Basically I have had very little success with VS2008 and this project. :) but thanks for the SDK update! At the moment that is more my concern -- I figure I will try my hand at an extension.
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Building demo Extension (simon)</title>
			<link>http://pnotepad.org/forums/topic/592#post-2102</link>
			<pubDate>Tue, 26 May 2009 12:24:59 +0000</pubDate>
			<dc:creator>simon</dc:creator>
			<guid isPermaLink="false">2102@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;I built a VS2008 extension over the weekend, and had some problems with the existing demo project - the release build configuration doesn't reference the .def file so doesn't export the PN loading points properly. This means PN can't load the plugin properly. I changed this in my test project and got the plugin working ok. I'll update the SDK soon.
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Building demo Extension (simon)</title>
			<link>http://pnotepad.org/forums/topic/592#post-2097</link>
			<pubDate>Wed, 20 May 2009 14:19:14 +0000</pubDate>
			<dc:creator>simon</dc:creator>
			<guid isPermaLink="false">2097@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;Glad to hear you got it working, although it's weird that you needed to build Debug in order to get the extension to work. I would have hoped that it would work either way - and certainly release would be preferable.&#60;/p&#62;
&#60;p&#62;I'll have a go at using VS2008 for this myself some time, I've only used 2005 so far.
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Building demo Extension (NickDMax)</title>
			<link>http://pnotepad.org/forums/topic/592#post-2096</link>
			<pubDate>Wed, 20 May 2009 12:43:22 +0000</pubDate>
			<dc:creator>NickDMax</dc:creator>
			<guid isPermaLink="false">2096@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;Got everything working. The problem really just was the Debug build vs the release build. Thanks for the help.
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Building demo Extension (NickDMax)</title>
			<link>http://pnotepad.org/forums/topic/592#post-2093</link>
			<pubDate>Wed, 20 May 2009 02:27:31 +0000</pubDate>
			<dc:creator>NickDMax</dc:creator>
			<guid isPermaLink="false">2093@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;Ah... If I use a release build it will not load, but a debug build does.&#60;/p&#62;
&#60;p&#62;I have revision 974 headers: extiface.h, IOptions.h, pnextstring.h, and allocator.h
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Building demo Extension (NickDMax)</title>
			<link>http://pnotepad.org/forums/topic/592#post-2092</link>
			<pubDate>Wed, 20 May 2009 02:23:32 +0000</pubDate>
			<dc:creator>NickDMax</dc:creator>
			<guid isPermaLink="false">2092@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;Well here is the irritating part: When attached to the debugger it worked. Well is still put up the &#38;quot;Didn't Work!&#38;quot; message box but at least I know that the process ran. So apparently the dll was not getting loaded.
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Building demo Extension (simon)</title>
			<link>http://pnotepad.org/forums/topic/592#post-2087</link>
			<pubDate>Tue, 19 May 2009 14:46:55 +0000</pubDate>
			<dc:creator>simon</dc:creator>
			<guid isPermaLink="false">2087@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;You should be able to set the debugger in visual studio to start PN and see it load your dll. You can then put a breakpoint on the init function and see if it's being called. Which version of PN are you trying against, 970? You should make sure you have an up-to-date extiface.h from the main PN tree (the published SDK needs updating). It sounds like you've done that, but I wanted to make sure you had the right files.
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Building demo Extension (NickDMax)</title>
			<link>http://pnotepad.org/forums/topic/592#post-2084</link>
			<pubDate>Tue, 19 May 2009 04:46:24 +0000</pubDate>
			<dc:creator>NickDMax</dc:creator>
			<guid isPermaLink="false">2084@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;tried updating headers to the latest code on the SVN -- no change.
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Building demo Extension (NickDMax)</title>
			<link>http://pnotepad.org/forums/topic/592#post-2083</link>
			<pubDate>Tue, 19 May 2009 03:38:33 +0000</pubDate>
			<dc:creator>NickDMax</dc:creator>
			<guid isPermaLink="false">2083@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;So I have been trying to get the demo extension built and so far have had no success. I followed the instructions on the wiki and indeed the dll seems to be picked up (I can't update it when pn.exe is running), but it does not show up on the extensions page. &#60;/p&#62;
&#60;p&#62;I also tried just a blank version of the template with the same results.&#60;/p&#62;
&#60;p&#62;Are there any debugging features? anyway to tell if the extension was not successfully initialized?&#60;/p&#62;
&#60;p&#62;I am using VC++ Express 2008 (Win32) in release mode.&#60;/p&#62;
&#60;p&#62;My current debugging code (since it was not working):&#60;/p&#62;
&#60;pre&#62;&#60;code&#62;bool __stdcall pn_init_extension(int iface_version, extensions::IPN* pn)
{
	::MessageBox(NULL, _T(&#38;quot;Made it here...&#38;quot;), _T(&#38;quot;Demo Plugin&#38;quot;), MB_OK);
	if(iface_version != PN_EXT_IFACE_VERSION) {
		::MessageBox(NULL, _T(&#38;quot;Didn&#38;#39;t Work!&#38;quot;), _T(&#38;quot;Demo Plugin&#38;quot;), MB_ICONERROR &#124; MB_OK);
		return false;
	}

	//g_pn = pn;

	// Do your initialisation stuff here...
	//pn-&#38;gt;GetGlobalOutputWindow()-&#38;gt;AddToolOutput(&#38;quot;Hello from the demo extension!&#38;quot;);

	//extensions::IAppEventSinkPtr appSink(new AppEventSink());
	//pn-&#38;gt;AddEventSink(appSink);

	//Menu menu;
	//pn-&#38;gt;AddPluginMenuItems(&#38;amp;menu);
	::MessageBox(NULL, _T(&#38;quot;It Worked!&#38;quot;), _T(&#38;quot;Demo Plugin&#38;quot;), MB_ICONERROR &#124; MB_OK);
	return true;
}&#60;/code&#62;&#60;/pre&#62;
&#60;p&#62;I built (release), I ran &#38;quot;pn.exe --findexts&#38;quot;, I ran pn -- no message boxes, no line item in the extensions list.&#60;/p&#62;
&#60;p&#62;any thoughts?
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Java Extension (simon)</title>
			<link>http://pnotepad.org/forums/topic/487#post-1719</link>
			<pubDate>Tue, 18 Nov 2008 10:37:32 +0000</pubDate>
			<dc:creator>simon</dc:creator>
			<guid isPermaLink="false">1719@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;I'm not personally planning on making a Java extension, but there is no reason why someone else can't - that's why all the extensions interfaces are public and documented. You might look at using SWIG to generate Java interfaces:&#60;/p&#62;
&#60;p&#62;&#60;a href=&#34;http://www.swig.org/Doc1.3/Java.html&#34; rel=&#34;nofollow&#34;&#62;http://www.swig.org/Doc1.3/Java.html&#60;/a&#62;
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Java Extension (oh)</title>
			<link>http://pnotepad.org/forums/topic/487#post-1716</link>
			<pubDate>Tue, 18 Nov 2008 10:33:41 +0000</pubDate>
			<dc:creator>oh</dc:creator>
			<guid isPermaLink="false">1716@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;Dear PN Team -&#60;/p&#62;
&#60;p&#62;Thank you for a wonderful tool.&#60;/p&#62;
&#60;p&#62;Are there any plans for a Java extension to Programmers Notepad, like PyPN?&#60;/p&#62;
&#60;p&#62;For the moment I use Project Tools and Global Tools to integrate my Java programs into Programmers Notepad (I send the selected text to Java using Standard Input, and I capture the output, replacing the original selection).&#60;/p&#62;
&#60;p&#62;But this method results in frequent crashes of PN.&#60;/p&#62;
&#60;p&#62;I am not very good with Python, and know nothing about C (or what language PN is programmed in). A java extension would mean a way for me to contribute useful scripts (spell checking, regex search &#38;#38; replace in folders, replacement expressions etc.). &#60;/p&#62;
&#60;p&#62;Thanks again for the tool.
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Writing a docking extension\toolbar extension (simon)</title>
			<link>http://pnotepad.org/forums/topic/449#post-1581</link>
			<pubDate>Fri, 25 Jul 2008 12:58:21 +0000</pubDate>
			<dc:creator>simon</dc:creator>
			<guid isPermaLink="false">1581@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;I do want to support this in the extensions interface, but haven't had a chance to do the work on it yet myself. If you want to have a go then I'll definitely help out and if it turns out well we can accept the code into PN.
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Writing a docking extension\toolbar extension (pn2user)</title>
			<link>http://pnotepad.org/forums/topic/449#post-1578</link>
			<pubDate>Thu, 24 Jul 2008 14:40:16 +0000</pubDate>
			<dc:creator>pn2user</dc:creator>
			<guid isPermaLink="false">1578@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;Hi,&#60;br /&#62;
I want to write 2 extensions:&#60;br /&#62;
1) One extension which behaves like a docking window -&#60;br /&#62;
another tab in the &#34;Projects\File Browser\Tags&#34;&#60;br /&#62;
2) 2nd extension which is a toolbar.&#60;/p&#62;
&#60;p&#62;From looking the code, and the extensions interface,&#60;br /&#62;
I see that it is only possible using HWND from IPN::GetMainWindow,&#60;br /&#62;
and then some hacking, which I dont want to do.&#60;/p&#62;
&#60;p&#62;Is it planned to add this kind of capability as built (using proper interfaces)&#60;br /&#62;
in the future ?&#60;br /&#62;
If not, what is the process if I want to suggest this capability,&#60;br /&#62;
and implement it by myself ?&#60;/p&#62;
&#60;p&#62;10x
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Remove trailing whitespace on save (colorplane)</title>
			<link>http://pnotepad.org/forums/topic/330#post-1177</link>
			<pubDate>Fri, 08 Feb 2008 14:01:32 +0000</pubDate>
			<dc:creator>colorplane</dc:creator>
			<guid isPermaLink="false">1177@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;I love Programmer's Notepad and have been using it for quite some time, but it has always bugged me that there is no option to remove trailing whitespace when saving documents.  After browsing the forums and checking out the extension documentation I installed PyPN and wrote a very simple script to remove trailing whitespace when the document is saved.  I have mapped this to Ctrl+S and the original save function to Ctrl+Shift+S.&#60;/p&#62;
&#60;p&#62;If anyone else wants this functionality, you can follow the on-site instructions to install Python and PyPN and then place this script in the scripts directory as a .py file.  Many thanks for making PN so extensible!&#60;/p&#62;
&#60;p&#62;import pn&#60;br /&#62;
import scintilla&#60;br /&#62;
from pypn.decorators import script&#60;/p&#62;
&#60;p&#62;@script(&#34;Remove Trailing Whitespace&#34;)&#60;br /&#62;
def RemoveTrailingWhitespace():&#60;br /&#62;
	editor = scintilla.Scintilla(pn.CurrentDoc())&#60;br /&#62;
	editor.BeginUndoAction()&#60;/p&#62;
&#60;p&#62;	options = pn.GetUserSearchOptions()&#60;br /&#62;
	options.FindText = &#34;\\s+$&#34;&#60;br /&#62;
	options.ReplaceText = &#34;&#34;&#60;br /&#62;
	options.UseSlashes = True&#60;br /&#62;
	options.UseRegExp = True&#60;/p&#62;
&#60;p&#62;	pn.CurrentDoc().ReplaceAll(options)&#60;/p&#62;
&#60;p&#62;	pn.CurrentDoc().Save(pn.CurrentDoc().FileName, 1)&#60;/p&#62;
&#60;p&#62;	editor.EndUndoAction()
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Awkward file type recognition (jumpfroggy)</title>
			<link>http://pnotepad.org/forums/topic/234#post-856</link>
			<pubDate>Tue, 29 May 2007 23:36:41 +0000</pubDate>
			<dc:creator>jumpfroggy</dc:creator>
			<guid isPermaLink="false">856@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;AFAIK, file association is a windows-shell thing.  Programs (like PN) may have dialogs to set associations, but unless the windows shell supports it I don't think it's going to work.  And also, I'm pretty sure windows only supports typical suffix extensions, not prefixes.  If you have a file without a .something at the end, it will not let you associate that file with a program (it'll ask you every time).  There may be a way around this, but not that I've found.
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Awkward file type recognition (KClaisse)</title>
			<link>http://pnotepad.org/forums/topic/234#post-852</link>
			<pubDate>Tue, 29 May 2007 15:47:23 +0000</pubDate>
			<dc:creator>KClaisse</dc:creator>
			<guid isPermaLink="false">852@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;I script for a gaming engine and the files associated with the language are defined by a prefix, rather than the traditional suffix extension. All of the scripts start with es_ , how would I associate PN2 with these files?
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Where to download an extension header files, (sydorgeck)</title>
			<link>http://pnotepad.org/forums/topic/143#post-539</link>
			<pubDate>Fri, 01 Dec 2006 06:34:39 +0000</pubDate>
			<dc:creator>sydorgeck</dc:creator>
			<guid isPermaLink="false">539@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;Thank you!
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Where to download an extension header files, (simon)</title>
			<link>http://pnotepad.org/forums/topic/143#post-536</link>
			<pubDate>Thu, 30 Nov 2006 09:26:46 +0000</pubDate>
			<dc:creator>simon</dc:creator>
			<guid isPermaLink="false">536@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;Note that you will want to use the latest interim build: &#60;/p&#62;
&#60;p&#62;&#60;a href=&#34;http://pnotepad.org/files/interim/pnsetup.exe&#34; rel=&#34;nofollow&#34;&#62;http://pnotepad.org/files/interim/pnsetup.exe&#60;/a&#62;
&#60;/p&#62;</description>
		</item>
		<item>
                        <title>Where to download an extension header files, (simon)</title>
			<link>http://pnotepad.org/forums/topic/143#post-535</link>
			<pubDate>Thu, 30 Nov 2006 09:26:16 +0000</pubDate>
			<dc:creator>simon</dc:creator>
			<guid isPermaLink="false">535@http://pnotepad.org/forums/</guid>
			<description>&#60;p&#62;Have a look here:&#60;/p&#62;
&#60;p&#62;&#60;a href=&#34;http://pnotepad.svn.sourceforge.net/viewvc/pnotepad/trunk/pnwtl/&#34; rel=&#34;nofollow&#34;&#62;http://pnotepad.svn.sourceforge.net/viewvc/pnotepad/trunk/pnwtl/&#60;/a&#62;
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>

