# if blah blah blahproblem 2) Escaped brackets aren't matched properly.e.g the following sorts of lines are mishandled (incorrect bracket-match highlighting)
set x {abc\{d} set y [list a b\[c d] set z [list a {b[c} d]JMN 2009-05-14 version 5.3.1 (Mar 29 2009) still has the above problems. Also - it's really unfortunate that c-style comments are recognized by the highlighter even when editing Tcl files. the sequence /* is very common in scripts dealing with the filesystem or with for example, the tdom xml parser.Entire sections of code end up highlighted green.As opposed to my 'nice usable editor' comment above.. I'd now say: 'barely tolerable for Tcl work' and the phrase 'supports Tcl syntax highlighting' is extremely optimistic at best.JMN 2018 Despite a few shortcomings - I just kept coming back to notepad++ and it has improved.
set z [list a {b[c} d]still doesn't match brackets perfectly - but it's not a significant problem. The function list feature is great - once you've configured it to your liking. Understanding and configuring the regexes in functionList.xml is pretty tricky (for me) - but with a bit of fiddling you can get it to show TclOO methods/constructors grouped by class. The function list parsing system seems customisable enough to at least give basic navigation for a Domain Specific Language or custom OO system you might have etc. I've had bigger struggles with editors such as Atom, Komodo & Eclipse trying to get them to behave reasonably for Tcl work.
scottdware 2011-04-26 I have been annoyed with the improper syntax highlighting as well (mostly using the if-elseif-else statements), so I created a User Defined Language file that has seemed to have taken care of the syntax highlighting issues. I have tested it out numerous times, and I've tweaked it to include all of the default Tcl and Tk commands, the 8.6 TclOO commands, as well as all of the option modifiers (-glob, -all, -nocase, -padx, etc.) that go with the commands. Here's the link:tcl-lang.xmlTo install it, just do the following:
- Place it in the root of your Notepad++ directory.
- Open up Notepad++, and click on View->User-Defined Dialogue.
- Once the User-Defined Dialogue window pops up, click on "Import...", and browse to the tcl-lang.xml file.
- Close Notepad++ and then re-open.
HaO 2011-04-20 One inconvenience is the lack of full utf-8 support to edit message files.
Mho Those who are using Notepad++ should definitely take a look at Notepad2, too. The extended version comes with Tcl highlighting etc.:This editor is ultra compact (below 400k when compressed with upx), ultra fast, and does not need an installation. 64bit .exe is available, too.
scottdware - 2011-04-22This modded version of Notepad2 is great. I've tried it before I got hooked on Notepad++. The only thing I have an issue with is how it treats control structures with its syntax highlighting.It has the same issues that Notepad++ does before I made the custom syntax file. Doesn't really treat if-elseif-else properly. Just my $.02, though (I'm just kind of picky when it comes to that) :)
[Lectus] - 2011-04-21 14:31:32Thanks for pointing out Notepad2. This gave me an idea of setting up a portable Tcl/Tk development environment for pendrives.This is the resulting directory structure inside the pendrive:tclkitsh-8.5.9-linux-ix86 --- Linux tclkit without Tktclkit-8.5.9-linux-ix86 --- Linux tclkit with Tktclkitsh-8.5.8-win32.upx.exe --- Windows tclkit without Tktclkit-8.5.8-win32.upx.exe --- Windows tclkit with Tksdx.kit --- For creating starkits and starpacks for both Windows and Linuxsqlite3.exe --- For managing databasestclsqlite3.dll --- Tcl sqlite DLL for creating DB appsupx.exe --- For compressing starpackstkchat.exe --- For chatting and getting helplib --- Precompiled libraries for using in apps that use extensionsNotepad2.exe --- For editingNotepad2.ini --- Editor config filedoc --- Packages documentationThis gives flexibility to develop anywhere and also deploy for Windows and Linux machines. It only shows how awesome Tcl are compared to other scripting solutions.
[tarzan] - 2017-05-18 09:06:50
Tcl FunctionList @functionList.xml edit
@associationMap<association id="tcl_procedure" langID="29" />@parsers
<parser id="tcl_procedure" displayName="TCL" commentExpr="(#)"> <function mainExpr="^[\t ]*((proc)[\s]+)[^\n]+\{"> <functionName> <nameExpr expr="(proc)\s+[\x21-\x7E]+" /> <nameExpr expr="\s+[^\s]+" /> </functionName> </function> </parser>rule of proc any graph string? or any string except space?