+In addition to the main colorscheme groups, there are subgroups that you can
+specify by adding `.subgroup` to the group. If you're creating your own custom
+syntax files, you can make use of your own subgroups.
+
+If micro can't match the subgroup, it'll default to the root group, so it's
+safe and recommended to use subgroups in your custom syntax files.
+
+For example if `constant.string` is found in your colorscheme, micro will us
+that for highlighting strings. If it's not found, it will use constant instead.
+Micro tries to match the largest set of groups it can find in the colorscheme
+definitions, so if, for examle `constant.bool.true` is found then micro will use
+that. If `constant.bool.true` is not found but `constant.bool` is found micro
+will use `constant.bool`. If not, it uses `constant`.
+
+Here's a list of subgroups used in micro's built-in syntax files.
+
+* comment.bright (Some filetypes have distinctions between types of comments)
+* constant.bool
+* constant.bool.true
+* constant.bool.false
+* constant.number
+* constant.specialChar
+* constant.string
+* constant.string.url
+* identifier.class (Also used for functions)
+* identifier.macro
+* identifier.var
+* preproc.shebang (The #! at the beginning of a file that tells the os what
+ script interpreter to use)
+* symbol.brackets (`{}()[]` and sometimes `<>`)
+* symbol.operator (Color operator symbols differently)
+* symbol.tag (For html tags, among other things)
+* type.keyword (If you want a special highlight for keywords like `private`)
+
+In the future, plugins may also be able to use color groups for styling.
+
+
+## Syntax files
+
+The syntax files is written in yaml-format and specify how to highlight
+languages.
+
+Micro's builtin syntax highlighting tries very hard to be sane, sensible and
+provide ample coverage of the meaningful elements of a language. Micro has
+syntax files built in for over 100 languages now! However, there may be
+situations where you find Micro's highlighting to be insufficient or not to your
+liking. The good news is that you can create your own syntax files, and place them
+in `~/.config/micro/syntax` and Micro will use those instead.
+
+### Filetype definition
+
+You must start the syntax file by declaring the filetype:
+
+```
+filetype: go
+```
+
+#### Detect definition