Function List for Simatic
-
The code did not work. http://imgur.com/rQLGnfL Here you can see that userDefinedLangName is the same name as the entry in the language menu.
Without the colon is the correct version. -
Here’s an update …
<association id="NC_function" userDefinedLangName="NC 840dsl" /> <association id="NC_function" ext=".arc" /> <parser id="NC_function" displayName="NC 840dsl" commentExpr="(?m-s:;.*?$)"> <function mainExpr="^%_N_\K[A-Za-z_]\w*" /> </parser> -
First of all, thanks a lot for your help and time MAPJe71
I found this document for the syntax. https://support.industry.siemens.com/cs/document/109248664/sinumerik-840d-sl-job-planning?dti=0&pnid=14599&lc=en-WW
To wrap it up, I wrote down the current state of the function list. It still doesnt work. :(<association id="NC_function" userDefinedLangName="NC 840dsl" /> <association id="NC_function" ext=".arc" /> <parser id="NC_function" displayName="NC 840dsl" commentExpr="(?m-s:;.*?$)"> <function mainExpr="^%_N_\K[A-Za-z_]\w*" /> <functionName> <nameExpr expr="\w+"/> </functionName> </function> </parser> -
You didn’t correctly copy-paste the parser-node I posted.
Remove the …<functionName> <nameExpr expr="\w+"/> </functionName> </function>part or re-copy/paste so it looks like this …
<parser id="NC_function" displayName="NC 840dsl" commentExpr="(?m-s:;.*?$)"> <function mainExpr="^%_N_\K[A-Za-z_]\w*" /> </parser>Also check whether or not you edited the right functionList.xml file as there might be more than one on your system:
- %ProgramFiles%\Notepad++\functionList.xml;
- %ProgramFiles(x86)%\Notepad++\functionList.xml;
- %AppData%\Notepad++\functionList.xml
Furthermore, make sure to restart Notepad++ after you edited and saved the XML-file.
-
It did work!!
Thank you!!
Apperantly I modified the false file. Namely, %APPDATA%\notepad++\functionList.xml as in https://notepad-plus-plus.org/features/function-list.html, and not as you mentioned above: %ProgramFiles(x86)%\Notepad++\functionList.xml.
Thanks MAPJe71, you really helped me a lot.
My best regards! -
Hi!
I recently discovered a bug in the function list feature. (or something I overlooked)
The function list works great. But when I open certain files, functions are not being listed. However, when I copy the content of my code to a new window, functions are listed just as normal.
This does not happen with every file. With file names such as: SPF_DIR.arc and MPF_DIR.arc, it happens all the time. Are those file names not permitted in Notepad++?
Thanks! -
AFAIK there’s no restriction on file names other than the standard Windows restrictions.
Could you post the files and the Notepad++Debug Info(you can find it in the?menu) so I can try to reproduce the problem? -
https://www.dropbox.com/sh/53wxnnxioxmcj8p/AADzd9wMDWoCVTgVrZJdqqL-a?dl=0
In the shared folder, there is a file which I am trying to display the functions of it and the respective functionlist and the user defined language.
Due to the copywrite agreements, I can not post the complete code that is why I trimmed the code to the function names. I tried to view the functions, it didnt work.
Many thanks! -
Due to the copyright agreements, I can not post the complete code …
I understand and so far the trimmed down code helps, as it does not show any functions on my system either.
I’ll have a look. -
Thank you for correcting me. I probably typed it really quick. :)
I can confirm that the regex file you provided, really did the trick and the function view normally works. It fails to show the functions whenever I try to open a new file
Once again thank you so much for your help! -
You’re welcome!
- Incomplete parser;
- Known bug with comment following function header.
ad.1. Adapt parser to:
<parser id="NC_function" displayName="NC 840dsl" commentExpr="(?m-s:;.*?$)"> <function mainExpr="(?m)^%_N_\K[A-Za-z_]\w*" /> </parser>ad.2. There have to be at least two characters between the function header and the comment.
e.g. a line-break and a space%_N_CH1_BASIC_POS_SPF ;$PATH=/_N_SPF_DIR ;(c)2013 by Linsinger Maschinenbau Ges.m.b.H.or two line-breaks
%_N_CH1_BASIC_POS_SPF ;$PATH=/_N_SPF_DIR ;(c)2013 by Linsinger Maschinenbau Ges.m.b.H.or two spaces
%_N_CH1_BASIC_POS_SPF ;$PATH=/_N_SPF_DIR ;(c)2013 by Linsinger Maschinenbau Ges.m.b.H.or a colon and a line-break
%_N_CH1_BASIC_POS_SPF: ;$PATH=/_N_SPF_DIR ;(c)2013 by Linsinger Maschinenbau Ges.m.b.H.etc.
-
It is weird. Because it doesnt happen with other files even though the comment line is right below the function tag.
Thanks for your time and help! -
Had another look …
ad.2. or make sure your line-breaks consist of a carriage-return and a line-feed (i.e. two characters).Your
SPF_DIR - Kopie.arcuses line-feeds for line-breaks i.e. only one character between tag and comment. -
Is it possible to add an exception into comments section?
For example: everything is a comment except when $PATH comes right after ‘;’. -
Yes that can work, in your case!
ChangecommentExprto"(?m-s:;(?!\$PATH).*?$)".
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login