[SVN] Bundle commit 179

Chris Thomas chris at cjack.com
Wed Feb 2 17:42:33 UTC 2005


On Feb 2, 2005, at 7:30 AM, William D. Neumann wrote:

> On Wed, 2 Feb 2005, Chris Thomas wrote:
>
>
>> Convert OCaml to new scheme
>>
>> Changed:
>> U   trunk/OCaml.tmbundle/Syntaxes/LightOCaml.plist
>> U   trunk/OCaml.tmbundle/Syntaxes/OCaml.plist
>>
>
> Is there some standardization fer the new scheme?

Yes and no. The basic idea is that there should be a minimum of 
top-level categories, and elements that are similar should be grouped 
together into similar categories. The names should not necessarily 
indicate the semantic of the element, because this scheme is primarily 
a tool to allow the user to change styles on similar elements as a 
group, while still permitting very fine-grained changes.

For example, instead of "keywords.methods", you almost certainly want 
"keywords.functions" -- if there's a need to distinguish, because the 
language has separate constructs for "methods" and "functions", use 
something like "keywords.functions.language-name.methods". Imagine the 
categories that a very simple user interface for changing highlight 
colors might have:

Language Keywords - keywords.*
Function/Method Names - keywords.functions.*
Variable Names - keywords.variables.*
Comments - comments.*
Embedded Documentation - comments.embedded-docs.*
Strings - strings.*
Regular Expressions - strings.regex.*
Literal Constants - constants.*

Two caveats:

(a) Not everything fits within these categories -- this doesn't make 
much sense for diff output.
(b) None of this is set in stone. It may be, for example, that we don't 
want function names and variable names under "keywords.*". Happily, 
this sort of change can be automated now. It also isn't clear to me 
that we need to tag the language name on the end of each of the names, 
TextMate ought to be able to do that implicitly.

Feedback is welcome.

> I've been updating the OComl bundle, and was going to do a check-in 
> tonight of the current changes, but my multilevel nomes are somewhat 
> different from the ones that Chris chose.

The choices I make are primarily intended to group with similar 
elements in other languages, except where I didn't recognize the 
construct. Yours may well be superior to mine; I claim no OCaml 
expertise. :) So you may want to replace or tweak my choices. My 
feelings will not be hurt. :)

A list of the (mostly non-language-specific) names currently in use 
follows (this was autogenerated and then hand-munged). Some of these 
should probably be merged and refined.

Chris

changed.diff
comments.block
comments.line
constants
constants.character
constants.colors
constants.entities
constants.inline-data
constants.numeric
constants.rgb-percentage
constants.rgb-value
constants.transpose
deleted.diff
embedded
embedded-language
from-file.header.meta.diff
index.meta.diff
inserted.diff
invalid.bad-ampersand
invalid.bad-angle-bracket-or-ampersand
invalid.bad-comma
invalid.bad-comment-end
invalid.bad-comments-or-CDATA
invalid.entities
invalid.incomplete
invisibles.gremlins
invisibles.spaces
invisibles.tabs
keywords
keywords.assembler-directives
keywords.atom-term-processing
keywords.attributes.rez
keywords.class.ruby
keywords.classes.built-in
keywords.classes
keywords.collections
keywords.commands
keywords.constants
keywords.constants.built-in
keywords.constants.numeric
keywords.constructs.dot
keywords.control
keywords.data-integrity
keywords.directives
keywords.edge-attributes
keywords.embedded-docs.misc-attributes
keywords.embedded-docs.params
keywords.entity.closing-directives
keywords.entity.directives
keywords.entity.opening-directives
keywords.entity.relations
keywords.events
keywords.exceptions.built-in
keywords.flags
keywords.functions
keywords.functions
keywords.functions.all-solutions
keywords.functions.array
keywords.functions.built-in
keywords.functions.constructor
keywords.functions.database
keywords.functions.event-handler
keywords.functions.execution-context
keywords.functions.filesystem
keywords.functions.grammar-rule
keywords.functions.include
keywords.functions.method-with-arguments
keywords.functions.method-without-arguments
keywords.functions.reflection
keywords.functions.string
keywords.graph-attributes
keywords.hooks.implementation-defined
keywords.identifiers.built-in
keywords.identifiers.reserved
keywords.instructions
keywords.io
keywords.language
keywords.logical
keywords.markup.tag
keywords.markup.tag.options
keywords.markup.tags
keywords.markup.tags.options
keywords.methods
keywords.methods.built-in
keywords.modules
keywords.node-attributes
keywords.object-comments
keywords.objects
keywords.operators
keywords.operators.arithmetic-comparison
keywords.operators.arrows
keywords.operators.bitwise
keywords.operators.comparison
keywords.operators.evaluable
keywords.operators.message-sending
keywords.operators.misc
keywords.operators.mode
keywords.operators.symbols
keywords.operators.term-comparison
keywords.other
keywords.preprocessor
keywords.properties
keywords.properties-block
keywords.properties.built-in
keywords.storage
keywords.tags.nodes
keywords.tags.options
keywords.types
keywords.units
keywords.variables
keywords.variables.
keywords.variables.built-in
keywords.variables.complex
keywords.variables.constants
keywords.variables.simple
keywords.variables.symbol
keywords.variables.symbol-with-leading-character
labels
macros.server-side-includes
meta.docinfo.doctype
meta.docinfo.doctype.identifiers-and-DTDs
meta.docinfo.processing
range.meta.diff
registers.reserved
registers.usable.by-name
registers.usable.by-number
registers.usable.floating-point
rule
seperator.meta
special.aligning-relative-to-a-label
strings
strings.backticked
strings.double-quoted
strings.escaped-slash
strings.hex
strings.interpolation
strings.program-block
strings.regex
strings.regex.modr
strings.regexp
strings.regexp.arbitrary-repitition
strings.regexp.escaped.chars
strings.regexp.escaped.slash
strings.single-quoted
to-file.header.meta.diff
variables.globals





More information about the textmate-dev mailing list