<?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 for Caml]]></title><description><![CDATA[<p dir="auto">Hi guys !</p>
<p dir="auto">I recently (yesterday) discovered function list in Notepad++.<br />
So, I’m trying to do a parser for the Caml and OCaml languages.</p>
<p dir="auto">Here is my code :</p>
<pre><code>		&lt;parser
			displayName="Caml"
			id         ="caml_function"
			commentExpr="(\(\*+(^\*\))*\*\)))|(\x22.*\x22"
		&gt;
			&lt;function
				mainExpr="let(\s+|\s+rec\s+)[a-z_][a-zA-Z0-9_]*(\s*|\s*\(\s*([a-z_][a-zA-Z0-9_]*|)(\s*,\s*[a-z_][a-zA-Z0-9_]*)*\s*\)\s*=.+\s+in\s+"
			&gt;
				&lt;functionName&gt;
					&lt;nameExpr expr="[a-z_][a-zA-Z0-9_]*"
					/&gt;
				&lt;/functionName&gt;
			&lt;/function&gt;
		&lt;/parser&gt;
</code></pre>
<p dir="auto">I don’t understand why it doesn’t work, if someone could light it up to my mind, it’d be really nice.</p>
<p dir="auto">Thanks</p>
]]></description><link>https://community.notepad-plus-plus.org/topic/16501/function-list-for-caml</link><generator>RSS for Node</generator><lastBuildDate>Tue, 18 Aug 2026 00:32:27 GMT</lastBuildDate><atom:link href="https://community.notepad-plus-plus.org/topic/16501.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 22 Oct 2018 12:10:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Function list for Caml on Tue, 06 Nov 2018 22:22:02 GMT]]></title><description><![CDATA[<p dir="auto">Did also remove the superfluous parentheses?</p>
]]></description><link>https://community.notepad-plus-plus.org/post/36118</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/36118</guid><dc:creator><![CDATA[MAPJe71]]></dc:creator><pubDate>Tue, 06 Nov 2018 22:22:02 GMT</pubDate></item><item><title><![CDATA[Reply to Function list for Caml on Mon, 05 Nov 2018 23:42:45 GMT]]></title><description><![CDATA[<p dir="auto">Indeed, the whitespace at the end was a problem so I replaced \s+in\s with \sin$<br />
Still the problem with “for”. I noticed that it happend only with functions which has no parameters, but why…</p>
]]></description><link>https://community.notepad-plus-plus.org/post/36085</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/36085</guid><dc:creator><![CDATA[Tom Saury]]></dc:creator><pubDate>Mon, 05 Nov 2018 23:42:45 GMT</pubDate></item><item><title><![CDATA[Reply to Function list for Caml on Mon, 05 Nov 2018 23:03:58 GMT]]></title><description><![CDATA[<p dir="auto">Furthermore, I presume</p>
<pre><code class="language-XML">([a-z_]\w*(\s+[a-z_]\w*)*\s+)|(\(\s*\)\s+)
</code></pre>
<p dir="auto">is intended as</p>
<pre><code class="language-XML">([a-z_]\w*(\s+[a-z_]\w*)*\s+|\(\s*\)\s+)
</code></pre>
]]></description><link>https://community.notepad-plus-plus.org/post/36084</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/36084</guid><dc:creator><![CDATA[MAPJe71]]></dc:creator><pubDate>Mon, 05 Nov 2018 23:03:58 GMT</pubDate></item><item><title><![CDATA[Reply to Function list for Caml on Mon, 05 Nov 2018 22:54:37 GMT]]></title><description><![CDATA[<p dir="auto">Have a good look at how you parse for (optional) function parameters e.g. are the parentheses optional or mandatory?</p>
]]></description><link>https://community.notepad-plus-plus.org/post/36083</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/36083</guid><dc:creator><![CDATA[MAPJe71]]></dc:creator><pubDate>Mon, 05 Nov 2018 22:54:37 GMT</pubDate></item><item><title><![CDATA[Reply to Function list for Caml on Mon, 05 Nov 2018 22:50:18 GMT]]></title><description><![CDATA[<p dir="auto">Make sure you have whitespace at the end of your source file e.g. newline.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/36082</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/36082</guid><dc:creator><![CDATA[MAPJe71]]></dc:creator><pubDate>Mon, 05 Nov 2018 22:50:18 GMT</pubDate></item><item><title><![CDATA[Reply to Function list for Caml on Mon, 05 Nov 2018 12:49:11 GMT]]></title><description><![CDATA[<p dir="auto">Hey everyone !<br />
Could someone tell me why does “for” match here ?<br />
Here is my function parser :</p>
<pre><code>                mainExpr="(?x)                                              # free-spacing (see `RegEx - Pattern Modifiers`)
                        let                                                 # start-of-function indicator...
                        \s+                                                 # ...should be followed by at least one white-space
						(rec\s+)?
                        \K                                                  # discard text matched so far
                        [a-z_]\w*                                           # valid character combination for identifiers
                        \s+                                                 # start-of-parameters indicator
                        ([a-z_]\w*(\s+[a-z_]\w*)*\s+                        # several parameters are optional
                        )|(\(\s*\)\s+)                                         # parameters are optional
                        =                                                   # function-header-body separator
                        .+                                                  # whatever, until...
                        \s+in\s                                             # ...end-of-function indicator
                    "
</code></pre>
<p dir="auto">and here is my source code :</p>
<pre><code>let boatGenO () =
	for boat=0 to 4 do
		let length = boatLength.(boat) in
		let isPlaced = ref false in
		while not !isPlaced do
			if (Random.bool()) then begin
				let x = Random.int (10-length) and
					y = Random.int 10 in
				let canBePlaced = ref true in
				for i=0 to pred length do
					if plateauO.(x+i).(y)&lt;&gt;" " then canBePlaced := false;
				done;
				if !canBePlaced then begin
					for d=0 to pred length do
						plateauO.(x+d).(y) &lt;- (boatSymbol.(boat));
					done;
					tabBateauO := Array.concat [!tabBateauO; [|(x, y, (boat, false), 1)|]];
					isPlaced := true;
				end;
			end else begin
				let y = Random.int (10-length) and
					x = Random.int 10 in
				let canBePlaced = ref true in
				for i=0 to pred length do
					if plateauO.(x).(y+i)&lt;&gt;" " then canBePlaced := false;
				done;
				if !canBePlaced then begin
					for d=0 to pred length do
						plateauO.(x).(y+d) &lt;- (boatSymbol.(boat));
					done;
					tabBateauO := Array.concat [!tabBateauO; [|(x, y, (boat, false), 0)|]];
					isPlaced := true;
				end;
			end;
		done;
	done;
	Array.iter (fun ligne -&gt; begin
		print_string "|";
		Array.iter (fun symb -&gt; print_string (symb^"|");) ligne;
		print_string "\n";
		end;) plateauO;
in
</code></pre>
<p dir="auto">I expected that only boatGenO matchs but it’s not the case and I can’t figure out why.</p>
<p dir="auto">Cheers</p>
]]></description><link>https://community.notepad-plus-plus.org/post/36056</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/36056</guid><dc:creator><![CDATA[Tom Saury]]></dc:creator><pubDate>Mon, 05 Nov 2018 12:49:11 GMT</pubDate></item><item><title><![CDATA[Reply to Function list for Caml on Fri, 26 Oct 2018 13:01:32 GMT]]></title><description><![CDATA[<p dir="auto">The refresh-button refreshes the function list i.e. re-parses the active buffer/source file which isn’t saved yet. When saving a file the refresh is automatically triggered.<br />
To refresh the parser itself after changing functionList.xml you have to restart Notepad++.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/35766</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/35766</guid><dc:creator><![CDATA[MAPJe71]]></dc:creator><pubDate>Fri, 26 Oct 2018 13:01:32 GMT</pubDate></item><item><title><![CDATA[Reply to Function list for Caml on Fri, 26 Oct 2018 12:44:08 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/tom-saury" aria-label="Profile: Tom-Saury">@<bdi>Tom-Saury</bdi></a></p>
<blockquote>
<p dir="auto">Wasn’t obvious to me</p>
</blockquote>
<p dir="auto">That’s fine, we all have different levels of experience with computers in general.  I hope you didn’t spend a lot of time thinking your expressions must be wrong if the right stuff didn’t happen right when you saved the xml file!</p>
<p dir="auto">Later thought:  Actually, I don’t know what the refresh button in the <strong>Function List</strong> window does.  For all I know it may do what you originally thought and something else was wrong?</p>
]]></description><link>https://community.notepad-plus-plus.org/post/35765</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/35765</guid><dc:creator><![CDATA[Scott Sumner]]></dc:creator><pubDate>Fri, 26 Oct 2018 12:44:08 GMT</pubDate></item><item><title><![CDATA[Reply to Function list for Caml on Fri, 26 Oct 2018 12:34:47 GMT]]></title><description><![CDATA[<p dir="auto">Wasn’t obvious to me, my bad. This post wouldn’t be there if I knew this. : <br />
It’s written no where, how can you know that the refresh button doesn’t refresh the rules ?</p>
]]></description><link>https://community.notepad-plus-plus.org/post/35762</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/35762</guid><dc:creator><![CDATA[Tom Saury]]></dc:creator><pubDate>Fri, 26 Oct 2018 12:34:47 GMT</pubDate></item><item><title><![CDATA[Reply to Function list for Caml on Fri, 26 Oct 2018 12:30:38 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/tom-saury" aria-label="Profile: Tom-Saury">@<bdi>Tom-Saury</bdi></a> said:</p>
<blockquote>
<p dir="auto">Maybe you have you have to restart NPP to refresh the functionList rules</p>
</blockquote>
<p dir="auto">Yes!  If you manually-edit any of Notepad++'s configuration files (and for <strong>functionList.xml</strong> that is the only way), changes aren’t going to be picked up until you restart Notepad++.  I really think this is obvious, even if you aren’t all that familiar with Notepad++.</p>
<p dir="auto">And FYI, be careful when manually editing other config files, because upon shutdown Notepad++ may need to overwrite them with its own changes, blowing away any manual edits you may have done.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/35761</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/35761</guid><dc:creator><![CDATA[Scott Sumner]]></dc:creator><pubDate>Fri, 26 Oct 2018 12:30:38 GMT</pubDate></item><item><title><![CDATA[Reply to Function list for Caml on Thu, 25 Oct 2018 19:35:49 GMT]]></title><description><![CDATA[<p dir="auto">Thanks all of you !</p>
<p dir="auto">Problem solved with <a class="plugin-mentions-user plugin-mentions-a" href="/user/guy038" aria-label="Profile: guy038">@<bdi>guy038</bdi></a>’s method making a backup of the Notepad++ folder in AppData and delenting this one. Maybe you have you have to restart NPP to refresh the functionList rules. I don’t know why, but it was as if it kept the old functionList.xml even if I had modified it. Weird… Now, I will improve the regex selector, I will share here the code for those who are interested.</p>
<p dir="auto">Merci à toi <a class="plugin-mentions-user plugin-mentions-a" href="/user/guy038" aria-label="Profile: guy038">@<bdi>guy038</bdi></a>, j’ai fait exactement ce que tu m’as dit et ça a marché. J’avoue que je réchignais un peu à faire ça car j’avais pas mal customisé NPP mais j’ai juste à copier-coller le contenu donc aucun problème. ^^</p>
]]></description><link>https://community.notepad-plus-plus.org/post/35740</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/35740</guid><dc:creator><![CDATA[Tom Saury]]></dc:creator><pubDate>Thu, 25 Oct 2018 19:35:49 GMT</pubDate></item><item><title><![CDATA[Reply to Function list for Caml on Thu, 25 Oct 2018 17:46:47 GMT]]></title><description><![CDATA[<p dir="auto">Salut, <a class="plugin-mentions-user plugin-mentions-a" href="/user/tom-saury" aria-label="Profile: tom-saury">@<bdi>tom-saury</bdi></a>,</p>
<p dir="auto">La fois dernière, j’avais simplement ouvert un <strong>nouvel</strong> onglet copié ton exemple <strong><code>CAML</code></strong> et choisi the langage <strong><code>Caml</code></strong> pour tester ma solution.</p>
<p dir="auto">Cette fois, j’ai copié ton code <strong><code>Caml</code></strong> dans un fichier, nommé <strong><code>test.ml</code></strong>, et, une fois encore, les résultats étaient <strong>corects</strong>. Dans la fenêtre de <strong>Function List</strong>, les <strong><code>4</code></strong> fonctions <strong>n</strong>, <strong>amis</strong>, <strong>ncadeau</strong> et <strong>cadeau</strong> étaient bien présentes !</p>
<p dir="auto">Personnellement, j’utilise N++ <strong><code>v7.5.8</code></strong>, en configuration <strong>locale</strong>, placé dans le répertoire <strong><code>D:\@@\758</code></strong> =&gt; Tous les fichiers de <strong>configuration</strong> se trouvent dans <strong>ce</strong> dossier ou les ses <strong>sous</strong>-dossiers :-))</p>
<p dir="auto">Si j’étais toi, je testerai la méthode de <strong>Scott</strong> mais si tu as un peu <strong>peur</strong> de faire des bêtises, tu peux simplement <strong>renommer</strong> un des <strong>deux</strong> fichiers <strong><code>functionList.xml</code></strong>, disons : <strong><code>functionList.tom</code></strong> et de faire le test ( A propos, c’est <strong>chouette</strong>, d’avoir un prénom de <strong>trois</strong> lettres comme toi et moi, pour changer l’<strong>extension</strong> d’un fichier ! )</p>
<p dir="auto">Je pense que tu as installé <strong>N++</strong> de manière traditionnelle, avec l’<strong>“Installer”</strong>. Dans ce cas, le fichier, du répertoire <strong><code>C:\Program files\Notepad++</code></strong>, n’est sûrement <strong>pas</strong> utilisé !</p>
<p dir="auto">Maintenant, je te conseille, également, de <strong>renommer</strong> le répertoire <strong><code>AppData\Roaming\Notepad++</code></strong> en <strong><code>AppData\Roaming\Old_N++</code></strong> ( bien sûr, <strong>après</strong> avoir fermé <strong>toutes</strong> les instances de N++ ouvertes ! )</p>
<p dir="auto">A la <strong>prochaine</strong> ouverture de N++, une nouvelle <strong>arborescence</strong> de travail <strong><code>AppData\Roaming\Notepad++</code></strong> devrait être <strong>créée</strong>, avec les <strong>sous</strong>-répertoires adéquats. Tu verras bien si <strong>FunctionList</strong> fonctionne, cette fois !</p>
<p dir="auto">Si ce n’est <strong>pas</strong> mieux ( ou même <strong>pire</strong> !), tu pourras toujours <strong>renommer</strong> <strong><code>AppData\Roaming\Old_N++</code></strong> en <strong><code>AppData\Roaming\Notepad++</code></strong>. <strong>Rien</strong> ne sera perdu ;-))</p>
<p dir="auto">A+ ( For <strong>non-French</strong> speakers, it’s a <strong>very-common</strong> shortcut of the <strong>French</strong> expression “<strong>À plus tard</strong>”, which could be translated as “<strong>See you later</strong>” ! )</p>
<p dir="auto">guy038</p>
]]></description><link>https://community.notepad-plus-plus.org/post/35734</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/35734</guid><dc:creator><![CDATA[guy038]]></dc:creator><pubDate>Thu, 25 Oct 2018 17:46:47 GMT</pubDate></item><item><title><![CDATA[Reply to Function list for Caml on Thu, 25 Oct 2018 12:21:10 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/tom-saury" aria-label="Profile: Tom-Saury">@<bdi>Tom-Saury</bdi></a></p>
<p dir="auto">Only <em>ONE</em> <strong>functionList.xml</strong> file will matter for you.</p>
<p dir="auto">Do this:  Select <strong>?</strong> (menu) -&gt; <strong>Debug Info…</strong> and read the result.</p>
<p dir="auto">If <strong>Local Conf mode</strong> is <strong>ON</strong>, then the active functionList.xml (and other configuration files) will be in the same folder as notepad++.exe</p>
<p dir="auto">If <strong>Local Conf mode</strong> is <strong>OFF</strong>, then the active functionList.xml (and other configuration files) will be in <a href="https://notepad-plus-plus.org/community/topic/15740/faq-desk-what-is-appdata" rel="nofollow ugc">%APPDATA%</a>\Notepad++</p>
]]></description><link>https://community.notepad-plus-plus.org/post/35721</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/35721</guid><dc:creator><![CDATA[Scott Sumner]]></dc:creator><pubDate>Thu, 25 Oct 2018 12:21:10 GMT</pubDate></item><item><title><![CDATA[Reply to Function list for Caml on Thu, 25 Oct 2018 06:22:00 GMT]]></title><description><![CDATA[<p dir="auto">I agree, it might have been too complicated but I wanted to treat every case.</p>
<p dir="auto">As I say, my problem is not with the regex but how do you change the functionList.xml in order to implement a new language parser. As you said, I already included the assiociation map. That’s why I don’t know where the problem could be 'cause there is a problem : it doesn’t work at all with a .ml file. Nothing is displayed as if it doesn’t know there is a new parser.<br />
Do you think I did not install NPP well ? Is it normal to have two functionList.xml files which are not related or linked ? One is in AppData\Roaming\Notepad++ and the other one is in Program files\Notepad++</p>
<p dir="auto">Thanks you 2 for helping me<br />
(Tu peux parler en français, je le suis ^^).</p>
]]></description><link>https://community.notepad-plus-plus.org/post/35713</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/35713</guid><dc:creator><![CDATA[Tom Saury]]></dc:creator><pubDate>Thu, 25 Oct 2018 06:22:00 GMT</pubDate></item><item><title><![CDATA[Reply to Function list for Caml on Thu, 25 Oct 2018 02:04:59 GMT]]></title><description><![CDATA[<p dir="auto">Hi, <a class="plugin-mentions-user plugin-mentions-a" href="/user/tom-saury" aria-label="Profile: tom-saury">@<bdi>tom-saury</bdi></a> and <a class="plugin-mentions-user plugin-mentions-a" href="/user/mapje71" aria-label="Profile: mapje71">@<bdi>mapje71</bdi></a>,</p>
<p dir="auto">I thougt the <strong><code>main rexpression</code></strong> regex of <strong>Tom</strong>, terribly <strong>complicated</strong> !! I’m probably missing some <strong>particularities</strong> but my solution works <strong>nice</strong> with the <strong>sample</strong> file , provided by <strong>Tom</strong>. Of course, it needs some  <strong>testing</strong> on true <strong><code>CAML</code></strong> files !</p>
<p dir="auto">Here is my <strong>first</strong> ( simple ) attempt :</p>
<pre><code class="language-xml">			&lt;association id=      "caml_syntax"       langID="41"                          /&gt;
		&lt;/associationMap&gt;

		&lt;parsers&gt;

			&lt;parser
				displayName="Caml"
				id         ="caml_syntax"
				commentExpr="\(\*((?!\(\*|\*\)).)+?\*)$"
			&gt;
				&lt;function
					mainExpr="let\s+(rec \s+)?[\l_]\w*\s*?=.+?in$"
				&gt;
					&lt;functionName&gt;
						&lt;nameExpr expr="let\s+(rec \s+)?\K[\l_]\w*"
						/&gt;
					&lt;/functionName&gt;
				&lt;/function&gt;
			&lt;/parser&gt;
</code></pre>
<p dir="auto">Note that I included the line <strong><code>&lt;association id=      "caml_syntax"       langID="41"</code></strong> in the <strong><code>associationMap</code></strong> <strong>node</strong></p>
<p dir="auto">Cheers,</p>
<p dir="auto">guy038</p>
]]></description><link>https://community.notepad-plus-plus.org/post/35709</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/35709</guid><dc:creator><![CDATA[guy038]]></dc:creator><pubDate>Thu, 25 Oct 2018 02:04:59 GMT</pubDate></item><item><title><![CDATA[Reply to Function list for Caml on Wed, 24 Oct 2018 14:37:47 GMT]]></title><description><![CDATA[<p dir="auto">Thanks you !<br />
Unfortunately, I replaced my parser with yours and it still not work. So now I’m sure the problem does not come from the parser but somewhere else. Any idea ?</p>
]]></description><link>https://community.notepad-plus-plus.org/post/35695</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/35695</guid><dc:creator><![CDATA[Tom Saury]]></dc:creator><pubDate>Wed, 24 Oct 2018 14:37:47 GMT</pubDate></item><item><title><![CDATA[Reply to Function list for Caml on Wed, 24 Oct 2018 13:59:53 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/tom-saury" aria-label="Profile: Tom-Saury">@<bdi>Tom-Saury</bdi></a> try this parser (function definition only):</p>
<pre><code class="language-xml">			&lt;association id=        "caml_syntax"        langID="41"                           /&gt;

			&lt;!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			|   Based on:
			|       https://notepad-plus-plus.org/community/topic/16501/function-list-for-caml
			\--&gt;
			&lt;parser
				displayName="[#5 TODO] CAML - Categorical Abstract Machine Language"
				id         ="caml_syntax"
				commentExpr="(?x)                                               # free-spacing (see `RegEx - Pattern Modifiers`)
								(?:                                             # Multi Line Comment
									\(\*+
									(?:[^*]|\*(?!\)))*
									\*\)
								)
							"
			&gt;
				&lt;function
					mainExpr="(?x)                                              # free-spacing (see `RegEx - Pattern Modifiers`)
							let                                                 # start-of-function indicator...
							\s+                                                 # ...should be followed by at least one white-space
							\K                                                  # discard text matched so far
							[a-z_]\w*                                           # valid character combination for identifiers
							\s*\(                                               # start-of-parameters indicator
							(?:
								\s*[a-z_]\w*
								(?:
									\s*,                                        # parameter separator
									\s*[a-z_]\w*
								)*                                              # more parameters are optional
							)?                                                  # parameters are optional
							\s*\)                                               # end-of-parameters indicator
							\s*=                                                # function-header-body separator
							.+                                                  # whatever, until...
							\s+in\b                                             # ...end-of-function indicator
						"
				&gt;
					&lt;functionName&gt;
						&lt;nameExpr expr="[a-z_]\w*" /&gt;
					&lt;/functionName&gt;
				&lt;/function&gt;
			&lt;/parser&gt;
</code></pre>
]]></description><link>https://community.notepad-plus-plus.org/post/35689</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/35689</guid><dc:creator><![CDATA[MAPJe71]]></dc:creator><pubDate>Wed, 24 Oct 2018 13:59:53 GMT</pubDate></item><item><title><![CDATA[Reply to Function list for Caml on Wed, 24 Oct 2018 08:47:35 GMT]]></title><description><![CDATA[<p dir="auto">I suppose something like that :</p>
<ul>
<li>read_int</li>
<li>n</li>
<li>amis</li>
<li>nCadeau</li>
<li>cadeau</li>
</ul>
<p dir="auto">It’s what it should look like with my actual RE, it detects one function/variable per ‘let’ key word.<br />
It’s not the ideal thing but it’s just a start. I would like it can detect ‘and’ key word which allows to define several variables with 1 ‘let’.<br />
But first, I just want the base works to improve the code. And it doesn’t with no reason to me…</p>
]]></description><link>https://community.notepad-plus-plus.org/post/35668</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/35668</guid><dc:creator><![CDATA[Tom Saury]]></dc:creator><pubDate>Wed, 24 Oct 2018 08:47:35 GMT</pubDate></item><item><title><![CDATA[Reply to Function list for Caml on Tue, 23 Oct 2018 22:27:21 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/tom-saury" aria-label="Profile: Tom-Saury">@<bdi>Tom-Saury</bdi></a><br />
and what should the function list look like?</p>
]]></description><link>https://community.notepad-plus-plus.org/post/35656</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/35656</guid><dc:creator><![CDATA[MAPJe71]]></dc:creator><pubDate>Tue, 23 Oct 2018 22:27:21 GMT</pubDate></item><item><title><![CDATA[Reply to Function list for Caml on Tue, 23 Oct 2018 10:21:15 GMT]]></title><description><![CDATA[<p dir="auto">Ok, little update.</p>
<p dir="auto">I don’t know why, but I’ve got two different files named functionList.xml, one in AppData\Roaming\Notepad++ and one in Program Files\Notepad++<br />
So I modified both of them but still nothing appears in function list pannel when I open a OCaml source code.</p>
<p dir="auto">I’m loosing hope…<br />
Here is a OCaml source code for anyone who wants to clearify it (tell me if there is a way to collapse it) :</p>
<pre><code>let read_int () = Scanf.scanf " %d" (fun x -&gt; x) in

let n = read_int() and
	m = read_int() in
let amis = Array.init n (fun x -&gt; pred (read_int())) and
	guir = Array.init n (fun x -&gt; read_int()) in

let nCadeau = ref 0 and
	positions = ref [] and
	nb = ref 0 in

try
	while nb &lt;  do
		incr nb;
		let cadeau = ref true in
		try
			for i=pred n downto 1 do
				if (guir.(amis.(pred i)) &gt; guir.(amis.(i))) then begin
					cadeau := false;
					(* Printf.printf "guir.(%d) &gt; guir.(%d)\n" (amis.(pred i) + pos) (amis.(i) + pos); *)
					raise Exit;
				end;
				(* Printf.printf "guir.(%d) &lt; guir.(%d)\n" (amis.(pred i) + pos) (amis.(i) + pos) *) (*DEBUG*)
			done;
			if (!cadeau) then begin
			incr nCadeau;
			positions := !positions @ [n];
		end;
		with
			| Exit -&gt; begin () end;
		for i=0 to n-2 do
			guir.(i) &lt;- guir.(succ i);
		done;
		guir.(pred n) &lt;- read_int();
	done;
with
	| Invalid_argument "end of file" -&gt; ();

Printf.printf "%d\n" (!nCadeau);
List.iter (fun x -&gt; Printf.printf "%d " x;) (!positions);
</code></pre>
]]></description><link>https://community.notepad-plus-plus.org/post/35631</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/35631</guid><dc:creator><![CDATA[Tom Saury]]></dc:creator><pubDate>Tue, 23 Oct 2018 10:21:15 GMT</pubDate></item><item><title><![CDATA[Reply to Function list for Caml on Mon, 22 Oct 2018 19:27:50 GMT]]></title><description><![CDATA[<p dir="auto">Thanks replying !</p>
<p dir="auto">I don’t see anything that could help me with your link.</p>
<p dir="auto">Do you agree that to modify the function parser of a language or just implement it, you only have to change the functionList.xml file, save changes and refresh NPP, don’t you ?</p>
<p dir="auto">If yes, then it means that my code may contain some errors 'cause it doesn’t work at all.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/35619</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/35619</guid><dc:creator><![CDATA[Tom Saury]]></dc:creator><pubDate>Mon, 22 Oct 2018 19:27:50 GMT</pubDate></item><item><title><![CDATA[Reply to Function list for Caml on Mon, 22 Oct 2018 19:12:51 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> Is there any progress to be expected with the function lists?</p>
]]></description><link>https://community.notepad-plus-plus.org/post/35618</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/35618</guid><dc:creator><![CDATA[chcg]]></dc:creator><pubDate>Mon, 22 Oct 2018 19:12:51 GMT</pubDate></item><item><title><![CDATA[Reply to Function list for Caml on Mon, 22 Oct 2018 19:11:47 GMT]]></title><description><![CDATA[<p dir="auto">You may want to have a look at <a href="https://github.com/notepad-plus-plus/notepad-plus-plus/pull/3393" rel="nofollow ugc">https://github.com/notepad-plus-plus/notepad-plus-plus/pull/3393</a> to check against further parser definitions.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/35617</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/35617</guid><dc:creator><![CDATA[chcg]]></dc:creator><pubDate>Mon, 22 Oct 2018 19:11:47 GMT</pubDate></item></channel></rss>