<?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[Right Justifying Paragraphs]]></title><description><![CDATA[<p dir="auto">I wish Notepad++ had this feature.<br />
CodeWright used to have it and was very useful in organizing code.</p>
<p dir="auto">This is what it could do:</p>
<ol>
<li>
<p dir="auto">Suppose you wrote these code lines:<br />
int argument1 = 1;<br />
int multiplier = 100;<br />
double weight = 200.345;</p>
</li>
<li>
<p dir="auto">Using this feature you end up with this:<br />
int argument1    = 1;<br />
int multiplier      = 100;<br />
double  weight  = 200.345;</p>
</li>
</ol>
<p dir="auto">To do it:<br />
a. Select the entire paragraph and use right justify from the context menu.<br />
b. Enter random number of spaces just before the = signs.<br />
c. Select the paragraph again and this time left justify it.<br />
d. Only select the = sign and every to the right of it and select left justify.<br />
that’s all</p>
]]></description><link>https://community.notepad-plus-plus.org/topic/16521/right-justifying-paragraphs</link><generator>RSS for Node</generator><lastBuildDate>Thu, 18 Jun 2026 09:12:36 GMT</lastBuildDate><atom:link href="https://community.notepad-plus-plus.org/topic/16521.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 26 Oct 2018 15:31:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Right Justifying Paragraphs on Thu, 02 May 2019 21:24:26 GMT]]></title><description><![CDATA[<p dir="auto">Hi all,</p>
<p dir="auto">Just an update: I have been using TextFX in the last 5 months and it does the job pretty well. Was too lazy to try the other methods members graciously provided.</p>
<p dir="auto">Thanks!</p>
]]></description><link>https://community.notepad-plus-plus.org/post/42860</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/42860</guid><dc:creator><![CDATA[hoji afzal]]></dc:creator><pubDate>Thu, 02 May 2019 21:24:26 GMT</pubDate></item><item><title><![CDATA[Reply to Right Justifying Paragraphs on Mon, 03 Dec 2018 19:48:44 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">Got it!<br />
Notepad++ keeps a history of your searches, which is handy for this kind of operation.<br />
Thanks a lot.<br />
Hoji</p>
]]></description><link>https://community.notepad-plus-plus.org/post/37114</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/37114</guid><dc:creator><![CDATA[hoji afzal]]></dc:creator><pubDate>Mon, 03 Dec 2018 19:48:44 GMT</pubDate></item><item><title><![CDATA[Reply to Right Justifying Paragraphs on Mon, 03 Dec 2018 16:44:15 GMT]]></title><description><![CDATA[<p dir="auto">Hi, <a class="plugin-mentions-user plugin-mentions-a" href="/user/hoji-afzal" aria-label="Profile: hoji-afzal">@<bdi>hoji-afzal</bdi></a> and <strong>All</strong>,</p>
<p dir="auto">In my <strong>previous</strong> post, I used the <strong>control</strong> character <strong><code>\x1F</code></strong> as a <strong>temporary</strong> character, while executing the <strong><code>TextFX</code></strong> <strong>Line up</strong> option.</p>
<p dir="auto">Of course, this is <strong>not</strong> a <strong>mandatory</strong> step ! You may, as well, use <strong>any</strong> symbol, which is <strong>NOT</strong> part of your <strong>block selection</strong>, yet ;-)). So, for instance, with your <strong>initial</strong> block of text :</p>
<pre><code class="language-diff">public byte PUSH = 1;
private const int STOP = 0;
public const double SECS_TO_START = 10;
public int SEPARATOR = 21;
</code></pre>
<p dir="auto"><strong>Any</strong> symbol, other than a <strong>semicolon</strong> and the <strong>equal</strong> sign, could be <strong>appropriate</strong> ;-))</p>
<hr />
<p dir="auto">With a <strong>hash</strong> symbol, for example, the main actions, with your <strong>sample</strong> text, would be :</p>
<ul>
<li>
<p dir="auto">Copy a <strong>single</strong> <strong><code>#</code></strong>, in the <strong>clipboard</strong></p>
</li>
<li>
<p dir="auto">Perform a <strong>first</strong> S/R, below, with <strong><code>Regular expression</code></strong> and <strong><code>In selection</code></strong> options ticked</p>
<ul>
<li>
<p dir="auto">SEARCH <strong><code>(?-i)(?&lt;!\bconst)\x20+</code></strong></p>
</li>
<li>
<p dir="auto">REPLACE <strong><code>#</code></strong></p>
</li>
</ul>
</li>
<li>
<p dir="auto">Click on <strong><code>TextFX &gt; TextFX Edit &gt; Line up multiple lines by (Clipboard Character)</code></strong></p>
</li>
<li>
<p dir="auto">Perform a <strong>second</strong> S/R, below, with <strong><code>Regular expression</code></strong> and <strong><code>In selection</code></strong> options ticked</p>
<ul>
<li>
<p dir="auto">SEARCH <strong><code>#</code></strong></p>
</li>
<li>
<p dir="auto">REPLACE <strong><code>\x20</code></strong> ( you may, also, use a simple <strong>space</strong> char, instead ! )</p>
</li>
</ul>
</li>
</ul>
<hr />
<p dir="auto">Of course, if this <strong>temporary</strong> char is a <strong>control</strong> character, other than <strong><code>\r</code></strong> or <strong><code>\n</code></strong>, you’re <strong>quasi</strong>-certain that it is <strong>not</strong> used anywhere else, in current <strong>text</strong> or <strong>source code</strong> file !</p>
<p dir="auto">Cheers,</p>
<p dir="auto">guy038</p>
]]></description><link>https://community.notepad-plus-plus.org/post/37112</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/37112</guid><dc:creator><![CDATA[guy038]]></dc:creator><pubDate>Mon, 03 Dec 2018 16:44:15 GMT</pubDate></item><item><title><![CDATA[Reply to Right Justifying Paragraphs on Mon, 03 Dec 2018 14:29:53 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 a lot; I just tried your steps and they work pretty well.</p>
<p dir="auto">If anyone else wants to try it, be sure to use the **numeric **keypad to enter 031.</p>
<p dir="auto">I will try (?-i)(?&lt;!\bconst)\x20+ later on. And after that will brush up on my regular expressions :)</p>
<p dir="auto">Appreciate your time!</p>
<p dir="auto">Hoji</p>
]]></description><link>https://community.notepad-plus-plus.org/post/37106</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/37106</guid><dc:creator><![CDATA[hoji afzal]]></dc:creator><pubDate>Mon, 03 Dec 2018 14:29:53 GMT</pubDate></item><item><title><![CDATA[Reply to Right Justifying Paragraphs on Mon, 03 Dec 2018 15:53:21 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/user/hoji-afzal" aria-label="Profile: hoji-afzal">@<bdi>hoji-afzal</bdi></a> <a class="plugin-mentions-user plugin-mentions-a" href="/user/peterjones" aria-label="Profile: peterjones">@<bdi>peterjones</bdi></a>, <a class="plugin-mentions-user plugin-mentions-a" href="/user/dinkumoil" aria-label="Profile: dinkumoil">@<bdi>dinkumoil</bdi></a>, <a class="plugin-mentions-user plugin-mentions-a" href="/user/scott-sumner" aria-label="Profile: scott-sumner">@<bdi>scott-sumner</bdi></a>, <a class="plugin-mentions-user plugin-mentions-a" href="/user/chcg" aria-label="Profile: chcg">@<bdi>chcg</bdi></a> and <strong>All</strong>,</p>
<p dir="auto">I’ve found out a solution to <strong>line up</strong> with the <strong>space</strong> character :-)) Nevertheless, it’s just a <strong>work-around</strong> which could be rather <strong>tedious</strong>, if you want to <strong>line up</strong> a lot of <strong>small</strong> blocks of text :-(( Just have a try !</p>
<p dir="auto">It does <strong>not</strong> imply any <strong>script</strong>, just the <strong><code>TextFX</code></strong> plugin of course, and the native N++ <strong>Search/Replacement</strong> feature ;-))</p>
<hr />
<p dir="auto">Here are, below, the different <strong>steps</strong> to follow :</p>
<ul>
<li><strong>First</strong>, anywhere in a file, on an <strong>empty</strong> location, <strong>hold</strong> down the <strong><code>ALT</code></strong> key and type, <strong>successively</strong>, on keys <strong><code>0</code></strong>, <strong><code>3</code></strong> and <strong><code>1</code></strong>, of the <strong>numeric</strong> keypad, then <strong>release</strong> the <strong><code>ALT</code></strong> key</li>
</ul>
<p dir="auto">=&gt; A <strong>control</strong> character <strong><code>US</code></strong>, with code-point = <strong><code>\x1F</code></strong>, should be displayed, in <strong>reverse video</strong> !</p>
<ul>
<li>
<p dir="auto">Copy this <strong>single</strong> character in the <strong>clipboard</strong></p>
</li>
<li>
<p dir="auto">Select <strong>all</strong> the ( <strong>not</strong> aligned ) text of your <strong>previous</strong> example</p>
</li>
</ul>
<pre><code class="language-diff">public byte PUSH = 1;
private const int STOP = 0;
public const double SECS_TO_START = 10;
public int SEPARATOR = 21;
</code></pre>
<ul>
<li>
<p dir="auto">Now, open the <strong>Replace</strong> dialog ( <strong><code>Ctrl + H</code></strong> )</p>
</li>
<li>
<p dir="auto">SEARCH <strong><code>\x20+</code></strong></p>
</li>
<li>
<p dir="auto">REPLACE <strong><code>\x1f</code></strong></p>
</li>
<li>
<p dir="auto">Check the <strong><code>In selection</code></strong> option, ( on the <strong>left</strong> of the <strong><code>Replace All</code></strong> button )  IMPORTANT</p>
</li>
<li>
<p dir="auto">Select the <strong><code>Regular expression</code></strong> search mode</p>
</li>
<li>
<p dir="auto">Click on the <strong><code>Replace All</code></strong> button</p>
</li>
</ul>
<p dir="auto">=&gt; At once, all range of <strong>consecutive space</strong> characters, in the <strong>selection</strong>, are replaced with the <strong>control</strong> character <strong><code>US</code></strong></p>
<ul>
<li>
<p dir="auto">Then, click on the <strong>TextFX</strong> menu, leaving the <strong>Replace</strong> dialog in the <strong>background</strong></p>
</li>
<li>
<p dir="auto">Select the option <strong><code>TextFX &gt; TextFX Edit &gt; Line up multiple lines by (Clipboard Character)</code></strong></p>
</li>
</ul>
<p dir="auto">=&gt; Now, most of the <strong><code>US</code></strong> characters should be <strong>aligned</strong> !</p>
<ul>
<li>
<p dir="auto">Click back on the <strong>Replace</strong> dialog ( Note that your text is still <strong>selected</strong> )</p>
</li>
<li>
<p dir="auto">SEARCH <strong><code>\x1f</code></strong></p>
</li>
<li>
<p dir="auto">REPLACE <strong><code>\x20</code></strong></p>
</li>
<li>
<p dir="auto">Keep the <strong>same</strong> options as above</p>
</li>
<li>
<p dir="auto">Click on the <strong><code>Replace All</code></strong> button</p>
</li>
</ul>
<p dir="auto">=&gt; You should get the result, below :</p>
<pre><code class="language-diff">public  byte  PUSH      =             1;
private const int       STOP          = 0;
public  const double    SECS_TO_START = 10;
public  int   SEPARATOR =             21;
</code></pre>
<p dir="auto">At <strong>first</strong> sight, we remark that some words are quite <strong>aligned</strong>, but <strong>not exactly</strong> in the way you would !:-(( The problem comes from the expressions <strong><code>Const int</code></strong> and <strong><code>Const double</code></strong> that you consider as <strong>single</strong> entities whereas the <strong>TextFX</strong> plugin considers, <strong>logically</strong>, that there are <strong>two consecutive</strong> words, separated with a <strong>space</strong> char !</p>
<p dir="auto">So, regarding your very simple block of code, I would say that the rule  is : when a <strong>space</strong> character, is located after the <strong>word</strong> <strong><code>const</code></strong>, in <strong>lower</strong>-case, it should <strong>not</strong> be replaced with the <strong><code>US</code></strong> <strong>control</strong> char</p>
<p dir="auto">Thus, if you <strong>re</strong>-execute all the <strong>previous</strong> steps, replacing the <strong>first</strong> search regex <strong><code>\x20+</code></strong> with the regex <strong><code>(?-i)(?&lt;!\bconst)\x20+</code></strong>, you should be left with the <strong>expected</strong> text, below :</p>
<pre><code class="language-diff">public  byte         PUSH          = 1;
private const int    STOP          = 0;
public  const double SECS_TO_START = 10;
public  int          SEPARATOR     = 21;
</code></pre>
<p dir="auto">Nice, isn’t it ? Note you <strong>still</strong> have to <strong>align</strong> the numbers, at the <strong>end</strong>  of the lines !</p>
<p dir="auto"><strong>REMEMBER</strong> : When using the <strong>line up</strong> feature, the <strong><code>TextFX</code></strong> plugin does <strong>not</strong> consider any <strong><code>,</code></strong>, <strong><code>=</code></strong> or <strong><code>clipboard</code></strong> character which are between <strong>two double</strong> quotes <strong><code>"........"</code></strong> nor between <strong>two simple</strong> quotes <strong><code>'........'</code></strong> !</p>
<hr />
<p dir="auto">If you are <strong>interested</strong> to go further on, <a class="plugin-mentions-user plugin-mentions-a" href="/user/hoji-afzal" aria-label="Profile: hoji-afzal">@<bdi>hoji-afzal</bdi></a>, just tell me <strong>all</strong> the <strong>multi-words</strong> expressions which need to be considered as  a <strong>single</strong> word and I’ll try to get the <strong>appropriate</strong> regex, which preserves <strong>space</strong> characters, in these expressions :-))</p>
<p dir="auto">Best Regards,</p>
<p dir="auto">guy038</p>
]]></description><link>https://community.notepad-plus-plus.org/post/37087</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/37087</guid><dc:creator><![CDATA[guy038]]></dc:creator><pubDate>Mon, 03 Dec 2018 15:53:21 GMT</pubDate></item><item><title><![CDATA[Reply to Right Justifying Paragraphs on Fri, 30 Nov 2018 17:28:43 GMT]]></title><description><![CDATA[<p dir="auto">Thanks for the code. But I’m sorry I still haven’t had a chance to try it. Plus, I am not very experienced with scripts.</p>
<p dir="auto">However, I did try TextFX and find its tool useful. I have set up a shortcut for it which I have been using. It’s TextFX &gt; TextFX  Edit &gt; E: Line up multiple lines by (Clipboard Character). Unfortunately it doesn’t accept either space (perhaps the most useful character) or a pattern of characters. But still it’s Okay.<br />
Having said that, that menu is nowhere near as powerful or useful as a context menu to select a block and set it either right or left justified.</p>
<p dir="auto">Hoji</p>
]]></description><link>https://community.notepad-plus-plus.org/post/37020</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/37020</guid><dc:creator><![CDATA[hoji afzal]]></dc:creator><pubDate>Fri, 30 Nov 2018 17:28:43 GMT</pubDate></item><item><title><![CDATA[Reply to Right Justifying Paragraphs on Mon, 26 Nov 2018 18:05:27 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/hoji-afzal" aria-label="Profile: hoji-afzal">@<bdi>hoji-afzal</bdi></a> said:</p>
<blockquote>
<p dir="auto">I will try these once my manager stops with his “so how much progress did you make?” :)</p>
</blockquote>
<p dir="auto">Oh yeah, the managers…</p>
<p dir="auto">Since you seem interested I have another update of the VBScript for you:</p>
<ul>
<li>Improved handling of aligning lines containing no assignment operator</li>
<li>Delimiter and assignment operator configurable by constant in script</li>
<li>Keeps indentation</li>
<li>Improved detection of empty lines</li>
<li>Avoiding superfluous output lines and output lines filled solely with space characters</li>
</ul>
<pre><code class="language-VB">Option Explicit

Const LVALUE   = 0
Const RVALUE   = 1
Const DelimChr = " "
Const AssignOp = "="

Dim arrCode, arrInLine, arrLValueTokens, strRValueTokens, intPrevMaxIdx
Dim arrLine, arrMaxTokenLen, intLineIdx, intTokenIdx, intMaxRValueLen
Dim intCnt, strLine, strToken, strOutput

'Read input from StdIn
If Not WScript.StdIn.AtEndOfStream Then
  'Split input into lines and store them in array
  arrCode = Split(WScript.StdIn.ReadAll, vbNewLine)

  'Delete empty trailing line
  If arrCode(UBound(arrCode)) = "" Then
    ReDim Preserve arrCode(UBound(arrCode) - 1)
  End If
  
  arrLine         = Array()
  arrMaxTokenLen  = Array()
  intMaxRValueLen = 0
  strOutput       = ""

  'Process all lines
  For intLineIdx = 0 To UBound(arrCode)
    'If current line is empty create empty variables for LValue and RValue
    If Trim(arrCode(intLineIdx)) = "" Then
      arrLValueTokens = Array("")
      strRValueTokens = ""
    Else
      'Split line in LValue and RValue, keep indentation of LValue but delete
      'preceding and trailing space characters of RValue and split LValue in
      'tokens
      arrInLine       = Split(arrCode(intLineIdx), AssignOp)
      arrLValueTokens = Split(RTrim(arrInLine(0)), DelimChr)
      
      'There could be no RValue
      If UBound(arrInLine) &gt; 0 Then
        strRValueTokens = Trim(arrInLine(1))
      Else
        strRValueTokens = ""
      End IF

      'Remember maximum length of all RValues
      If Len(strRValueTokens) &gt; intMaxRValueLen Then
        intMaxRValueLen = Len(strRValueTokens)
      End If

      'Build a maximum token length table containing the maximum length of all
      'LValue tokens in the same column

      'If the number of tokens of the current LValue is greater than the number
      'of columns of the table it has to be enlarged.
      If UBound(arrLValueTokens) &gt; UBound(arrMaxTokenLen) Then
        'Remember index of currently last table cell and enlarge table
        intPrevMaxIdx = UBound(arrMaxTokenLen)
        ReDim Preserve arrMaxTokenLen(UBound(arrLValueTokens))

        'Shift the value of the last table cell before enlargement
        'to the last cell after enlargement
        If intPrevMaxIdx &lt; 0 Or strRValueTokens = "" Then
          'If the table had been empty before enlargement set new cell to 0
          arrMaxTokenLen(UBound(arrMaxTokenLen)) = 0
        Else
          'Set the currently last cell of the table to the value of the
          'previously last cell
          arrMaxTokenLen(UBound(arrMaxTokenLen)) = arrMaxTokenLen(intPrevMaxIdx)

          'Set the newly added cells to 0
          For intCnt = intPrevMaxIdx To UBound(arrMaxTokenLen) - 1
            arrMaxTokenLen(intCnt) = 0
          Next
        End If
      End If

      'If the current line contains longer tokens in any column than the lines
      'processed before, remember the greater length
      For intCnt = 0 To UBound(arrLValueTokens)
        'If we do not inspect the last table cell, compare the same columns of
        'the LValue tokens and the maximum token length table
        If intCnt &lt; UBound(arrLValueTokens) Or strRValueTokens = "" Then
          If Len(arrLValueTokens(intCnt)) &gt; arrMaxTokenLen(intCnt) Then
            arrMaxTokenLen(intCnt) = Len(arrLValueTokens(intCnt))
          End If
        'I we inspect the last LValue token, always compare it with the last cell
        'of the maximum token length table
        Else
          If Len(arrLValueTokens(intCnt)) &gt; arrMaxTokenLen(UBound(arrMaxTokenLen)) Then
            arrMaxTokenLen(UBound(arrMaxTokenLen)) = Len(arrLValueTokens(intCnt))
          End If
        End If
      Next
    End If

    'Enlarge ouput array and store array with LValue tokens and RValue string
    ReDim Preserve arrLine(UBound(arrLine) + 1)
    arrLine(UBound(arrLine)) = Array(arrLValueTokens, strRValueTokens)
  Next
  
  'Iterate over output array of loop above and build up an output line from
  'LValue tokens and the RValue. The output line gets assembled from right to left.
  For intLineIdx = 0 To UBound(arrLine)
    strLine  = ""
    
    'Get RValue of current line
    strToken = arrLine(intLineIdx)(RVALUE)

    'Add assignment operator and RValue to output line only if RValue is not empty
    If strToken &lt;&gt; "" Then
      'If the RValue is a number right align it otherwise take it as is
      If IsNumeric(Left(strToken, Len(strToken) - 1)) Then
        strLine = AssignOp &amp; " " &amp; Right(String(intMaxRValueLen, " ") &amp; strToken, intMaxRValueLen)
      Else
        strLine = AssignOp &amp; " " &amp; strToken
      End If
    End If
    
    'Iterate over the maximum token length table starting with last column
    For intTokenIdx = UBound(arrMaxTokenLen) To 0 Step -1
      'When processing the last column, take the last LValue token of the
      'current line, right-pad it with space characters to bring it to the
      'lenght of the longest token in this column and prepend it to output line
      If intTokenIdx = UBound(arrMaxTokenLen) And arrLine(intLineIdx)(RVALUE) &lt;&gt; "" Then
        strToken = arrLine(intLineIdx)(LVALUE)(UBound(arrLine(intLineIdx)(LVALUE)))
        strLine  = Left(strToken &amp; String(arrMaxTokenLen(intTokenIdx), " "), arrMaxTokenLen(intTokenIdx)) &amp; DelimChr &amp; strLine

      'When processing a column where the current LValue has a token, right-pad
      'it with space characters to bring it to the lenght of the longest token
      'in this column and prepend it to output line
      ElseIf (UBound(arrLine(intLineIdx)(LVALUE)) &gt; intTokenIdx) Or _
             (UBound(arrLine(intLineIdx)(LVALUE)) = intTokenIdx And arrLine(intLineIdx)(RVALUE) = "") Then
        strToken = arrLine(intLineIdx)(LVALUE)(intTokenIdx)
        
        If intTokenIdx = UBound(arrMaxTokenLen) And arrLine(intLineIdx)(RVALUE) = "" Then
          strLine  = Left(strToken &amp; String(arrMaxTokenLen(intTokenIdx), " "), arrMaxTokenLen(intTokenIdx))
        Else
          strLine  = Left(strToken &amp; String(arrMaxTokenLen(intTokenIdx), " "), arrMaxTokenLen(intTokenIdx)) &amp; DelimChr &amp; strLine
        End If

      'When processing a column where the current LValue has no token, pad with
      'space characters to bring it to the lenght of the longest token in this
      'column and prepend it to output line
      Else
        If intTokenIdx = UBound(arrMaxTokenLen) And arrLine(intLineIdx)(RVALUE) = "" Then
          strLine = String(arrMaxTokenLen(intTokenIdx), " ")
        Else
          strLine = String(arrMaxTokenLen(intTokenIdx), " ") &amp; DelimChr &amp; strLine
        End If
      End If
    Next

    'Avoid appending of lines which contain solely space characters
    If Trim(strLine) = "" Then strLine = ""
    
    'Append output line to output string
    strOutput = strOutput &amp; strLine

    'Dont terminate last line with EOL because it is added automatically
    If intLineIdx &lt; UBound(arrLine) Then
      strOutput = strOutput &amp; vbNewLine
    End If
  Next

  'Stream output string to StdOut
  WScript.StdOut.Write strOutput
End If
</code></pre>
<p dir="auto">Unfortunately the <em>Pork2Sausage</em> plugin currently has a bug, it streams at maximum 1024 bytes/characters back to Notepad++. I’ve already created a pull request with a fix, let’s see if and when it will be published.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/36802</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/36802</guid><dc:creator><![CDATA[dinkumoil]]></dc:creator><pubDate>Mon, 26 Nov 2018 18:05:27 GMT</pubDate></item><item><title><![CDATA[Reply to Right Justifying Paragraphs on Mon, 26 Nov 2018 17:12:02 GMT]]></title><description><![CDATA[<p dir="auto">Oh man, thanks so much guys for your input!<br />
I will try these once my manager stops with his “so how much progress did you make?” :)</p>
<p dir="auto">I am a fanatic aligner, just bordering having a disease. But usually don’t have time to go that “extreme”. And by extreme I am sure you refer to my right aligning the whole numbers hahaha</p>
<p dir="auto">Thanks.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/36797</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/36797</guid><dc:creator><![CDATA[hoji afzal]]></dc:creator><pubDate>Mon, 26 Nov 2018 17:12:02 GMT</pubDate></item><item><title><![CDATA[Reply to Right Justifying Paragraphs on Mon, 26 Nov 2018 01:25:18 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/hoji-afzal" aria-label="Profile: hoji-afzal">@<bdi>hoji-afzal</bdi></a></p>
<p dir="auto">Update: VBScript improved</p>
<ul>
<li>Can handle and keep empty lines</li>
<li>Can handle and keep lines without equal sign</li>
<li>Code commented now</li>
</ul>
<pre><code class="language-VB">Option Explicit

Const LVALUE = 0
Const RVALUE = 1

Dim arrCode, arrInLine, arrLValueTokens, strRValueTokens, intPrevMaxIdx
Dim arrLine, arrMaxTokenLen, intLineIdx, intTokenIdx, intMaxRValueLen
Dim intCnt, strLine, strToken, strOutput

'Read input from StdIn
If Not WScript.StdIn.AtEndOfStream Then
  'Split input into lines and store them in array
  arrCode = Split(WScript.StdIn.ReadAll, vbNewLine)

  'Delete empty trailing line
  If arrCode(UBound(arrCode)) = "" Then
    ReDim Preserve arrCode(UBound(arrCode) - 1)
  End If
  
  arrLine         = Array()
  arrMaxTokenLen  = Array()
  intMaxRValueLen = 0
  strOutput       = ""

  'Process all lines
  For intLineIdx = 0 To UBound(arrCode)
    'If current line is empty create empty variables for LValue and RValue
    If arrCode(intLineIdx) = "" Then
      arrLValueTokens = Array("")
      strRValueTokens = ""
    Else
      'Split line in LValue and RValue, delete preceding and trailing space
      'characters and split LValue in tokens
      arrInLine       = Split(arrCode(intLineIdx), "=")
      arrLValueTokens = Split(Trim(arrInLine(0)), " ")
      
      'RValue could be empty
      If UBound(arrInLine) &gt; 0 Then
        strRValueTokens = Trim(arrInLine(1))
      Else
        strRValueTokens = ""
      End IF

      'Remember maximum length of all RValues
      If Len(strRValueTokens) &gt; intMaxRValueLen Then
        intMaxRValueLen = Len(strRValueTokens)
      End If

      'Build array with a table containing the maximum length of all tokens
      'in the same column.

      'If the number of tokens of the current LValue is greater than the number
      'of columns of the table it has to be enlarged.
      If UBound(arrLValueTokens) &gt; UBound(arrMaxTokenLen) Then
        'Remember index of currently last table cell and enlarge it
        intPrevMaxIdx = UBound(arrMaxTokenLen)
        ReDim Preserve arrMaxTokenLen(UBound(arrLValueTokens))

        'Shift the value of the last table cell before enlargement
        'to the last cell after enlargement
        If intPrevMaxIdx &lt; 0 Then
          'If the table had been empty before enlargement set the new element to 0
          arrMaxTokenLen(UBound(arrMaxTokenLen)) = 0
        Else
          'Set the currently last cell of the table to the value
          'of the previously last cell
          arrMaxTokenLen(UBound(arrMaxTokenLen)) = arrMaxTokenLen(intPrevMaxIdx)

          'Set the newly added cells to 0
          For intCnt = intPrevMaxIdx To UBound(arrMaxTokenLen) - 1
            arrMaxTokenLen(intCnt) = 0
          Next
        End If
      End If

      'If the current line contains longer tokens in any column than the lines
      'processed before remember the greater length
      For intCnt = 0 To UBound(arrLValueTokens)
        'If we do not inspect the last table cell compare the same columns of
        'the LValue tokens and the maximum token length table
        If intCnt &lt; UBound(arrLValueTokens) Then
          If Len(arrLValueTokens(intCnt)) &gt; arrMaxTokenLen(intCnt) Then
            arrMaxTokenLen(intCnt) = Len(arrLValueTokens(intCnt))
          End If
        'I we inspect the last LValue token alway compare it with the last cell
        'of the maximum token length table
        Else
          If Len(arrLValueTokens(intCnt)) &gt; arrMaxTokenLen(UBound(arrMaxTokenLen)) Then
            arrMaxTokenLen(UBound(arrMaxTokenLen)) = Len(arrLValueTokens(intCnt))
          End If
        End If
      Next
    End If

    'Enlarge ouput array and store array with LValue tokens and RValue string
    ReDim Preserve arrLine(UBound(arrLine) + 1)
    arrLine(UBound(arrLine)) = Array(arrLValueTokens, strRValueTokens)
  Next
  
  'Iterate over output array of loop above and build up an output line from
  'LValue tokens and the RValue. The output line gets assembled from right to left.
  For intLineIdx = 0 To UBound(arrLine)
    strLine  = ""
    
    'Get RValue of current line
    strToken = arrLine(intLineIdx)(RVALUE)

    'Add equal sign and RValue only to the output line if RValue is not empty
    If strToken &lt;&gt; "" Then
      'If the RValue is a number right align it otherwise take it as is
      If IsNumeric(Left(strToken, Len(strToken) - 1)) Then
        strLine = "= " &amp; Right(String(intMaxRValueLen, " ") &amp; strToken, intMaxRValueLen)
      Else
        strLine = "= " &amp; strToken
      End If
    End If
    
    'Iterate over the maximum token length table starting with last column
    For intTokenIdx = UBound(arrMaxTokenLen) To 0 Step -1
      'When processing the last column, take the last LValue token of the
      'current line, right-pad it with space characters to bring it to the
      'lenght of the longest token in this column and prepend it to output line
      If intTokenIdx = UBound(arrMaxTokenLen) Then
        strToken = arrLine(intLineIdx)(LVALUE)(UBound(arrLine(intLineIdx)(LVALUE)))
        strLine  = Left(strToken &amp; String(arrMaxTokenLen(intTokenIdx), " "), arrMaxTokenLen(intTokenIdx)) &amp; " " &amp; strLine

      'When processing a column where the current LValue has a token, right-pad
      'it with space characters to bring it to the lenght of the longest token
      'in this column and prepend it to output line
      ElseIf UBound(arrLine(intLineIdx)(LVALUE)) &gt; intTokenIdx Then
        strToken = arrLine(intLineIdx)(LVALUE)(intTokenIdx)
        strLine  = Left(strToken &amp; String(arrMaxTokenLen(intTokenIdx), " "), arrMaxTokenLen(intTokenIdx)) &amp; " " &amp; strLine

      'When processing a column where the current LValue has no token, pad with
      'space characters to bring it to the lenght of the longest token in this
      'column and prepend it to output line
      Else
        strLine = String(arrMaxTokenLen(intTokenIdx), " ") &amp; " " &amp; strLine
      End If
    Next

    'Avoid appending of lines which contain solely space characters
    If Trim(strLine) = "" Then strLine = Trim(strLine)
    
    'Append output line to output string
    strOutput = strOutput &amp; strLine

    'Dont terminate last line with EOL because it's added automatically
    If intLineIdx &lt; UBound(arrLine) Then
      strOutput = strOutput &amp; vbNewLine
    End If
  Next

  'Stream output string to StdOut
  WScript.StdOut.Write strOutput
End If
</code></pre>
]]></description><link>https://community.notepad-plus-plus.org/post/36768</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/36768</guid><dc:creator><![CDATA[dinkumoil]]></dc:creator><pubDate>Mon, 26 Nov 2018 01:25:18 GMT</pubDate></item><item><title><![CDATA[Reply to Right Justifying Paragraphs on Sun, 25 Nov 2018 19:31:20 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/hoji-afzal" aria-label="Profile: hoji-afzal">@<bdi>hoji-afzal</bdi></a></p>
<p dir="auto">Seems like you are an “extreme aligner”… ;-)</p>
<p dir="auto">I wrote a VBScript that does the job. To get it to work you need to install the <em>Pork2Sausage</em> plugin of <a class="plugin-mentions-user plugin-mentions-a" href="/user/donho" aria-label="Profile: donho">@<bdi>donho</bdi></a> and two tiny companion scripts.</p>
<p dir="auto">This is the VBScript, save it as <code>CodeAlign.vbs</code>:</p>
<pre><code>Option Explicit

Const LVALUE = 0
Const RVALUE = 1

Dim strCode, arrCode, arrInLine, arrLValueTokens, strRValueTokens, intPrevMaxIdx
Dim arrLine, arrMaxTokenLen, intLineIdx, intTokenIdx, intMaxRValueLen
Dim intCnt, strLine, strToken, strOutput

If Not WScript.StdIn.AtEndOfStream Then
  strCode = WScript.StdIn.ReadAll

  arrCode         = Split(strCode, vbNewLine)
  intMaxRValueLen = 0
  arrMaxTokenLen  = Array()
  arrLine         = Array()
  strOutput       = ""

  For intLineIdx = 0 To UBound(arrCode)
    If arrCode(intLineIdx) &lt;&gt; "" Then
      arrInLine       = Split(arrCode(intLineIdx), "=")
      arrLValueTokens = Split(Trim(arrInLine(0)), " ")
      strRValueTokens = Trim(arrInLine(1))

      If Len(strRValueTokens) &gt; intMaxRValueLen Then
        intMaxRValueLen = Len(strRValueTokens)
      End If

      If UBound(arrLValueTokens) &gt; UBound(arrMaxTokenLen) Then
        intPrevMaxIdx = UBound(arrMaxTokenLen)
        ReDim Preserve arrMaxTokenLen(UBound(arrLValueTokens))

        If intPrevMaxIdx &lt; 0 Then
          arrMaxTokenLen(UBound(arrMaxTokenLen)) = 0
        Else
          arrMaxTokenLen(UBound(arrMaxTokenLen)) = arrMaxTokenLen(intPrevMaxIdx)

          For intCnt = intPrevMaxIdx To UBound(arrMaxTokenLen) - 1
            arrMaxTokenLen(intCnt) = 0
          Next
        End If
      End If

      For intCnt = 0 To UBound(arrLValueTokens)
        If intCnt &lt; UBound(arrLValueTokens) Then
          If Len(arrLValueTokens(intCnt)) &gt; arrMaxTokenLen(intCnt) Then
            arrMaxTokenLen(intCnt) = Len(arrLValueTokens(intCnt))
          End If
        Else
          If Len(arrLValueTokens(intCnt)) &gt; arrMaxTokenLen(UBound(arrMaxTokenLen)) Then
            arrMaxTokenLen(UBound(arrMaxTokenLen)) = Len(arrLValueTokens(intCnt))
          End If
        End If
      Next

      ReDim Preserve arrLine(UBound(arrLine) + 1)
      arrLine(UBound(arrLine)) = Array(arrLValueTokens, strRValueTokens)
    End If
  Next

  For intLineIdx = 0 To UBound(arrLine)
    strLine  = ""
    strToken = arrLine(intLineIdx)(RVALUE)

    If IsNumeric(Left(strToken, Len(strToken) - 1)) Then
      strLine  = "= " &amp; Right(String(intMaxRValueLen, " ") &amp; strToken, intMaxRValueLen)
    Else
      strLine  = "= " &amp; strToken
    End If

    For intTokenIdx = UBound(arrMaxTokenLen) To 0 Step -1
      If intTokenIdx = UBound(arrMaxTokenLen) Then
        strToken = arrLine(intLineIdx)(LVALUE)(UBound(arrLine(intLineIdx)(LVALUE)))
        strLine  = Left(strToken &amp; String(arrMaxTokenLen(intTokenIdx), " "), arrMaxTokenLen(intTokenIdx)) &amp; " " &amp; strLine

      ElseIf UBound(arrLine(intLineIdx)(LVALUE)) &gt; intTokenIdx Then
        strToken = arrLine(intLineIdx)(LVALUE)(intTokenIdx)
        strLine  = Left(strToken &amp; String(arrMaxTokenLen(intTokenIdx), " "), arrMaxTokenLen(intTokenIdx)) &amp; " " &amp; strLine

      Else
        strLine = String(arrMaxTokenLen(intTokenIdx), " ") &amp; " " &amp; strLine
      End If
    Next

    strOutput = strOutput &amp; strLine &amp; vbNewLine
  Next

  WScript.StdOut.Write strOutput
End If
</code></pre>
<p dir="auto">At next you need a script that can retrieve the clipboard content and stream it to <em>StdOut</em>. It’s a one-liner in JavaScript, save it as <code>pclip.js</code>.</p>
<pre><code>WSH.Echo(WSH.CreateObject('htmlfile').parentWindow.clipboardData.getData('text'));
</code></pre>
<p dir="auto">At next you need a binding to <em>PorkToSausage</em>. It’s a Batch script, save it as <code>CodeAlign.cmd</code>.</p>
<pre><code>@echo off

pushd "%~dp0"
cscript /nologo /e:JScript pclip.js | cscript /nologo "CodeAlign.vbs"
popd
</code></pre>
<p dir="auto">Put the files <code>CodeAlign.vbs</code>, <code>pclip.js</code> and <code>CodeAlign.cmd</code> together in one directory and move it to <code>&lt;Notepad++-installation-directory&gt;\plugins\Pork2Sausage\CodeAlign</code>.</p>
<p dir="auto">Finally you need to add the following to the config file of <em>Pork2Sausage</em>. The plugin provides the ability to load its own config file for editing.</p>
<pre><code>[CodeAlign]
progPath=&lt;Notepad++-installation-directory&gt;\plugins\Pork2Sausage\CodeAlign\CodeAlign.cmd
progCmd=CodeAlign
workDir=&lt;Notepad++-installation-directory&gt;\plugins\Pork2Sausage\CodeAlign
replaceSelection=true
</code></pre>
<p dir="auto">The <em>Pork2Sausage</em> plugin will add a menu entry named <em>CodeAlign</em> to its submenu of <em>Plugins</em> menu. You can assign a keyboard shortcut to this entry to simplify things.</p>
<p dir="auto">Please note that you have to configure the right path of your Notepad++ installation directory. If you already use Notepad++ v7.6 you should put the directory with the three scripts to the new plugin folder under <code>%UserProfile%\AppData\Local\Notepad++\plugins\PorkToSausage</code>. Of course you have to change the paths in the <em>Pork2Sausage</em> config file accordingly.</p>
<p dir="auto">To use the script select the code you want to align and copy it to the clipboard. Then press the keyboard shortcut you assigned to the script’s menu entry. It does its job and the result is automatically pasted to the selected block of lines in the Notepad++ window.</p>
<p dir="auto">If you (or another person) is able to write Python scripts, you/(s)he can port the VBScript code to Python and you can use the Python plugin to execute it. This way you wouldn’t need so much script files.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/36758</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/36758</guid><dc:creator><![CDATA[dinkumoil]]></dc:creator><pubDate>Sun, 25 Nov 2018 19:31:20 GMT</pubDate></item><item><title><![CDATA[Reply to Right Justifying Paragraphs on Sat, 24 Nov 2018 10:04:25 GMT]]></title><description><![CDATA[<p dir="auto">If it is just about how the visual aspect, maybe you want to try <a href="https://github.com/dail8859/ElasticTabstops" rel="nofollow ugc">https://github.com/dail8859/ElasticTabstops</a> (further explanation here <a href="http://nickgravgaard.com/elastic-tabstops/" rel="nofollow ugc">http://nickgravgaard.com/elastic-tabstops/</a>)</p>
]]></description><link>https://community.notepad-plus-plus.org/post/36742</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/36742</guid><dc:creator><![CDATA[chcg]]></dc:creator><pubDate>Sat, 24 Nov 2018 10:04:25 GMT</pubDate></item><item><title><![CDATA[Reply to Right Justifying Paragraphs on Sat, 24 Nov 2018 01:14:02 GMT]]></title><description><![CDATA[<p dir="auto">To line up by a space, you would copy a space into the clipboard, then use <strong>TextFX &gt; Edit &gt; Line up … by (Clipboard Character)</strong>.  Oh, that seems to not work… and wouldn’t probably align things right anyway.</p>
<p dir="auto">You might want to do a multi-step process:</p>
<ol>
<li>RegEx FIND=<code> (?=\w+ = \d+;)</code>, REPLACE=<code> |</code> (space, vertical bar)</li>
<li>Copy Vertical bar charcter</li>
<li>Line up by clipbboard character</li>
<li>RegEx FIND=<code>\|</code>, REPLACE=<code> </code> (space)</li>
<li>Line up by <code>=</code><br />
In your example data, it made <code>SECS_TO_START= 10</code>, which might not be what you want, so:</li>
<li>RegEx FIND=<code>=</code> (just equal sign), REPLACE=<code> =</code> (space then equal sign)</li>
</ol>
]]></description><link>https://community.notepad-plus-plus.org/post/36733</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/36733</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Sat, 24 Nov 2018 01:14:02 GMT</pubDate></item><item><title><![CDATA[Reply to Right Justifying Paragraphs on Thu, 22 Nov 2018 14:40:30 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/scott-sumner" aria-label="Profile: Scott-Sumner">@<bdi>Scott-Sumner</bdi></a></p>
<p dir="auto">PeterJones understood what i said! Instead of complaining he showed me how to do it, which I appreciate.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/36696</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/36696</guid><dc:creator><![CDATA[hoji afzal]]></dc:creator><pubDate>Thu, 22 Nov 2018 14:40:30 GMT</pubDate></item><item><title><![CDATA[Reply to Right Justifying Paragraphs on Wed, 21 Nov 2018 16:11:29 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">In fact this is how I format my columns to separate different fields like a table does.</p>
<p dir="auto">Before:</p>
<pre><code>public byte PUSH = 1;
private const int STOP = 0;
public const double SECS_TO_START = 10;
public int SEPARATOR = 21;
</code></pre>
<p dir="auto">After:</p>
<pre><code>public  byte         PUSH            =  1;
private const int    STOP            =  0;
public  const double SECS_TO_START   = 10;
public  int          SEPARATOR       = 21;
</code></pre>
<p dir="auto">Once I figure out “align by space” I will create keyboard shortcuts for it since Notepad++ generously allows that.</p>
<p dir="auto">Thanks.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/36658</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/36658</guid><dc:creator><![CDATA[hoji afzal]]></dc:creator><pubDate>Wed, 21 Nov 2018 16:11:29 GMT</pubDate></item><item><title><![CDATA[Reply to Right Justifying Paragraphs on Wed, 21 Nov 2018 15:58:49 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/hoji-afzal" aria-label="Profile: hoji-afzal">@<bdi>hoji-afzal</bdi></a> said:</p>
<blockquote>
<p dir="auto">Didn’t know it was that big a deal</p>
</blockquote>
<p dir="auto">It’s not a big deal to express yourself in a clear and understandable manner, especially when you are asking for something in a feature request? Hmmm. :-)</p>
]]></description><link>https://community.notepad-plus-plus.org/post/36657</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/36657</guid><dc:creator><![CDATA[Scott Sumner]]></dc:creator><pubDate>Wed, 21 Nov 2018 15:58:49 GMT</pubDate></item><item><title><![CDATA[Reply to Right Justifying Paragraphs on Wed, 21 Nov 2018 15:46:54 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/scott-sumner" aria-label="Profile: Scott-Sumner">@<bdi>Scott-Sumner</bdi></a><br />
Didn’t know it was that big a deal :)</p>
]]></description><link>https://community.notepad-plus-plus.org/post/36656</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/36656</guid><dc:creator><![CDATA[hoji afzal]]></dc:creator><pubDate>Wed, 21 Nov 2018 15:46:54 GMT</pubDate></item><item><title><![CDATA[Reply to Right Justifying Paragraphs on Wed, 21 Nov 2018 14:18:41 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/dinkumoil" aria-label="Profile: dinkumoil">@<bdi>dinkumoil</bdi></a><br />
I finally got it. It can align easily using the = sign. But I am still trying to get it to align on space.<br />
Thanks a lot!</p>
]]></description><link>https://community.notepad-plus-plus.org/post/36649</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/36649</guid><dc:creator><![CDATA[hoji afzal]]></dc:creator><pubDate>Wed, 21 Nov 2018 14:18:41 GMT</pubDate></item><item><title><![CDATA[Reply to Right Justifying Paragraphs on Sat, 27 Oct 2018 16:28:56 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/scott-sumner" aria-label="Profile: Scott-Sumner">@<bdi>Scott-Sumner</bdi></a> said:</p>
<blockquote>
<p dir="auto">Grumpy week for me??</p>
</blockquote>
<p dir="auto">:-)</p>
<p dir="auto">Sometimes we need to relax from PEBCAK…</p>
]]></description><link>https://community.notepad-plus-plus.org/post/35802</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/35802</guid><dc:creator><![CDATA[dinkumoil]]></dc:creator><pubDate>Sat, 27 Oct 2018 16:28:56 GMT</pubDate></item><item><title><![CDATA[Reply to Right Justifying Paragraphs on Fri, 26 Oct 2018 19:53:59 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:</p>
<blockquote>
<p dir="auto">The site allows editing for up to 3 minutes after you submit your post.</p>
</blockquote>
<p dir="auto">The thing that gets me is there’s a damn preview pane right there as you are composing…what, do people think that when they hit Submit that things are somehow magically gonna look different from the Preview?  If it doesn’t look like you intend then there must be a reason.  Stop…and figure out why.  (Grumpy week for me??)</p>
]]></description><link>https://community.notepad-plus-plus.org/post/35781</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/35781</guid><dc:creator><![CDATA[Scott Sumner]]></dc:creator><pubDate>Fri, 26 Oct 2018 19:53:59 GMT</pubDate></item><item><title><![CDATA[Reply to Right Justifying Paragraphs on Fri, 26 Oct 2018 19:46:49 GMT]]></title><description><![CDATA[<p dir="auto">The site allows editing for up to 3 minutes after you submit your post.</p>
<p dir="auto">If the results I posted weren’t right, and it was too late to edit your original post, you could have tried posting the data again in your reply, following the advice I gave you.</p>
<p dir="auto">Screenshots: This forum doesn’t <em>host</em> images, but it is perfectly capable of displaying them.  Upload your image to <a href="http://imgur.com" rel="nofollow ugc">imgur.com</a> or other similar site, and follow the image-embed instructions found in the <a href="https://notepad-plus-plus.org/community/topic/14262/how-to-markdown-code-on-this-forum/2" rel="nofollow ugc">help with markdown</a> link I already pointed you to.</p>
<p dir="auto">You can get plugin manager <a href="https://github.com/bruderstein/nppPluginManager" rel="nofollow ugc">here</a>: download, unzip, and put the DLL in your plugins subdirectory of the notepad++ program directory (as it says on that page)</p>
<p dir="auto">Once you get plugin manager, you can easily grab both “Code Alignment” and “TextFX”, and see if either one works for you.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/35780</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/35780</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Fri, 26 Oct 2018 19:46:49 GMT</pubDate></item><item><title><![CDATA[Reply to Right Justifying Paragraphs on Fri, 26 Oct 2018 19:25:36 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/hoji-afzal" aria-label="Profile: hoji-afzal">@<bdi>hoji-afzal</bdi></a></p>
<p dir="auto">Hi, thanks for your attention. I did notice the formatting in my original post and tried to go back and edit it, but the site doesn’t seem to allow you to edit a post once it has been published.</p>
<p dir="auto">Thanks for the clarification.</p>
<p dir="auto">I tried to download “Code alignment” as suggested by dinkumoil, but I got a server error. I will try it again later.</p>
<p dir="auto">For the alignment action I was talking about, all you need is the mouse and the context menu. No other settings would be needed. I could send the steps in an illustration, but I can’t because the site does not allow attachments. Actually I never thought of plug ins, and maybe someone has already done it. I am waiting for the next update to Notepad++ to see if I could get PlugIn Manager, as I don’t have it now.</p>
<p dir="auto">Thanks very much.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/35779</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/35779</guid><dc:creator><![CDATA[hoji afzal]]></dc:creator><pubDate>Fri, 26 Oct 2018 19:25:36 GMT</pubDate></item><item><title><![CDATA[Reply to Right Justifying Paragraphs on Fri, 26 Oct 2018 18:32:15 GMT]]></title><description><![CDATA[<p dir="auto">There is a plugin called “Code alignment” which is available as 64 bit version too. Have a look into Plugin Manager. It’s a tiny useful thing.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/35777</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/35777</guid><dc:creator><![CDATA[dinkumoil]]></dc:creator><pubDate>Fri, 26 Oct 2018 18:32:15 GMT</pubDate></item><item><title><![CDATA[Reply to Right Justifying Paragraphs on Fri, 26 Oct 2018 16:03:53 GMT]]></title><description><![CDATA[<p dir="auto">Unfortunately, you didn’t Markdown your your example data quite right (you need to keep a blank line between the outline row and the indented data; also, you would have to have double the indentation to make it render as embedded text to account for the first level of indenting for outline, and the second for preformatted-text).   You can see “exactly” how it will render by looking at the preview pane to the right of the edit frame.  (“exactly” in quotes, because it doesn’t render @-mentions, and I’ve seen it occasionally stop rendering right on large posts). More on formatting at <a href="https://notepad-plus-plus.org/community/topic/14262/how-to-markdown-code-on-this-forum/2" rel="nofollow ugc">this help-with-markdown post</a></p>
<p dir="auto">Regarding your problem, if I understand correctly, you don’t actually want to right-justfiy – what it sounds like is that you want to align a second column based on the = character.  ie, changing:</p>
<pre><code>int argument1 = 1;
int multiplier = 100;
double weight = 200.345;
</code></pre>
<p dir="auto">to</p>
<pre><code>int argument1   = 1;
int multiplier  = 100;
double weight   = 200.345;
</code></pre>
<p dir="auto">(though I may have missed a secondary justification in there)</p>
<p dir="auto">If that’s a correct interpretation, then the discussion in <a href="https://notepad-plus-plus.org/community/topic/15706/textfx-doesn-t-work" rel="nofollow ugc">this thread</a>, which is about aligning a column to a specific character.  (In the old days, on 32bit, you could use the TextFX plugin; but that plugin has fallen by the wayside in terms of support, and doesn’t (i believe) have a 64bit version.)  So if you have 32bit, you can install TextFX and use the <strong>Line up multiple lines by …</strong>.  Otherwise, you can try to make the PythonScript alternatives work for you.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/35772</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/35772</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Fri, 26 Oct 2018 16:03:53 GMT</pubDate></item></channel></rss>