Skip to content
Lucas Becker edited this page Nov 14, 2017 · 10 revisions

Reference chart: defined scopes

  • punctuation.definition.comment.gdl
  • entity.name.function.gdl
  • punctuation.section.function.begin.gdl
  • keyword.operator.gdl
  • keyword.operator.word.gdl
  • keyword.operator.logical.gdl
  • constant.character.escape.gdl
  • punctuation.definition.string.begin.gdl
  • punctuation.definition.string.end.gdl
  • punctuation.definition.string.begin.localized.gdl
  • punctuation.definition.string.end.localized.gdl
  • constant.other.placeholder.gdl
  • punctuation.separator.continuation.inline.gdl
  • constant.language.gdl
  • invalid.deprecated.gdl
  • keyword.control.group.gdl
  • keyword.control.flow.gdl
  • keyword.control.flow.gdl
  • variable.function.gdl
  • keyword.control.flow.gdl
  • keyword.control.conditional.gdl
  • constant.numeric.gdl
  • punctuation.section.group.begin.gdl
  • punctuation.section.group.end.gdl
  • punctuation.separator.gdl
  • invalid.illegal.stray.brace.round.gdl
  • invalid.illegal.stray.brace.square.gdl
  • invalid.illegal.stray.brace.curly.gdl
  • keyword.gdl.hotedits
  • keyword.gdl.transform
  • keyword.gdl.shape.2D
  • keyword.gdl.text.2D.text
  • keyword.gdl.shape.3D.basic
  • keyword.gdl.shape.3D.planar
  • keyword.gdl.shape.3D.complex
  • keyword.gdl.shape.3D.primitive
  • keyword.gdl.shape.3D.pointcloud
  • keyword.gdl.shape.3D.prisms
  • keyword.gdl.shape.3D.poly
  • keyword.gdl.shape.3D.cut
  • keyword.gdl.shape.3D.seo
  • keyword.gdl.shape.3D.text
  • keyword.gdl.shape.3D.other
  • keyword.gdl.shape.nurbs
  • keyword.gdl.symbol
  • storage.type.function.gdl
  • support.type.gdl.attribute
  • support.other.variable.gdl.model
  • support.other.variable.gdl.shadow
  • keyword.gdl.nongeo.parameters.range
  • keyword.gdl.nongeo.parameters
  • punctuation.section.range.left-delimiter.gdl
  • punctuation.section.range.right-delimiter.gdl
  • punctuation.separator.arguments.gdl
  • support.other.variable.gdl.parameters.custom
  • support.other.variable.gdl.ui
  • keyword.gdl.nongeo.properties
  • keyword.gdl.nongeo.ui
  • keyword.gdl.nongeo.migration
  • keyword.gdl.extern
  • keyword.gdl.addon
  • punctuation.section.arguments.begin.gdl
  • punctuation.section.arguments.end.gdl
  • punctuation.separator.arguments.gdl
  • keyword.gdl.optionalparameters.fixed
  • keyword.gdl.request
  • keyword.gdl.globals.general
  • keyword.gdl.globals.story
  • keyword.gdl.globals.elementparameters
  • keyword.gdl.globals.objectparameters
  • keyword.gdl.globals.window
  • keyword.gdl.globals.label
  • keyword.gdl.globals.wall
  • keyword.gdl.globals.column
  • keyword.gdl.globals.beam
  • keyword.gdl.globals.slab
  • keyword.gdl.globals.roof
  • keyword.gdl.globals.fill
  • keyword.gdl.globals.mesh
  • keyword.gdl.globals.stair.general
  • keyword.gdl.globals.stair.tread
  • keyword.gdl.globals.stair.riser
  • keyword.gdl.globals.stair.structure
  • keyword.gdl.globals.stair.2D
  • keyword.gdl.globals.railing.general
  • keyword.gdl.globals.railing.3D
  • keyword.gdl.globals.railing.2D
  • keyword.gdl.globals.facade.general
  • keyword.gdl.globals.facade.profile
  • keyword.gdl.globals.facade.panel
  • keyword.gdl.globals.shell
  • keyword.gdl.globals.morph
  • keyword.gdl.globals.light
  • keyword.gdl.globals.misc
  • keyword.gdl.globals.mvo
  • keyword.gdl.globals.layout
  • keyword.gdl.globals.project
  • keyword.gdl.globals.user
  • keyword.gdl.globals.request
  • keyword.gdl.buffer
  • punctuation.section.buffer.begin.gdl
  • punctuation.section.buffer.end.gdl
  • keyword.gdl.buffer
  • punctuation.section.arguments.begin.gdl
  • punctuation.section.arguments.end.gdl
  • punctuation.separator.arguments.gdl
  • keyword.other.special-method.gdl.functions
  • entity.name.array.gdl
  • punctuation.section.array.begin.gdl
  • punctuation.section.array.end.gdl
  • punctuation.section.array.begin.gdl
  • punctuation.section.array.end.gdl

How does it work?

Easy to spot that scopes have 3 distinct parts:
Take support.type.gdl.attribute for example.
You read it from left to right. support.type is a general indicator. gdl is the language indicator. attribute is for finer distinction inside of the language.
If Sublime Text does not find a defined scope (inside the color scheme) satisfying the exact complete set, it will iterating through the scope from right to left, from point to point, omitting the last part until the scope has been met.
In the provided color scheme for instance all scopes beginning with keyword are not subdivided in the provided theme, thus getting the same markup in ST.

How to change the look

If you want to have finer markup distinctions between the scopes listed above, the easiest way is to use the thTheme-Editor.
Select either the GDL dark or GDL light theme in the gallery. You can also change all of the existing color, beginning with the background of the Sublime Text edit pane.
To make finer markup styles klick on the plus button. You can give it a name you like and style it how you would like. Then copy & paste one of the desired scopes. Remember: You might not want to be over-specific (needing the whole scope)! E.g. keyword.gdl.shape will get keyword.gdl.shape.3d.basic as well as keyword.gdl.shape.nurbs and so on.

FAQ

• Why are the scopes named this way? Looks inconsistent.
They are named this way to be compatible to existing color schemes.
Thus, even if you are not using any tailored scheme, you should have some basic syntax highlighting.

Clone this wiki locally