├── README.md ├── package.json ├── LICENSE.md ├── styles └── syntax-variables.less └── index.less /README.md: -------------------------------------------------------------------------------- 1 | # Puppet Dark Syntax theme 2 | 3 | A dark syntax theme for Puppet code. 4 | 5 | This theme was written by Puppet to apply a standard syntax highlighting color standard. 6 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "puppet-dark-syntax", 3 | "theme": "syntax", 4 | "version": "1.0.0", 5 | "description": "A dark theme for puppet syntax", 6 | "repository": "https://github.com/puppetlabs-pmmteam/atom-puppet-dark-syntax", 7 | "license": "MIT", 8 | "engines": { 9 | "atom": ">0.50.0" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015 Puppet Labs Inc. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /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: #c5c8c6; 6 | @syntax-cursor-color: white; 7 | @syntax-selection-color: #444; 8 | @syntax-selection-flash-color: #eee; 9 | @syntax-background-color: #222222; 10 | 11 | // Guide colors 12 | @syntax-wrap-guide-color: rgba(197, 200, 198, .1); 13 | @syntax-indent-guide-color: rgba(197, 200, 198, .2); 14 | @syntax-invisible-character-color: rgba(197, 200, 198, .2); 15 | 16 | // For find and replace markers 17 | @syntax-result-marker-color: #888; 18 | @syntax-result-marker-color-selected: white; 19 | 20 | // Gutter colors 21 | @syntax-gutter-text-color: @syntax-text-color; 22 | @syntax-gutter-text-color-selected: @syntax-gutter-text-color; 23 | @syntax-gutter-background-color: lighten(@syntax-background-color, 5%); 24 | @syntax-gutter-background-color-selected: rgba(255, 255, 255, 0.14); 25 | 26 | // For git diff info. i.e. in the gutter 27 | @syntax-color-renamed: #96CBFE; 28 | @syntax-color-added: #A8FF60; 29 | @syntax-color-modified: #E9C062; 30 | @syntax-color-removed: #CC6666; 31 | 32 | // For language entity colors 33 | @syntax-color-variable: #FF5C36; 34 | @syntax-color-constant: #FFD86E; 35 | @syntax-color-string: #50FF71; 36 | @syntax-color-value: #F9EE98; 37 | @syntax-color-function: #DAD085; 38 | @syntax-color-method: @syntax-color-function; 39 | @syntax-color-class: #62B1FE; 40 | @syntax-color-keyword: #50FF71; 41 | @syntax-color-tag: #96CBFE; 42 | @syntax-color-attribute: #C6C5FE; 43 | @syntax-color-import: @syntax-color-keyword; 44 | @syntax-color-snippet: @syntax-color-constant; 45 | -------------------------------------------------------------------------------- /index.less: -------------------------------------------------------------------------------- 1 | @import 'syntax-variables'; 2 | 3 | atom-text-editor, :host { 4 | background-color: @syntax-background-color; 5 | color: @syntax-text-color; 6 | 7 | .invisible-character { 8 | color: @syntax-invisible-character-color; 9 | } 10 | 11 | .indent-guide { 12 | color: @syntax-indent-guide-color; 13 | } 14 | 15 | .wrap-guide { 16 | background-color: @syntax-wrap-guide-color; 17 | } 18 | 19 | .gutter { 20 | background-color: @syntax-gutter-background-color; 21 | } 22 | .gutter .cursor-line { 23 | background-color: @syntax-gutter-background-color-selected; 24 | } 25 | .line-number.cursor-line-no-selection { 26 | background-color: @syntax-gutter-background-color-selected; 27 | } 28 | 29 | .gutter .line-number.folded, 30 | .gutter .line-number:after, 31 | .fold-marker:after { 32 | color: #fba0e3; 33 | } 34 | 35 | .invisible { 36 | color: @syntax-text-color; 37 | } 38 | 39 | .cursor { 40 | border-color: @syntax-cursor-color; 41 | } 42 | 43 | .selection .region { 44 | background-color: @syntax-selection-color; 45 | } 46 | } 47 | 48 | 49 | .bracket-matcher .region { 50 | border-bottom: 1px solid #f8de7e; 51 | margin-top: -1px; 52 | opacity: .7; 53 | } 54 | 55 | .comment { 56 | color: #7C7C7C; 57 | } 58 | 59 | .entity { 60 | color: #FFD2A7; 61 | 62 | &.name.type { 63 | color: white; 64 | } 65 | 66 | &.other.inherited-class { 67 | color: white; 68 | } 69 | } 70 | 71 | .keyword { 72 | color: #50FF71; 73 | 74 | &.control { 75 | color: #96CBFE; 76 | } 77 | 78 | &.operator { 79 | color: #EDEDED; 80 | } 81 | } 82 | 83 | .storage { 84 | color: #8dc5f7; 85 | 86 | &.type { 87 | color: #8dc5f7; 88 | } 89 | 90 | &.modifier { 91 | color: #96CBFE; 92 | } 93 | } 94 | 95 | .constant { 96 | color: #FFD86E; 97 | 98 | &.numeric { 99 | color: #FF5C36; 100 | } 101 | } 102 | 103 | .variable { 104 | color: #FF5C36; 105 | } 106 | 107 | .invalid.deprecated { 108 | text-decoration: underline; 109 | color: #FD5FF1; 110 | } 111 | 112 | .invalid.illegal { 113 | color: #FD5FF1; 114 | background-color: rgba(86, 45, 86, 0.75); 115 | } 116 | 117 | // String interpolation in Ruby, CoffeeScript, and others 118 | .string { 119 | 120 | .source, 121 | .meta.embedded.line { 122 | color: #EDEDED; 123 | } 124 | 125 | .punctuation.section.embedded { 126 | color: #00A0A0; 127 | 128 | .source { 129 | color: #00A0A0; // Required for the end of embedded strings in Ruby #716 130 | } 131 | } 132 | } 133 | 134 | .string { 135 | color: #50FF71; 136 | 137 | .constant { 138 | color: #00A0A0; 139 | } 140 | 141 | &.regexp { 142 | color: #E9C062; 143 | 144 | .constant.character.escape, 145 | .source.ruby.embedded, 146 | .string.regexp.arbitrary-repetition { 147 | color: #FF8000; 148 | } 149 | 150 | &.group { 151 | color: #C6A24F; 152 | background-color: rgba(255, 255, 255, 0.06); 153 | } 154 | 155 | &.character-class { 156 | color: #B18A3D; 157 | } 158 | } 159 | 160 | } 161 | 162 | .support { 163 | color: #FFFFB6; 164 | 165 | &.function { 166 | color: #FF3972; 167 | } 168 | 169 | &.constant { 170 | color: #FFD2A7; 171 | } 172 | 173 | &.type.property-name.css { 174 | color: #EDEDED; 175 | } 176 | } 177 | 178 | .source .entity.name.tag, 179 | .source .punctuation.tag { 180 | color: #96CBFE; 181 | } 182 | .source .entity.other.attribute-name { 183 | color: #C6C5FE; 184 | } 185 | 186 | .entity { 187 | &.other.attribute-name { 188 | color: #C6C5FE; 189 | } 190 | 191 | &.name.tag.namespace, 192 | &.other.attribute-name.namespace { 193 | color: #E18964; 194 | } 195 | } 196 | 197 | .meta { 198 | &.preprocessor.c { 199 | color: #8996A8; 200 | } 201 | 202 | &.preprocessor.c .keyword { 203 | color: #AFC4DB; 204 | } 205 | 206 | &.cast { 207 | color: #676767; 208 | } 209 | 210 | &.sgml.html .meta.doctype, 211 | &.sgml.html .meta.doctype .entity, 212 | &.sgml.html .meta.doctype .string, 213 | &.xml-processing, 214 | &.xml-processing .entity, 215 | &.xml-processing .string { 216 | color: #494949; 217 | } 218 | 219 | &.tag .entity, 220 | &.tag > .punctuation, 221 | &.tag.inline .entity { 222 | color: #C6C5FE; 223 | } 224 | &.tag .name, 225 | &.tag.inline .name, 226 | &.tag > .punctuation { 227 | color: #96CBFE; 228 | } 229 | 230 | &.selector.css .entity.name.tag { 231 | text-decoration: underline; 232 | color: #96CBFE; 233 | } 234 | 235 | &.selector.css .entity.other.attribute-name.tag.pseudo-class { 236 | color: #8F9D6A; 237 | } 238 | 239 | &.selector.css .entity.other.attribute-name.id { 240 | color: #8B98AB; 241 | } 242 | 243 | &.selector.css .entity.other.attribute-name.class { 244 | color: #62B1FE; 245 | } 246 | 247 | &.property-group .support.constant.property-value.css, 248 | &.property-value .support.constant.property-value.css { 249 | color: #F9EE98; 250 | } 251 | 252 | &.preprocessor.at-rule .keyword.control.at-rule { 253 | color: #8693A5; 254 | } 255 | 256 | &.property-value .support.constant.named-color.css, 257 | &.property-value .constant { 258 | color: #87C38A; 259 | } 260 | 261 | &.constructor.argument.css { 262 | color: #8F9D6A; 263 | } 264 | 265 | &.diff, 266 | &.diff.header { 267 | color: #F8F8F8; 268 | background-color: #0E2231; 269 | } 270 | 271 | &.separator { 272 | color: #60A633; 273 | background-color: #242424; 274 | } 275 | 276 | &.line.entry.logfile, 277 | &.line.exit.logfile { 278 | background-color: rgba(238, 238, 238, 0.16); 279 | } 280 | 281 | &.line.error.logfile { 282 | background-color: #751012; 283 | } 284 | } 285 | --------------------------------------------------------------------------------