In another post about Notepad++ I critisized that its function list feature does not work for Tcl and Bash scripts. Now I’ve got a solution. Here is it.
How to Make the Function List Work for Tcl
Open functionList.xml
in an editor. FunctionList.xml
is in %APPDATA%\notepad++
or in the installation directory of Notepad++.
Add this line to the section with all the other association
-entries.
Add this to the section
Restart Notepad++. Credits for the solution go to Detlef of compgroups.net/comp.lang.tcl. I’ve copied his’ and shortened it a bit. And added support for bash.
How to Make the Function List Work for Bash
In functionList.xml
add this line to the section with all the other association
-entries.
Add this to the section
Restart Notepad++.
Download
Or just download my functionList.xml with Tcl and Bash support and replace yours.
Update: As Olivier from comp.lang.tcl pointed out, my version does not work with Npp 6.4.3. I’ve rechecked this, he is right. My version does work at least with versions 6.4.5, 6.5 and 6.5.5, though.
Update 2: Thanks to Rasha Matt Blais for his improved version of the mainExpr
for bash functions. Though that one still misses some types of function definition. Here my latest mainExpr
string:
mainExpr="^[\t ]*((function)[\s]+)[^\n]+|[\w_]+[\s]*(\([\s]*\))"
I’ve also adapted the downloadable functionList.xml. And I’ve added the testfunc.bsh
file which contains some bash functions with which I’ve tested the my mainExpr
string.
For bash, to include both styles of function definition, use the following line:
mainExpr=”^[\t ]*((function)[\s]+)[^\n]+|[\w_]+(\(\))”
@Rasha: Thank you much for this improvement! I’ve improved your version further and updated my dowloadable functionList.xml.
Thanks for this bit of code! I’ve been trying to figure out how to get Notepad to support Tcl, this is great!
@Vuk : You’re welcome! It’s nice to see that I helped somebody.
Has anyone tried this with version 6.6.8 for Tcl?
@RR: Did you try it and it didn’t work?
@RR : I have tried tcl part with NPP 6.5 but can not make it work at first. Then I noticed the functionlist.xml Andreas said to change was in AppData, not in NPP installation path. Please check whether you are making same mistake :).
Thanks for the code .