On Jan 2, 2008 12:46 AM, David Brown <[EMAIL PROTECTED]> wrote: > On Wed, Jan 02, 2008 at 12:39:04AM -0800, Chuck Esterbrook wrote: > >On Jan 1, 2008 11:24 PM, David Brown <[EMAIL PROTECTED]> wrote: > >> On Tue, Jan 01, 2008 at 10:48:11PM -0800, Chuck Esterbrook wrote: > >> > >> >I'm interested to hear your impressions, comments and questions. > >> > >> First impression question. Did you have any parsing problems not using the > >> trailing ':' that python likes to use before indent blocks? > > > >No problems. Although it becomes required if you want to put a > >statement on the same line: > > > > branch state > > on State.On: print 'on' > > on State.Off: print 'off' > > Is the ':' allowed? The vim python indent plugin seems to use the ':' to > determine when to indent. Teaching vim how to color and indent a new > language is always the frustrating part.
The indent for a colon language would be at least two keystrokes: [Shift] [;/:] And maybe it's three?[Shift] [;/:] [Return] The indent for Cobra is exactly two: [Enter] [Tab] The colon is allowed because I don't want Python people to get frustrated when starting out with Cobra. *But* It generates a warning because Cobra has a theme of "syntax normalization" which I need to write about. Essentially, most Cobra programs look mostly the same so that code you see in a blog, email, wiki or in a project you just inherited differs more by semantics than syntax. Examples rules include: * Classes must be capped * Arguments and locals must start lower * Blocks must be indented I got the idea straight out of English where everything I read has about the same syntax and consequently I dive immediately into semantics regardless of what I'm reading. The above rules generate errors. Some rules, like the extraneous colon, generate warnings. Another example warning is treating return like a function call instead of a statement: return(x) Should be: return x Back to indentation: I think you're okay in vim with [Return] [Tab] but let me know if that's a problem. Indentation can be one tab or 4 spaces. No mixture of tabs and spaces on the same line as that causes hell in Python. -Chuck -- [email protected] http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg
