<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Need help to make Maxscript functions recognized by Function List]]></title><description><![CDATA[<p dir="auto">Hello,</p>
<p dir="auto">I am currently using a User Defined Language setup I found a long time ago for Maxscript, the internal scripting language for 3dsMax. Since the definition is old and the package not so easy to found I shared it on my website here: <a href="http://werwackfx.com/index.php/graphictools/maxscript-main/maxscript-articles/73-maxscriptinnotepadpp" rel="nofollow ugc">http://werwackfx.com/index.php/graphictools/maxscript-main/maxscript-articles/73-maxscriptinnotepadpp</a></p>
<p dir="auto">This language definition is nice and really helps to work with Notepad++ when developping with Maxscript. Unfortunately it is not complete and the functions are not recognized in the Function Lister.</p>
<p dir="auto">Can someone help me to write the appropriate regular expressions to make them visible?<br />
Beside it would be very nice if this language could be intergrated by default into NPP package.</p>
<p dir="auto">Here are how the functions look like in the code (I do appologize but I don’t see the balise “Code” to highlight it nor how to attach a file).</p>
<p dir="auto">Thank you very much for your help.</p>
<p dir="auto">/*<br />
Block comment<br />
*/</p>
<p dir="auto">– Line comment</p>
<p dir="auto">– Files extension can be *.ms or *.mcr</p>
<p dir="auto">global myGlobalVariable</p>
<p dir="auto">macroScript MyMacroscript category:“MyMacroscript” internalCategory:“MyMacroscript” tooltip: “MyMacroscript” buttonText:“MyMacroscript” Icon:#(“MyMacroscript”,1)<br />
(<br />
– blabla<br />
local lScriptRootDir = getdir #userScripts + “\”</p>
<pre><code>local lLauncherFile = lScriptRootDir + "_ScriptLauncher.ms"
if doesFileExist lLauncherFile then
	filein lLauncherFile
else if doesFileExist (lLauncherFile + "e") then
	filein (lLauncherFile + "e")
else messagebox ("File \"" + filenameFromPath lLauncherFile + "\" not found in script directory\n\nIf the script has been uninstalled, shortcuts must be removed manually") title:"Warning"
</code></pre>
<p dir="auto">)</p>
<p dir="auto">macroScript MyMacroscriptWithLessParameters  buttonText:“MyMacroscriptWithLessParameters” Icon:#(“MyMacroscript”,1)<br />
(<br />
– blabla<br />
messagebox “toto”<br />
)</p>
<p dir="auto">– functions can be identified by the term “fn” or by “function”, this with the same behavior<br />
– return value is not mandatory<br />
– indentations are not madatory<br />
fn myFunction01 =<br />
(<br />
local lMyVar = “toto”		– the use of “local” is not mandatory<br />
return lMyVar<br />
)</p>
<p dir="auto">function myFunction02 myParam =<br />
(<br />
messagebox ("myParam: " + myParam as string)<br />
)</p>
<p dir="auto">function myFunction03 myOptionalParam: myOptionalParam02:“my default value” =			– optional parameters ends with : and may be followed by an initisalization value<br />
(<br />
messagebox ("myOptionalParam02: " + myOptionalParam02 as string)<br />
)</p>
<p dir="auto">struct tWkSubstanceObjectBoundaries<br />
(<br />
myVariable,							– initialization of the variables is not mandatory<br />
myOtherVariable = undefined,</p>
<pre><code>mfDisplayInfos =
(
	format "\myVariable: %\n" (if undefined != myVariable then myVariable.name else "undefined")
),

fn mfInit rScriptRootDir: =
(
	if unsupplied != rScriptRootDir do
		mSCRIPTROOTDIR = rScriptRootDir
)

-- note that there is no coma at the end of the last variable or function of the structure
</code></pre>
<p dir="auto">)</p>
]]></description><link>https://community.notepad-plus-plus.org/topic/13443/need-help-to-make-maxscript-functions-recognized-by-function-list</link><generator>RSS for Node</generator><lastBuildDate>Mon, 17 Aug 2026 23:14:33 GMT</lastBuildDate><atom:link href="https://community.notepad-plus-plus.org/topic/13443.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 13 Mar 2017 20:20:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Need help to make Maxscript functions recognized by Function List on Mon, 20 Mar 2017 22:36:48 GMT]]></title><description><![CDATA[<p dir="auto">Hi MAPJe71,</p>
<p dir="auto">Thank you for this new code.<br />
I think having 2 separated parser definitions, one for the scripts (.ms) and one for the macros (.mcr), is fine in most of the cases, and your suggestion is nice :)</p>
<p dir="auto">I tested the code above and I have the following issues:</p>
<ul>
<li>
<p dir="auto">for .ms files, the structure is correctly identified with the “class” icon and as a new folder level. If there are 2 or more structures in the file though other structures are not recognized at all.</p>
</li>
<li>
<p dir="auto">for .mcr files the new folder level for macros is not recognized. It would be nice if it could also support several macros in the .mcr file.</p>
</li>
</ul>
<p dir="auto">I updated the sample files to introduce several structures and macros to test this, you can find them in this package: <a href="https://we.tl/kSLs8d5zhg" rel="nofollow ugc">https://we.tl/kSLs8d5zhg</a></p>
<p dir="auto">Thanks a lot for your help,</p>
<p dir="auto">Werwack</p>
]]></description><link>https://community.notepad-plus-plus.org/post/22870</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/22870</guid><dc:creator><![CDATA[WerwacK]]></dc:creator><pubDate>Mon, 20 Mar 2017 22:36:48 GMT</pubDate></item><item><title><![CDATA[Reply to Need help to make Maxscript functions recognized by Function List on Fri, 17 Mar 2017 00:30:05 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/werwack" aria-label="Profile: WerwacK">@<bdi>WerwacK</bdi></a></p>
<p dir="auto">To have both macroscripts and structs appear as branches in the tree I could only think of implementing separate parsers for <code>.ms</code> and <code>.mcr</code> files.<br />
This however requires to associate each parser with a different User Defined Language (UDL). You could define two UDL’s that only differ by name e.g. <code>MaxScript</code> and <code>MaxScript Macro</code> and associate them as follows:</p>
<pre><code class="language-XML">            &lt;association id=   "maxscript_syntax"             userDefinedLangName="MaxScript"       /&gt;
            &lt;association id=   "maxscript_syntax"             ext=".ms"                             /&gt;
            &lt;association id=   "maxscript_macrosyntax"        userDefinedLangName="MaxScript Macro" /&gt;
            &lt;association id=   "maxscript_macrosyntax"        ext=".mcr"                            /&gt;
</code></pre>
<p dir="auto">The two parser would then look like this:</p>
<pre><code class="language-XML">			&lt;!-- =================================================== [ MAXScript ] --&gt;

			&lt;parser
				displayName="MAXScript - Scripting language for AutoDesk 3ds Max"
				id         ="maxscript_syntax"
				commentExpr="(?x)                                               # Utilize inline comments (see `RegEx - Pattern Modifiers`)
								(?s:\x2F\x2A.*?\x2A\x2F)                        # Multi Line Comment
							|	(?m-s:-{2}.*$)                                  # Single Line Comment
							|	(?:                                             # String Literal - Double Quoted
									@?\x22                                      # - start-of-double-quoted-(meta-)string indicator
									(?:	[^\x22\x5C]                             # - any character except double-quote and backslash
									|	\x5C                                    # - unless: backslash escape sequence for...
										(?:	[\x22\x25\x2A\x3F\x5Cnrt]           #   ...a double-quote, %, *, ?, \, newline, carriage-return, tab...
										|	x[A-Fa-f\d]+                        #   ...or character code sequence
										)
									)*                                          # - can be empty
									\x22                                        # - end-of-double-quoted-(meta-)string indicator
								)
							"
			&gt;
				&lt;classRange
					mainExpr    ="(?x)                                          # Utilize inline comments (see `RegEx - Pattern Modifiers`)
							^\h*
							(?i:struct)\s+
							(?'VALID_ID'                                        # valid identifier, use as subroutine
								\b(?!(?-i:                                      # keywords (case sensitive), not to be used as identifier
									a(?:bout|n(?:d|imate)|[st])
								|	by
								|	c(?:a(?:se|tch)|o(?:llect|ntinue|ordsys))
								|	do
								|	e(?:lse|xit)
								|	f(?:n|or|rom|unction)
								|	global
								|	i[fn]
								|	local
								|	ma(?:croscript|pped|x)
								|	not
								|	o(?:ff?|[nr])
								|	p(?:arameters|ersistent|lugin)
								|	r(?:cmenu|eturn|ollout)
								|	s(?:et|truct)
								|	t(?:hen|hrow|o(?:ol)?|ry)
								|	u(?:ndo|tility)
								|	w(?:h(?:e(?:n|re)|ile)|ith)
								)\b)
								[A-Za-z_]\w*                                    # valid character combination for identifiers
							)
							\s*[^()]*
							\(                                                  # start-of-body indicator
							(?s:.*)                                             # body contents
							\)                                                  # end-of-body indicator
						"
					openSymbole ="\("
					closeSymbole="\)"
				&gt;
					&lt;className&gt;
						&lt;nameExpr expr="(?i:struct)\s+\K[A-Za-z_]\w*" /&gt;
					&lt;/className&gt;
					&lt;function
						mainExpr="(?x)                                          # Utilize inline comments (see `RegEx - Pattern Modifiers`)
								^\h*
								(?i:fn|function)\s+
								\K
								(?'VALID_ID'                                    # valid identifier, use as subroutine
									\b(?!(?-i:                                  # keywords (case sensitive), not to be used as identifier
										a(?:bout|n(?:d|imate)|[st])
									|	by
									|	c(?:a(?:se|tch)|o(?:llect|ntinue|ordsys))
									|	do
									|	e(?:lse|xit)
									|	f(?:n|or|rom|unction)
									|	global
									|	i[fn]
									|	local
									|	ma(?:croscript|pped|x)
									|	not
									|	o(?:ff?|[nr])
									|	p(?:arameters|ersistent|lugin)
									|	r(?:cmenu|eturn|ollout)
									|	s(?:et|truct)
									|	t(?:hen|hrow|o(?:ol)?|ry)
									|	u(?:ndo|tility)
									|	w(?:h(?:e(?:n|re)|ile)|ith)
									)\b)
									[A-Za-z_]\w*                                # valid character combination for identifiers
								)
							"
					&gt;
						&lt;functionName&gt;
							&lt;funcNameExpr expr="[A-Za-z_]\w*" /&gt;
						&lt;/functionName&gt;
					&lt;/function&gt;
				&lt;/classRange&gt;
				&lt;function
					mainExpr="(?x)                                              # Utilize inline comments (see `RegEx - Pattern Modifiers`)
							^\h*
							(?i:fn|function|macroscript)\s+
							\K
							(?'VALID_ID'                                        # valid identifier, use as subroutine
								\b(?!(?-i:                                      # keywords (case sensitive), not to be used as identifier
									a(?:bout|n(?:d|imate)|[st])
								|	by
								|	c(?:a(?:se|tch)|o(?:llect|ntinue|ordsys))
								|	do
								|	e(?:lse|xit)
								|	f(?:n|or|rom|unction)
								|	global
								|	i[fn]
								|	local
								|	ma(?:croscript|pped|x)
								|	not
								|	o(?:ff?|[nr])
								|	p(?:arameters|ersistent|lugin)
								|	r(?:cmenu|eturn|ollout)
								|	s(?:et|truct)
								|	t(?:hen|hrow|o(?:ol)?|ry)
								|	u(?:ndo|tility)
								|	w(?:h(?:e(?:n|re)|ile)|ith)
								)\b)
								[A-Za-z_]\w*                                    # valid character combination for identifiers
							)
						"
				/&gt;
			&lt;/parser&gt;
			&lt;!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --&gt;
			&lt;parser
				displayName="MAXScript Macro - Scripting language for AutoDesk 3ds Max"
				id         ="maxscript_macrosyntax"
				commentExpr="(?x)                                               # Utilize inline comments (see `RegEx - Pattern Modifiers`)
								(?s:\x2F\x2A.*?\x2A\x2F)                        # Multi Line Comment
							|	(?m-s:-{2}.*$)                                  # Single Line Comment
							|	(?:                                             # String Literal - Double Quoted
									@?\x22                                      # - start-of-double-quoted-(meta-)string indicator
									(?:	[^\x22\x5C]                             # - any character except double-quote and backslash
									|	\x5C                                    # - unless: backslash escape sequence for...
										(?:	[\x22\x25\x2A\x3F\x5Cnrt]           #   ...a double-quote, %, *, ?, \, newline, carriage-return, tab...
										|	x[A-Fa-f\d]+                        #   ...or character code sequence
										)
									)*                                          # - can be empty
									\x22                                        # - end-of-double-quoted-(meta-)string indicator
								)
							"
			&gt;
				&lt;classRange
					mainExpr    ="(?x)                                          # Utilize inline comments (see `RegEx - Pattern Modifiers`)
							^\h*
							(?i:macroscript)\s+
							(?'VALID_ID'                                        # valid identifier, use as subroutine
								\b(?!(?-i:                                      # keywords (case sensitive), not to be used as identifier
									a(?:bout|n(?:d|imate)|[st])
								|	by
								|	c(?:a(?:se|tch)|o(?:llect|ntinue|ordsys))
								|	do
								|	e(?:lse|xit)
								|	f(?:n|or|rom|unction)
								|	global
								|	i[fn]
								|	local
								|	ma(?:croscript|pped|x)
								|	not
								|	o(?:ff?|[nr])
								|	p(?:arameters|ersistent|lugin)
								|	r(?:cmenu|eturn|ollout)
								|	s(?:et|truct)
								|	t(?:hen|hrow|o(?:ol)?|ry)
								|	u(?:ndo|tility)
								|	w(?:h(?:e(?:n|re)|ile)|ith)
								)\b)
								[A-Za-z_]\w*                                    # valid character combination for identifiers
							)
							\s*[^()]*
							\(                                                  # start-of-body indicator
							(?s:.*)                                             # body contents
							\)                                                  # end-of-body indicator
						"
					openSymbole ="\("
					closeSymbole="\)"
				&gt;
					&lt;className&gt;
						&lt;nameExpr expr="(?i:macroscript)\s+\K[A-Za-z_]\w*" /&gt;
					&lt;/className&gt;
					&lt;function
						mainExpr="(?x)                                          # Utilize inline comments (see `RegEx - Pattern Modifiers`)
								^\h*
								(?i:fn|function)\s+
								\K
								(?'VALID_ID'                                    # valid identifier, use as subroutine
									\b(?!(?-i:                                  # keywords (case sensitive), not to be used as identifier
										a(?:bout|n(?:d|imate)|[st])
									|	by
									|	c(?:a(?:se|tch)|o(?:llect|ntinue|ordsys))
									|	do
									|	e(?:lse|xit)
									|	f(?:n|or|rom|unction)
									|	global
									|	i[fn]
									|	local
									|	ma(?:croscript|pped|x)
									|	not
									|	o(?:ff?|[nr])
									|	p(?:arameters|ersistent|lugin)
									|	r(?:cmenu|eturn|ollout)
									|	s(?:et|truct)
									|	t(?:hen|hrow|o(?:ol)?|ry)
									|	u(?:ndo|tility)
									|	w(?:h(?:e(?:n|re)|ile)|ith)
									)\b)
									[A-Za-z_]\w*                                # valid character combination for identifiers
								)
							"
					&gt;
						&lt;functionName&gt;
							&lt;funcNameExpr expr="[A-Za-z_]\w*" /&gt;
						&lt;/functionName&gt;
					&lt;/function&gt;
				&lt;/classRange&gt;
				&lt;function
					mainExpr="(?x)                                              # Utilize inline comments (see `RegEx - Pattern Modifiers`)
							^\h*
							(?i:macroscript)\s+
							\K
							(?'VALID_ID'                                        # valid identifier, use as subroutine
								\b(?!(?-i:                                      # keywords (case sensitive), not to be used as identifier
									a(?:bout|n(?:d|imate)|[st])
								|	by
								|	c(?:a(?:se|tch)|o(?:llect|ntinue|ordsys))
								|	do
								|	e(?:lse|xit)
								|	f(?:n|or|rom|unction)
								|	global
								|	i[fn]
								|	local
								|	ma(?:croscript|pped|x)
								|	not
								|	o(?:ff?|[nr])
								|	p(?:arameters|ersistent|lugin)
								|	r(?:cmenu|eturn|ollout)
								|	s(?:et|truct)
								|	t(?:hen|hrow|o(?:ol)?|ry)
								|	u(?:ndo|tility)
								|	w(?:h(?:e(?:n|re)|ile)|ith)
								)\b)
								[A-Za-z_]\w*                                    # valid character combination for identifiers
							)
						"
				/&gt;
			&lt;/parser&gt;
</code></pre>
]]></description><link>https://community.notepad-plus-plus.org/post/22775</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/22775</guid><dc:creator><![CDATA[MAPJe71]]></dc:creator><pubDate>Fri, 17 Mar 2017 00:30:05 GMT</pubDate></item><item><title><![CDATA[Reply to Need help to make Maxscript functions recognized by Function List on Tue, 14 Mar 2017 20:44:32 GMT]]></title><description><![CDATA[<p dir="auto">Nice to hear it works and thanks for the samples!<br />
Looking at the grammar I was already thinking about visualizing the <code>struct</code> as a branch in the tree. I will let you know how it works out.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/22703</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/22703</guid><dc:creator><![CDATA[MAPJe71]]></dc:creator><pubDate>Tue, 14 Mar 2017 20:44:32 GMT</pubDate></item><item><title><![CDATA[Reply to Need help to make Maxscript functions recognized by Function List on Tue, 14 Mar 2017 20:13:18 GMT]]></title><description><![CDATA[<p dir="auto">Hi MAPJe71,</p>
<p dir="auto">Thanks a lot!! It works pretty well.</p>
<p dir="auto">There is maybe something that could be improved. I saw on the screenshot provided on the Function List page (<a href="https://notepad-plus-plus.org/features/function-list.html" rel="nofollow ugc">https://notepad-plus-plus.org/features/function-list.html</a>) that there is a folding level between the name of the file and the function list. I assume this is for classes.<br />
Would it be possible to make the macroscripts and structure appear as if they were classes? That would allow to distinguish functions that are part of a structure from those that are at the root level. Beside it would also separate functions from one structure from those of an other one.</p>
<p dir="auto">I put some code sample and a screenshot of the result here: <a href="https://we.tl/mrbLNJhywO" rel="nofollow ugc">https://we.tl/mrbLNJhywO</a></p>
<p dir="auto">Best regards,</p>
<p dir="auto">Werwack</p>
]]></description><link>https://community.notepad-plus-plus.org/post/22701</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/22701</guid><dc:creator><![CDATA[WerwacK]]></dc:creator><pubDate>Tue, 14 Mar 2017 20:13:18 GMT</pubDate></item><item><title><![CDATA[Reply to Need help to make Maxscript functions recognized by Function List on Tue, 14 Mar 2017 15:18:33 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/werwack" aria-label="Profile: WerwacK">@<bdi>WerwacK</bdi></a> could you try the following parser:</p>
<pre><code class="language-XML">			&lt;parser
				displayName="MAXScript - Scripting language for AutoDesk 3ds Max"
				id         ="maxscript_syntax"
				commentExpr="(?x)                                               # Utilize inline comments (see `RegEx - Pattern Modifiers`)
								(?s:\x2F\x2A.*?\x2A\x2F)                        # Multi Line Comment
							|	(?m-s:-{2}.*$)                                  # Single Line Comment
							|	(?:                                             # String Literal - Double Quoted
									@?\x22                                      # - start-of-double-quoted-(meta-)string indicator
									(?:	[^\x22\x5C]                             # - any character except double-quote and backslash
									|	\x5C                                    # - unless: backslash escape sequence for...
										(?:	[\x22\x25\x2A\x3F\x5Cnrt]           #   ...a double-quote, %, *, ?, \, newline, carriage-return, tab...
										|	x[A-Fa-f\d]+                        #   ...or character code sequence
										)
									)*                                          # - can be empty
									\x22                                        # - end-of-double-quoted-(meta-)string indicator
								)
							"
			&gt;
				&lt;function
					mainExpr="(?x)                                              # Utilize inline comments (see `RegEx - Pattern Modifiers`)
							(?i:
								(?:mapped\s+)?(?:fn|function)
							|	macroScript
							)\s+
							\K
							(?'VALID_ID'                                        # valid identifier, use as subroutine
								\b(?!(?-i:                                      # keywords (case sensitive), not to be used as identifier
									a(?:bout|n(?:d|imate)|[st])
								|	by
								|	c(?:a(?:se|tch)|o(?:llect|ntinue|ordsys))
								|	do
								|	e(?:lse|xit)
								|	f(?:n|or|rom|unction)
								|	global
								|	i[fn]
								|	local
								|	ma(?:croscript|pped|x)
								|	not
								|	o(?:ff?|[nr])
								|	p(?:arameters|ersistent|lugin)
								|	r(?:cmenu|eturn|ollout)
								|	s(?:et|truct)
								|	t(?:hen|hrow|o(?:ol)?|ry)
								|	u(?:ndo|tility)
								|	w(?:h(?:e(?:n|re)|ile)|ith)
								)\b)
								[A-Za-z_]\w*                                    # valid character combination for identifiers
							)
						"
				/&gt;
			&lt;/parser&gt;
</code></pre>
<p dir="auto">with the following associations:</p>
<pre><code class="language-XML">			&lt;association id=   "maxscript_syntax"        userDefinedLangName="MaxScript"      /&gt;
			&lt;association id=   "maxscript_syntax"        ext=".ms"                            /&gt;
			&lt;association id=   "maxscript_syntax"        ext=".mcr"                           /&gt;
</code></pre>
<p dir="auto"><strong>NOTE</strong>: make sure the <code>userDefinedLangName</code> value <em>exactly</em> equals (i.e. case sensitive) the name used in your User Defined Language setup.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/22692</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/22692</guid><dc:creator><![CDATA[MAPJe71]]></dc:creator><pubDate>Tue, 14 Mar 2017 15:18:33 GMT</pubDate></item><item><title><![CDATA[Reply to Need help to make Maxscript functions recognized by Function List on Tue, 14 Mar 2017 13:09:46 GMT]]></title><description><![CDATA[<p dir="auto">Hi MAPJe71,</p>
<p dir="auto">Thanks a lot, that’s very kind of you :)</p>
<p dir="auto">I think this would also be appreciated by Lukas, a user how also wanted to use NPP with Maxscript: <a href="https://notepad-plus-plus.org/community/topic/13259/user-defined-language-problem-with-code-folding" rel="nofollow ugc">https://notepad-plus-plus.org/community/topic/13259/user-defined-language-problem-with-code-folding</a></p>
<p dir="auto">By the way I noticed in the code I submitted above that the single-line comments have been converted to one single character. Line comments are really dash dash: - - (with no space inbetween).</p>
<p dir="auto">Werwack</p>
]]></description><link>https://community.notepad-plus-plus.org/post/22681</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/22681</guid><dc:creator><![CDATA[WerwacK]]></dc:creator><pubDate>Tue, 14 Mar 2017 13:09:46 GMT</pubDate></item><item><title><![CDATA[Reply to Need help to make Maxscript functions recognized by Function List on Mon, 13 Mar 2017 21:02:47 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/werwack" aria-label="Profile: WerwacK">@<bdi>WerwacK</bdi></a>  I’ll will give it a try.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/22665</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/22665</guid><dc:creator><![CDATA[MAPJe71]]></dc:creator><pubDate>Mon, 13 Mar 2017 21:02:47 GMT</pubDate></item></channel></rss>