On Nov 18, 2008, at 6:48 PM, Matthew Woehlke wrote:

Michael Jackson wrote:
Thanks. But how exactly are you "adding" those? By Hand or do you have some sort of script that parses CMake or .. ? It would be great if we could "sync up" the kate and some of the other editors to "standardize" on how the syntax coloring is broken down.

Obviously I am behind on reading this list :-) (see the message I just posted about unset not listed).

I have had, for some time, a script to generate keyword lists from cmake's built-in help.

The "meat" (arg extraction) looks like this:

extract_args() {
   sed -e '/'"$1"'(/ba' \
       -e 'd' \
       -e ':a' \
       -e '/)/{s/^.*(\(.*\)).*$/\1/p;d}' \
       -e 'N;s/\n/ /;ba' | \
   sed -e 's/[][]//g' -e 's/|\| \+/\n/g' | \
   sed -n '/^[[:upper:][:digit:]_]\+$/p' >> $t.args
}
while read COMMAND ; do
   "$CMAKE" --help-command $COMMAND | extract_args $COMMAND
done < $t.commands
sort $t.args | uniq > $t.argsu

I just don't want to reinvent the wheel unless I really need to. I would be happy to update my XML parser to add a kate syntax xml file generation...

Well, I'm already doing that... :-) What XML, though? Are you parsing 'cmake --help-html'? Or is there something that clearly delineates cmake keywords that I don't know about?

--
Matthew
Please do not quote my e-mail address unobfuscated in message bodies.

I am parsing the $CMAKE_BUILD/Docs/cmake.docbook file. There is just enough information with the tags to parse out all the commands, variables and properties. What _is not_ in that file are the "reserved words" or "special arguments" in any _easy_ tags. I can parse the usage tags and do something like you are doing with the sed scripts and pull those special words out. (I have to admit that I have only a passing clue what is going on in those sed statements).

The XML parser that I wrote is a SAX type (based on Expat) and some boost stuff for the string processing. If we can convert it to something that does not depend on the whole of KDE that would probably help us both, which is what I am interested in.

As I said before, if my code proves useful I would be happy to give it to the KDE project for their use. The Boost project will also want to use it as I am brining the CMake build system up to date for that project also.

I also am updating the Eclipse and TextMate language definitions, so that is at least 2 editors that can directly use the code. I was looking at the latest BBEdit SDK and you can define a language extension in XML so that would be a third editor. Kate makes a fourth.

I think it would be beneficial to work together on this. My only comment on a shell script is that it wouldn't work directly on windows without MSys or Cygwin installed.

I also gave XSLT a try but couldn't quite come up to speed quick enough on the language to really figure out if I could do what I needed to do. I had the XML processing code laying around from another project so writing the code to parse the docbook was generally straight forward.

_________________________________________________________
Mike Jackson                  [EMAIL PROTECTED]
            www.bluequartz.net

_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to