<?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[How to create abbreviations for java code]]></title><description><![CDATA[<p dir="auto">I have just started learning java and I was wondering if there was some way to create abbreviations for words like in MS Word.<br />
For example, if I type psvm and press space bar, I want this to expand to public static void main<br />
If I type sop and press space bar, I want this to expand to System.out.println<br />
Is there some way by which we can do this in Notepad++??<br />
Can I create a Python Plugin for this??<br />
Thanks for reading.</p>
]]></description><link>https://community.notepad-plus-plus.org/topic/18873/how-to-create-abbreviations-for-java-code</link><generator>RSS for Node</generator><lastBuildDate>Tue, 16 Jun 2026 16:08:01 GMT</lastBuildDate><atom:link href="https://community.notepad-plus-plus.org/topic/18873.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 06 Feb 2020 13:35:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to How to create abbreviations for java code on Tue, 11 Feb 2020 21:44:20 GMT]]></title><description><![CDATA[<p dir="auto">Hi, <a class="plugin-mentions-user plugin-mentions-a" href="/user/michael-vincent" aria-label="Profile: michael-vincent">@<bdi>michael-vincent</bdi></a>, <a class="plugin-mentions-user plugin-mentions-a" href="/user/peterjones" aria-label="Profile: peterjones">@<bdi>peterjones</bdi></a> and <strong>All</strong>,</p>
<p dir="auto">As you suggested, <a class="plugin-mentions-user plugin-mentions-a" href="/user/michael-vincent" aria-label="Profile: michael-vincent">@<bdi>michael-vincent</bdi></a>, I removed the <strong>space</strong> char between the <strong><code>#</code></strong> symbol and the string <strong><code>LANGUAGE_NAME</code></strong>. But, after saving and <strong>restarting</strong> N++, the <strong>pseudo</strong> abbreviation tags <strong><code>#LANGUAGE_NAME=....</code></strong> <strong>still</strong> appear in dialog, when choosing the <strong><code>Plugins &gt; QucikText &gt; Options...</code></strong> !?</p>
<p dir="auto">Luckily, it does <strong>not</strong> interfere with the <strong>abbreviation</strong> tags management of the <strong>last</strong> version <strong><code>0.1.2.4</code></strong> of the <strong><code>QuickText</code></strong> plugin, which remains <strong>correct</strong> ;-))</p>
<p dir="auto">Cheers,</p>
<p dir="auto">guy038</p>
<p dir="auto"><strong>P.S.</strong> :</p>
<p dir="auto">Actually, I just did an <strong>additional</strong> test, changing any line <strong><code>#LANGUAGE_NAME=....</code></strong> into lines <strong><code>LANGUAGE_NAME=....</code></strong> and, this time, these lines are <strong>not</strong> displayed in the <strong>Options</strong> dialog ;-))</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50519</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50519</guid><dc:creator><![CDATA[guy038]]></dc:creator><pubDate>Tue, 11 Feb 2020 21:44:20 GMT</pubDate></item><item><title><![CDATA[Reply to How to create abbreviations for java code on Mon, 10 Feb 2020 16:21:35 GMT]]></title><description><![CDATA[<p dir="auto">I’ve started learning the Visual Studio environment at work, and have a license there now; I might download the Community edition at home, and if I can find time, start looking at this plugin.</p>
<p dir="auto">I was hoping over the weekend to get the first release of my Perl-driving-Notepad++ module (Win32::Mechanize::NotepadPlusPlus) into CPAN, which would have freed up my spare-mental-time for a new project, at least until I move on to the next improvements on that one.  But as I was doing my final checks, I discovered that it is failing the test suite with perl v5.20 and earlier (I had developed with newer perl, and had just assumed since I had used compatible syntax that it would work back to 5.20, or even to 5.10), so my freetime is still focused on getting that working and released.  Once that is released to CPAN, I will probably start trying my hand at Visual Studio-based NPP-plugin exploration at home; with my setback, it may be another week or two before I can get to that.</p>
<p dir="auto">(As with <a class="plugin-mentions-user plugin-mentions-a" href="/user/michael-vincent" aria-label="Profile: Michael-Vincent">@<bdi>Michael-Vincent</bdi></a>, they don’t actually pay me to do Notepad++ plugin/helper development, though a few of my simpler/quicker things, I can justify as “helping make my work more efficient in the long term”, even when they aren’t directly related to my job.)</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50494</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50494</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Mon, 10 Feb 2020 16:21:35 GMT</pubDate></item><item><title><![CDATA[Reply to How to create abbreviations for java code on Mon, 10 Feb 2020 15:47:43 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/guy038" aria-label="Profile: guy038">@<bdi>guy038</bdi></a></p>
<p dir="auto">That’s great news about <code>A)</code>, I think I’ve seen that behavior myself once or twice when using <code>Alt</code> as a modifier for a hotkey that does text insert - it put a weird character in so I just removed the <code>Alt</code> modifier for the hotkey chord.  I’m glad <code>Tab</code> works for you!</p>
<p dir="auto"><strong>ONE NOTE:</strong>  Maybe I should have made this clearer - the ‘#LANGUAGE_NAME’ needs to be <strong>NO SPACES</strong> between the hash “#” and the “LANGUAGE_NAME”.  I see in your example, you’ve put a space between.  If you remove the space, everything should work as expected - you should <strong>not</strong> see them as expansions in the Options dialog.</p>
<p dir="auto">Sorry for the confusion.</p>
<p dir="auto">Also, thanks for the breakdown in <code>A)</code> about the character insertions based on modifiers and encoding - very helpful going forward.  And thanks for your QuickText.ini file.  I’ll incorporate that into future releases as well as making the QuickText.default.ini file just QuickText.ini so it should hopefully work “out of the box”.</p>
<p dir="auto">I did some looking at the codebase this morning.  Again my limited C++ knowledge hampers my efforts, but it looks like sorting the languages will be harder than I expected since in the Combo box of the Options dialog, the order matters when selecting a language - it returns a zero-based index which is then matched to the N++ language list (enum LangType in Notepad_plus_msgs.h, an include file from the N++ project) which itself has the same order as the LANGUAGES I use in QuickText.  All this matters to match the appropriate language.  I suppose a more complicated data structure to store the language ID rather than putting it in a vector array by the ID would be more visually appealing, but certainly more C++ work than I have skills for at the moment.</p>
<p dir="auto">My thought behind this was to be able to add User Defined Languages instead of just adding all tags in the USER language for all user defined languages.  But again, all user defined languages return an ID of 15 - they need to be differentiated by string matching the name after matching the ID of 15 - logic that QuickText and the data structure to store the language don’t yet have.</p>
<p dir="auto">Finally, I was playing with <a href="https://github.com/dail8859/DoxyIt" rel="nofollow ugc">DoxyIt</a> over the weekend and like the way they do named hotspots hopping in the inserted comment text.  QuickText just uses the “$” character to indicate hotspots and removes it when inserting to the document.  It’d be nice to actually regex match $(.*) like in DoxyIt so QuickText could have named hotspots, but alas the code implementing the hotspot identification is just iterating character matching through the string - I’d need to redesign that as well to do a regex match and account for the additional characters.</p>
<p dir="auto">I just don’t have the C++ chops to make these changes easily (although they probably are pretty straightforward for someone who knows what they’re doing in C++).</p>
<p dir="auto">Cheers.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50493</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50493</guid><dc:creator><![CDATA[Michael Vincent]]></dc:creator><pubDate>Mon, 10 Feb 2020 15:47:43 GMT</pubDate></item><item><title><![CDATA[Reply to How to create abbreviations for java code on Mon, 10 Feb 2020 14:43:39 GMT]]></title><description><![CDATA[<p dir="auto">Hi, <strong>all</strong>,</p>
<p dir="auto">As promised, the contents of my <strong>customized</strong> <strong><code>QuickText.ini</code></strong> file :</p>
<pre><code class="language-ini">[0]
# LANGUAGE_NAME=TXT

[1]
# LANGUAGE_NAME=PHP
for.sl=for (\$i = 0; \$i &lt; $; ++\$i)\n	$
for.ml=for (\$i = 0; \$i &lt; $; ++\$i)\n{\n	$\n}
foreach.sl=foreach (\$$ as \$k =&gt; \$v)\n	$
foreach.ml=foreach (\$$ as \$k =&gt; \$v)\n{\n	$\n}
function.public=public function $($)\n{\n	$\n}
function.protected=protected function $($)\n{\n	$\n}
function.private=private function $($)\n{\n	$\n}
function.public.static=public static function $($)\n{\n	$\n}
function.protected.static=protected static function $($)\n{\n	$\n}
function.private.static=private static function $($)\n{\n	$\n}

[2]
# LANGUAGE_NAME=C
case=case $: $\n$
def=#define $\n$
default=default $: $\n$
dowhile=do\n{\n	$\n}\nwhile ($);\n$
dowhiles=do\n	$\nwhile ($);\n$
else=else\n{\n	$\n}\n$
elseif=else if ($)\n{\n	$\n}\n$
elseifs=else if ($)\n	$\n$
elses=else\n	$\n$
for=for ($;$;$)\n{\n	$\n}\n$
fors=for ($;$;$)\n	$\n$
func=$ $($)\n{\n	$\n	return $;\n}\n$
if=if ($)\n{\n	$\n}\n$
ifelse=if ($)\n{\n	$\n}\nelse\n{\n	$\n}\n$
ifelses=if ($)\n{\n	$\n}\nelse\n	$\n$
ifs=if ($)\n	$\n$
ifselse=if ($)\n	$\nelse\n{\n	$\n}\n$
ifselses=if ($)\n	$\nelse\n	$\n$
inc=#include &lt;$&gt;\n$
incl=#include "$"\n$
main=int main(int argc, char* argv[])\n{\n	$\n}\n
switch=switch ($)\n{\n	$\n}\n$
while=while ($)\n{\n	$\n}\n$
whiles=while ($)\n	$\n$

[3]
# LANGUAGE_NAME=CPP
case=case $: $\n$
class=class $ {\nprivate:\n	$\nprotected:\n	$\npublic:\n	$\n};\n$
def=#define $\n$
default=default $: $\n$
dowhile=do\n{\n	$\n}\nwhile ($);\n$
dowhiles=do\n	$\nwhile ($);\n$
else=else\n{\n	$\n}\n$
elseif=else if ($)\n{\n	$\n}\n$
elseifs=else if ($)\n	$\n$
elses=else\n	$\n$
for=for ($;$;$)\n{\n	$\n}\n$
fors=for ($;$;$)\n	$\n$
func=$ $($)\n{\n	$\n	return $;\n}\n$
hclass=#ifndef $\n#define $\n\nclass $ {\nprivate:\n	$\nprotected:\n	$\npublic:\n	$\n};\n\n#endif\n$
if=if ($)\n{\n	$\n}\n$
ifelse=if ($)\n{\n	$\n}\nelse\n{\n	$\n}\n$
ifelses=if ($)\n{\n	$\n}\nelse\n	$\n$
ifs=if ($)\n	$\n$
ifselse=if ($)\n	$\nelse\n{\n	$\n}\n$
ifselses=if ($)\n	$\nelse\n	$\n$
inc=#include &lt;$&gt;\n$
incl=#include "$"\n$
main=int main(int argc, char* argv[])\n{\n	$\n}\n
switch=switch ($)\n{\n	$\n}\n$
while=while ($)\n{\n	$\n}\n$
whiles=while ($)\n	$\n$

[4]
# LANGUAGE_NAME=CS

[5]
# LANGUAGE_NAME=OBJC

[6]
# LANGUAGE_NAME=JAVA

[7]
# LANGUAGE_NAME=RC

[8]
# LANGUAGE_NAME=HTML
a-id=&lt;a id="$" href="$"&gt;$&lt;/a&gt;
b=&lt;b&gt;$&lt;/b&gt;
body=&lt;body&gt;\n	$\n&lt;/body&gt;\n$
body-id=&lt;body id="$"&gt;\n	$\n&lt;/body&gt;\n$
br=&lt;br /&gt;
color.black=#000000
color.blue=#0000FF
color.cyan=#00FFFF
color.green=#00FF00
color.grey=#C0C0C0
color.mangenta=#FF00FF
color.white=#FFFFFF
color.yellow=#FFFF00
comment=&lt;!-- $ --&gt;\n$
div-class=&lt;div class="$"&gt;\n&lt;/div&gt;
div-id=&lt;div id="$"&gt;\n&lt;/div&gt;
div-id-class=&lt;div id="$" class="$"&gt;\n	$\n&lt;/div&gt;
div.p=&lt;div class="p"&gt;\n	$\n&lt;/div&gt;
doctype.html.4.loose=&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"\n	"http://www.w3.org/TR/html4/loose.dtd"&gt;
doctype.html.4.strict=&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"\n	"http://www.w3.org/TR/html4/strict.dtd"&gt;
doctype.xhtml.1.0.loose=&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"\n	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
doctype.xhtml.1.0.strict=&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
doctype.xhtml.1.1=&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\n	"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"&gt;
fieldset=&lt;fieldset class="$"&gt;\n	$\n&lt;/fieldset&gt;
form=&lt;form name="$" action="$"&gt;\n	$\n&lt;/form&gt;\n$
h1=&lt;h1&gt;$&lt;/h1&gt;
h2=&lt;h2&gt;$&lt;/h2&gt;
h3=&lt;h3&gt;$&lt;/h3&gt;
h4=&lt;h4&gt;$&lt;/h4&gt;
h5=&lt;h5&gt;$&lt;/h5&gt;
h6=&lt;h6&gt;$&lt;/h6&gt;
head=&lt;head&gt;\n	$\n&lt;/head&gt;\n$
html-body=&lt;html&gt;\n&lt;head&gt;\n		&lt;title&gt;$&lt;/title&gt;\n	$\n	&lt;/head&gt;\n	&lt;body&gt;\n	$\n	&lt;/body&gt;\n&lt;/html&gt;
i=&lt;i&gt;$&lt;/i&gt;$
img=&lt;img src="$" alt="$" /&gt;\n$
input=&lt;input type="$" name="$" /&gt;\n$
li=&lt;li&gt;$&lt;/li&gt;
lil=&lt;li&gt;\n	$\n&lt;/li&gt;
link=&lt;a href="$"&gt;$&lt;/a&gt;$
ol=&lt;ol&gt;\n	&lt;li&gt;$&lt;/li&gt;\n&lt;/ol&gt;
p=&lt;p&gt;\n	$\n&lt;/p&gt;
pre=&lt;pre&gt;$&lt;/pre&gt;\n$
pre-class=&lt;pre class="$"&gt;\n	$\n&lt;/pre&gt;
prel=&lt;pre&gt;\n	$\n&lt;/pre&gt;
span=&lt;span&gt;$&lt;/span&gt;
table-id=&lt;table id="$"&gt;\n	&lt;tr&gt;\n		&lt;td id="$"&gt;\n			$\n		&lt;/td&gt;\n	&lt;/tr&gt;\n&lt;/table&gt;
td=\n&lt;td&gt;\n	$\n&lt;/td&gt;
title=&lt;title&gt;$&lt;/title&gt;\n$
tr=\n&lt;tr&gt;\n	$\n&lt;/tr&gt;
ul=&lt;ul&gt;\n	&lt;li&gt;$&lt;/li&gt;\n&lt;/ul&gt;
url=http://
www=http://www.

[9]
# LANGUAGE_NAME=XML

[10]
# LANGUAGE_NAME=MAKEFILE

[11]
# LANGUAGE_NAME=PASCAL

[12]
# LANGUAGE_NAME=BATCH

[13]
# LANGUAGE_NAME=INI

[14]
# LANGUAGE_NAME=NFO

[15]
# LANGUAGE_NAME=USER

[16]
# LANGUAGE_NAME=ASP

[17]
# LANGUAGE_NAME=SQL

[18]
# LANGUAGE_NAME=VB

[19]
# LANGUAGE_NAME=JS
for.sl=for (var i = 0; i &lt; $; ++i)\n	$
for.ml=for (var i = 0; i &lt; $; ++i)\n{\n	$\n}
foreach.sl=for (var x in $)\n	$
foreach.ml=for (var x in $)\n{\n	$\n}

[20]
# LANGUAGE_NAME=CSS

[21]
# LANGUAGE_NAME=PERL
Dumper=use Data::Dumper; \$Data::Dumper::Sortkeys=1; print Dumper \ $; exit;$
csv=my \$csv = Text::CSV-&gt;new( {sep_char =&gt; ',', binary =&gt; 1} )\n  or die Text::CSV-&gt;error_diag;\n\nopen my \$fh, '&lt;', \$$\n  or die "\$!";\n\nwhile ( my \$row = \$csv-&gt;getline(\$fh) ) {\n    $\n}\nif ( not \$csv-&gt;eof ) {\n    my ( \$cde, \$str, \$pos ) = \$csv-&gt;error_diag;\n}\n$
else=else {\n    $\n}\n$
elsif=if ( $ ) {\n    $\n} elsif ( $ ) {\n    $\n} else {\n    $\n}\n$
for=for my \$$ ( $ ) {\n    $\n}\n$
if=if ( $ ) {\n    $\n}\n$
ifelse=if ( $ ) {\n    $\n} else {\n    $\n}\n$
mlread=my \$START = '$';\nmy \$STOP  = '$';\nmy \$INCLUDE_START = $1;\nmy \$INCLUDE_STOP  = $1;\nmy @data;\nfor ( $ ) {\n    if ( /\$START/ .. /\$STOP/ ) {\n        next if ( not \$INCLUDE_START and /\$START/ );\n        push @data, \$_ unless ( not \$INCLUDE_STOP and /\$STOP/ );\n        process_data() if ( /\$STOP/ );\n        next;\n    }\n    process_nodata();\n}\nprocess_data\n\nsub process_data {\n    return if not @data;\n    # operate on @data\n    $\n    @data = ();\n}\n\nsub process_nodata {\n    # operate on \$_\n    $\n}\n$
open=open my \$fh, '&lt;', \$$;\nmy @lines = &lt;\$fh&gt;;\nclose \$fh;\n$
package=package $;\nuse Class::Struct;\nstruct( $ =&gt; '\$', $ =&gt; '@', $ =&gt; '$Module::Name' );\n1;\n$
sopen=my \$lines;\n{\n    local \$/ = undef;\n    open my \$fh, '&lt;', \$$;\n    \$lines = &lt;\$fh&gt;;\n    close \$fh;\n}\n$
start=#!perl\n\nuse strict;\nuse warnings;\n\n$
sub=sub $ {\n    my (\$$) = @_;\n\n    $\n}\n$
wantarray=my @rets;\nmy \$retType = wantarray;\n\nif ( not defined \$retType ) {\n    print "$@rets";\n} elsif (\$retType) {\n    return @rets;\n} else {\n    return \@rets;\n}\n$
while=while ( $ ) {\n    $\n}\n$

[22]
# LANGUAGE_NAME=PYTHON

[23]
# LANGUAGE_NAME=LUA

[24]
# LANGUAGE_NAME=TEX

[25]
# LANGUAGE_NAME=FORTRAN

[26]
# LANGUAGE_NAME=BASH

[27]
# LANGUAGE_NAME=FLASH

[28]
# LANGUAGE_NAME=NSIS

[29]
# LANGUAGE_NAME=TCL
else=} else {\n $
foreach=foreach $ $ {\n $\n}\n$
if=if { $ } {\n $\n}\n$
ifelse=if { $ }\n $\n} else {\n $\n}
proc=# $\nproc $ { $ } {\n $\n}\n$
regsub=regsub -all {$} "$" {$} $\n$

[30]
# LANGUAGE_NAME=LISP

[31]
# LANGUAGE_NAME=SCHEME

[32]
# LANGUAGE_NAME=ASM

[33]
# LANGUAGE_NAME=DIFF

[34]
# LANGUAGE_NAME=PROPS

[35]
# LANGUAGE_NAME=PS

[36]
# LANGUAGE_NAME=RUBY

[37]
# LANGUAGE_NAME=SMALLTALK

[38]
# LANGUAGE_NAME=VHDL
Ris=Rising_Edge ( $ )$
access=type $ is access $;\n$
alias=alias $ is $;\n$
archi=architecture $ of $ is\n$\nbegin\n$\nend $;\n$
array=type $ is\n array ( $ ) of $;\n$
assert=assert ( $ )\n report "$"\n sevrity $;\n$
block=$ : block $\nbegin\n $\nend block $;\n$
case=case $ is\n when $ =&gt;\n $;\n when others =&gt;\n $;\nend case;\n$
com=--\n-- $\n--
component=component $\n port (\n $\n );\nend component $;\n$
config=for $ : $\n use $\n $;\n$
constant=constant $: $;\n$
elsif=elsif ( $ ) then\n $;
entity=entity $ is\n port (\n $\n );\nend $;\n$
enum=type $ is ( $, $ );
exit=exit $ when $;\n$
file=file $ : $ is $;\n$
for=$ : for $ in $ downto $ loop\n $;\nend loop $;\n$
function=function (\n $\n )return $ is\n $\nbegin\n $\nend $;
functiond=function $ (\n $\n) return $;\n$
geneif=$ : if ( $ = $ ) generate\n $\nbegin\n $\nend generate $;
generate=$ : for $ in $ downto $ generate\n $\nbegin\n $\nend generate $;\n$
generic=generic (\n $\n );\n$
genmap=generic map (\n $\n)\n$
group=group $ is ( $ );\n$
ieee=library ieee;\n use ieee.std_logic_1164.all;\n $
if=if ( $ ) then\n $;\n$end if;\n$
ifelse=if ( $ ) then\n $\nelse\n $\nend if;\n$
ifelsif=if ( $ ) then\n $\nelsif ( $ )\n $\nend if;\n$
loop=$ : loop\n $\nend loop;\n$
map=$ : $\n port map (\n $\n );\n$
mapgen=$ : $\n generic map (\n $\n )\n port map (\n $\n );\n$
next=$ : next $ when $;\n$
numeric=use ieee.numeric_std.all;\n$
pack=package $ is\n $\nend package $;\n\npackage body $ is\n $\nend package body $;\n$
port=port (\n $\n );\n$
procedure=procedure $ (\n $\n ) is\n$\nbegin\n $\nend procedure $;\n$
procedured=procedure $ (\n $\n);\n$
process=$ : process ( $ )\nbegin\n $\nend process $;\n$
proclk=$ : process ( $, $ )\n begin\n if ( $ = '$' ) then\n $ &lt;= $;\n elsif( Rising_Edge( $ ) ) then\n $\n end if;\nend process $;
protected=protected\n $\nend protected ;
record=type $ is\n record\n $ : $ ;\nend record $;\n$
start=library ieee;\n use ieee.std_logic_1164.all;\n\nentity $ is\n port (\n $\n );\nend $;\n\narchitecture $ of $ is\n$\nbegin\n$\nend $;\n$
std=signal $ : std_logic$;\n$
stdpi=$ : in std_logic;\n$
stdpio=$ : inout std_logic;\n$
stdpo=$ : out std_logic;\n$
stdtextio=use ieee.std_logic_textio.all;\n$
stdv=signal $ : std_logic_vector( $ downto 0);\n$
stdvar=variable $ : std_logic;\n$
stdvpi=$ : in std_logic_vector( $ downto $);\n$
stdvpio=$ : inout std_logic_vector( $ downto $);\n$
stdvpo=$ : out std_logic_vector( $ downto $);\n$
stdvvar=variable $ : std_logic_vector( $ downto 0);\n$
subtype=subtype $ is $;\n$
textio=use std.textio.all;\n$
units=units\n $;\nend units;\n$
waitf=wait for $;\n$
waitu=wait until $;\n$
waituf=wait until $ for $;\n$
when=when $ =&gt;\n $;$
whene=when ( $ ) else $;
while=$ : while $ loop\n $;\nend loop;\n$
x=x"$"$

[39]
# LANGUAGE_NAME=KIX

[40]
# LANGUAGE_NAME=AU3

[41]
# LANGUAGE_NAME=CAML

[42]
# LANGUAGE_NAME=ADA

[43]
# LANGUAGE_NAME=VERILOG

[44]
# LANGUAGE_NAME=MATLAB

[45]
# LANGUAGE_NAME=HASKELL

[46]
# LANGUAGE_NAME=INNO

[47]
# LANGUAGE_NAME=SEARCHRESULT

[48]
# LANGUAGE_NAME=CMAKE

[49]
# LANGUAGE_NAME=YAML

[50]
# LANGUAGE_NAME=COBOL

[51]
# LANGUAGE_NAME=GUI4CLI

[52]
# LANGUAGE_NAME=D

[53]
# LANGUAGE_NAME=POWERSHELL

[54]
# LANGUAGE_NAME=R

[55]
# LANGUAGE_NAME=JSP

[56]
# LANGUAGE_NAME=COFFEESCRIPT

[57]
# LANGUAGE_NAME=JSON

[58]
# LANGUAGE_NAME=JAVASCRIPT

[59]
# LANGUAGE_NAME=FORTRAN_77

[60]
# LANGUAGE_NAME=BAANC

[61]
# LANGUAGE_NAME=SREC

[62]
# LANGUAGE_NAME=IHEX

[63]
# LANGUAGE_NAME=TEHEX

[64]
# LANGUAGE_NAME=SWIFT

[65]
# LANGUAGE_NAME=ASN1

[66]
# LANGUAGE_NAME=AVS

[67]
# LANGUAGE_NAME=BLITZBASIC

[68]
# LANGUAGE_NAME=PUREBASIC

[69]
# LANGUAGE_NAME=FREEBASIC

[70]
# LANGUAGE_NAME=CSOUND

[71]
# LANGUAGE_NAME=ERLANG

[72]
# LANGUAGE_NAME=ESCRIPT

[73]
# LANGUAGE_NAME=FORTH

[74]
# LANGUAGE_NAME=LATEX

[75]
# LANGUAGE_NAME=MMIXAL

[76]
# LANGUAGE_NAME=NIMROD

[77]
# LANGUAGE_NAME=NNCRONTAB

[78]
# LANGUAGE_NAME=OSCRIPT

[79]
# LANGUAGE_NAME= REBOL

[80]
# LANGUAGE_NAME=REGISTRY

[81]
# LANGUAGE_NAME=RUST

[82]
# LANGUAGE_NAME=SPICE

[83]
# LANGUAGE_NAME=TXT2TAGS

[84]
# LANGUAGE_NAME=VISUALPROLOG

[85]
# LANGUAGE_NAME=EXTERNAL

[255]
# LANGUAGE_NAME=GLOBAL
copyright=Copyright (C) $ 20$\n\nhttp://$\n\nAll rights reserved\n$
</code></pre>
<hr />
<p dir="auto">When I says <strong>customized</strong>, this just means that I <strong>changed</strong> the lines beginning with <strong><code>LANGUAGE_NAME=...</code></strong> by lines <strong><code># LANGUAGE_NAME=...</code></strong> and I added <strong>all</strong> the languages from <strong><code>[50]</code></strong> to <strong><code>[85]</code></strong></p>
<p dir="auto">However, I did <strong>not</strong> add and/or remove any <strong>abbreviation tag</strong> !</p>
<p dir="auto">BR</p>
<p dir="auto">guy038</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50491</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50491</guid><dc:creator><![CDATA[guy038]]></dc:creator><pubDate>Mon, 10 Feb 2020 14:43:39 GMT</pubDate></item><item><title><![CDATA[Reply to How to create abbreviations for java code on Mon, 10 Feb 2020 14:33:26 GMT]]></title><description><![CDATA[<p dir="auto">Hi, <a class="plugin-mentions-user plugin-mentions-a" href="/user/michael-vincent" aria-label="Profile: michael-vincent">@<bdi>michael-vincent</bdi></a>, <a class="plugin-mentions-user plugin-mentions-a" href="/user/peterjones" aria-label="Profile: peterjones">@<bdi>peterjones</bdi></a> and <strong>All</strong>,</p>
<p dir="auto">Thanks, again for all your <strong>explanations</strong></p>
<ul>
<li>Regarding point <strong><code>A</code></strong></li>
</ul>
<p dir="auto">I understood the problem. If I use the <strong><code>TAB</code></strong> key ( which has the <strong><code>SCI_TAB</code></strong> <strong>duplicate</strong> ) everything is <strong>OK</strong> !</p>
<p dir="auto"><strong>Before</strong>, I used the <strong><code>Ctrl + Alt + =</code></strong> shortcut for the <strong><code>Plugins &gt; QuixckText &gt; Replace Tag</code></strong> command, which, indeed, writes the <strong>single</strong> byte <strong><code>\xBB</code></strong>, <strong>whatever</strong> the file encoding</p>
<p dir="auto">After some searches, I found out that the <strong><code>QuickText</code></strong> plugin simply displays the character whose <strong>decimal</strong> value is the <strong>scan-code</strong> of the key, read by the <strong><code>Shortcut Mapper</code></strong>. Of course, for key codes <strong>over</strong> <strong><code>127</code></strong>, the result is <strong>different</strong> between an <strong><code>ANSI</code></strong> and <strong><code>Unicode</code></strong> file !</p>
<p dir="auto">Here is, below, an <strong>almost</strong> exhaustive list, where :</p>
<ul>
<li>
<p dir="auto">Column <strong><code>1</code></strong> contains the <strong>name</strong> of keys, used with <strong><code>Shift</code></strong> and/or <strong><code>Ctrl</code></strong> and/or <strong><code>Alt</code></strong>, in the <strong><code>Shortcut Mapper</code></strong></p>
</li>
<li>
<p dir="auto">Column <strong><code>2</code></strong> contains the <strong>character</strong> displayed, in an <strong><code>Unicode</code></strong> file, by the <strong><code>QuickText</code></strong> plugin, when caret is <strong>not</strong> close to an <strong>abbreviation tag</strong></p>
</li>
<li>
<p dir="auto">Column <strong><code>3</code></strong> contains the <strong>character</strong> displayed, in an <strong><code>ANSI</code></strong> file, by the <strong><code>QuickText</code></strong> plugin, when caret is <strong>not</strong> close to an <strong>abbreviation tag</strong></p>
</li>
<li>
<p dir="auto">Column <strong><code>4</code></strong> contains the <strong>decimal</strong> N++ <strong>Scan-code</strong> of the key, read by the <strong><code>Shortcut Mapper</code></strong></p>
</li>
</ul>
<pre><code class="language-z">    •-----------•-------•-----•-----•
    |     1     |   2   |  3  |  4  |
    •-----------•-------•-----•-----•
    | Backspace |  BS   | BS  |  08 |
    | Tab       |  TAB  | TAB |  09 |
    | Enter     |  CR   | CR  |  13 |
    | Esc       |  ESC  | ESC |  27 |
    | Spacebar  |  SPC  | SPC |  32 |
    | Page up   |  !    |  !  |  33 |
    | Page down |  "    |  "  |  34 |
    | End       |  #    |  #  |  35 |
    | Home      |  $    |  $  |  36 |
    | Left      |  %    |  %  |  37 |
    | Up        |  &amp;    |  &amp;  |  38 |
    | Right     |  '    |  '  |  39 |
    | Down      |  (    |  (  |  40 |
    | INS       |  -    |  -  |  45 |
    | DEL       |  .    |  .  |  46 |
    •-----------•-------•-----•-----•
    |    ;      |  xBA  |  º  | 186 |
    |    =      |  xBB  |  »  | 187 |
    |    ,      |  xBC  |  ¼  | 188 |
    |    .      |  xBE  |  ¾  | 190 |
    |    /      |  xBF  |  ¿  | 191 |
    |    ~      |  xC0  |  À  | 192 |
    |    [      |  xDB  |  Û  | 219 |
    |    \      |  xDC  |  Ü  | 220 |
    |    ]      |  xDD  |  Ý  | 221 | 
    |    '      |  xDE  |  Þ  | 222 |
    |    &lt;&gt;     |  xE2  |  â  | 226 |
    •-----------•-------•-----•-----•
    |    F1     |   p   |  p  | 112 |
    |    F2     |   q   |  q  | 113 |
    | ......... | ..... | ... | ... | 
    |    F11    |   z   |  z  | 122 |
    |    F12    |   {   |  {  | 123 |
    •-----------•-------•-----•-----•
    |    0      |   0   |  0  |  48 |
    |    1      |   1   |  1  |  49 |
    | ......... | ..... | ... | ... |
    |    8      |   8   |  8  |  56 |
    |    9      |   9   |  9  |  57 |
    •-----------•-------•-----•-----•
    |    A      |   A   |  A  |  65 |
    |    B      |   B   |  B  |  66 |
    | ......... | ..... | ... | ... |
    |    Y      |   Y   |  Y  |  89 |
    |    Z      |   Z   |  Z  |  90 |
    •-----------•-------•-----•-----•
    | Numpad 0  |   `   |  `  |  96 |
    | Numpad 1  |   a   |  a  |  97 |
    | ......... | ..... | ... | ... |
    | Numpad 8  |   h   |  h  | 104 |
    | Numpad 9  |   i   |  j  | 105 |
    |   Num *   |   j   |  j  | 106 |
    |   Num +   |   k   |  k  | 107 |
    |   Num -   |   m   |  m  | 109 |
    |   Num .   |   n   |  n  | 110 |
    |   Num /   |   o   |  o  | 111 |
    •-----------•-------•-----•-----•
    |     1     |   2   |  3  |  4  |
    •-----------•-------•-----•-----•
</code></pre>
<hr />
<ul>
<li>Regarding point <strong><code>B</code></strong> :</li>
</ul>
<p dir="auto">Ah…, <strong>OK</strong> ! This behaviour is <strong>normal</strong> and is <strong>not</strong> related to the <strong><code>QuickText</code></strong> plugin at all ! BTW, <strong>thanks</strong> for your <strong>instructive</strong> example ;-))</p>
<hr />
<ul>
<li>Regarding point <strong><code>C</code></strong> :</li>
</ul>
<p dir="auto">As you said :</p>
<ul>
<li>
<p dir="auto">I deleted the <strong><code>#</code></strong> symbol from the <strong>allowedChars</strong> variable, in the <strong><code>QuickText.conf.ini</code></strong> file</p>
</li>
<li>
<p dir="auto">I changed any line <strong><code>LANGUAGE-NAME=....</code></strong> with the <strong>comment</strong> <strong><code># LANGUAGE-NAME=....</code></strong>, in the <strong>`QuickText.ini</strong> file</p>
</li>
</ul>
<p dir="auto">Note that, in my configuration, these <strong>two</strong> <strong><code>.ini</code></strong> files are <strong><code>UTF-8</code></strong> encoded !</p>
<p dir="auto">And it seems that every <strong>abbreviation tag</strong> is fully <strong>functional</strong>, when the corresponding <strong>language</strong> is selected ;-)) I just did <strong>few</strong> tests, in <strong>various</strong> languages, of course !</p>
<p dir="auto"><strong>Remark</strong> : I noticed that <strong>all</strong> the <strong><code># LANGUAGE_NAME</code></strong> entries are considered as <strong>abbreviation tags</strong>, in the <strong><code>Plugins &gt; QuickText &gt; Options...</code></strong> dialog</p>
<hr />
<ul>
<li>Regarding point <strong><code>D</code></strong></li>
</ul>
<p dir="auto">As my <strong><code>C</code></strong> skills are quite near <strong><code>0</code></strong>, I simply decided to give it a try. So, I just added <strong>all</strong> languages, with code from <strong><code>50</code></strong> ( <strong>COBOL</strong> ) to <strong><code>84</code></strong> ( <strong>Visual Prolog</strong> ) to the <strong><code>QuickText.ini</code></strong> file</p>
<p dir="auto">And, I was <strong>happily</strong> surprised to find that, after defining  an <strong>abbreviation tag</strong> for these <strong>two</strong> new languages, in the <strong><code>QuickText.ini</code></strong> file, the hit of the <strong><code>ESC</code></strong> key correctly <strong>expanded</strong> them to their <strong>substitution</strong> text, just as <strong>expected</strong>, once the <strong>COBOL</strong> or <strong>Visual Prolog</strong> language was selected, for a standard <strong><code>UTF-8</code></strong> encoded file :-))</p>
<p dir="auto">In the next post, you’ll find the <strong>exact</strong> contents of my <strong><code>QuickText.ini</code></strong> file, <strong>without</strong> few <strong>abbreviation tags</strong> used during my tests, of course !</p>
<p dir="auto">Best Regards,</p>
<p dir="auto">guy038</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50490</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50490</guid><dc:creator><![CDATA[guy038]]></dc:creator><pubDate>Mon, 10 Feb 2020 14:33:26 GMT</pubDate></item><item><title><![CDATA[Reply to How to create abbreviations for java code on Sun, 09 Feb 2020 23:18:07 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/guy038" aria-label="Profile: guy038">@<bdi>guy038</bdi></a></p>
<p dir="auto">Thanks for the feedback.  Let me try to explain further.</p>
<p dir="auto"><strong>A)</strong><br />
When using either the menu option <code>Plugins &gt; QuickText &gt; Replace Tag</code> or the shortcut key I have mapped to that (which is <code>Tab</code>) anywhere in a document I just get a ‘tab’ inserted (which I have N++ converting into 4 spaces).  The same goes for in proximity to a tag.  If my caret is adjacent to the end of a tag word for the current doc type, then the hotkey or the menu option both perform as expected - expanding the tag without insertion of any weird characters.</p>
<p dir="auto">Note my default file type in N++ is ANSI and when I menu option <code>Plugins &gt; QuickText &gt;  Open Tags File</code>, that opens as ANSI as well.</p>
<p dir="auto">I’m still thinking this is an ANSI / Unicode thing, but it could also be the shortcut key you have mapped to the menu option, unless just using the menu option directly still produces the weird character insertion.  If that’s the case, I’m sticking with my ANSI / Unicode issue which <a class="plugin-mentions-user plugin-mentions-a" href="/user/peterjones" aria-label="Profile: PeterJones">@<bdi>PeterJones</bdi></a> describes in GitHub issues <a href="https://github.com/vinsworldcom/nppQuickText/issues/14" rel="nofollow ugc">14</a> and <a href="https://github.com/vinsworldcom/nppQuickText/issues/15" rel="nofollow ugc">15</a>.</p>
<p dir="auto"><strong>B)</strong><br />
I believe this is just default behavior of N++.  Proof of concept:  create 2 files:</p>
<p dir="auto">%TEMP%\deleteme.txt:</p>
<pre><code>this file will be deleted
</code></pre>
<p dir="auto">%TEMP%\deleteme.bat:</p>
<pre><code>@echo off
REM this is a 7 second sleep
ping -n 7 localhost &gt; NUL
del %TEMP%\deleteme.txt
</code></pre>
<p dir="auto">Open %TEMP%\deleteme.txt in N++.  In a command prompt, run the deleteme.bat file and while it’s doing its 7 second sleep, click back to N++ and activate the tab with deleteme.txt.  You’ll notice nothing happens.  Even after the batch file completes and deletes the file you’re looking at, N++ does nothing.  You’ll need to click a different tab and the click back to the deleteme.txt tab for N++ to prompt that the file has changed do you want to reload from disk.</p>
<p dir="auto">I see this as the same.  You have QuickText.ini open.  You make a change which rewrites it.  Unless you somehow reactivate the tab with QuickText.ini in it (click off it than back on it) you won’t get the N++ reload from disk prompt.</p>
<p dir="auto"><strong>C)</strong><br />
I made that change and pushed to GitHub.  There is no precompiled release, you’ll need to compile yourself.  Note there are other changes you may need to manually make like removing the hash “#” as an allowedChar from your plugins/config/QuickText.conf.ini file and manually adding the hash “#” in front of all the LANGUAGE_NAME= in your plugins/QuickText/QuickText.ini file.  For new installs, you won’t need to do this, but if you already have an install, you probably need to.  Sorry.</p>
<p dir="auto"><strong>D)</strong><br />
Again, this is someone else’s code that I understand about 10% of and given my poor C++ skills, I don’t really know how to improve it (i.e., GitHub issues 14 and 15 mentioned above).  The tags are read into memory and are not read on demand from the file.  So when reading in the tags, if a language does not have a tag, there is no entry created in the C++ vector in memory.  Now when it comes time to save the file, we use an “iterator” to go through the C++ vector in memory (which no longer has any of the languages that had no tags) and it goes in whatever order a C++ iterator does (I have no idea how to make it sort nicely).  In fact, like I said previously, there was no place in the memory list to store the LANGUAGE_NAME so when the file was rewritten, all that was lost.  I just added that back in as part of these latest fixes.</p>
<p dir="auto">You can see all this in the GitHub:<br />
<a href="https://github.com/vinsworldcom/nppQuickText/blob/develop/lib/INIMap.cpp" rel="nofollow ugc">https://github.com/vinsworldcom/nppQuickText/blob/develop/lib/INIMap.cpp</a></p>
<p dir="auto"><a href="https://github.com/vinsworldcom/nppQuickText/blob/065c44f8aff97b300b561fbd99b6d3556dfbdd90/lib/INIMap.cpp#L89" rel="nofollow ugc">Here</a> we have the regex when reading the tags in to ignore the LANGUAGE_NAME - now with the hash “#” to make like a coment.</p>
<p dir="auto"><a href="https://github.com/vinsworldcom/nppQuickText/blob/065c44f8aff97b300b561fbd99b6d3556dfbdd90/lib/INIMap.cpp#L141" rel="nofollow ugc">Here</a> we have the WriteFile() routine that saves the tags file.  You’ll see I had to add the “lang_menu” argument as input so I could map to the language name by ID and get the #LANGUAGE_NAME= rewritten (which wasn’t there in the original code.  Also you can see the for() loop base on an iterator.  It’s iterating through a data structure with key/value pairs so not easy for me to just us a for() loop with index to loop through all languages and write them to file regardless of whether they have tags or not.  It <em>could</em> be possible, but beyond my abilities.</p>
<p dir="auto">All this to say I was surprised to see that this is in the Plugins Admin - I probably never noticed since I already had it installed, it never showed as “available” for me.  This isn’t “my” code, just my improvements to work for me which I’m happy to share, but purposely didn’t publish myself knowing there were shortcomings / bugs / etc. that when exposed to a wider audience, people would want fixed, but would be beyond my capabilities (i.e., time, skills, general code-base understanding).</p>
<p dir="auto">Hope that helps clarify things.</p>
<p dir="auto">Cheers.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50474</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50474</guid><dc:creator><![CDATA[Michael Vincent]]></dc:creator><pubDate>Sun, 09 Feb 2020 23:18:07 GMT</pubDate></item><item><title><![CDATA[Reply to How to create abbreviations for java code on Sun, 09 Feb 2020 22:13:08 GMT]]></title><description><![CDATA[<p dir="auto">Hi, <a class="plugin-mentions-user plugin-mentions-a" href="/user/michael-vincent" aria-label="Profile: michael-vincent">@<bdi>michael-vincent</bdi></a>, <a class="plugin-mentions-user plugin-mentions-a" href="/user/peterjones" aria-label="Profile: peterjones">@<bdi>peterjones</bdi></a> and <strong>All</strong>,</p>
<p dir="auto">Many <strong>thanks</strong> for your <strong>prompt</strong> reply :</p>
<p dir="auto">Regarding point <strong><code>A)</code></strong> :</p>
<p dir="auto">In fact , I don’t really mind about this <strong><code>QuickText.dll</code></strong> behaviour, when trying to run the <strong><code>Plugins &gt; QuickText &gt; Replace Tag</code></strong> option, with <strong>caret</strong> close to a word which is <strong>not</strong> a <strong>tag</strong>, for <strong>current</strong> language. But, out of <strong>curiosity</strong>, what happens when using the <strong><code>Replace Tag</code></strong> option, in your <strong>system</strong> ?</p>
<p dir="auto">BTW, as my settings for <strong><code>Setting &gt; Preferences... &gt; new Document &gt; Encoding</code></strong> is <strong><code>UTF_8</code></strong>, with the <strong><code>Applied to opened ANSI files</code></strong> option <strong>ticked</strong> AND as the <strong><code>QuickText.ini</code></strong> file does <strong>not</strong> have any character with <strong>Unicode</strong> code-point <strong>over</strong> <strong><code>\x007F</code></strong>, the <strong>chosen</strong> encoding for the <strong><code>QuickText.ini</code></strong> file is always <strong><code>UTF_8</code></strong>, when starting N++ !</p>
<p dir="auto">Even if I force the <strong><code>QuickText.ini</code></strong>  to have an <strong><code>ANSI</code></strong> encoding, I still get the <strong><code>xbb</code></strong>  character, in <strong>reverse</strong> video, if  <strong>current</strong> fie is <strong>Unicode</strong> encoded or the <strong><code>»</code></strong> character if <strong>current</strong> file is <strong><code>ANSI</code></strong> encoded !</p>
<p dir="auto">Regarding point <strong><code>B)</code></strong> :</p>
<p dir="auto">I just wanted to emphasize that, after <strong>suppression</strong> of the unique <strong>global</strong> tag <strong><code>copyright</code></strong>, in addition to <strong>all</strong> the changes of the <strong><code>QuickText.in</code></strong> file, which occurs, if the <strong>current</strong> N++ file is <strong><code>QuickText.ini</code></strong> file, then the <strong>update</strong> dialog does <strong>not</strong> appear. You’ll need to switch to any <strong>other</strong> tab and, then, switch <strong>back</strong> to the <strong><code>QuickText.ini</code></strong> to get this dialog !!</p>
<p dir="auto">Regarding point <strong><code>C)</code></strong> :</p>
<p dir="auto">Ah…OK, I understand ! And you’re <strong>right</strong> : probably the syntax <strong><code>#LANGUAGE_NAME</code></strong> would remove the <strong>ambiguity</strong> !</p>
<p dir="auto">Regarding point <strong><code>D</code></strong></p>
<p dir="auto">Oh ! I was not asking for a <strong>dynamic</strong> and <strong>updated</strong> list of <strong>all</strong> N++ possible <strong>languages</strong>, at <strong>any</strong> time, but, only, for a <strong>static updated</strong> list of <strong>present</strong> languages, used in the <strong><code>v7.8.4</code></strong> release !</p>
<p dir="auto">Cheers,</p>
<p dir="auto">guy038</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50468</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50468</guid><dc:creator><![CDATA[guy038]]></dc:creator><pubDate>Sun, 09 Feb 2020 22:13:08 GMT</pubDate></item><item><title><![CDATA[Reply to How to create abbreviations for java code on Sun, 09 Feb 2020 20:15:59 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/guy038" aria-label="Profile: guy038">@<bdi>guy038</bdi></a></p>
<p dir="auto">A) This does not happen for me.  It is probably as expected for now since I always use ANSI encoded files and my QuickText.ini is ANSI encoded.  As <a class="plugin-mentions-user plugin-mentions-a" href="/user/peterjones" aria-label="Profile: PeterJones">@<bdi>PeterJones</bdi></a> documented in the GitHub issues, UNICODE does not work in this plugin and since there is a mess of someone else’s old code, I’m not prioritizing fixing that - sorry.</p>
<p dir="auto">B) The tab switching to get the change notification happens for me with any file in N++.  Not sure that’s related.  The order of sections is as expected as well since when the file is rewritten, it’s written according to looping through the C++ vector storing the languages - I don’t believe any sort is applied.  So however they are in there, they are written out.  I’ll see if there’s a way to easily sort, but I don’t think it’s necessary.</p>
<p dir="auto">C) LANGUAGE_NAME is not a tag.  It’s a comment.  The original version didn’t even check for it so if yo had them, they would show up as tags.  I ignored them originally, but then they weren’t rewritten to the file on save so disappeared.  Now I purposefully placed them back in, but they should never be visible in the Options dialog as Tags to expend.  I’ll see if I can make that more clear by making them #LANGUAGE_NAME.  So the behavior if replacing tags is as expected, the first one does not expand since it is not a valid tag (not seen in Options dialog) and you’re hitting the issue in A) about encoding.  The second and third don’t match the regex I look to ignore for comments so show up as valid tags and are expanded.</p>
<p dir="auto">D) I think would be too difficult to implement as I’d need to track all languages with some placeholder in the vector even though they don’t have tags.  And as in B), they certainly wouldn’t stay in order.</p>
<p dir="auto">Hope that helps explain some of the behavior.  I’ll see about changing C) to make the comment more obvious but I don’t think the rest will be fixed anytime soon unfortunately.  I just don’t have the skills or time for that kind of re-write.</p>
<p dir="auto">Cheers.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50465</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50465</guid><dc:creator><![CDATA[Michael Vincent]]></dc:creator><pubDate>Sun, 09 Feb 2020 20:15:59 GMT</pubDate></item><item><title><![CDATA[Reply to How to create abbreviations for java code on Sun, 09 Feb 2020 19:01:34 GMT]]></title><description><![CDATA[<p dir="auto">Hello, <a class="plugin-mentions-user plugin-mentions-a" href="/user/michael-vincent" aria-label="Profile: michael-vincent">@<bdi>michael-vincent</bdi></a>, <a class="plugin-mentions-user plugin-mentions-a" href="/user/peterjones" aria-label="Profile: peterjones">@<bdi>peterjones</bdi></a> and <strong>All</strong>,</p>
<p dir="auto">First, many <strong>thanks</strong> for building an <strong><code>x64</code></strong> version of the <strong><code>QuickText</code></strong> plugin and for all the <strong>bug fixes</strong></p>
<p dir="auto">May I <strong>bother</strong> you, a little bit, with a couple of <strong>weird</strong> things, still occurring in your <strong>last</strong> <strong><code>0.1.2.4</code></strong> version ?</p>
<hr />
<p dir="auto"><strong><code>A)</code></strong> : <strong>First</strong> problem :</p>
<ul>
<li>
<p dir="auto">Let suppose that you place the <strong>caret</strong> right <strong>after</strong> a word, which is <strong>not</strong> a <strong>tag</strong>, for the <strong>current</strong> language</p>
</li>
<li>
<p dir="auto">If you run the option <strong><code>Plugins &gt; QuickText &gt; Replace Tag</code></strong>, it writes :</p>
<ul>
<li>
<p dir="auto">The <strong><code>»</code></strong> character, in an <strong><code>ANSI</code></strong> encoded file ( An <strong><code>\xbb</code></strong> byte )</p>
</li>
<li>
<p dir="auto">The value <strong><code>xBB</code></strong>, in <strong>reverse</strong> video, in any <strong><code>Unicode</code></strong> encoded text ( Indeed, this <strong>single</strong> byte is <strong>not</strong> valid in an <strong>Unicode</strong> file ! )</p>
</li>
</ul>
</li>
</ul>
<p dir="auto">This also happens if you run the <strong><code>Plugins &gt; QuickText &gt; Replace Tag</code></strong> option anywhere inside some <strong>blank</strong> range of text or even in an <strong>empty</strong> text. Is it the <strong>normal</strong> behaviour or is it a <strong>bug</strong>, due to my old <strong><code>Win XP SP3</code></strong> laptop ?!</p>
<hr />
<p dir="auto"><strong><code>B)</code></strong> <strong>Second</strong> problem :</p>
<ul>
<li>
<p dir="auto">Let’s suppose that the <strong>tags</strong> file <strong><code>QuickText.ini</code></strong> is opened, with <strong>other</strong> tabs, in your <strong>current</strong> N++ session</p>
</li>
<li>
<p dir="auto">Then, you decide to <strong>delete</strong> the <strong>only</strong> tab ( <strong><code>copyright</code></strong> ) of the <strong><code>GLOBAL</code></strong> section, using the <strong><code>Plugins &gt; QuickText &gt; Options...</code></strong> option. After validating the <strong>suppression</strong> :</p>
<ul>
<li>If the <strong>current</strong> tab is the <strong><code>QuickText.ini</code></strong> you must, <strong>first</strong>, switch to an <strong>other</strong> tab</li>
</ul>
</li>
<li>
<p dir="auto">Now, switch to the <strong><code>QuickText.ini</code></strong> tab to get the <strong>expected</strong> dialog : <em>“This file has been modified by another program, do you want to reload it ?”</em></p>
</li>
<li>
<p dir="auto">After a click on the <strong><code>Yes</code></strong> button of this dialog, you can notice that the layout of the sections of <strong><code>QuickText.ini</code></strong> has become <strong>completely</strong> different !</p>
<ul>
<li>
<p dir="auto">All the <strong><code>ini</code></strong> sections, which do <strong>not</strong> have any <strong>tag</strong>, have been <strong>deleted</strong>, including the <strong><code>[255]</code></strong> <strong>GLOBAL</strong> one, of course</p>
</li>
<li>
<p dir="auto">From now on, the different sections are sorted <strong>alphabetically</strong> and <em>NOT</em>  <strong>numerically</strong></p>
</li>
</ul>
</li>
</ul>
<hr />
<p dir="auto"><strong><code>C)</code></strong> <strong>Third</strong> problem :</p>
<ul>
<li>Let’s suppose that you change the <strong>TEXT</strong> section as below :</li>
</ul>
<pre><code class="language-ini">[0]
LANGUAGE_NAME=TXT
LANGUAG_NAME=TXT_1
LANGUAGES_NAME=TXT_2
</code></pre>
<ul>
<li>
<p dir="auto">After saving these changes, run the <strong><code>Plugins &gt; QuickText &gt; Refresh Configuration</code></strong> option</p>
</li>
<li>
<p dir="auto">Then, paste the text, below, in a <strong>new text</strong> tab :</p>
</li>
</ul>
<pre><code class="language-diff">aaaaa    LANGUAGE_NAME     zzzzz
aaaaa    LANGUAG_NAME      zzzzz
aaaaa    LANGUAGES_NAME    zzzzz
</code></pre>
<ul>
<li>And run the option <strong><code>Plugins &gt; QuickText &gt; Replace Tag</code></strong> for <strong>each</strong> word in <strong>capitals</strong></li>
</ul>
<p dir="auto">We get :</p>
<pre><code class="language-diff">aaaaa    LANGUAGE_NAMExBB     zzzzz
aaaaa    TXT_1      zzzzz
aaaaa    TXT_2    zzzzz
</code></pre>
<p dir="auto">I would have expected that the <strong><code>LANGUAGE_NAME</code></strong> tag would have been <strong>expanded</strong> to the string <strong>TXT</strong> OR to the <strong>current</strong> language, for any language different of <strong>Normal Text</strong></p>
<p dir="auto">BTW, why, in <strong><code>[0]</code></strong> section, the <strong><code>LANGUAGE_NAME</code></strong> is expanded to <strong>TXT</strong> whereas the language is <strong>TEXT</strong> ?</p>
<hr />
<p dir="auto"><strong><code>D)</code></strong> To end with , a possible <strong>improvement</strong> :</p>
<ul>
<li>It would be better to <strong>include</strong> all the other <strong>languages</strong>, with code <strong>over</strong> <strong><code>49</code></strong>, giving the following default <strong><code>QuickText.ini</code></strong> file :</li>
</ul>
<pre><code class="language-ini">[0]
LANGUAGE_NAME=TXT

[1]
LANGUAGE_NAME=PHP
for.sl=for (\$i = 0; \$i &lt; $; ++\$i)\n	$
for.ml=for (\$i = 0; \$i &lt; $; ++\$i)\n{\n	$\n}
foreach.sl=foreach (\$$ as \$k =&gt; \$v)\n	$
foreach.ml=foreach (\$$ as \$k =&gt; \$v)\n{\n	$\n}
function.public=public function $($)\n{\n	$\n}
function.protected=protected function $($)\n{\n	$\n}
function.private=private function $($)\n{\n	$\n}
function.public.static=public static function $($)\n{\n	$\n}
function.protected.static=protected static function $($)\n{\n	$\n}
function.private.static=private static function $($)\n{\n	$\n}

[2]
LANGUAGE_NAME=C
case=case $: $\n$
def=#define $\n$
default=default $: $\n$
dowhile=do\n{\n	$\n}\nwhile ($);\n$
dowhiles=do\n	$\nwhile ($);\n$
else=else\n{\n	$\n}\n$
elseif=else if ($)\n{\n	$\n}\n$
elseifs=else if ($)\n	$\n$
elses=else\n	$\n$
for=for ($;$;$)\n{\n	$\n}\n$
fors=for ($;$;$)\n	$\n$
func=$ $($)\n{\n	$\n	return $;\n}\n$
if=if ($)\n{\n	$\n}\n$
ifelse=if ($)\n{\n	$\n}\nelse\n{\n	$\n}\n$
ifelses=if ($)\n{\n	$\n}\nelse\n	$\n$
ifs=if ($)\n	$\n$
ifselse=if ($)\n	$\nelse\n{\n	$\n}\n$
ifselses=if ($)\n	$\nelse\n	$\n$
inc=#include &lt;$&gt;\n$
incl=#include "$"\n$
main=int main(int argc, char* argv[])\n{\n	$\n}\n
switch=switch ($)\n{\n	$\n}\n$
while=while ($)\n{\n	$\n}\n$
whiles=while ($)\n	$\n$

[3]
LANGUAGE_NAME=CPP
case=case $: $\n$
class=class $ {\nprivate:\n	$\nprotected:\n	$\npublic:\n	$\n};\n$
def=#define $\n$
default=default $: $\n$
dowhile=do\n{\n	$\n}\nwhile ($);\n$
dowhiles=do\n	$\nwhile ($);\n$
else=else\n{\n	$\n}\n$
elseif=else if ($)\n{\n	$\n}\n$
elseifs=else if ($)\n	$\n$
elses=else\n	$\n$
for=for ($;$;$)\n{\n	$\n}\n$
fors=for ($;$;$)\n	$\n$
func=$ $($)\n{\n	$\n	return $;\n}\n$
hclass=#ifndef $\n#define $\n\nclass $ {\nprivate:\n	$\nprotected:\n	$\npublic:\n	$\n};\n\n#endif\n$
if=if ($)\n{\n	$\n}\n$
ifelse=if ($)\n{\n	$\n}\nelse\n{\n	$\n}\n$
ifelses=if ($)\n{\n	$\n}\nelse\n	$\n$
ifs=if ($)\n	$\n$
ifselse=if ($)\n	$\nelse\n{\n	$\n}\n$
ifselses=if ($)\n	$\nelse\n	$\n$
inc=#include &lt;$&gt;\n$
incl=#include "$"\n$
main=int main(int argc, char* argv[])\n{\n	$\n}\n
switch=switch ($)\n{\n	$\n}\n$
while=while ($)\n{\n	$\n}\n$
whiles=while ($)\n	$\n$

[4]
LANGUAGE_NAME=CS

[5]
LANGUAGE_NAME=OBJC

[6]
LANGUAGE_NAME=JAVA

[7]
LANGUAGE_NAME=RC

[8]
LANGUAGE_NAME=HTML
a-id=&lt;a id="$" href="$"&gt;$&lt;/a&gt;
b=&lt;b&gt;$&lt;/b&gt;
body=&lt;body&gt;\n	$\n&lt;/body&gt;\n$
body-id=&lt;body id="$"&gt;\n	$\n&lt;/body&gt;\n$
br=&lt;br /&gt;
color.black=#000000
color.blue=#0000FF
color.cyan=#00FFFF
color.green=#00FF00
color.grey=#C0C0C0
color.mangenta=#FF00FF
color.white=#FFFFFF
color.yellow=#FFFF00
comment=&lt;!-- $ --&gt;\n$
div-class=&lt;div class="$"&gt;\n&lt;/div&gt;
div-id=&lt;div id="$"&gt;\n&lt;/div&gt;
div-id-class=&lt;div id="$" class="$"&gt;\n	$\n&lt;/div&gt;
div.p=&lt;div class="p"&gt;\n	$\n&lt;/div&gt;
doctype.html.4.loose=&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"\n	"http://www.w3.org/TR/html4/loose.dtd"&gt;
doctype.html.4.strict=&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"\n	"http://www.w3.org/TR/html4/strict.dtd"&gt;
doctype.xhtml.1.0.loose=&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"\n	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
doctype.xhtml.1.0.strict=&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
doctype.xhtml.1.1=&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\n	"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"&gt;
fieldset=&lt;fieldset class="$"&gt;\n	$\n&lt;/fieldset&gt;
form=&lt;form name="$" action="$"&gt;\n	$\n&lt;/form&gt;\n$
h1=&lt;h1&gt;$&lt;/h1&gt;
h2=&lt;h2&gt;$&lt;/h2&gt;
h3=&lt;h3&gt;$&lt;/h3&gt;
h4=&lt;h4&gt;$&lt;/h4&gt;
h5=&lt;h5&gt;$&lt;/h5&gt;
h6=&lt;h6&gt;$&lt;/h6&gt;
head=&lt;head&gt;\n	$\n&lt;/head&gt;\n$
html-body=&lt;html&gt;\n&lt;head&gt;\n		&lt;title&gt;$&lt;/title&gt;\n	$\n	&lt;/head&gt;\n	&lt;body&gt;\n	$\n	&lt;/body&gt;\n&lt;/html&gt;
i=&lt;i&gt;$&lt;/i&gt;$
img=&lt;img src="$" alt="$" /&gt;\n$
input=&lt;input type="$" name="$" /&gt;\n$
li=&lt;li&gt;$&lt;/li&gt;
lil=&lt;li&gt;\n	$\n&lt;/li&gt;
link=&lt;a href="$"&gt;$&lt;/a&gt;$
ol=&lt;ol&gt;\n	&lt;li&gt;$&lt;/li&gt;\n&lt;/ol&gt;
p=&lt;p&gt;\n	$\n&lt;/p&gt;
pre=&lt;pre&gt;$&lt;/pre&gt;\n$
pre-class=&lt;pre class="$"&gt;\n	$\n&lt;/pre&gt;
prel=&lt;pre&gt;\n	$\n&lt;/pre&gt;
span=&lt;span&gt;$&lt;/span&gt;
table-id=&lt;table id="$"&gt;\n	&lt;tr&gt;\n		&lt;td id="$"&gt;\n			$\n		&lt;/td&gt;\n	&lt;/tr&gt;\n&lt;/table&gt;
td=\n&lt;td&gt;\n	$\n&lt;/td&gt;
title=&lt;title&gt;$&lt;/title&gt;\n$
tr=\n&lt;tr&gt;\n	$\n&lt;/tr&gt;
ul=&lt;ul&gt;\n	&lt;li&gt;$&lt;/li&gt;\n&lt;/ul&gt;
url=http://
www=http://www.

[9]
LANGUAGE_NAME=XML

[10]
LANGUAGE_NAME=MAKEFILE

[11]
LANGUAGE_NAME=PASCAL

[12]
LANGUAGE_NAME=BATCH

[13]
LANGUAGE_NAME=INI

[14]
LANGUAGE_NAME=NFO

[15]
LANGUAGE_NAME=USER

[16]
LANGUAGE_NAME=ASP

[17]
LANGUAGE_NAME=SQL

[18]
LANGUAGE_NAME=VB

[19]
LANGUAGE_NAME=JS
for.sl=for (var i = 0; i &lt; $; ++i)\n	$
for.ml=for (var i = 0; i &lt; $; ++i)\n{\n	$\n}
foreach.sl=for (var x in $)\n	$
foreach.ml=for (var x in $)\n{\n	$\n}

[20]
LANGUAGE_NAME=CSS

[21]
LANGUAGE_NAME=PERL
Dumper=use Data::Dumper; \$Data::Dumper::Sortkeys=1; print Dumper \ $; exit;$
csv=my \$csv = Text::CSV-&gt;new( {sep_char =&gt; ',', binary =&gt; 1} )\n  or die Text::CSV-&gt;error_diag;\n\nopen my \$fh, '&lt;', \$$\n  or die "\$!";\n\nwhile ( my \$row = \$csv-&gt;getline(\$fh) ) {\n    $\n}\nif ( not \$csv-&gt;eof ) {\n    my ( \$cde, \$str, \$pos ) = \$csv-&gt;error_diag;\n}\n$
else=else {\n    $\n}\n$
elsif=if ( $ ) {\n    $\n} elsif ( $ ) {\n    $\n} else {\n    $\n}\n$
for=for my \$$ ( $ ) {\n    $\n}\n$
if=if ( $ ) {\n    $\n}\n$
ifelse=if ( $ ) {\n    $\n} else {\n    $\n}\n$
mlread=my \$START = '$';\nmy \$STOP  = '$';\nmy \$INCLUDE_START = $1;\nmy \$INCLUDE_STOP  = $1;\nmy @data;\nfor ( $ ) {\n    if ( /\$START/ .. /\$STOP/ ) {\n        next if ( not \$INCLUDE_START and /\$START/ );\n        push @data, \$_ unless ( not \$INCLUDE_STOP and /\$STOP/ );\n        process_data() if ( /\$STOP/ );\n        next;\n    }\n    process_nodata();\n}\nprocess_data\n\nsub process_data {\n    return if not @data;\n    # operate on @data\n    $\n    @data = ();\n}\n\nsub process_nodata {\n    # operate on \$_\n    $\n}\n$
open=open my \$fh, '&lt;', \$$;\nmy @lines = &lt;\$fh&gt;;\nclose \$fh;\n$
package=package $;\nuse Class::Struct;\nstruct( $ =&gt; '\$', $ =&gt; '@', $ =&gt; '$Module::Name' );\n1;\n$
sopen=my \$lines;\n{\n    local \$/ = undef;\n    open my \$fh, '&lt;', \$$;\n    \$lines = &lt;\$fh&gt;;\n    close \$fh;\n}\n$
start=#!perl\n\nuse strict;\nuse warnings;\n\n$
sub=sub $ {\n    my (\$$) = @_;\n\n    $\n}\n$
wantarray=my @rets;\nmy \$retType = wantarray;\n\nif ( not defined \$retType ) {\n    print "$@rets";\n} elsif (\$retType) {\n    return @rets;\n} else {\n    return \@rets;\n}\n$
while=while ( $ ) {\n    $\n}\n$

[22]
LANGUAGE_NAME=PYTHON

[23]
LANGUAGE_NAME=LUA

[24]
LANGUAGE_NAME=TEX

[25]
LANGUAGE_NAME=FORTRAN

[26]
LANGUAGE_NAME=BASH

[27]
LANGUAGE_NAME=FLASH

[28]
LANGUAGE_NAME=NSIS

[29]
LANGUAGE_NAME=TCL
else=} else {\n $
foreach=foreach $ $ {\n $\n}\n$
if=if { $ } {\n $\n}\n$
ifelse=if { $ }\n $\n} else {\n $\n}
proc=# $\nproc $ { $ } {\n $\n}\n$
regsub=regsub -all {$} "$" {$} $\n$

[30]
LANGUAGE_NAME=LISP

[31]
LANGUAGE_NAME=SCHEME

[32]
LANGUAGE_NAME=ASM

[33]
LANGUAGE_NAME=DIFF

[34]
LANGUAGE_NAME=PROPS

[35]
LANGUAGE_NAME=PS

[36]
LANGUAGE_NAME=RUBY

[37]
LANGUAGE_NAME=SMALLTALK

[38]
LANGUAGE_NAME=VHDL
Ris=Rising_Edge ( $ )$
access=type $ is access $;\n$
alias=alias $ is $;\n$
archi=architecture $ of $ is\n$\nbegin\n$\nend $;\n$
array=type $ is\n array ( $ ) of $;\n$
assert=assert ( $ )\n report "$"\n sevrity $;\n$
block=$ : block $\nbegin\n $\nend block $;\n$
case=case $ is\n when $ =&gt;\n $;\n when others =&gt;\n $;\nend case;\n$
com=--\n-- $\n--
component=component $\n port (\n $\n );\nend component $;\n$
config=for $ : $\n use $\n $;\n$
constant=constant $: $;\n$
elsif=elsif ( $ ) then\n $;
entity=entity $ is\n port (\n $\n );\nend $;\n$
enum=type $ is ( $, $ );
exit=exit $ when $;\n$
file=file $ : $ is $;\n$
for=$ : for $ in $ downto $ loop\n $;\nend loop $;\n$
function=function (\n $\n )return $ is\n $\nbegin\n $\nend $;
functiond=function $ (\n $\n) return $;\n$
geneif=$ : if ( $ = $ ) generate\n $\nbegin\n $\nend generate $;
generate=$ : for $ in $ downto $ generate\n $\nbegin\n $\nend generate $;\n$
generic=generic (\n $\n );\n$
genmap=generic map (\n $\n)\n$
group=group $ is ( $ );\n$
ieee=library ieee;\n use ieee.std_logic_1164.all;\n $
if=if ( $ ) then\n $;\n$end if;\n$
ifelse=if ( $ ) then\n $\nelse\n $\nend if;\n$
ifelsif=if ( $ ) then\n $\nelsif ( $ )\n $\nend if;\n$
loop=$ : loop\n $\nend loop;\n$
map=$ : $\n port map (\n $\n );\n$
mapgen=$ : $\n generic map (\n $\n )\n port map (\n $\n );\n$
next=$ : next $ when $;\n$
numeric=use ieee.numeric_std.all;\n$
pack=package $ is\n $\nend package $;\n\npackage body $ is\n $\nend package body $;\n$
port=port (\n $\n );\n$
procedure=procedure $ (\n $\n ) is\n$\nbegin\n $\nend procedure $;\n$
procedured=procedure $ (\n $\n);\n$
process=$ : process ( $ )\nbegin\n $\nend process $;\n$
proclk=$ : process ( $, $ )\n begin\n if ( $ = '$' ) then\n $ &lt;= $;\n elsif( Rising_Edge( $ ) ) then\n $\n end if;\nend process $;
protected=protected\n $\nend protected ;
record=type $ is\n record\n $ : $ ;\nend record $;\n$
start=library ieee;\n use ieee.std_logic_1164.all;\n\nentity $ is\n port (\n $\n );\nend $;\n\narchitecture $ of $ is\n$\nbegin\n$\nend $;\n$
std=signal $ : std_logic$;\n$
stdpi=$ : in std_logic;\n$
stdpio=$ : inout std_logic;\n$
stdpo=$ : out std_logic;\n$
stdtextio=use ieee.std_logic_textio.all;\n$
stdv=signal $ : std_logic_vector( $ downto 0);\n$
stdvar=variable $ : std_logic;\n$
stdvpi=$ : in std_logic_vector( $ downto $);\n$
stdvpio=$ : inout std_logic_vector( $ downto $);\n$
stdvpo=$ : out std_logic_vector( $ downto $);\n$
stdvvar=variable $ : std_logic_vector( $ downto 0);\n$
subtype=subtype $ is $;\n$
textio=use std.textio.all;\n$
units=units\n $;\nend units;\n$
waitf=wait for $;\n$
waitu=wait until $;\n$
waituf=wait until $ for $;\n$
when=when $ =&gt;\n $;$
whene=when ( $ ) else $;
while=$ : while $ loop\n $;\nend loop;\n$
x=x"$"$

[39]
LANGUAGE_NAME=KIX

[40]
LANGUAGE_NAME=AU3

[41]
LANGUAGE_NAME=CAML

[42]
LANGUAGE_NAME=ADA

[43]
LANGUAGE_NAME=VERILOG

[44]
LANGUAGE_NAME=MATLAB

[45]
LANGUAGE_NAME=HASKELL

[46]
LANGUAGE_NAME=INNO

[47]
LANGUAGE_NAME=SEARCHRESULT

[48]
LANGUAGE_NAME=CMAKE

[49]
LANGUAGE_NAME=YAML

[50]
LANGUAGE_NAME=COBOL

[51]
LANGUAGE_NAME=GUI4CLI

[52]
LANGUAGE_NAME=D

[53]
LANGUAGE_NAME=POWERSHELL

[54]
LANGUAGE_NAME=R

[55]
LANGUAGE_NAME=JSP

[56]
LANGUAGE_NAME=COFFEESCRIPT

[57]
LANGUAGE_NAME=JSON

[58]
LANGUAGE_NAME=JAVASCRIPT

[59]
LANGUAGE_NAME=FORTRAN_77

[60]
LANGUAGE_NAME=BAANC

[61]
LANGUAGE_NAME=SREC

[62]
LANGUAGE_NAME=IHEX

[63]
LANGUAGE_NAME=TEHEX

[64]
LANGUAGE_NAME=SWIFT

[65]
LANGUAGE_NAME=ASN1

[66]
LANGUAGE_NAME=AVS

[67]
LANGUAGE_NAME=BLITZBASIC

[68]
LANGUAGE_NAME=PUREBASIC

[69]
LANGUAGE_NAME=FREEBASIC

[70]
LANGUAGE_NAME=CSOUND

[71]
LANGUAGE_NAME=ERLANG

[72]
LANGUAGE_NAME=ESCRIPT

[73]
LANGUAGE_NAME=FORTH

[74]
LANGUAGE_NAME=LATEX

[75]
LANGUAGE_NAME=MMIXAL

[76]
LANGUAGE_NAME=NIMROD

[77]
LANGUAGE_NAME=NNCRONTAB

[78]
LANGUAGE_NAME=OSCRIPT

[79]
LANGUAGE_NAME= REBOL

[80]
LANGUAGE_NAME=REGISTRY

[81]
LANGUAGE_NAME=RUST

[82]
LANGUAGE_NAME=SPICE

[83]
LANGUAGE_NAME=TXT2TAGS

[84]
LANGUAGE_NAME=VISUALPROLOG

[85]
LANGUAGE_NAME=EXTERNAL

[255]
LANGUAGE_NAME=GLOBAL
copyright=Copyright (C) $ 20$\n\nhttp://$\n\nAll rights reserved\n$
</code></pre>
<hr />
<p dir="auto"><strong>Thanks</strong> for taking the time to read this post through to the <strong>end</strong> ;-))</p>
<p dir="auto">Best Regards,</p>
<p dir="auto">guy038</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50461</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50461</guid><dc:creator><![CDATA[guy038]]></dc:creator><pubDate>Sun, 09 Feb 2020 19:01:34 GMT</pubDate></item><item><title><![CDATA[Reply to How to create abbreviations for java code on Fri, 07 Feb 2020 19:03:49 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/peterjones" aria-label="Profile: PeterJones">@<bdi>PeterJones</bdi></a> said in <a href="/post/50398">How to create abbreviations for java code</a>:</p>
<blockquote>
<p dir="auto">actually interrupted my development, while I explored to see if it would be enough for me</p>
</blockquote>
<p dir="auto">I hear that.  Frequently I’ll wish there was a quicker way to do something or something I’ll see a peer doing in VS Code and I’ll think “there must be a Notepad++ way to do this”.  I’ll get sidetracking trying to find something.</p>
<p dir="auto">I’ll look for a plugin or look for a way to script it in NppExec (my goto scripting engine).   In fact I have a bunch of NppExec scripts (compile, style, help manual / docs, run, debug, open include files) that do a bit of formatting then send arguments to a monster Windows batch file that actually executes the task.</p>
<p dir="auto">Sometime a find a plugin that’s promising, but it doesn’t do everything or it’s just 32-bit and then I’ll find myself cloning and hacking at it (JAPH, or in this case JAN++PH [Just Another Notepad++ Plugin Hacker]) to get what I want.  That’s how all of “my” plugins came to be.</p>
<p dir="auto">Cheers.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50402</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50402</guid><dc:creator><![CDATA[Michael Vincent]]></dc:creator><pubDate>Fri, 07 Feb 2020 19:03:49 GMT</pubDate></item><item><title><![CDATA[Reply to How to create abbreviations for java code on Wed, 06 Mar 2024 20:09:31 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/michael-vincent" aria-label="Profile: Michael-Vincent">@<bdi>Michael-Vincent</bdi></a> said in <a href="/post/50396">How to create abbreviations for java code</a>:</p>
<blockquote>
<p dir="auto">I should have said “no issues please!”  LOL.</p>
</blockquote>
<p dir="auto">I tried to warn you. ;-)</p>
<p dir="auto">None are showstoppers for me.  Until I train myself to actually use the quick text snippets, they won’t be efficiency stoppers.</p>
<p dir="auto">And I have a pythonscript implementation of <a href="https://github.com/vinsworldcom/nppQuickText/issues/15" rel="nofollow ugc">#15</a>, so for now I have a workaround on that one: <a href="https://github.com/pryrt/nppStuff/blob/main/pythonScripts/useful/pyscReplaceBackslashSequence.py" rel="nofollow ugc"><s>gist for</s> pyscReplaceBackslashSequence.py</a>  (the mention of nppQuickText actually interrupted my development, while I explored to see if it would be enough for me; I ended up finalizing my script anyway)</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50398</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50398</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Wed, 06 Mar 2024 20:09:31 GMT</pubDate></item><item><title><![CDATA[Reply to How to create abbreviations for java code on Fri, 07 Feb 2020 18:45:50 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/peterjones" aria-label="Profile: PeterJones">@<bdi>PeterJones</bdi></a> said in <a href="/post/50390">How to create abbreviations for java code</a>:</p>
<blockquote>
<p dir="auto">I can add them.</p>
</blockquote>
<p dir="auto">5 issues!?!?!    WOW, I should have said “no issues please!”  LOL.</p>
<p dir="auto">Joking aside, thanks for taking a look and taking the time to do the write-ups.  I think 11 is an easy fix, 12 I’ve notice myself and just lived with it by editing the QuickText.ini file directly to add multiple new snippets.  13 I didn’t realize, although GLOBAL tags didn’t work at all in previous original versions.  14 and 15 - dealing with Unicode scare me :-(</p>
<p dir="auto">I’ll probably approach in what I think is easiest:  11, 13, 12 and back burner 14 and 15 for now.</p>
<p dir="auto">Cheers.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50396</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50396</guid><dc:creator><![CDATA[Michael Vincent]]></dc:creator><pubDate>Fri, 07 Feb 2020 18:45:50 GMT</pubDate></item><item><title><![CDATA[Reply to How to create abbreviations for java code on Fri, 07 Feb 2020 15:34:03 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/peterjones" aria-label="Profile: PeterJones">@<bdi>PeterJones</bdi></a></p>
<p dir="auto">I don’t mind you or anyone adding issues to track as long as you don’t mind they may never be fixed :-P</p>
<p dir="auto">Seriously though, I found QuickText the most “useful” snippet plugin for how I worked and 2 things happened, I moved to 64-bit and Notepad++ updated Scintilla - both of which “broke” my usage of QuickText.  I hacked at it with my sub-par C++ skills and was able to get 64-bit compiled with the new N++ plugin architecture and Scintilla updates so was pleased to just keep using it.</p>
<p dir="auto">I haven’t given much thought to how I’d re-architect QuickText to address some of my minor gripes, but as it is now, it just “works” so I leave it alone.</p>
<p dir="auto">I’m “more actively” updating “my” other plugins - again, none of these are “mine”, they are clones of other people’s work that either seemed abandoned, not updated in years or my request for features were turned down, so I implemented them myself.  For the same reason as QuickText, I’m hesitant on listing them officially.</p>
<p dir="auto">But for “power users” like yourself, that can stand a bit of “buginess” and hopefully no seg-fault crashes, feel free to try them out.  Again, feedback welcomed (but possibly ignored :-) (coding N++ plugins isn’t my day job).</p>
<p dir="auto">Cheers.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50392</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50392</guid><dc:creator><![CDATA[Michael Vincent]]></dc:creator><pubDate>Fri, 07 Feb 2020 15:34:03 GMT</pubDate></item><item><title><![CDATA[Reply to How to create abbreviations for java code on Fri, 07 Feb 2020 15:06:19 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto">I wouldn’t do that. ;-)</p>
</blockquote>
<p dir="auto">But in all seriousness, if you’d like bug reports or feature requests to be tracked on your github, I can add them.  If it’s good enough for you, and you aren’t planning on any support or future fixes, then I don’t want to clutter your repo with issues that will just be ignored for years (or forever).</p>
<p dir="auto">(If you don’t reply, I’ll assume “no issues, please”.)</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50390</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50390</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Fri, 07 Feb 2020 15:06:19 GMT</pubDate></item><item><title><![CDATA[Reply to How to create abbreviations for java code on Thu, 06 Feb 2020 23:01:24 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/peterjones" aria-label="Profile: PeterJones">@<bdi>PeterJones</bdi></a> said in <a href="/post/50377">How to create abbreviations for java code</a>:</p>
<blockquote>
<p dir="auto">like Perl’s CPAN, it is possible to take ownership of abandoned open-source projects</p>
</blockquote>
<p dir="auto">Yes, I’ve done that.  And I know Perl better than C++ so feel more comfortable actually supporting my Perl modules.</p>
<p dir="auto">I don’t know why it doesn’t use the default one supplied with the ZIP file / install.  Thanks for the work-around.  I guess I never noticed already having it installed and working - probably had to jump through those hoops the first time I set it up from the original author and then my subsequent “upgrades” were just overwriting the DLL - the config and INI file where already in place.</p>
<p dir="auto">Not sure if this helps now that you’ve figured it out:</p>
<p dir="auto">QuickText.conf.default.ini = is an example of the the Plugin’s config file<br />
QuickText.default.ini = is an example for the code snippets</p>
<p dir="auto">When installed, it should end up like this:</p>
<pre><code>$(NPP_INSTALL_DIR)\plugins\
  |_ QuickText
  |   |_ QuickText.dll
  |   |_ QuickText.ini
  |_ Config
      |_ QuickText.conf.ini
</code></pre>
<p dir="auto">Cheers.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50378</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50378</guid><dc:creator><![CDATA[Michael Vincent]]></dc:creator><pubDate>Thu, 06 Feb 2020 23:01:24 GMT</pubDate></item><item><title><![CDATA[Reply to How to create abbreviations for java code on Thu, 06 Feb 2020 21:58:08 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/michael-vincent" aria-label="Profile: Michael-Vincent">@<bdi>Michael-Vincent</bdi></a> said in <a href="/post/50372">How to create abbreviations for java code</a>:</p>
<blockquote>
<p dir="auto">Happy to make it available on GitHub, but feel pretty weird about it being published in some list with me as the goto / author.</p>
</blockquote>
<p dir="auto">Especially if annoying people like me start asking <em>you</em> to make fixes, rather than the original author.  Then you might have to start supporting it, or ignoring <em>those</em> people. :-)</p>
<p dir="auto">I say this for no particular reason, because I wouldn’t ask you to look into why, when I installed 0.1.1.1 via Plugins Admin, it defaulted to an empty QuickText.conf.ini, rather than using the values for the defaults – because if I were to ask you about that, it would be like trying to assign you ownership, and I wouldn’t do that. <a href="#" title="There may or may not be other feature requests hidden in the comments in this post">;-)</a></p>
<p dir="auto">When that happens, then the Options… dialog is unintelligible; if that happens to someone else, they should <strong>Plugins &gt; QuickText &gt; Open Config File…</strong>, and paste in the contents of <a href="https://raw.githubusercontent.com/vinsworldcom/nppQuickText/master/Config/QuickText.conf.default.ini" rel="nofollow ugc">https://raw.githubusercontent.com/vinsworldcom/nppQuickText/master/Config/QuickText.conf.default.ini</a> and save, then <strong>Plugins &gt; QuickText &gt; Refresh Configuration…</strong> – though it would be nice to not have to go through those hoops.</p>
<p dir="auto">Oh, you meant because of copyright/license/ownership?  That makes sense, too.  It was released under GPL2, so as long as you attribute the original authors, maintain license, and make it clear that you have made changes from the original, there’s nothing wrong.  (I’m never sure whether GPL requires you to change the name of the project if you make a fork or not, though it doesn’t seem to be that way: IANAL.<br />
In other open-source communities – like Perl’s CPAN, it is possible to take ownership of abandoned open-source projects, and those don’t require renames, so I would assume it’s the same here.)</p>
<p dir="auto"><a href="#" title="Other bug reports:">.</a> <a href="#" title="accept unicode characters">.</a> <a href="#" title="editing OPTIONS dialog  automatically REFRESH">.</a> <a href="#" title="FEATURE REQUEST: in the GLOBALS, auto-define U+#### unicode-character replacement">.</a></p>
]]></description><link>https://community.notepad-plus-plus.org/post/50377</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50377</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Thu, 06 Feb 2020 21:58:08 GMT</pubDate></item><item><title><![CDATA[Reply to How to create abbreviations for java code on Thu, 06 Feb 2020 21:12:38 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/peterjones" aria-label="Profile: PeterJones">@<bdi>PeterJones</bdi></a></p>
<p dir="auto">Ah, I’m forgetting that PA isn’t quite “live”, like PM used to be.  A shallow replacement, sadly.  And all that work put into it, too…</p>
<p dir="auto">Yea, I’m running a slightly older N++, so it makes sense.<br />
Sorry to confuse because I forgot how things work.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50376</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50376</guid><dc:creator><![CDATA[Alan Kilborn]]></dc:creator><pubDate>Thu, 06 Feb 2020 21:12:38 GMT</pubDate></item><item><title><![CDATA[Reply to How to create abbreviations for java code on Thu, 06 Feb 2020 21:09:55 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/alan-kilborn" aria-label="Profile: Alan-Kilborn">@<bdi>Alan-Kilborn</bdi></a> said in <a href="/post/50374">How to create abbreviations for java code</a>:</p>
<blockquote>
<p dir="auto">I wonder why it still shows as 0.1.0.1 in PA then?</p>
</blockquote>
<p dir="auto">In what version of Notepad++ / nppPluginList?</p>
<p dir="auto">v7.8.4 shows 0.1.1.1 for me:</p>
<p dir="auto"><img src="/assets/uploads/files/1581023175759-ccdc8bd9-9997-499c-bad5-fa33b5e38fcc-image.png" alt="ccdc8bd9-9997-499c-bad5-fa33b5e38fcc-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto"><img src="/assets/uploads/files/1581023292642-c079f5aa-d343-4579-ad09-c61aa74f4b68-image.png" alt="c079f5aa-d343-4579-ad09-c61aa74f4b68-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">(both have the DLL’s <strong>RClick &gt; Properties &gt; Details</strong> showing 1.1.7.0)</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50375</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50375</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Thu, 06 Feb 2020 21:09:55 GMT</pubDate></item><item><title><![CDATA[Reply to How to create abbreviations for java code on Thu, 06 Feb 2020 20:53:03 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/peterjones" aria-label="Profile: PeterJones">@<bdi>PeterJones</bdi></a> said in <a href="/post/50373">How to create abbreviations for java code</a>:</p>
<blockquote>
<p dir="auto">And in December, updated it to 0.1.1.1.</p>
</blockquote>
<p dir="auto">I wonder why it still shows as 0.1.0.1 in PA then?</p>
<blockquote>
<p dir="auto">but feel pretty weird about it being published in some list with me as the goto / author.</p>
</blockquote>
<p dir="auto">Yea, not to fault <a class="plugin-mentions-user plugin-mentions-a" href="/user/chcg" aria-label="Profile: chcg">@<bdi>chcg</bdi></a> in any way, but it does seem awkward for you, given the project’s history.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50374</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50374</guid><dc:creator><![CDATA[Alan Kilborn]]></dc:creator><pubDate>Thu, 06 Feb 2020 20:53:03 GMT</pubDate></item><item><title><![CDATA[Reply to How to create abbreviations for java code on Thu, 06 Feb 2020 19:51:28 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/michael-vincent" aria-label="Profile: Michael-Vincent">@<bdi>Michael-Vincent</bdi></a></p>
<blockquote>
<p dir="auto">Interesting.  I never did the pull request to nppPluginList to add it.  Wonder how it got there?  Also, that’s not the latest version; 0.1.1.1 is available on the GitHub releases page.</p>
</blockquote>
<p dir="auto">It appears <a class="plugin-mentions-user plugin-mentions-a" href="/user/chcg" aria-label="Profile: chcg">@<bdi>chcg</bdi></a> added it <a href="https://github.com/notepad-plus-plus/nppPluginList/commit/215dc2cd5bd013d7fc0956b1a8eebc420b07a347" rel="nofollow ugc">with a commit last summer</a>.  And in December, <a href="https://github.com/notepad-plus-plus/nppPluginList/commit/b073ea096a06fa163c30b1c9b949d7c9da250f5a" rel="nofollow ugc">updated it</a> to 0.1.1.1.</p>
<p dir="auto">For adding to the list (though I’ve never done it), the <a href="https://github.com/notepad-plus-plus/nppPluginList" rel="nofollow ugc">nppPluginList</a> page implies you just do a <a href="https://github.com/notepad-plus-plus/nppPluginList/pulls" rel="nofollow ugc">Pull Request</a> to add it into the JSON files.  You can <a href="https://github.com/notepad-plus-plus/nppPluginList/pulls?utf8=%E2%9C%93&amp;q=is%3Apr" rel="nofollow ugc">search for closed PR</a> to see what the PR look like that get plugins updated (I couldn’t find any PR attached to <a class="plugin-mentions-user plugin-mentions-a" href="/user/chcg" aria-label="Profile: chcg">@<bdi>chcg</bdi></a>’s commits, though I admit navigating these things isn’t second nature to me yet, so there might be an associated PR with his commits).</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50373</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50373</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Thu, 06 Feb 2020 19:51:28 GMT</pubDate></item><item><title><![CDATA[Reply to How to create abbreviations for java code on Thu, 06 Feb 2020 19:41:26 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/alan-kilborn" aria-label="Profile: Alan-Kilborn">@<bdi>Alan-Kilborn</bdi></a></p>
<p dir="auto">The other thing is that it’s not “my” plugin.  Someone else is the original author, it just seemed to be abandoned.  And since I was using it on 32-bit and wanted to move to 64-bit, I got it to work for that and added some extra enhancements that I wanted.  So it really isn’t my plugin nor I think mine to list.</p>
<p dir="auto">Happy to make it available on GitHub, but feel pretty weird about it being published in some list with me as the goto / author.</p>
<p dir="auto">Cheers.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50372</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50372</guid><dc:creator><![CDATA[Michael Vincent]]></dc:creator><pubDate>Thu, 06 Feb 2020 19:41:26 GMT</pubDate></item><item><title><![CDATA[Reply to How to create abbreviations for java code on Thu, 06 Feb 2020 19:31:14 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/michael-vincent" aria-label="Profile: Michael-Vincent">@<bdi>Michael-Vincent</bdi></a></p>
<p dir="auto">Not being a plugin author myself, I’m not sure of the process for (a) getting your plugin in the list [so I’m not sure how yours would have gotten there] or (b) getting your plugin version-bumped in the list.</p>
<p dir="auto">But I suspect Mr. Jones will have some sort of pointer coming up… :)</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50371</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50371</guid><dc:creator><![CDATA[Alan Kilborn]]></dc:creator><pubDate>Thu, 06 Feb 2020 19:31:14 GMT</pubDate></item><item><title><![CDATA[Reply to How to create abbreviations for java code on Thu, 06 Feb 2020 19:11:37 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/alan-kilborn" aria-label="Profile: Alan-Kilborn">@<bdi>Alan-Kilborn</bdi></a></p>
<p dir="auto">Interesting.  I never did the pull request to nppPluginList to add it.  Wonder how it got there?  Also, that’s not the latest version; 0.1.1.1 is available on the GitHub releases page.</p>
<p dir="auto">Cheers.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/50370</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50370</guid><dc:creator><![CDATA[Michael Vincent]]></dc:creator><pubDate>Thu, 06 Feb 2020 19:11:37 GMT</pubDate></item><item><title><![CDATA[Reply to How to create abbreviations for java code on Thu, 06 Feb 2020 18:20:51 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/michael-vincent" aria-label="Profile: Michael-Vincent">@<bdi>Michael-Vincent</bdi></a></p>
<p dir="auto">QuickText appears to be available via <em>Plugins Admin</em> (not sure why you didn’t mention that?):</p>
<p dir="auto"><img src="/assets/uploads/files/1581013240408-ea90da4b-d37e-47ab-a5e0-6580af2f4881-image.png" alt="ea90da4b-d37e-47ab-a5e0-6580af2f4881-image.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://community.notepad-plus-plus.org/post/50369</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/50369</guid><dc:creator><![CDATA[Alan Kilborn]]></dc:creator><pubDate>Thu, 06 Feb 2020 18:20:51 GMT</pubDate></item></channel></rss>