Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transition to new JSON based syntax color scheme format #24

Merged

Conversation

arcticicestudio
Copy link
Contributor

Resolves #22
Includes #20
Co-authored-by: Kai En muikaien1@gmail.com

As of Sublime Text 3 build 3149, a new JSON based color scheme format .sublime-color-scheme was introduced for easier editing, customization and addition of new features. The documentation for the new format is available at the main "Color Schemes" documentation.
This PR migrates Nord to the new format (JSON) from the now deprecated/legacy .tmTheme format (XML).

All versions greater or equal to 3.1 build 3120 come with a builtin tool to convert legacy themes to the new format through the command palette only when the files is opened in the editor**: „Convert Color Scheme“

The following additional changes and additions for features that have been introduced with the new JSON color scheme format are included:

  • Added all Nord colors as variables to the variables object that are exposed through Sublime Text's internal CSS color scheme API to reuse them with the CSS var() function for the defined scope rules.
  • Added additional syntax-specific variables to the variables object to ensure a uniform color usage for scopes with the same context as well as reducing code duplication and possible transmission errors.
  • Added the new Git gutter diff keys line_diff_added, line_diff_modified and line_diff_deleted to the globals object to ensure they match Nord's style. (@kaine119)

The now officially deprecated .tmTheme color scheme format file has been removed and is not supported by the Nord theme package anymore.

As of Sublime Text 3 build 3149, a new JSON based color scheme format
`.sublime-color-scheme` was introduced for easier editing, customization
and addition of new features. The documentation for the new format is
available at the main "Color Schemes" documentation (1).
Nord will migrate to the new format (JSON) from the now deprecated/legacy `.tmTheme` format (XML).

All versions greater or equal to 3.1 build 3120 come with a builtin tool
to convert legacy themes to the new format through the command palette
only when the files is opened in the editor**: „Convert Color Scheme“

The foloowing additional changes and additions for features that have
been introduced withg the new JSON color scheme format are included:

- Added all Nord colors as variables to the `variables` object that are
  exposed through Sublime Text's internal CSS color scheme API to reuse
  them with the CSS `var()` function for the defined scope rules.
- Added additional syntax-specific variables to the `variables` object
  to ensure a uniform color usage for scopes with the same context as
  well as reducing code duplication and possible transmission errors.
- Added the new Git gutter diff keys `line_diff_added`,
  `line_diff_modified` and `line_diff_deleted` to the `globals` object
  to ensure they match Nord's style. (@kaine119)

The now officially deprecated `.tmTheme` color scheme format file (2)
has been removed and is not supported by the Nord theme package anymore.

References:
  (1) https://www.sublimetext.com/docs/3/color_schemes.html
  (2) https://www.sublimetext.com/docs/3/color_schemes_tmtheme.html

Co-authored-by: Kai En <muikaien1@gmail.com>
Merged with GH-20
GH-22
@arcticicestudio arcticicestudio merged commit 294ab7c into develop Aug 6, 2019
@arcticicestudio arcticicestudio deleted the feature/gh-22-transition-json-color-scheme-format branch August 6, 2019 11:54
@arcticicestudio arcticicestudio removed their assignment Aug 6, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Transition to new JSON based syntax color scheme format
3 participants