[SVN] Naming convention
Mats Persson
mats at imediatec.co.uk
Fri Apr 22 10:14:04 UTC 2005
OK, some of my thoughts, which may go slightly outside of the original
scope of this thread:
1. The main themes being: Bright, Dark & Grey. I think we should
consider themes along these lines:
Bright vs Dark
Low vs Hi Contrast.
Sharp vs Subtle
Sunny vs Cloudy ( as in ambient room light )
Essentially trying to cater for people with different vision
'problems', and also making things more easy to understand for new
comers. A theme named 'Grey' is a bit "what the hell does that mean ?"
for me. No offence Allan ;)
2. In the naming structures, we should change the current 'White, Dark
& Grey backgrounds' Settings Groups to:
<themeName> Common or <themeName> General
In these Common/General Settings Groups we should define a standard
group of items along the lines of the root items of each category
group, sort of like this:
comments
strings
keywords
keywords.functions
constants
variables
etc. etc.
All other specific sub items, should then be defined Language specific
Settings files. So for instance, "keywords.functions.apache" would be
defined in the PHP settings file, and so on. The main aim here is to
remove the constant updates to the general items of the highlighting
scheme and keep a user's common definitions working even though we
might add/change Language specific items.
I hope I make sense in the above points, as I hope it would make things
easier for most people to use. If I just want a basic styling I just
enable the Common/General Settings group in a theme, but if want more
specific highlighting for my language I would enable that Settings
group as well.
Structured Naming conventions: (added a few new ones as well)
declaration name
|-> declaration.classes class-inheritance
|-> declaration.classes class-name
|-> declaration.functions function-argument
|-> declaration.functions function-name
comments
|-> comments.line
|-> comments.block
constants
|-> constants.numeric
|-> constants.character-entities
|-> constants.* (std/core-predefined)
keywords
|-> keywords.exceptions
|-> keywords.identifiers
|-> keywords.functions
|-> keywords.functions.* (built-in / whatever)
|-> keywords.control
|-> keywords.constructs
|-> keywords.operators
|-> keywords.operators.* (specifics like logical/comparisson/etc)
|-> keywords.markup
|-> keywords.markup.elements
|-> keywords.markup.attributes
|-> keywords.reserved
|-> keywords.objects
|-> keywords.properties
|-> keywords.event-handlers
strings
|-> strings.single-quoted
|-> strings.double-quoted
|-> strings.regexp
variables (alt. = keywords.variables )
|-> variables.complex
|-> variables.global
invalid
|-> invalid.trailing-whitespace
|-> invalid.bad-comma
meta
Just my 1/2 cent's worth ;-)
Kind regards,
Mats
----
"TextMate, coding with an incredible sense of joy and ease"
- www.macromates.com -
More information about the textmate-dev
mailing list