Are you a python geek then? 
No, im an aspirant Python geek, ive only just started using Python, becuase ive started using SCons. But so far, im not hating it.
I am asking because I have no clue regarding python, all I can say is your thingie does a lot of nice colours in the sample code. Looks good to me, so if somebody tells me that this is really good python, I'll commit it... 
Im sure the example could probably be beefed up. I have copied some of the examples from the python tutorial and language reference from
www.python.org Below, ive included a beefier example, with code snippets taken from various places. All of the syntactic elements (i believe) have examples in the example. I got all of the names for the keywords, user keywords and documentation (which im using for exception keywords) from the documents on the python site.
The decorator points out a minor bug (what i believe is a bug anyway) in the underlying scintilla lexer. It highlights the comment following the decorators as decorators, i think they should be comments (ie, the decorator should stop where the comment starts) but it isnt a big issue for me.
The problem is i dont see these new sets of keywords, when i copy these files into /share/codeblocks/lexers/ if anyone can look at them, and provide any advice id appreciate it.
Have you tried clicking on "Reset Defaults" to force the editor to reload them? Otherwise, changes are not visible.
That did the trick, thanks.
EDIT:
Found one insignificant typo, it says "qutoe" where it should be "quote". Corrected that in my copy, now just waiting for somebody to tell me if this is "good python".
As I said, im not a Python geek, so id be more than happy for anyone to second it, but i feel it is pretty good, based on my research. Thanks for starting this BTW. There are still a couple of issues:
1. I think the following colour elements should be renamed:
String -> Double Quote String
Character -> Single Quote String
Triple Quotes -> Triple Single Quoted String
Triple Double Quotes -> Triple Double Quoted String
String and Character are the wrong names (i think), 'aaa' == "aaa" they are both strings, and are interchangeable, so they should both be listed as strings, i think. The change to the other 2 is just for consistency.
2. Documentation highlighting:
I dont know how the get the words in the documentation area to highlight. There doesnt seem to be a lexer item for them, so if they cant be independently highlighted, I think they should be incorporated into Keywords.
Anyway, here is the revised example:
# This is a comment
## This is a comment block
import sys, time, string
month_names = ['Januari', 'Februari', 'Maart', # These are the
'April', 'Mei', 'Juni', # Dutch names
"Juli", "Augustus", "September", # for the months
"Oktober", "November", "December"] # of the year
if len(sys.argv)!=2:
print '''Usage: This is a 'Code::Blocks' Example'''
print "This String goes to EOL
sys.exit(0)
class ClassName:
def perm(l):
# Compute the list of all permutations of l
if len(l) <= 1:
return [l]
r = []
for i in range(len(l)):
s = l[:i] + l[i+1:]
p = perm(s)
for x in p:
r.append(l[i:i+1] + x)
return r
@classmethod # This is a decorator
@synchronized(lock) # And so is this
def func(self):
try:
return """A "Triple Double Quote" String\n"""
except SystemExit:
pass