This help page aims to cover two aspects of micro's syntax highlighting engine:
-- How to create colorschemes and use them
-- How to create syntax files to add to the list of languages micro can highlight
-
+- How to create colorschemes and use them.
+- How to create syntax files to add to the list of languages micro can highlight.
## Colorschemes
-Micro comes with a number of colorschemes by default. Here is the list:
-
-* simple: this is the simplest colorscheme. It uses 16 colors which are set by
- your terminal
-
-* mc: A 16-color theme based on the look and feel of GNU Midnight Commander.
- This will look great used in conjunction with Midnight Commander.
-
-* nano: A 16-color theme loosely based on GNU nano's syntax highlighting.
-
-* monokai: this is the monokai colorscheme; you may recognize it as Sublime
- Text's default colorscheme. It requires true color to look perfect, but the
- 256 color approximation looks very good as well. It's also the default
- colorscheme.
-
-* zenburn: The 'zenburn' colorscheme and works well with 256 color terminals
-
-* solarized: this is the solarized colorscheme. You should have the solarized
- color palette in your terminal to use it.
+To change your colorscheme, press Ctrl-E in micro to bring up the command
+prompt, and type:
-* solarized-tc: this is the solarized colorscheme for true color; just make sure
- your terminal supports true color before using it and that the MICRO_TRUECOLOR
- environment variable is set to 1 before starting micro.
+```
+set colorscheme monokai
+```
-* atom-dark-tc: this colorscheme is based off of Atom's "dark" colorscheme. It
- requires true color to look good.
+(or whichever colorscheme you choose).
-* cmc-16: A very nice 16-color theme. Written by contributor CaptainMcClellan
- (Collin Warren.) Licensed under the same license as the rest of the themes.
+Micro comes with a number of colorschemes by default. Modern terminals tend to
+have three different kinds of color support. The most common is 256 color where
+the terminal provides 256 standardized colors (except the first 16 may be configured
+by the user). A 256-color theme requires a terminal with 256 color support and
+is the most portable.
-* cmc-paper: Basically cmc-16, but on a white background. (Actually light grey
- on most ANSI (16-color) terminals)
+A 16-color theme uses the 16 user-configurable colors (or 16 default colors on
+old terminals). These colorschemes are guranteed to work, but won't look great
+unless the 16 colors are configured to the user's liking. Using a 16-color theme
+will also preserve the terminal's theme because the terminal usually uses its 16
+colors for prompts or other coloring.
-* cmc-tc: A true colour variant of the cmc theme. It requires true color to
- look its best. Use cmc-16 if your terminal doesn't support true color.
+Some terminals support "true color" with 16 million colors (using standard RGB values).
+There is no one standard for this color support among terminals so this method
+is not guaranteed to work. Usually truecolor must also be enabled by the user. The
+colorschemes using true color will look exactly as intended. If true color is not
+supported, a true color colorscheme will approximate its colors to 256-color.
-* codeblocks: A colorscheme based on the Code::Blocks IDE's default syntax
- highlighting.
+Here is the list of colorschemes:
-* codeblocks-paper: Same as codeblocks, but on a white background. (Actually
- light grey)
+### 256 color
-* github-tc: A colorscheme based on Github's syntax highlighting. Requires true
- color to look its best.
+These should work and look nice in most terminals. I recommend these
+themes the most.
-* paper-tc: A nice minimalist theme with a light background, good for editing
- documents on. Requires true color to look its best. Not to be confused with
- `-paper` suffixed themes.
+* `monokai` (also the `default` colorscheme)
+* `zenburn`
+* `gruvbox`
+* `darcula`
+* `twilight`
+* `railscast`
+* `bubblegum`
-* geany: Colorscheme based on geany's default highlighting.
+### 16 color
-* geany-alt-tc: Based on an alternate theme bundled with geany.
+These may vary widely based on the 16 colors selected for your terminal.
-* flamepoint-tc: A fire inspired, high intensity true color theme written by
- CaptainMcClellan. As with all the other `-tc` suffixed themes, it looks its
- best on a
+* `simple`
+* `solarized` (must have the solarized color palette in your terminal to use this colorscheme properly)
+* `cmc-16`
+* `cmc-paper`
+* `geany`
-To enable one of these colorschemes just press CtrlE in micro and type
-`set colorscheme solarized`. (or whichever one you choose). You can also use
-`set colorscheme monochrome` if you'd prefer to have just the terminal's default
-foreground and background colors. Note: This provides no syntax highlighting!
+### True color
-See `help gimmickcolors` for a list of some true colour themes that are more
-just for fun than for serious use. (Though feel free if you want!)
+These require terminals that support true color and require `MICRO_TRUECOLOR=1` (this is an environment variable).
+* `solarized-tc`: this is the solarized colorscheme for true color.
+* `atom-dark-tc`: this colorscheme is based off of Atom's "dark" colorscheme.
+* `cmc-tc`: A true colour variant of the cmc theme. It requires true color to
+ look its best. Use cmc-16 if your terminal doesn't support true color.
+* `gruvbox-tc`: The true color version of the gruvbox colorscheme
+* `github-tc`: The true color version of the Github colorscheme
## Creating a Colorscheme
-Micro's colorschemes are also extremely simple to create. The default ones ca
-be found
-[here](https://github.com/zyedidia/micro/tree/master/runtime/colorschemes).
+Micro's colorschemes are also extremely simple to create. The default ones can
+be found [here](https://github.com/zyedidia/micro/tree/master/runtime/colorschemes).
They are only about 18-30 lines in total.
## Syntax files
-The syntax files is written in yaml-format and specify how to highlight
+The syntax files are written in yaml-format and specify how to highlight
languages.
Micro's builtin syntax highlighting tries very hard to be sane, sensible and