├── .gitignore ├── LICENSE ├── README.md ├── index.less ├── package.json └── styles ├── editor.less ├── languages.less └── syntax-variables.less /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | *.log 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 GitHub, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # GitHub light 2 | 3 | [![apm downloads](https://img.shields.io/apm/dm/github-atom-light-syntax.svg?maxAge=2592000)](https://atom.io/packages/github-atom-light-syntax) 4 | 5 | > GitHub's official light syntax theme as an atom theme 6 | 7 | ![](https://cloud.githubusercontent.com/assets/54012/16179343/c0a78672-3630-11e6-80b1-eb0a0b647225.png) 8 | 9 | ## Install 10 | 11 | This repository is distributed with [apm][apm]. After [installing apm][install-apm], you can install `github-atom-light-syntax` with this command. 12 | 13 | ``` 14 | $ apm install github-atom-light-syntax 15 | ``` 16 | 17 | ## Usage 18 | 19 | After installation, you can enable this theme in your [Atom theme settings](http://flight-manual.atom.io/using-atom/sections/atom-packages/#_atom_themes). 20 | 21 | ## Build 22 | 23 | This was generated by the [github-syntax-theme-generator](https://github.com/primer/github-syntax-theme-generator). To rebuild, you will need to follow the instructions there. 24 | 25 | ## Contributing 26 | 27 | For any bugs, fill reports with the [generator](https://github.com/primer/github-syntax-theme-generator/issues). For shipping a new version, run the npm script `npm run ship`. This will 28 | 29 | - Update the lib files 30 | - Update the version to match the github-syntax-theme-generator version 31 | - Push to GitHub 32 | - Publish to apm 33 | 34 | ## Changelog 35 | 36 | The [changelog](https://github.com/primer/github-syntax-theme-generator/blob/master/CHANGELOG.md) is kept in the generator repository. 37 | 38 | ## License 39 | 40 | [MIT](./LICENSE) © [GitHub](https://github.com/) 41 | 42 | [docs]: http://primercss.io/ 43 | [npm]: https://www.npmjs.com/ 44 | [install-npm]: https://docs.npmjs.com/getting-started/installing-node 45 | [install-apm]: https://github.com/atom/apm#installing 46 | [sass]: http://sass-lang.com/ 47 | [apm]: https://atom.io/themes 48 | -------------------------------------------------------------------------------- /index.less: -------------------------------------------------------------------------------- 1 | @import "./styles/syntax-variables.less"; 2 | @import "./styles/editor.less"; 3 | @import "./styles/languages.less"; 4 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.5.0", 3 | "name": "github-atom-light-syntax", 4 | "theme": "syntax", 5 | "description": "GitHub's official light syntax theme as an atom theme", 6 | "homepage": "https://github.com/primer/github-atom-light-syntax#readme", 7 | "style": "index.less", 8 | "author": "GitHub Inc.", 9 | "license": "MIT", 10 | "files": [ 11 | "index.less", 12 | "styles" 13 | ], 14 | "repository": { 15 | "type": "git", 16 | "url": "git+https://github.com/primer/github-atom-light-syntax.git" 17 | }, 18 | "bugs": { 19 | "url": "https://github.com/primer/github-syntax-theme-generator/issues" 20 | }, 21 | "scripts": { 22 | "_version": "apm publish $(npm view github-syntax-theme-generator version)", 23 | "_commit": "git commit -am \"$(npm view github-syntax-theme-generator version)\"", 24 | "_update": "npm update && cp -rf node_modules/github-syntax-theme-generator/build/atom/github-light/*.less ./styles/", 25 | "ship": "npm run _update && npm run _commit && npm run _version", 26 | "test": "echo \"Error: no test specified\" && exit 1" 27 | }, 28 | "keywords": [ 29 | "github", 30 | "syntax", 31 | "css", 32 | "theme", 33 | "highlight", 34 | "code", 35 | "dark" 36 | ], 37 | "devDependencies": { 38 | "github-syntax-theme-generator": "*" 39 | }, 40 | "engines": { 41 | "atom": ">=1.0.0 <2.0.0" 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /styles/editor.less: -------------------------------------------------------------------------------- 1 | atom-text-editor { 2 | background-color: @syntax-background-color; 3 | color: @syntax-text-color; 4 | 5 | .line.cursor-line { 6 | background-color: @syntax-cursor-line; 7 | } 8 | 9 | .invisible { 10 | color: @syntax-invisible-color; 11 | } 12 | 13 | .cursor { 14 | border-left: 2px solid @syntax-cursor-color; 15 | } 16 | 17 | .selection .region { 18 | background-color: @syntax-selection-color; 19 | } 20 | 21 | .bracket-matcher .region { 22 | border-bottom: 1px solid @syntax-cursor-color; 23 | box-sizing: border-box; 24 | z-index: 1; 25 | } 26 | 27 | .invisible-character { 28 | color: @syntax-invisible-character-color; 29 | } 30 | 31 | .indent-guide { 32 | color: @syntax-indent-guide-color; 33 | } 34 | 35 | .wrap-guide { 36 | background-color: @syntax-wrap-guide-color; 37 | } 38 | 39 | .gutter { 40 | background-color: @syntax-gutter-background-color; 41 | color: @syntax-gutter-text-color; 42 | 43 | .line-number { 44 | color: @syntax-gutter-text-color; 45 | -webkit-font-smoothing: antialiased; 46 | 47 | &.cursor-line { 48 | color: @syntax-gutter-text-color-selected; 49 | background-color: @syntax-gutter-background-color-selected; 50 | } 51 | &.cursor-line-no-selection { 52 | background-color: transparent; 53 | } 54 | 55 | .icon-right { 56 | color: @syntax-text-color; 57 | } 58 | } 59 | 60 | &:not(.git-diff-icon) .line-number.git-line-removed { 61 | &.git-line-removed::before { 62 | bottom: -3px; 63 | } 64 | &::after { 65 | content: ""; 66 | position: absolute; 67 | left: 0px; 68 | bottom: 0px; 69 | width: 25px; 70 | border-bottom: 1px dotted fade(@syntax-color-removed, 50%); 71 | pointer-events: none; 72 | } 73 | } 74 | } 75 | 76 | .gutter .line-number.folded, 77 | .gutter .line-number:after, 78 | .fold-marker:after { 79 | color: @syntax-gutter-text-color-selected; 80 | } 81 | } 82 | 83 | atom-text-editor .search-results .syntax--marker .region { 84 | background-color: transparent; 85 | border: 1px solid @syntax-result-marker-color; 86 | } 87 | 88 | atom-text-editor .search-results .syntax--marker.current-result .region { 89 | border: 1px solid @syntax-result-marker-color-selected; 90 | } 91 | -------------------------------------------------------------------------------- /styles/languages.less: -------------------------------------------------------------------------------- 1 | atom-text-editor { 2 | .syntax--comment, 3 | .syntax--punctuation.syntax--definition.syntax--comment, 4 | .syntax--string.syntax--comment { 5 | color: #6a737d; 6 | } 7 | 8 | .syntax--constant, 9 | .syntax--entity.syntax--name.syntax--constant, 10 | .syntax--variable.syntax--other.syntax--constant, 11 | .syntax--variable.syntax--language { 12 | color: #005cc5; 13 | } 14 | 15 | .syntax--keyword.syntax--operator.syntax--symbole, 16 | .syntax--keyword.syntax--other.syntax--mark { 17 | } 18 | 19 | .syntax--entity, 20 | .syntax--entity.syntax--name { 21 | font-weight: normal; 22 | font-style: normal; 23 | text-decoration: none; 24 | color: #6f42c1; 25 | } 26 | 27 | .syntax--variable.syntax--parameter.syntax--function { 28 | color: #24292e; 29 | } 30 | 31 | .syntax--entity.syntax--name.syntax--tag { 32 | font-weight: normal; 33 | font-style: normal; 34 | text-decoration: none; 35 | color: #22863a; 36 | } 37 | 38 | .syntax--keyword { 39 | font-weight: normal; 40 | font-style: normal; 41 | text-decoration: none; 42 | color: #d73a49; 43 | } 44 | 45 | .syntax--storage, 46 | .syntax--storage.syntax--type { 47 | color: #d73a49; 48 | } 49 | 50 | .syntax--storage.syntax--modifier.syntax--package, 51 | .syntax--storage.syntax--modifier.syntax--import, 52 | .syntax--storage.syntax--type.syntax--java { 53 | color: #24292e; 54 | } 55 | 56 | .syntax--string, 57 | .syntax--punctuation.syntax--definition.syntax--string, 58 | .syntax--string .syntax--punctuation.syntax--section.syntax--embedded .syntax--source { 59 | font-weight: normal; 60 | font-style: normal; 61 | text-decoration: none; 62 | color: #032f62; 63 | } 64 | 65 | .syntax--string.syntax--unquoted.syntax--import.syntax--ada { 66 | } 67 | 68 | .syntax--support { 69 | font-weight: normal; 70 | font-style: normal; 71 | text-decoration: none; 72 | color: #005cc5; 73 | } 74 | 75 | .syntax--meta.syntax--property-name { 76 | font-weight: normal; 77 | font-style: normal; 78 | text-decoration: none; 79 | color: #005cc5; 80 | } 81 | 82 | .syntax--variable { 83 | font-weight: normal; 84 | font-style: normal; 85 | text-decoration: none; 86 | color: #e36209; 87 | } 88 | 89 | .syntax--variable.syntax--other { 90 | color: #24292e; 91 | } 92 | 93 | .syntax--invalid.syntax--broken { 94 | font-weight: bold; 95 | font-style: italic; 96 | text-decoration: underline; 97 | color: #b31d28; 98 | } 99 | 100 | .syntax--invalid.syntax--deprecated { 101 | font-weight: bold; 102 | font-style: italic; 103 | text-decoration: underline; 104 | color: #b31d28; 105 | } 106 | 107 | .syntax--invalid.syntax--illegal { 108 | font-style: italic; 109 | text-decoration: underline; 110 | background-color: #b31d28; 111 | color: #fafbfc; 112 | } 113 | 114 | .syntax--carriage-return { 115 | font-style: italic; 116 | text-decoration: underline; 117 | background-color: #d73a49; 118 | color: #fafbfc; 119 | undefined: ^M; 120 | } 121 | 122 | .syntax--invalid.syntax--unimplemented { 123 | font-weight: bold; 124 | font-style: italic; 125 | text-decoration: underline; 126 | color: #b31d28; 127 | } 128 | 129 | .syntax--message.syntax--error { 130 | color: #b31d28; 131 | } 132 | 133 | .syntax--string .syntax--source { 134 | font-weight: normal; 135 | font-style: normal; 136 | text-decoration: none; 137 | color: #24292e; 138 | } 139 | 140 | .syntax--string .syntax--variable { 141 | font-weight: normal; 142 | font-style: normal; 143 | text-decoration: none; 144 | color: #005cc5; 145 | } 146 | 147 | .syntax--source.syntax--regexp, 148 | .syntax--string.syntax--regexp { 149 | font-weight: normal; 150 | font-style: normal; 151 | text-decoration: none; 152 | color: #032f62; 153 | } 154 | 155 | .syntax--string.syntax--regexp.syntax--character-class, 156 | .syntax--string.syntax--regexp .syntax--constant.syntax--character.syntax--escape, 157 | .syntax--string.syntax--regexp .syntax--source.syntax--ruby.syntax--embedded, 158 | .syntax--string.syntax--regexp .syntax--string.syntax--regexp.syntax--arbitrary-repitition { 159 | color: #032f62; 160 | } 161 | 162 | .syntax--string.syntax--regexp .syntax--constant.syntax--character.syntax--escape { 163 | font-weight: bold; 164 | color: #22863a; 165 | } 166 | 167 | .syntax--support.syntax--constant { 168 | font-weight: normal; 169 | font-style: normal; 170 | text-decoration: none; 171 | color: #005cc5; 172 | } 173 | 174 | .syntax--support.syntax--variable { 175 | color: #005cc5; 176 | } 177 | 178 | .syntax--meta.syntax--module-reference { 179 | color: #005cc5; 180 | } 181 | 182 | .syntax--markup.syntax--list { 183 | color: #735c0f; 184 | } 185 | 186 | .syntax--markup.syntax--heading, 187 | .syntax--markup.syntax--heading .syntax--entity.syntax--name { 188 | font-weight: bold; 189 | color: #005cc5; 190 | } 191 | 192 | .syntax--markup.syntax--quote { 193 | color: #22863a; 194 | } 195 | 196 | .syntax--markup.syntax--italic { 197 | font-style: italic; 198 | color: #24292e; 199 | } 200 | 201 | .syntax--markup.syntax--bold { 202 | font-weight: bold; 203 | color: #24292e; 204 | } 205 | 206 | .syntax--markup.syntax--raw { 207 | font-weight: normal; 208 | font-style: normal; 209 | text-decoration: none; 210 | color: #005cc5; 211 | } 212 | 213 | .syntax--markup.syntax--deleted, 214 | .syntax--meta.syntax--diff.syntax--header.syntax--from-file, 215 | .syntax--punctuation.syntax--definition.syntax--deleted { 216 | background-color: #ffeef0; 217 | color: #b31d28; 218 | } 219 | 220 | .syntax--markup.syntax--inserted, 221 | .syntax--meta.syntax--diff.syntax--header.syntax--to-file, 222 | .syntax--punctuation.syntax--definition.syntax--inserted { 223 | background-color: #f0fff4; 224 | color: #22863a; 225 | } 226 | 227 | .syntax--markup.syntax--changed, 228 | .syntax--punctuation.syntax--definition.syntax--changed { 229 | background-color: #ffebda; 230 | color: #e36209; 231 | } 232 | 233 | .syntax--markup.syntax--ignored, 234 | .syntax--markup.syntax--untracked { 235 | color: #f6f8fa; 236 | background-color: #005cc5; 237 | } 238 | 239 | .syntax--meta.syntax--diff.syntax--range { 240 | color: #6f42c1; 241 | font-weight: bold; 242 | } 243 | 244 | .syntax--meta.syntax--diff.syntax--header { 245 | color: #005cc5; 246 | } 247 | 248 | .syntax--meta.syntax--separator { 249 | font-weight: bold; 250 | color: #005cc5; 251 | } 252 | 253 | .syntax--meta.syntax--output { 254 | color: #005cc5; 255 | } 256 | 257 | .syntax--brackethighlighter.syntax--tag, 258 | .syntax--brackethighlighter.syntax--curly, 259 | .syntax--brackethighlighter.syntax--round, 260 | .syntax--brackethighlighter.syntax--square, 261 | .syntax--brackethighlighter.syntax--angle, 262 | .syntax--brackethighlighter.syntax--quote { 263 | color: #586069; 264 | } 265 | 266 | .syntax--brackethighlighter.syntax--unmatched { 267 | color: #b31d28; 268 | } 269 | 270 | .syntax--sublimelinter.syntax--mark.syntax--error { 271 | color: #b31d28; 272 | } 273 | 274 | .syntax--sublimelinter.syntax--mark.syntax--warning { 275 | color: #e36209; 276 | } 277 | 278 | .syntax--sublimelinter.syntax--gutter-mark { 279 | color: #959da5; 280 | } 281 | 282 | .syntax--constant.syntax--other.syntax--reference.syntax--link, 283 | .syntax--string.syntax--other.syntax--link { 284 | color: #032f62; 285 | text-decoration: underline; 286 | } 287 | } -------------------------------------------------------------------------------- /styles/syntax-variables.less: -------------------------------------------------------------------------------- 1 | // This defines all syntax variables that syntax themes must implement when they 2 | // include a syntax-variables.less file. 3 | 4 | // General colors 5 | @syntax-text-color: #24292e; 6 | @syntax-cursor-color: #24292e; 7 | @syntax-selection-color: #c8c8fa; 8 | @syntax-background-color: #fff; 9 | @syntax-cursor-line: #fafbfc; 10 | @syntax-invisible-color: #959da5; 11 | 12 | // Guide colors 13 | @syntax-wrap-guide-color: #959da5; 14 | @syntax-indent-guide-color: #959da5; 15 | @syntax-invisible-character-color: #959da5; 16 | 17 | // For find and replace markers 18 | @syntax-result-marker-color: #e36209; 19 | @syntax-result-marker-color-selected: #fff8f2; 20 | 21 | // Gutter colors 22 | @syntax-gutter-text-color: #24292e; 23 | @syntax-gutter-text-color-selected: #24292e; 24 | @syntax-gutter-background-color: #fff; 25 | @syntax-gutter-background-color-selected: #fafbfc; 26 | 27 | // For git diff info. i.e. in the gutter 28 | @syntax-color-renamed: #fafbfc; 29 | @syntax-color-added: #34d058; 30 | @syntax-color-modified: #f9c513; 31 | @syntax-color-removed: #d73a49; 32 | --------------------------------------------------------------------------------