diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index b48890d..0000000 --- a/.eslintrc +++ /dev/null @@ -1,168 +0,0 @@ -{ - "parser": "babel-eslint", - "env": { - "browser": false, - "node": true, - "es6": true - }, - "ecmaFeatures": { - "jsx": false, - "modules": true, - "classes": true - }, - "globals": { - "module": 0 - }, - "rules": { - "no-cond-assign": 1, // disallow assignment in conditional expressions - "no-console": 0, // disallow use of console (off by default in the node environment) - "no-constant-condition": 1, // disallow use of constant expressions in conditions - "no-comma-dangle": 0, // disallow trailing commas in object literals - "no-control-regex": 1, // disallow control characters in regular expressions - "no-debugger": 1, // disallow use of debugger - "no-dupe-keys": 1, // disallow duplicate keys when creating object literals - "no-empty": 0, // disallow empty statements - "no-empty-character-class": 1, // disallow the use of empty character classes in regular expressions - "no-ex-assign": 1, // disallow assigning to the exception in a catch block - "no-extra-boolean-cast": 1, // disallow double-negation boolean casts in a boolean context - "no-extra-parens": 0, // disallow unnecessary parentheses (off by default) - "no-extra-semi": 1, // disallow unnecessary semicolons - "no-func-assign": 1, // disallow overwriting functions written as function declarations - "no-inner-declarations": 0, // disallow function or variable declarations in nested blocks - "no-invalid-regexp": 1, // disallow invalid regular expression strings in the RegExp constructor - "no-negated-in-lhs": 1, // disallow negation of the left operand of an in expression - "no-obj-calls": 1, // disallow the use of object properties of the global object (Math and JSON) as functions - "no-regex-spaces": 1, // disallow multiple spaces in a regular expression literal - "no-reserved-keys": 0, // disallow reserved words being used as object literal keys (off by default) - "no-sparse-arrays": 1, // disallow sparse arrays - "no-unreachable": 1, // disallow unreachable statements after a return, throw, continue, or break statement - "use-isnan": 1, // disallow comparisons with the value NaN - "valid-jsdoc": 0, // Ensure JSDoc comments are valid (off by default) - "valid-typeof": 1, // Ensure that the results of typeof are compared against a valid string - - // Best Practices - // These are rules designed to prevent you from making mistakes. They either prescribe a better way of doing something or help you avoid footguns. - - "block-scoped-var": 0, // treat var statements as if they were block scoped (off by default) - "complexity": 0, // specify the maximum cyclomatic complexity allowed in a program (off by default) - "consistent-return": 0, // require return statements to either always or never specify values - "curly": 1, // specify curly brace conventions for all control statements - "default-case": 0, // require default case in switch statements (off by default) - "dot-notation": 1, // encourages use of dot notation whenever possible - "eqeqeq": 1, // require the use of === and !== - "guard-for-in": 0, // make sure for-in loops have an if statement (off by default) - "no-alert": 1, // disallow the use of alert, confirm, and prompt - "no-caller": 1, // disallow use of arguments.caller or arguments.callee - "no-div-regex": 1, // disallow division operators explicitly at beginning of regular expression (off by default) - "no-else-return": 0, // disallow else after a return in an if (off by default) - "no-eq-null": 0, // disallow comparisons to null without a type-checking operator (off by default) - "no-eval": 1, // disallow use of eval() - "no-extend-native": 1, // disallow adding to native types - "no-extra-bind": 1, // disallow unnecessary function binding - "no-fallthrough": 1, // disallow fallthrough of case statements - "no-floating-decimal": 1, // disallow the use of leading or trailing decimal points in numeric literals (off by default) - "no-implied-eval": 1, // disallow use of eval()-like methods - "no-labels": 1, // disallow use of labeled statements - "no-iterator": 1, // disallow usage of __iterator__ property - "no-lone-blocks": 1, // disallow unnecessary nested blocks - "no-loop-func": 0, // disallow creation of functions within loops - "no-multi-str": 0, // disallow use of multiline strings - "no-native-reassign": 0, // disallow reassignments of native objects - "no-new": 1, // disallow use of new operator when not part of the assignment or comparison - "no-new-func": 1, // disallow use of new operator for Function object - "no-new-wrappers": 1, // disallows creating new instances of String,Number, and Boolean - "no-octal": 1, // disallow use of octal literals - "no-octal-escape": 1, // disallow use of octal escape sequences in string literals, such as var foo = "Copyright \251"; - "no-proto": 1, // disallow usage of __proto__ property - "no-redeclare": 0, // disallow declaring the same variable more then once - "no-return-assign": 1, // disallow use of assignment in return statement - "no-script-url": 1, // disallow use of javascript: urls. - "no-self-compare": 1, // disallow comparisons where both sides are exactly the same (off by default) - "no-sequences": 1, // disallow use of comma operator - "no-unused-expressions": 0, // disallow usage of expressions in statement position - "no-void": 1, // disallow use of void operator (off by default) - "no-warning-comments": 0, // disallow usage of configurable warning terms in comments": 1, // e.g. TODO or FIXME (off by default) - "no-with": 1, // disallow use of the with statement - "radix": 1, // require use of the second argument for parseInt() (off by default) - "vars-on-top": 0, // requires to declare all vars on top of their containing scope (off by default) - "wrap-iife": 0, // require immediate function invocation to be wrapped in parentheses (off by default) - "yoda": 1, // require or disallow Yoda conditions - - // Strict Mode - // These rules relate to using strict mode. - - "strict": 0, // require that all functions are run in strict mode - - // Variables - // These rules have to do with variable declarations. - - "no-catch-shadow": 1, // disallow the catch clause parameter name being the same as a variable in the outer scope (off by default in the node environment) - "no-delete-var": 1, // disallow deletion of variables - "no-label-var": 1, // disallow labels that share a name with a variable - "no-shadow": 1, // disallow declaration of variables already declared in the outer scope - "no-shadow-restricted-names": 1, // disallow shadowing of names such as arguments - "no-undef": 2, // disallow use of undeclared variables unless mentioned in a /*global */ block - "no-undefined": 0, // disallow use of undefined variable (off by default) - "no-undef-init": 1, // disallow use of undefined when initializing variables - "no-unused-vars": [1, {"vars": "all", "args": "none"}], // disallow declaration of variables that are not used in the code - "no-use-before-define": 0, // disallow use of variables before they are defined - - // Node.js - // These rules are specific to JavaScript running on Node.js. - - "handle-callback-err": 1, // enforces error handling in callbacks (off by default) (on by default in the node environment) - "no-mixed-requires": 1, // disallow mixing regular variable and require declarations (off by default) (on by default in the node environment) - "no-new-require": 1, // disallow use of new operator with the require function (off by default) (on by default in the node environment) - "no-path-concat": 1, // disallow string concatenation with __dirname and __filename (off by default) (on by default in the node environment) - "no-process-exit": 0, // disallow process.exit() (on by default in the node environment) - "no-restricted-modules": 1, // restrict usage of specified node modules (off by default) - "no-sync": 0, // disallow use of synchronous methods (off by default) - - // Stylistic Issues - // These rules are purely matters of style and are quite subjective. - - "key-spacing": 0, - "comma-spacing": 0, - "no-multi-spaces": 0, - "brace-style": 0, // enforce one true brace style (off by default) - "camelcase": 1, // require camel case names - "consistent-this": [1, "self"], // enforces consistent naming when capturing the current execution context (off by default) - "eol-last": 1, // enforce newline at the end of file, with no multiple empty lines - "func-names": 0, // require function expressions to have a name (off by default) - "func-style": 0, // enforces use of function declarations or expressions (off by default) - "new-cap": 0, // require a capital letter for constructors - "new-parens": 1, // disallow the omission of parentheses when invoking a constructor with no arguments - "no-nested-ternary": 0, // disallow nested ternary expressions (off by default) - "no-array-constructor": 1, // disallow use of the Array constructor - "no-lonely-if": 0, // disallow if as the only statement in an else block (off by default) - "no-new-object": 1, // disallow use of the Object constructor - "no-spaced-func": 1, // disallow space between function identifier and application - "semi-spacing": 1, // disallow space before semicolon - "no-ternary": 0, // disallow the use of ternary operators (off by default) - "no-trailing-spaces": 1, // disallow trailing whitespace at the end of lines - "no-underscore-dangle": 0, // disallow dangling underscores in identifiers - "no-mixed-spaces-and-tabs": 1, // disallow mixed spaces and tabs for indentation - "quotes": [1, "single"], // specify whether double or single quotes should be used - "quote-props": 0, // require quotes around object literal property names (off by default) - "semi": 0, // require or disallow use of semicolons instead of ASI - "sort-vars": 0, // sort variables within the same declaration block (off by default) - "keyword-spacing": 1, // require a space after certain keywords (off by default) - "space-in-brackets": 0, // require or disallow spaces inside brackets (off by default) - "space-in-parens": 0, // require or disallow spaces inside parentheses (off by default) - "space-infix-ops": 1, // require spaces around operators - "max-nested-callbacks": 0, // specify the maximum depth callbacks can be nested (off by default) - "one-var": 0, // allow just one var statement per function (off by default) - "wrap-regex": 0, // require regex literals to be wrapped in parentheses (off by default) - - // Legacy - // The following rules are included for compatibility with JSHint and JSLint. While the names of the rules may not match up with the JSHint/JSLint counterpart, the functionality is the same. - - "max-depth": 0, // specify the maximum depth that blocks can be nested (off by default) - "max-len": 0, // specify the maximum length of a line in your program (off by default) - "max-params": 0, // limits the number of parameters that can be used in the function declaration. (off by default) - "max-statements": 0, // specify the maximum number of statement allowed in a function (off by default) - "no-bitwise": 0, // disallow use of bitwise operators (off by default) - "no-plusplus": 0 // disallow use of unary operators, ++ and -- (off by default) - } -} - diff --git a/CHANGELOG.md b/CHANGELOG.md index e988d1b..c18a256 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,15 @@ This change log adheres to standards from [Keep a CHANGELOG]. [Semantic Versioning]: http://semver.org/ [Keep a CHANGELOG]: http://keepachangelog.com +## [1.2.1] 2021-06-03 + +### :rocket: Enhancement +* All rules are now updated to `sublime-color-scheme`. +* Slightly lighten minimap color. + +### :house: Internal +* Update installation information. + ## [1.2.0] 2021-06-03 #### :rocket: Enhancement @@ -37,6 +46,7 @@ This change log adheres to standards from [Keep a CHANGELOG]. * Add Scrollbars (Whoa, magical!) * Support for 'Skins' plugin. +[1.2.1]: https://github.com/erremauro/TwoDark/compare/v1.2.0...v1.2.1 [1.2.0]: https://github.com/erremauro/TwoDark/compare/v1.1.2...v1.2.0 [1.1.2]: https://github.com/erremauro/TwoDark/compare/v1.1.1...v1.1.2 [1.1.1]: https://github.com/erremauro/TwoDark/compare/v1.1.0...v1.1.1 diff --git a/README.md b/README.md index 8e01774..675798d 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,10 @@ # TwoDark -It's like [OneDark][2] for Atom, but it's called [TwoDark][1] and works with -[Sublime Text][3]. +Atom's OneDark-UI inspired theme for [Sublime Text][3]. ## Why? -Even if other [OneDark][2] inspired theme for Sublime Text exists, +Even if other OneDark inspired theme for Sublime Text exists, I felt that they were all missing– for their own reasons –some of the details that I liked from the original. That's why I decided to roll the version that I wanted to use. I hope you enjoy it. @@ -50,21 +49,11 @@ preferences. (or , on Mac) "draw_shadows": false, "highlight_modified_tabs": true, "caret_extra_width": 1, + "caret_style": "smooth", } ``` -## Credits and Thanks - -- GitHub for OneDark, Atom and all the good stuff. -- [Jannik Siebert][4] for the original App Icon design. -- [IceTimux][5] for [OneDark Color Scheme][6] - - [1]: https://erremauro.github.io/TwoDark -[2]: https://github.com/atom/one-dark-ui [3]: http://www.sublimetext.com -[4]: https://dribbble.com/janniks -[5]: https://github.com/IceTimux/ -[6]: https://github.com/IceTimux/one-dark-sublime-text-3-color-scheme [screenshot]: screenshots/TwoDark.png [zip]: https://github.com/erremauro/TwoDark/archive/master.zip diff --git a/TwoDark.sublime-color-scheme b/TwoDark.sublime-color-scheme index 5c1b5a0..4a0f7c6 100644 --- a/TwoDark.sublime-color-scheme +++ b/TwoDark.sublime-color-scheme @@ -3,135 +3,102 @@ "author": "Roberto Mauro ", "variables": { - "rm_blue": "hsl(220, 13%, 18%)", - "rm_blue1": "hsl(220, 100%, 66%)", - "rm_blue2": "#2B313A", - "rm_blue3": "#3D4350", - "rm_blue4": "#5C6370", - "rm_white": "hsl(219, 14%, 71%)", "black": "hsl(0, 0%, 0%)", - "blue": "hsl(207, 82%, 66%)", - "blue2": "hsl(209, 13%, 35%)", - "blue3": "hsl(210, 15%, 24%)", - "blue4": "hsl(210, 13%, 45%)", - "blue5": "hsl(187, 47%, 55%)", - "blue6": "hsl(221, 12%, 69%)", - "green": "hsl(95, 38%, 62%)", - "grey": "hsl(0, 0%, 20%)", - "orange": "hsl(39, 67%, 69%)", - "orange2": "hsl(29, 54%, 61%)", - "orange3": "hsl(40, 94%, 68%)", + "darker_grey": "hsl(220, 13%, 18%)", + "dark_grey": "hsl(216, 15%, 20%)", + "grey": "hsl(221, 13%, 28%)", + "light_grey": "hsl(219, 10%, 40%)", + "light_grey2": "hsl(209, 13%, 35%", + "lighter_grey": "hsl(206, 11%, 45%)", + "white": "hsl(219, 14%, 71%)", "pink": "hsl(286, 60%, 67%)", + "lighter_orange": "hsl(21, 93%, 66%)", + "ligh_orange": "hsl(19, 59%, 57%)", + "orange": "hsl(29, 54%, 61%)", + "light_red": "hsl(359, 83%, 71%)", "red": "hsl(355, 65%, 65%)", - "red2": "hsl(13, 93%, 66%)", - "white": "hsl(0, 0%, 100%)", - "white2": "hsl(0, 0%, 97%)", - "white3": "hsl(219, 28%, 88%)" + "deep_red": "hsla(5, 48%, 51%, 1)", + "electric_blue": "hsl(220, 100%, 66%)", + "blue": "hsl(207, 82%, 66%)", + "cyan": "hsl(187, 47%, 55%)", + "yellow": "hsl(40, 94%, 68%)", + "green": "hsl(95, 38%, 62%)", + "mocha": "hsla(55, 5%, 43%)" }, "globals": { - "foreground": "var(rm_white)", - "background": "var(rm_blue)", - "invisibles": "#65737e", - "caret": "var(rm_blue1)", - "line_highlight": "var(rm_blue2)", - "selection": "var(rm_blue3)", - "selection_border":"#4f5b66", - "inactive_selection": "var(blue2)", + "foreground": "var(white)", + "background": "var(darker_grey)", + "invisibles": "var(lighter_grey)", + "caret": "var(electric_blue)", + "line_highlight": "var(dark_grey)", + "selection": "var(grey)", + "selection_border":"var(light_grey2)", + "inactive_selection": "var(light_grey2)", "misspelling": "var(red)", "shadow": "color(var(black) alpha(0.25))", - "active_guide": "var(blue5)", - "stack_guide": "color(var(blue5) alpha(0.5))", - "highlight": "var(blue5)", + "active_guide": "var(cyan)", + "stack_guide": "color(var(cyan) alpha(0.5))", + "highlight": "var(cyan)", "find_highlight_foreground": "var(grey)", - "find_highlight": "var(orange3)", + "find_highlight": "var(yellow)", "brackets_options": "underline", - "brackets_foreground": "var(orange)", + "brackets_foreground": "var(cyan)", "bracket_contents_options": "underline", - "bracket_contents_foreground": "var(blue5)", + "bracket_contents_foreground": "var(cyan)", "tags_options": "stippled_underline", "tags_foreground": "var(pink)" }, "rules": [ { - "name": "Comment", - "scope": "comment, punctuation.definition.comment", - "foreground": "var(rm_blue4)" - }, - { - "name": "Delimiters", - "foreground": "#ABB2BF" - }, - { - "name": "String", - "scope": "string, punctuation.definition.string", - "foreground": "var(green)" - }, - { - "name": "Punctuation", - "scope": "punctuation.definition", - "foreground": "var(blue5)" - }, - { - "name": "Number", - "scope": "constant.numeric", - "foreground": "#D19A66" + "scope": "variable.parameter.function", + "foreground": "var(white)" }, { - "name": "Built-in constant", - "scope": "constant.language", - "foreground": "var(red)", + "scope": "comment, punctuation.definition.comment", + "foreground": "var(light_grey)", "font_style": "italic" }, { - "name": "User-defined constant", - "scope": "constant.character, constant.other", - "foreground": "var(pink)" - }, - { - "scope": "variable", - "foreground": "var(red)" + "name": "Delimiters", + "scope": "none", + "foreground": "var(white)" }, { - "name": "Member Variable", - "scope": "variable.member", - "foreground": "var(red)" + "name": "Operator", + "scope": "keyword.operator", + "foreground": "var(white)" }, { "name": "Keyword", - "scope": "keyword - keyword.operator, keyword.operator.word", + "scope": "keyword", "foreground": "var(pink)" }, { - "name": "Operators", - "scope": "keyword.operator", - "foreground": "var(rm_white)" - }, - { - "name": "Punctuation", - "scope": "punctuation.separator, punctuation.terminator", - "foreground": "var(rm_white)" + "name": "Variable", + "scope": "variable", + "foreground": "var(red)" }, { - "name": "Punctuation", - "scope": "punctuation.section", - "foreground": "var(rm_white)" + "name": "Functions", + "scope": "entity.name.function, meta.require, support.function.any-method", + "foreground": "var(blue)" }, { - "name": "Accessor", - "scope": "punctuation.accessor", - "foreground": "var(blue6)" + "name": "Classes", + "scope": "support.class, entity.name.class, entity.name.type.class", + "foreground": "var(yellow)" }, { - "name": "Annotation Punctuation", - "scope": "punctuation.definition.annotation", - "foreground": "var(blue5)" + "name": "Classes", + "scope": "meta.class", + "foreground": "var(white)" }, { - "name": "JavaScript Dollar", - "scope": "variable.other.dollar.only.js, variable.other.object.dollar.only.js, variable.type.dollar.only.js, support.class.dollar.only.js", - "foreground": "var(blue5)" + "name": "Methods", + "scope": "keyword.other.special-method", + "foreground": "var(blue)" }, { "name": "Storage", @@ -139,196 +106,199 @@ "foreground": "var(pink)" }, { - "name": "Storage type", - "scope": "storage.type", - "foreground": "var(pink)", + "name": "Support", + "scope": "support.function", + "foreground": "var(cyan)" }, { - "name": "Entity name", - "scope": "entity.name.function", - "foreground": "var(blue)" + "name": "Strings, Inherited Class", + "scope": "string, constant.other.symbol, entity.other.inherited-class", + "foreground": "var(green)" }, { - "name": "Entity name", - "scope": "entity.name - (entity.name.section | entity.name.tag | entity.name.label)", + "name": "Integers", + "scope": "constant.numeric", "foreground": "var(orange)" }, { - "name": "Inherited class", - "scope": "entity.other.inherited-class", - "foreground": "var(green)", - "font_style": "" + "name": "Floats", + "scope": "none", + "foreground": "var(orange)" }, { - "name": "Function argument", - "scope": "variable.parameter.function", - "foreground": "var(rm_white)" + "name": "Boolean", + "scope": "none", + "foreground": "var(orange)" }, { - "name": "Language variable", - "scope": "variable.language", - "foreground": "var(red)", - "font_style": "italic" + "name": "Constant", + "scope": "constant", + "foreground": "var(orange)" }, { - "name": "Tag name", + "name": "Tags", "scope": "entity.name.tag", "foreground": "var(red)" }, { - "name": "Tag attribute", + "name": "Attributes", "scope": "entity.other.attribute-name", - "foreground": "var(orange2)" + "foreground": "var(orange)" }, { - "name": "Function call", - "scope": "variable.function, variable.annotation", - "foreground": "var(red)" + "name": "Attributes IDs", + "scope": "entity.other.attribute-name.id, punctuation.definition.entity", + "foreground": "var(orange)" }, { - "name": "Library function", - "scope": "support.function, support.macro", - "foreground": "var(blue5)", - "font_style": "" + "name": "Selector", + "scope": "meta.selector", + "foreground": "var(pink)" }, { - "name": "Library constant", - "scope": "support.constant", - "foreground": "var(pink)", - "font_style": "" + "name": "Values", + "scope": "none", + "foreground": "var(orange)" }, { - "name": "Library class/type", - "scope": "support.type, support.class", - "foreground": "var(blue)", - "font_style": "italic" + "name": "Headings", + "scope": "markup.heading punctuation.definition.heading, entity.name.section", + "foreground": "var(blue)" }, { - "name": "Invalid", - "scope": "invalid", - "foreground": "var(white2)", - "background": "var(red)" + "name": "Units", + "scope": "keyword.other.unit", + "foreground": "var(orange)" }, { - "name": "Invalid deprecated", - "scope": "invalid.deprecated", - "foreground": "var(white2)", - "background": "var(orange2)" + "name": "Bold", + "scope": "markup.bold, punctuation.definition.bold", + "foreground": "var(orange)" }, { - "name": "YAML Key", - "scope": "entity.name.tag.yaml", - "foreground": "var(blue5)" + "name": "Italic", + "scope": "markup.italic, punctuation.definition.italic", + "foreground": "var(pink)" }, { - "name": "YAML String", - "scope": "source.yaml string.unquoted", - "foreground": "var(white3)" + "name": "Code", + "scope": "markup.raw.inline", + "foreground": "var(green)" }, { - "name": "markup headings", - "scope": "markup.heading", - "font_style": "bold" + "name": "Link Text", + "scope": "string.other.link, punctuation.definition.string.end.markdown", + "foreground": "var(red)" }, { - "name": "markup headings", - "scope": "markup.heading punctuation.definition.heading, entity.name.section", - "foreground": "var(blue)" + "name": "Link Url", + "scope": "meta.link", + "foreground": "var(orange)" }, { - "name": "markup links", - "scope": "string.other.link, markup.underline.link, punctuation.definition", - "foreground": "var(orange)" + "name": "Lists", + "scope": "markup.list", + "foreground": "var(red)" }, { - "name": "markup bold", - "scope": "markup.bold, text punctuation.definition.bold", - "font_style": "bold", + "name": "Quotes", + "scope": "markup.quote", "foreground": "var(orange)" }, { - "name": "markup italic", - "scope": "markup.italic, text punctuation.definition.italic", - "font_style": "italic", - "foreground": "var(pink)" + "name": "Separator", + "scope": "meta.separator", + "foreground": "var(white)", + "background": "var(grey)" }, { - "name": "markup bold/italic", - "scope": "markup.italic markup.bold | markup.bold markup.italic", - "font_style": "bold italic", + "name": "diff:Inserted", + "scope": "markup.inserted", + "foreground": "var(green)" }, { - "name": "markup hr", - "scope": "punctuation.definition.thematic-break", - "foreground": "var(orange)" + "name": "diff:Deleted", + "scope": "markup.deleted", + "foreground": "var(red)" }, { - "name": "markup list", - "scope": "markup.list, markup.list punctuation.definition.list_item", - "foreground": "var(red)" + "name": "diff:Changed", + "scope": "markup.changed", + "foreground": "var(pink)" }, { - "name": "markup blockquote", - "scope": "markup.quote, markup.quote punctuation.definition.blockquote", - "foreground": "var(orange)" + "name": "Colors", + "scope": "constant.other.color", + "foreground": "var(cyan)" }, { - "name": "markup code", - "scope": "markup.raw.inline, markup.raw.inline punctuation.definition", - "foreground": "var(green)" - }, { - "name": "diff.header", - "scope": "meta.diff, meta.diff.header", - "foreground": "var(pink)" + "name": "Regular Expression", + "scope": "string.regexp", + "foreground": "var(cyan)" }, { - "name": "diff.deleted", - "scope": "markup.deleted", - "foreground": "var(red)" + "name": "Escape Characters", + "scope": "constant.character.escape", + "foreground": "var(cyan)" }, { - "name": "diff.inserted", - "scope": "markup.inserted", - "foreground": "var(green)" + "name": "Embedded", + "scope": "punctuation.section.embedded, variable.interpolation", + "foreground": "var(deep_red)" }, { - "name": "diff.changed", - "scope": "markup.changed", - "foreground": "var(orange)" + "name": "Illegal", + "scope": "invalid.illegal", + "background": "var(light_red)", + "foreground": "var(dark_grey)", }, { - "name": "CSS Properties", - "scope": "support.type.property-name", - "foreground": "var(white3)" + "name": "Broken", + "scope": "invalid.broken", + "background": "var(lighter_orange)", + "foreground": "var(darker_grey)" }, { - "scope": "constant.numeric.line-number.match", - "foreground": "var(red)" + "name": "Deprecated", + "scope": "invalid.deprecated", + "background": "var(light_orange)", + "foreground": "var(darker_grey)", }, { - "scope": "message.error", - "foreground": "var(red)" + "name": "Unimplemented", + "scope": "invalid.unimplemented", + "background": "var(mocha)", + "foreground": "var(darker_grey)" }, - { - "scope": "diff.deleted", - "background": "hsla(357, 45%, 60%, 0.15)", - "foreground_adjust": "l(+ 5%)" + "name": "Javascript Dollar", + "scope": "variable.other.dollar.only.js, variable.other.object.dollar.only.js, variable.type.dollar.only.js, support.class.dollar.only.js", + "foreground": "var(white)" + }, + { + "name": "Python logical keyword", + "scope": "source.python keyword.operator.logical.python", + "foreground": "var(pink)" }, { - "scope": "diff.deleted.char", - "background": "hsla(357, 60%, 60%, 0.30)", - "foreground_adjust": "l(+ 10%)" + "name": "Python function parameter", + "scope": "meta.function-call.python, meta.function.parameters.python, variable.parameter.function.python", + "foreground": "var(orange)" }, { - "scope": "diff.inserted", - "background": "hsla(180, 45%, 60%, 0.15)", - "foreground_adjust": "l(+ 5%)" + "name": "Python class begin", + "scope": "source.python meta.class.python punctuation.definition.inheritance.begin.python", + "foreground": "var(orange)" }, { - "scope": "diff.inserted.char", - "background": "hsla(180, 60%, 60%, 0.30)", - "foreground_adjust": "l(+ 10%)" - } + "name": "Python class end", + "scope": "source.python meta.class.python punctuation.definition.inheritance.end.python", + "foreground": "var(orange)" + }, + { + "name": "Javascript meta constant", + "scope": "source.js meta.function.js support.constant.js", + "foreground": "var(orange)" + }, ] } diff --git a/TwoDark.sublime-theme b/TwoDark.sublime-theme index 19ffff6..7e3572a 100644 --- a/TwoDark.sublime-theme +++ b/TwoDark.sublime-theme @@ -295,8 +295,8 @@ // { "class": "minimap_control", - "settings": ["always_show_minimap_viewport"], - "viewport_color": [255, 255, 255, 15], + "settings": ["!always_show_minimap_viewport"], + "viewport_color": [255, 255, 255, 10], }, // // LABELS @@ -646,7 +646,7 @@ }, { "class": "quick_panel", - "row_padding": [5, 2], + "row_padding": [10, 2], "layer0.tint": [157, 165, 180], "layer0.opacity": 1.0, "dark_content": true, @@ -698,7 +698,6 @@ // // CODE COMPLETION DROPDOWN // - { "class": "popup_control", "content_margin": [0,0], diff --git a/gulp.config.js b/gulp.config.js deleted file mode 100644 index 110e1b5..0000000 --- a/gulp.config.js +++ /dev/null @@ -1,33 +0,0 @@ -var svgPath = './src/svg' - , tmp = './.tmp' - , destPath = process.env['NODE_ENV'] === 'debug' ? tmp : './' - , gfx = { prefix: 'gfx' } - , icons = { prefix: 'icns' } - -gfx = Object.assign(gfx, { - src: svgPath + '/' + gfx.prefix + '_*.svg', - dest: destPath + 'TwoDark', -}) - -icons = Object.assign(icons, { - src: svgPath + '/' + icons.prefix + '_*.svg', - dest: destPath + 'icons', -}) - -var config = { - gfx: gfx, - icons: icons, - theme: './TwoDark.sublime-theme', - iconsPrefs: './icons/Prefs', - svgPath: svgPath, - allSvg: svgPath + '/*.svg', - tmp: tmp, - patterns: { - images: /(Theme\s-\sTwoDark\/TwoDark\/)(.+\.png)/g, - imagesDir: /(Theme\s-\sTwoDark\/TwoDark\/)/i, - gfxFiles: /^gfx_.+\.svg/gi, - icnsFiles: /^icns_.+\.svg/gi - } -} - -module.exports = config \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js deleted file mode 100644 index 2497e55..0000000 --- a/gulpfile.js +++ /dev/null @@ -1,123 +0,0 @@ -var fs = require( 'fs-extra' ) - , es = require('event-stream') - , path = require( 'path' ) - , gulp = require( 'gulp' ) - , gulpLoadPlugins = require( 'gulp-load-plugins' ) - , svg2png = require( './lib/gulp-svg2png' ) - , TaskUtil = require('./lib/task-util') - , config = require( './gulp.config.js' ) -var $ = gulpLoadPlugins() - -// Monitor svg changes and rebuild changed file. -gulp.task( 'watch', function() { - TaskUtil.log( 'Monitoring file changes at ' + config.svgPath ) - var opts = { - ignoreInitial: true, - events: [ 'add', 'change' ] - } - return $.watch( config.allSvg, opts, function( file ) { - var basename = path.basename( file.path ) - if ( basename.match( config.patterns.gfxFiles ) ) { - return build( file.path, config.gfx.dest, config.gfx.prefix ) - } - else if ( basename.match( config.patterns.icnsFiles ) ) { - return build( file.path, config.icons.dest, config.icons.prefix ) - } - }) -}) - -// Build all graphic files and icons. -gulp.task( 'default', [ 'build-gfx', 'build-icons' ] ) - -// Build all graphic files. -gulp.task( 'build-gfx', function() { - TaskUtil.log( 'Building graphic files...' ) - return build( config.gfx.src, config.gfx.dest, config.gfx.prefix ) -}) - -// Build all icon files. -gulp.task( 'build-icons', function() { - TaskUtil.log( 'Building icon files...' ) - return build( config.icons.src, config.icons.dest, config.icons.prefix ) -}) - -// Compress source svg files. -gulp.task( 'compress', function() { - TaskUtil.log( 'Compressing svg sources...' ) - return gulp.src( config.allSvg ) - .pipe( $.svgmin() ) - .pipe( gulp.dest( './') ) -}) - -// Clean built graphic and icons from unwanted files. -gulp.task( 'cleanup', function() { - TaskUtil.log( 'Removing unwanted files from built images...' ) - return TaskUtil.getThemeImages().then( function( themeImages ) { - themeImages = themeImages.concat( - TaskUtil.copyImagesWithFactor( themeImages, 2 ) - ) - var graphics = TaskUtil.readDirs( config.gfx.dest ) - var unwanted = TaskUtil.arrDiff( graphics, themeImages ) - if ( unwanted.length > 0 ) { - for ( var i = 0; i < unwanted.length; i++ ) { - fs.unlinkSync( config.gfx.dest + '/' + unwanted[i] ) - } - } - }) -}) - -// Safe delete all graphic files and icons. -gulp.task( 'clean-all', function() { - TaskUtil.log( 'Cleaning the project...' ) - return TaskUtil.cleanDirs( [ config.gfx.dest, config.icons.dest ] ) -}) - -// List missing graphic files -gulp.task( 'missing', [ 'missing-icons' ], function() { - return TaskUtil.getThemeImages().then( function( themeImages ) { - themeImages = themeImages.concat( - TaskUtil.copyImagesWithFactor( themeImages, 2 ) - ) - - var graphics = TaskUtil.readDirs( config.gfx.dest ) - var missing = TaskUtil.arrDiff( themeImages, graphics ) - - TaskUtil.printMissing( missing, 'graphics' ) - }) -}) - - -gulp.task( 'missing-icons', function() { - return TaskUtil.getThemeIcons().then( function( expectedIcons ) { - var icons = TaskUtil.readDirs( config.icons.dest ) - var missing = TaskUtil.arrDiff( expectedIcons, icons ) - - TaskUtil.printMissing( missing, 'icons' ) - }) - .fail( function( err ) { - throw err - }) -}) - -/** - * Convert all svg files at `path` to `.png` - * Rendered files are built for standard and retina resolutions. - * @param {!string|Vinyl} file - Source glob, file path or Vinyl file. - * @param {!string} dest - Destination glob or directory path. - * @param {!string} prefix - Type prefix (i.e. gfx|icns) - * @returns {Stream} - */ -function build( file, dest, prefix ) { - var changedSvg = typeof file === 'string' ? gulp.src( file ) : file - var standard = changedSvg - .pipe( svg2png() ) - .pipe( $.rename( function( pngFile ) { - pngFile.basename = TaskUtil.rename( pngFile.basename, prefix + '_' ) - } ) ) - var retina = changedSvg - .pipe( svg2png( { factor: 2 } ) ) - .pipe( $.rename( function( pngFile ) { - pngFile.basename = TaskUtil.rename( pngFile.basename, prefix + '_', 2 ) - } ) ) - return es.merge( standard, retina ).pipe( gulp.dest( dest ) ) -} diff --git a/messages.json b/messages.json index 383c548..ad061aa 100644 --- a/messages.json +++ b/messages.json @@ -3,5 +3,6 @@ "1.1.0": "messages/1.1.0.txt", "1.1.1": "messages/1.1.1.txt", "1.1.2": "messages/1.1.2.txt", - "1.2.0": "messages/1.2.0.txt" + "1.2.0": "messages/1.2.0.txt", + "1.2.1": "messages/1.2.1.txt" } diff --git a/messages/1.2.0.txt b/messages/1.2.0.txt index 94dce12..ad5dfe5 100644 --- a/messages/1.2.0.txt +++ b/messages/1.2.0.txt @@ -10,14 +10,15 @@ preferences and make the following changes: Please note that the new color scheme could have small inconsistencies here and there that are planned to be fixed in future versions. -You're welcome to submit any issue or even better a fix at https://github.com/erremauro/TwoDark +You're welcome to submit any issue or even better a fix at +https://github.com/erremauro/TwoDark TwoDark Changelog ================== ## [1.2.0] 2021-06-03 -### Enhancements +### Enhancement * Convert color theme to `sublime-color-scheme`. * Add @3x retina icons resolution. diff --git a/messages/1.2.1.txt b/messages/1.2.1.txt new file mode 100644 index 0000000..8ff37e7 --- /dev/null +++ b/messages/1.2.1.txt @@ -0,0 +1,49 @@ +TwoDark v1.2.1 is here! + +This version migrate to `sublime-color-scheme` format! Head over to your +preferences and make the following changes: + + { + "theme": "TwoDark.sublime-theme", + "color_scheme": "Packages/Theme - TwoDark/TwoDark.sublime-color-scheme", + "draw_shadows": false, + "highlight_modified_tabs": true, + "caret_extra_width": 1, + "caret_style": "smooth", + } + +TwoDark Changelog +================== + +## [1.2.1] 2021-06-03 + +### Enhancement +* All rules are now updated to `sublime-color-scheme`. +* Slightly lighten minimap color. + +### Internal +* Update installation information. + +## [1.2.0] 2021-06-03 + +### Enhancement + +* Convert color theme to `sublime-color-scheme`. +* Add @3x retina icons resolution. + +### BugFix + +* Fix Sidebar icons color. + +## [1.1.1] 2016-12-08 + +### Enhancement + +* Scrollbars background color has been darkened to match the general ui palette. + +## [1.1.0] 2016-12-08 + +### Enhancement + +* Add Scrollbars (Whoa, magical!) +* Support for 'Skins' plugin. diff --git a/messages/install.txt b/messages/install.txt index 382aceb..b1b973e 100644 --- a/messages/install.txt +++ b/messages/install.txt @@ -1,11 +1,12 @@ -In life I took many forms and seen many places. +Thank you for choosing TwoDark! -Now I've traveled through time and space just to meet **you** at the perfect time, in the perfect place. I'm install.txt +If you find any issue or you'd like to collaborate to the project, +head over https://github.com/erremauro/TwoDark.git -How to Activate -=============== +## Configurations -To activate the UI Theme and Color Scheme, modify you user preferences by selecting: `Sublime Text` -> Preferences -> Settings - User +To activate the UI Theme and Color Scheme, modify you user preferences by +selecting: `Sublime Text` -> Preferences -> Settings - User { "theme": "TwoDark.sublime-theme", @@ -13,7 +14,7 @@ To activate the UI Theme and Color Scheme, modify you user preferences by select "draw_shadows": false, "highlight_modified_tabs": true, "caret_extra_width": 1, + "caret_style": "smooth", } Restart Sublime Text after activating the theme. - diff --git a/package.json b/package.json index 32add46..59ce825 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,12 @@ { "name": "TwoDark", - "version": "1.2.0", + "version": "1.2.1", "description": "It's like OneDark for Atom, but it's called TwoDark and works for SublimeText", - "main": "build.js", + "author": "Roberto Mauro ", + "homepage": "https://github.com/erremauro/TwoDark#readme", + "license": "MIT", + "bugs": "https://github.com/erremauro/TwoDark/issues", + "main": "scripts/build.js", "scripts": { "build": "node scripts/build", "convert-gfx": "node scripts/convert-gfx.js", @@ -12,6 +16,9 @@ "type": "git", "url": "git+https://github.com/erremauro/TwoDark.git" }, + "engines": { + "node": ">=14.17.0" + }, "keywords": [ "theme", "sublime", @@ -22,12 +29,6 @@ "editor", "packagecontrol" ], - "author": "Roberto Mauro ", - "license": "MIT", - "bugs": { - "url": "https://github.com/erremauro/TwoDark/issues" - }, - "homepage": "https://github.com/erremauro/TwoDark#readme", "dependencies": { "glob": "^7.1.7", "sharp": "^0.28.3"