<?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[Function List with Bash scripts not fully populating]]></title><description><![CDATA[<p dir="auto">So I’m working on a bash script that has right now 252 functions, but only 45 populate in the function list. This has only recently started to happen. In earlier releases I did not have this issue.  Can anyone offer assistance please?</p>
]]></description><link>https://community.notepad-plus-plus.org/topic/19140/function-list-with-bash-scripts-not-fully-populating</link><generator>RSS for Node</generator><lastBuildDate>Wed, 13 May 2026 03:25:18 GMT</lastBuildDate><atom:link href="https://community.notepad-plus-plus.org/topic/19140.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 31 Mar 2020 14:56:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Function List with Bash scripts not fully populating on Wed, 03 Jan 2024 01:20:34 GMT]]></title><description><![CDATA[<p dir="auto">Ah, ok thanks. I am using a newer version, but I use the portable version and keep installing over previous installs. I wondered why the regex changes I was making were having no impact,</p>
]]></description><link>https://community.notepad-plus-plus.org/post/91634</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/91634</guid><dc:creator><![CDATA[futska]]></dc:creator><pubDate>Wed, 03 Jan 2024 01:20:34 GMT</pubDate></item><item><title><![CDATA[Reply to Function List with Bash scripts not fully populating on Tue, 02 Jan 2024 18:58:23 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/futska" aria-label="Profile: futska">@<bdi>futska</bdi></a> said in <a href="/post/91606">Function List with Bash scripts not fully populating</a>:</p>
<blockquote>
<p dir="auto">The problem is this line in the Bash parser in functionList.xml.</p>
</blockquote>
<p dir="auto">The <code>functionList.xml</code> hasn’t been used since before v7.9 was released in late 2020: each language now has its own config file in a subdirectory instead.  Have you tried in a modern version of Notepad++?</p>
]]></description><link>https://community.notepad-plus-plus.org/post/91607</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/91607</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Tue, 02 Jan 2024 18:58:23 GMT</pubDate></item><item><title><![CDATA[Reply to Function List with Bash scripts not fully populating on Tue, 02 Jan 2024 18:44:00 GMT]]></title><description><![CDATA[<p dir="auto">The problem is this line in the Bash parser in functionList.xml.</p>
<pre><code>(?-s:(?:^\x23[^!]|^\h*\x23|\h+\x23).*$)         # Single Line Comment
</code></pre>
<p dir="auto">The regex for a Bash Single Line Comment is matching a # and the line above/below it. I am not sure how to fix it.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/91606</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/91606</guid><dc:creator><![CDATA[futska]]></dc:creator><pubDate>Tue, 02 Jan 2024 18:44:00 GMT</pubDate></item><item><title><![CDATA[Reply to Function List with Bash scripts not fully populating on Thu, 29 Sep 2022 19:07:43 GMT]]></title><description><![CDATA[<pre><code>Notepad++ v8.3.3   (32-bit)
Build time : Mar 13 2022 - 17:11:10
Path : C:\Program Files (x86)\Notepad++\notepad++.exe
Command Line : 
Admin mode : OFF
Local Conf mode : OFF
Cloud Config : OFF
OS Name : Windows 10 Home (64-bit) 
OS Version : 1607
OS Build : 14393.2189
Current ANSI codepage : 1252
Plugins : ChangedLines.dll CodeAlignmentNpp.dll CustomizeToolbar.dll DoxyIt.dll InsertLoremIpsum.dll JSLintNpp.dll JSMinNPP.dll LuaScript.dll MarkdownViewerPlusPlus.dll mimeTools.dll NppConverter.dll NppEditorConfig.dll NppEventExec.dll NppExec.dll NppExport.dll NppMarkdownPanel.dll NppSnippets.dll NppUISpy.dll PreviewHTML.dll PythonScript.dll SurroundSelection.dll TagsView.dll XMLTools.dll 
</code></pre>
]]></description><link>https://community.notepad-plus-plus.org/post/80173</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/80173</guid><dc:creator><![CDATA[MAPJe71]]></dc:creator><pubDate>Thu, 29 Sep 2022 19:07:43 GMT</pubDate></item><item><title><![CDATA[Reply to Function List with Bash scripts not fully populating on Thu, 29 Sep 2022 19:01:33 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">In addition I have the following line in the <code>overrideMap.xml</code>:</p>
<pre><code class="language-bash">&lt;association id="bash.xml"  langID="26" /&gt;
</code></pre>
]]></description><link>https://community.notepad-plus-plus.org/post/80172</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/80172</guid><dc:creator><![CDATA[MAPJe71]]></dc:creator><pubDate>Thu, 29 Sep 2022 19:01:33 GMT</pubDate></item><item><title><![CDATA[Reply to Function List with Bash scripts not fully populating on Tue, 27 Sep 2022 19:09:11 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/mapje71" aria-label="Profile: MAPJe71">@<bdi>MAPJe71</bdi></a> said in <a href="/post/80132">Function List with Bash scripts not fully populating</a>:</p>
<blockquote>
<p dir="auto">Still no problem for me with</p>
</blockquote>
<p dir="auto">Using your ‘bash.xml’ in my ‘functionList’ directory, I still see the issue:</p>
<p dir="auto"><img src="/assets/uploads/files/1664305645444-30c01018-f832-4ae8-9c7c-cc4b87e1b3af-image.png" alt="30c01018-f832-4ae8-9c7c-cc4b87e1b3af-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto"><img src="/assets/uploads/files/1664305703677-97fdac5c-9adb-4a61-a74c-6be16290e3a6-image.png" alt="97fdac5c-9adb-4a61-a74c-6be16290e3a6-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">The code used:</p>
<pre><code class="language-Bash">port2dec()
{
    local a b ip=$@
    IFS=. read -r a b &lt;&lt;&lt; "$ip"
    printf '%d\n' "$((a * 256 + b))"
}

stop_l2tp()
{

    # IPSec down
    for seccon in `awk '/conn / {print $2}' /etc/ipsec.conf`
    do
        ipsec down $seccon
    done
    # clean
    rm -f /etc/ipsec.conf
    rm -f /etc/ipsec.secrets
    # recreate
    cat &lt;&lt;EOF &gt;&gt; /etc/ipsec.conf
config setup

EOF
    touch /etc/ipsec.secrets

    # L2TP interfaces and tunnels down
    ip link set dev $L2TP_BR down
    brctl delbr $L2TP_BR
    for intf in `ifconfig -a | awk '/l2tp/ {print $1}'`
    do
        ip link set dev ${intf::-1} down
        ip l2tp del tunnel tunnel_id ${intf:4:-1}
    done

    ebtables -F $EBTABLES_TABLE
}

start_l2tp()
{
    sysctl net.ipv4.ip_forward=1

    # Block DHCP from bridge
    for i in "${EBTABLES_RULES[@]}"
    do
        ebtables -I $i
    done
}
</code></pre>
<p dir="auto">Cheers.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/80133</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/80133</guid><dc:creator><![CDATA[Michael Vincent]]></dc:creator><pubDate>Tue, 27 Sep 2022 19:09:11 GMT</pubDate></item><item><title><![CDATA[Reply to Function List with Bash scripts not fully populating on Tue, 27 Sep 2022 18:53:05 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/robert-mahn" aria-label="Profile: Robert-Mahn">@<bdi>Robert-Mahn</bdi></a></p>
<p dir="auto">Still no problem for me with</p>
<pre><code class="language-XML">&lt;?xml version="1.0" encoding="UTF-8" ?&gt;
&lt;!-- ==========================================================================\
|
|   To learn how to make your own language parser, please check the following
|   link:
|       https://npp-user-manual.org/docs/function-list/
|
\=========================================================================== --&gt;
&lt;NotepadPlus&gt;
	&lt;functionList&gt;
		&lt;parser
			displayName="BASH - Bourne-Again SHell"
			id         ="bash_function"
			commentExpr="(?x)                                                   # free-spacing (see `RegEx - Pattern Modifiers`)
						(?-s:(?:^\x23(?!!)|^\h*\x23|\h+\x23).*$)                # Single Line Comment 1..3
					|	(?s:\x22(?:[^\x22\x5C]|\x5C.)*\x22)                     # String Literal - Double Quoted
					|	(?s:\x27[^\x27]*\x27)                                   # String Literal - Single Quoted
					|	(?:                                                     # Here Document (Type 1) and Here String
							(?ms)                                               # - ^, $ and dot match at line-breaks
							\x3C{2,3}\h*                                        # - start-of indicator
							(?'HD1ID'                                           # - identifier, store for back-reference
								[A-Za-z_\x7F-\xFF][\w\x7F-\xFF]*                #   ...valid character combination for identifier
								\b                                              #   ...ensure trailing word boundary
							)
							.*?                                                 # - whatever, until...
							^\k'HD1ID'                                          #   ...exactly the same identifier in the first column
						)
					|	(?:                                                     # Here Document (Type 2)
							(?ms)                                               # - ^, $ and dot match at line-breaks
							\x3C{2}-\h*                                         # - start-of indicator
							(?'HD2ID'                                           # - identifier, store for back-reference
								[A-Za-z_\x7F-\xFF][\w\x7F-\xFF]*                #   ...valid character combination for identifier
								\b                                              #   ...ensure trailing word boundary
							)
							.*?                                                 # - whatever, until...
							^\h*\k'HD2ID'                                       #   ...exactly the same identifier
						)
				"
		&gt;
			&lt;function
				mainExpr="(?x)                                                  # free-spacing (see `RegEx - Pattern Modifiers`)
						(?m)                                                    # ^ and $ match at line-breaks
						^\h*                                                    # optional leading white-space at start-of-line
						(?:
							(?-i:function)\s+
							(?'VALID_ID'                                        # valid identifier, use as subroutine
								\b(?!(?-i:                                      # keywords (case-sensitive), not to be used as identifier
									do(?:ne)?
								|	el(?:if|se)|esac
								|	f(?:i|or|unction)
								|	i[fn]
								|	select
								|	t(?:hen|ime)
								|	until
								|	while
								)\b)
								[A-Za-z_\x7F-\xFF][\w\x7F-\xFF]*                # valid character combination for identifiers
							)
							(?:\s*\([^()]*?\))?                                 # parentheses and parameters optional
						|
							(?&amp;amp;VALID_ID)
							\s*\([^()]*?\)                                      # parentheses required, parameters optional
						)
						[^{;]*?\{                                               # no semi-colon until start of body
					"
			&gt;
				&lt;functionName&gt;
					&lt;nameExpr expr="\b(?!function\b)\w+(?:\s*\([^()]*\))?" /&gt;
					&lt;!-- comment out the following node to display the function with its parameters --&gt;
					&lt;nameExpr expr="\w+(?=\b)" /&gt;
				&lt;/functionName&gt;
			&lt;/function&gt;
		&lt;/parser&gt;
	&lt;/functionList&gt;
&lt;/NotepadPlus&gt;
</code></pre>
]]></description><link>https://community.notepad-plus-plus.org/post/80132</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/80132</guid><dc:creator><![CDATA[MAPJe71]]></dc:creator><pubDate>Tue, 27 Sep 2022 18:53:05 GMT</pubDate></item><item><title><![CDATA[Reply to Function List with Bash scripts not fully populating on Tue, 27 Sep 2022 12:07:58 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/mapje71" aria-label="Profile: MAPJe71">@<bdi>MAPJe71</bdi></a> This problem still exists, at least for having a comment line after the function definition.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/80097</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/80097</guid><dc:creator><![CDATA[Robert Mahn]]></dc:creator><pubDate>Tue, 27 Sep 2022 12:07:58 GMT</pubDate></item><item><title><![CDATA[Reply to Function List with Bash scripts not fully populating on Tue, 31 Mar 2020 21:13:49 GMT]]></title><description><![CDATA[<p dir="auto">No problem here, all mentioned functions are displayed in the <code>Function List</code>.<br />
Makes me wonder which parser and N++ version you are using.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/51972</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/51972</guid><dc:creator><![CDATA[MAPJe71]]></dc:creator><pubDate>Tue, 31 Mar 2020 21:13:49 GMT</pubDate></item><item><title><![CDATA[Reply to Function List with Bash scripts not fully populating on Tue, 31 Mar 2020 17:00:16 GMT]]></title><description><![CDATA[<p dir="auto">So working from what you were saying I had to look further. I could add just a blank function</p>
<pre><code>function test {
}
</code></pre>
<p dir="auto">and it would show up no problem, until I tried to do it below the last function that showed up in the function list.</p>
<p dir="auto">So I started commenting out sections and then eventually lines till I found the offender.</p>
<p dir="auto">I originally had a line that said:</p>
<pre><code>echo set superusers=\"root\" &gt;&gt; /etc/grub.d/40_custom
</code></pre>
<p dir="auto">which worked fine and entered the text as I expected in the file.</p>
<p dir="auto">BUT it messed with the function identifiers apparently and it wasn’t until I switched it to say:</p>
<pre><code>echo "set superusers=\"root\"" &gt;&gt; /etc/grub.d/40_custom
</code></pre>
<p dir="auto">that is began to work.  So TYVM for your input as it helped me figure out what was causing at least the issue in the function list.  Shouldn’t have made a difference, but either way I can now easily see all the functions again!</p>
]]></description><link>https://community.notepad-plus-plus.org/post/51951</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/51951</guid><dc:creator><![CDATA[Michael Bedell]]></dc:creator><pubDate>Tue, 31 Mar 2020 17:00:16 GMT</pubDate></item><item><title><![CDATA[Reply to Function List with Bash scripts not fully populating on Tue, 31 Mar 2020 15:39:03 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/michael-bedell" aria-label="Profile: Michael-Bedell">@<bdi>Michael-Bedell</bdi></a></p>
<p dir="auto">I’ve seen this before and I think it had to do with function definition followed by comment and the function list parser.</p>
<p dir="auto">If my Bash functions look like:</p>
<pre><code>#!/bin/bash

hello_world () {
    echo 'hello, world'
}

goodbye_world () {
    echo 'goodbye, world'
}

hello_world
goodbye_world
</code></pre>
<p dir="auto">I see both <code>hello_world</code> and <code>goodbye_world</code> in the function list.  However, add a comment directly after:</p>
<pre><code>#!/bin/bash

hello_world () {
    echo 'hello, world'
}

goodbye_world () {
    # goodbye from function list
    echo 'goodbye, world'
}

hello_world
goodbye_world
</code></pre>
<p dir="auto">and now I only see <code>hello_world</code> in the function list.   Put a blank line between <code>goodbye_world () {</code> and the comment:</p>
<pre><code>goodbye_world () {

    # I'M BACK!!!
    echo 'goodbye, world'
}
</code></pre>
<p dir="auto">And we’re back in the function list.  Maybe your missing functions have comments directly after the definition?</p>
<p dir="auto">Hope this helps.</p>
<p dir="auto">Cheers.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/51946</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/51946</guid><dc:creator><![CDATA[Michael Vincent]]></dc:creator><pubDate>Tue, 31 Mar 2020 15:39:03 GMT</pubDate></item></channel></rss>