├── .gitignore ├── syntax_highlighting.py ├── RSpec.tmLanguage ├── README.md ├── Railscasts (Light).tmTheme └── Railscasts.tmTheme /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | *.cache 3 | .DS_Store -------------------------------------------------------------------------------- /syntax_highlighting.py: -------------------------------------------------------------------------------- 1 | import sublime, sublime_plugin 2 | import os 3 | 4 | class DetectFileTypeCommand(sublime_plugin.EventListener): 5 | """ Detects current file type if the file's extension isn't conclusive """ 6 | """ Modified for Ruby on Rails and Sublime Text 2 """ 7 | """ Original code here: http://pastie.org/private/kz8gtts0cjcvkec0d4quqa""" 8 | 9 | def on_load(self, view): 10 | filename = view.file_name() 11 | if not filename: # buffer has never been saved 12 | return 13 | 14 | name = os.path.basename(filename.lower()) 15 | if name[-8:] == "_spec.rb": 16 | set_syntax(view, "RSpec", "User") 17 | elif name == "factories.rb": 18 | set_syntax(view, "RSpec", "User") 19 | elif name == "gemfile": 20 | set_syntax(view, "Ruby on Rails", "Rails") 21 | elif name == "guardfile": 22 | set_syntax(view, "Ruby on Rails", "Rails") 23 | elif name[-3:] == ".rb": 24 | set_syntax(view, "Ruby on Rails", "Rails") 25 | elif name[-5:] == ".scss": 26 | set_syntax(view, "SASS", "SASS/Syntaxes") 27 | 28 | 29 | def set_syntax(view, syntax, path=None): 30 | if path is None: 31 | path = syntax 32 | view.settings().set('syntax', 'Packages/' + path + '/' + 33 | syntax + '.tmLanguage') 34 | print("Switched syntax to: " + syntax) -------------------------------------------------------------------------------- /RSpec.tmLanguage: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | fileTypes 6 | 7 | spec.rb 8 | 9 | foldingStartMarker 10 | (?x)^ 11 | (\s*+ 12 | (module|class|def 13 | |unless|if 14 | |case 15 | |begin 16 | |for|while|until 17 | |^=begin 18 | |( "(\\.|[^"])*+" # eat a double quoted string 19 | | '(\\.|[^'])*+' # eat a single quoted string 20 | | [^#"'] # eat all but comments and strings 21 | )* 22 | ( \s (do|begin|case) 23 | | (?<!\$)[-+=&|*/~%^<>~] \s*+ (if|unless) 24 | ) 25 | )\b 26 | (?! [^;]*+ ; .*? \bend\b ) 27 | |( "(\\.|[^"])*+" # eat a double quoted string 28 | | '(\\.|[^'])*+' # eat a single quoted string 29 | | [^#"'] # eat all but comments and strings 30 | )* 31 | ( \{ (?! [^}]*+ \} ) 32 | | \[ (?! [^\]]*+ \] ) 33 | ) 34 | ).*$ 35 | | [#] .*? \(fold\) \s*+ $ # Sune’s special marker 36 | 37 | foldingStopMarker 38 | (?x) 39 | ( (^|;) \s*+ end \s*+ ([#].*)? $ 40 | | (^|;) \s*+ end \. .* $ 41 | | ^ \s*+ [}\]] \s*+ ([#].*)? $ 42 | | [#] .*? \(end\) \s*+ $ # Sune’s special marker 43 | | ^=end 44 | ) 45 | keyEquivalent 46 | ^~R 47 | name 48 | RSpec 49 | patterns 50 | 51 | 52 | match 53 | (?<!\.)\b(before|after)\b(?![?!]) 54 | name 55 | keyword.other.rspec 56 | 57 | 58 | include 59 | #behaviour 60 | 61 | 62 | include 63 | #single-line-example 64 | 65 | 66 | include 67 | #pending 68 | 69 | 70 | include 71 | #example 72 | 73 | 74 | include 75 | source.ruby 76 | 77 | 78 | repository 79 | 80 | behaviour 81 | 82 | begin 83 | ^\s*(describe|context)\b 84 | beginCaptures 85 | 86 | 1 87 | 88 | name 89 | keyword.other.rspec.behaviour 90 | 91 | 92 | end 93 | \b(do)\s*$ 94 | endCaptures 95 | 96 | 1 97 | 98 | name 99 | keyword.control.ruby.start-block 100 | 101 | 102 | name 103 | meta.rspec.behaviour 104 | patterns 105 | 106 | 107 | include 108 | source.ruby 109 | 110 | 111 | 112 | example 113 | 114 | begin 115 | ^\s*(it|specify)\b 116 | beginCaptures 117 | 118 | 1 119 | 120 | name 121 | keyword.other.rspec.example 122 | 123 | 124 | end 125 | \b(do)\s*$ 126 | endCaptures 127 | 128 | 1 129 | 130 | name 131 | keyword.control.ruby.start-block 132 | 133 | 134 | name 135 | meta.rspec.example 136 | patterns 137 | 138 | 139 | include 140 | source.ruby 141 | 142 | 143 | 144 | pending 145 | 146 | captures 147 | 148 | 1 149 | 150 | name 151 | keyword.other.rspec.pending 152 | 153 | 2 154 | 155 | name 156 | string.ruby 157 | 158 | 159 | match 160 | ^\s*(it|specify)\s+(.*[^do])\s*$ 161 | name 162 | meta.rspec.pending 163 | 164 | single-line-example 165 | 166 | captures 167 | 168 | 1 169 | 170 | name 171 | keyword.other.rspec.example 172 | 173 | 174 | match 175 | ^\s*(it|specify)\s*{ 176 | 177 | 178 | scopeName 179 | source.ruby.rspec 180 | uuid 181 | 923F0A10-96B9-4792-99A4-94FEF66E0B8C 182 | 183 | 184 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Rails Tutorial Sublime Text setup 2 | 3 | These are the steps needed to set up [Sublime Text 2](http://www.sublimetext.com/) as in the [Ruby on Rails Tutorial](http://ruby.railstutorial.org). Instructions are for OS X; Linux and Windows users should make substitutions as necessary. (This may require web searches. Please let me know if you find something that you think should be included here.) 4 | 5 | ## Command-line command 6 | 7 | On OS X, you can set up `subl` as a command-line command like this: 8 | 9 | $ ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl 10 | 11 | This assumes that there is a `~/bin` directory on your executable path. If that isn't the case, follow the instructions on [this Stack Overflow thread](http://stackoverflow.com/questions/13655343/sublime-text-2-os-x-command-line). 12 | 13 | On Linux (especially Ubuntu), the command is similar to OS X; the paths differ and you must use `sudo`, which is required because ordinary users don't have permission to write to `/usr/bin`: 14 | 15 | $ sudo ln -s ~/Applications/Sublime\ Text\ 2/sublime_text /usr/bin/subl 16 | 17 | Alternatively, add an alias to `sumblime_text` in your `~/.bashrc` file. This method doesn't require `sudo`. But it assumes you are using `bash`. There are similar methods available for other shells. Google is your friend. 18 | 19 | Use any editor like gedit or vim to open `~/.bashrc`. 20 | 21 | $ gedit ~/.bashrc 22 | 23 | Add `alias subl='~/Applications/Sublime\ Text\ 2/sublime_text'` at the end of the file. Save and exit. 24 | 25 | (You may have to replace the path to `sublime_text` with the correct one for your system.) 26 | 27 | On Linux Mint, take a look at [Install Sublime Text 2 in Linux Mint](http://blog.hugeaim.com/2012/03/13/install-sublime-text-2-in-linux-mint/). 28 | 29 | On Windows, you can simply double-click the application icon. The setup at the command line depends on which shell you use; see if one of the techinques at the [Stack Overflow discussion on Sublime Text from Command Line (Win7)](http://stackoverflow.com/questions/9440639/sublime-text-from-command-line-win7) works for you. You might also want to check out the video [Easily Open Files from Windows Command Prompt with Sublime Text 2](http://youtu.be/zcUpdw5_uSY) (I suggest changing `st2` to `subl` to be consistent with the instructions for the other platforms). 30 | 31 | ## Basic configuration 32 | 33 | Open up Sublime Text and use the `View` menu to modify the following settings: 34 | 35 | `View > Hide Minimap` 36 | 37 | `View > Side Bar > Hide Side Bar` 38 | 39 | `View > Layout > Columns: 2` 40 | 41 | ## Copy auxiliary files 42 | 43 | $ cd /tmp 44 | $ git clone https://github.com/mhartl/rails_tutorial_sublime_text.git 45 | $ cp -r rails_tutorial_sublime_text/* \ 46 | ~/Library/Application\ Support/Sublime\ Text\ 2/Packages/User/ 47 | 48 | Setup on Linux is similar, but with a different target directory for `cp`: 49 | 50 | $ cp -r rails_tutorial_sublime_text/* \ 51 | ~/.config/sublime-text-2/Packages/User/ 52 | 53 | On Windows, the target directory is as follows: 54 | 55 | $ cd /tmp 56 | $ git clone https://github.com/mhartl/rails_tutorial_sublime_text.git 57 | $ cp -r .\rails_tutorial_sublime_text\* \ 58 | '~\AppData\Roaming\Sublime Text 2\Packages\User' 59 | 60 | Note: If using Windows Vista, 7, or 8, you should first copy all the folders and files from the remote repo into your local temporary folder located at `C:\Users\User\AppData\Local\Temp`. Then proceed to move these same files to `C:\Users\User\AppData\Roaming\Sublime Text 2\Packages\User`. 61 | 62 | ## Install Sass syntax highlighting 63 | 64 | Install [Package Control](https://sublime.wbond.net/) and then go to `Preferences > Package Control`. Select `Install Package` and then select the Sass package. 65 | 66 | ## Set up the theme 67 | 68 | Select `Preferences > Color Scheme > User > Railscasts` 69 | 70 | ## Install the Rails Tutorial snippets 71 | 72 | [https://github.com/mhartl/rails_tutorial_snippets](https://github.com/mhartl/rails_tutorial_snippets) 73 | 74 | ## Install Sublime Text Alternative Auto-completion 75 | 76 | [https://github.com/alexstaubo/sublime_text_alternative_autocompletion](https://github.com/alexstaubo/sublime_text_alternative_autocompletion) 77 | 78 | ## Install SublimeERB 79 | 80 | [https://github.com/eddorre/SublimeERB](https://github.com/eddorre/SublimeERB) 81 | 82 | ## Install RubyTest 83 | 84 | Follow [https://github.com/maltize/sublime-text-2-ruby-tests](https://github.com/maltize/sublime-text-2-ruby-tests), or install RubyTest using [Package Control](https://sublime.wbond.net/. 85 | 86 | Go to `Preferences > Package Settings > RubyTest > Settings - User` and paste in the following code: 87 | 88 | ```javascript 89 | { 90 | "check_for_rbenv": true, 91 | "check_for_rvm": true, 92 | "check_for_bundler": true 93 | } 94 | ``` 95 | 96 | If you want the "Red" part of "Red-Green-Refactor" to be truly red, edit the file `"TestConsole.hidden-tmTheme"` in the `Library/Application\ Support/Sublime\ Text\ 2/Packages/RubyTest` directory: 97 | 98 | $ cd ~/Library/Application\ Support/Sublime\ Text\ 2/Packages/RubyTest 99 | $ subl TestConsole.hidden-tmTheme 100 | 101 | In that file, change 102 | 103 | #FF1493 104 | 105 | to 106 | 107 | #FF0000 108 | 109 | You may have to restart Sublime Text 2 to activate the change. 110 | 111 | If you ever get the error 112 | 113 | /bin/sh: rspec: command not found 114 | 115 | you can simply quit Sublime Text and then restart it by typing 116 | 117 | $ subl 118 | 119 | (with no dot). -------------------------------------------------------------------------------- /Railscasts (Light).tmTheme: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | name 6 | Railscasts (Light) 7 | settings 8 | 9 | 10 | settings 11 | 12 | background 13 | #D4D4D4 14 | caret 15 | #000000 16 | foreground 17 | #191E23 18 | invisibles 19 | #BFBFBF 20 | lineHighlight 21 | #CCCBCA 22 | selection 23 | #BBBBBB 24 | selectionBorder 25 | #DCDCDC 26 | findHighlight 27 | #00186D 28 | findHighlightForeground 29 | #FFFFFF 30 | 31 | 32 | 33 | name 34 | Source 35 | scope 36 | source 37 | settings 38 | 39 | background 40 | #DCDCDC 41 | 42 | 43 | 44 | name 45 | Comment 46 | scope 47 | comment 48 | settings 49 | 50 | fontStyle 51 | italic 52 | foreground 53 | #436BA7 54 | 55 | 56 | 57 | name 58 | Keyword 59 | scope 60 | keyword, storage 61 | settings 62 | 63 | fontStyle 64 | 65 | foreground 66 | #3387CC 67 | 68 | 69 | 70 | name 71 | Function (definition) 72 | scope 73 | entity.name.function, keyword.other.name-of-parameter.objc 74 | settings 75 | 76 | fontStyle 77 | 78 | foreground 79 | #003992 80 | 81 | 82 | 83 | name 84 | Class (definition) 85 | scope 86 | entity.name 87 | settings 88 | 89 | foreground 90 | #000000 91 | 92 | 93 | 94 | name 95 | Number 96 | scope 97 | constant.numeric 98 | settings 99 | 100 | fontStyle 101 | 102 | foreground 103 | #5A3D9E 104 | 105 | 106 | 107 | name 108 | Variable 109 | scope 110 | variable.language, variable.other 111 | settings 112 | 113 | fontStyle 114 | 115 | foreground 116 | #2F2F00 117 | 118 | 119 | 120 | name 121 | Constant 122 | scope 123 | constant 124 | settings 125 | 126 | fontStyle 127 | 128 | foreground 129 | #926341 130 | 131 | 132 | 133 | name 134 | Constant (other variable) 135 | scope 136 | variable.other.constant 137 | settings 138 | 139 | foreground 140 | #25B6C6 141 | 142 | 143 | 144 | name 145 | Constant (built-in) 146 | scope 147 | constant.language 148 | settings 149 | 150 | fontStyle 151 | 152 | foreground 153 | #916341 154 | 155 | 156 | 157 | name 158 | String 159 | scope 160 | string 161 | settings 162 | 163 | fontStyle 164 | 165 | foreground 166 | #5A3D9E 167 | 168 | 169 | 170 | name 171 | Library function 172 | scope 173 | support.function 174 | settings 175 | 176 | fontStyle 177 | 178 | foreground 179 | #25B6C6 180 | 181 | 182 | 183 | name 184 | Library type 185 | scope 186 | support.type 187 | settings 188 | 189 | foreground 190 | #916341 191 | 192 | 193 | 194 | name 195 | Library constant 196 | scope 197 | support.constant 198 | settings 199 | 200 | foreground 201 | #5A3D9E 202 | 203 | 204 | 205 | name 206 | Markup tag 207 | scope 208 | meta.tag, declaration.tag, entity.name.tag, entity.other.attribute-name 209 | settings 210 | 211 | fontStyle 212 | 213 | foreground 214 | #174095 215 | 216 | 217 | 218 | name 219 | Invalid 220 | scope 221 | invalid 222 | settings 223 | 224 | background 225 | #66FFFF 226 | foreground 227 | #000000 228 | 229 | 230 | 231 | name 232 | String interpolation 233 | scope 234 | constant.character.escaped, constant.character.escape, string source, string source.ruby 235 | settings 236 | 237 | fontStyle 238 | 239 | foreground 240 | #AE60AF 241 | 242 | 243 | 244 | name 245 | Diff Add 246 | scope 247 | markup.inserted 248 | settings 249 | 250 | background 251 | #EBBDED 252 | foreground 253 | #191E23 254 | 255 | 256 | 257 | name 258 | Diff Remove 259 | scope 260 | markup.deleted 261 | settings 262 | 263 | background 264 | #99FFFF 265 | foreground 266 | #191E23 267 | 268 | 269 | 270 | name 271 | Diff Header 272 | scope 273 | meta.diff.header, meta.separator.diff, meta.diff.index, meta.diff.range 274 | settings 275 | 276 | background 277 | #D0CC54 278 | 279 | 280 | 281 | name 282 | diff: deleted 283 | scope 284 | markup.deleted 285 | settings 286 | 287 | background 288 | #EAE3CA 289 | fontStyle 290 | 291 | foreground 292 | #D3201F 293 | 294 | 295 | 296 | name 297 | diff: changed 298 | scope 299 | markup.changed 300 | settings 301 | 302 | background 303 | #EAE3CA 304 | fontStyle 305 | 306 | foreground 307 | #BF3904 308 | 309 | 310 | 311 | name 312 | diff: inserted 313 | scope 314 | markup.inserted 315 | settings 316 | 317 | background 318 | #EAE3CA 319 | foreground 320 | #219186 321 | 322 | 323 | 324 | name 325 | Markdown: Linebreak 326 | scope 327 | text.html.markdown meta.dummy.line-break 328 | settings 329 | 330 | background 331 | #A57706 332 | foreground 333 | #E0EDDD 334 | 335 | 336 | 337 | name 338 | Markdown: Raw 339 | scope 340 | text.html.markdown markup.raw.inline 341 | settings 342 | 343 | foreground 344 | #269186 345 | 346 | 347 | 348 | name 349 | Markup: Heading 350 | scope 351 | markup.heading 352 | settings 353 | 354 | fontStyle 355 | bold 356 | foreground 357 | #cb4b16 358 | 359 | 360 | 361 | name 362 | Markup: Italic 363 | scope 364 | markup.italic 365 | settings 366 | 367 | fontStyle 368 | italic 369 | foreground 370 | #839496 371 | 372 | 373 | 374 | 375 | name 376 | Markup: Bold 377 | scope 378 | markup.bold 379 | settings 380 | 381 | fontStyle 382 | bold 383 | foreground 384 | #586e75 385 | 386 | 387 | 388 | name 389 | Markup: Underline 390 | scope 391 | markup.underline 392 | settings 393 | 394 | fontStyle 395 | underline 396 | foreground 397 | #839496 398 | 399 | 400 | 401 | name 402 | Markup: Quote 403 | scope 404 | markup.quote 405 | settings 406 | 407 | fontStyle 408 | italic 409 | foreground 410 | #268bd2 411 | 412 | 413 | 414 | name 415 | Markup: List 416 | scope 417 | markup.list 418 | settings 419 | 420 | foreground 421 | #657b83 422 | 423 | 424 | 425 | name 426 | Markup: Raw 427 | scope 428 | markup.raw 429 | settings 430 | 431 | foreground 432 | #b58900 433 | 434 | 435 | 436 | name 437 | Markup: Separator 438 | scope 439 | meta.separator 440 | settings 441 | 442 | background 443 | #eee8d5 444 | fontStyle 445 | bold 446 | foreground 447 | #268bd2 448 | 449 | 450 | 451 | uuid 452 | B80CD0D8-613C-46FD-9C06-A1201108BC2A 453 | 454 | 455 | -------------------------------------------------------------------------------- /Railscasts.tmTheme: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | name 6 | Railscasts 7 | settings 8 | 9 | 10 | settings 11 | 12 | background 13 | #2B2B2B 14 | caret 15 | #FFFFFF 16 | foreground 17 | #E6E1DC 18 | invisibles 19 | #404040 20 | lineHighlight 21 | #333435 22 | selection 23 | #444444 24 | selectionBorder 25 | #232323 26 | findHighlight 27 | #FFE792 28 | findHighlightForeground 29 | #000000 30 | 31 | 32 | 33 | name 34 | Source 35 | scope 36 | source 37 | settings 38 | 39 | background 40 | #232323 41 | 42 | 43 | 44 | name 45 | Comment 46 | scope 47 | comment 48 | settings 49 | 50 | fontStyle 51 | italic 52 | foreground 53 | #BC9458 54 | 55 | 56 | 57 | name 58 | Keyword 59 | scope 60 | keyword, storage 61 | settings 62 | 63 | fontStyle 64 | 65 | foreground 66 | #CC7833 67 | 68 | 69 | 70 | name 71 | Function (definition) 72 | scope 73 | entity.name.function, keyword.other.name-of-parameter.objc 74 | settings 75 | 76 | fontStyle 77 | 78 | foreground 79 | #FFC66D 80 | 81 | 82 | 83 | name 84 | Class (definition) 85 | scope 86 | entity.name 87 | settings 88 | 89 | foreground 90 | #FFFFFF 91 | 92 | 93 | 94 | name 95 | Number 96 | scope 97 | constant.numeric 98 | settings 99 | 100 | fontStyle 101 | 102 | foreground 103 | #A5C261 104 | 105 | 106 | 107 | name 108 | Variable 109 | scope 110 | variable.language, variable.other 111 | settings 112 | 113 | fontStyle 114 | 115 | foreground 116 | #D0D0FF 117 | 118 | 119 | 120 | name 121 | Constant 122 | scope 123 | constant 124 | settings 125 | 126 | fontStyle 127 | 128 | foreground 129 | #6D9CBE 130 | 131 | 132 | 133 | name 134 | Constant (other variable) 135 | scope 136 | variable.other.constant 137 | settings 138 | 139 | foreground 140 | #DA4939 141 | 142 | 143 | 144 | name 145 | Constant (built-in) 146 | scope 147 | constant.language 148 | settings 149 | 150 | fontStyle 151 | 152 | foreground 153 | #6E9CBE 154 | 155 | 156 | 157 | name 158 | String 159 | scope 160 | string 161 | settings 162 | 163 | fontStyle 164 | 165 | foreground 166 | #A5C261 167 | 168 | 169 | 170 | name 171 | Library function 172 | scope 173 | support.function 174 | settings 175 | 176 | fontStyle 177 | 178 | foreground 179 | #DA4939 180 | 181 | 182 | 183 | name 184 | Library type 185 | scope 186 | support.type 187 | settings 188 | 189 | foreground 190 | #6E9CBE 191 | 192 | 193 | 194 | name 195 | Library constant 196 | scope 197 | support.constant 198 | settings 199 | 200 | foreground 201 | #A5C261 202 | 203 | 204 | 205 | name 206 | Markup tag 207 | scope 208 | meta.tag, declaration.tag, entity.name.tag, entity.other.attribute-name 209 | settings 210 | 211 | fontStyle 212 | 213 | foreground 214 | #E8BF6A 215 | 216 | 217 | 218 | name 219 | Invalid 220 | scope 221 | invalid 222 | settings 223 | 224 | background 225 | #990000 226 | foreground 227 | #FFFFFF 228 | 229 | 230 | 231 | name 232 | String interpolation 233 | scope 234 | constant.character.escaped, constant.character.escape, string source, string source.ruby 235 | settings 236 | 237 | fontStyle 238 | 239 | foreground 240 | #519F50 241 | 242 | 243 | 244 | name 245 | Diff Add 246 | scope 247 | markup.inserted 248 | settings 249 | 250 | background 251 | #144212 252 | foreground 253 | #E6E1DC 254 | 255 | 256 | 257 | name 258 | Diff Remove 259 | scope 260 | markup.deleted 261 | settings 262 | 263 | background 264 | #660000 265 | foreground 266 | #E6E1DC 267 | 268 | 269 | 270 | name 271 | Diff Header 272 | scope 273 | meta.diff.header, meta.separator.diff, meta.diff.index, meta.diff.range 274 | settings 275 | 276 | background 277 | #2F33AB 278 | 279 | 280 | 281 | 282 | name 283 | diff: deleted 284 | scope 285 | markup.deleted 286 | settings 287 | 288 | background 289 | #EAE3CA 290 | fontStyle 291 | 292 | foreground 293 | #D3201F 294 | 295 | 296 | 297 | name 298 | diff: changed 299 | scope 300 | markup.changed 301 | settings 302 | 303 | background 304 | #EAE3CA 305 | fontStyle 306 | 307 | foreground 308 | #BF3904 309 | 310 | 311 | 312 | name 313 | diff: inserted 314 | scope 315 | markup.inserted 316 | settings 317 | 318 | background 319 | #EAE3CA 320 | foreground 321 | #219186 322 | 323 | 324 | 325 | name 326 | Markdown: Linebreak 327 | scope 328 | text.html.markdown meta.dummy.line-break 329 | settings 330 | 331 | background 332 | #A57706 333 | foreground 334 | #E0EDDD 335 | 336 | 337 | 338 | name 339 | Markdown: Raw 340 | scope 341 | text.html.markdown markup.raw.inline 342 | settings 343 | 344 | foreground 345 | #269186 346 | 347 | 348 | 349 | name 350 | Markup: Heading 351 | scope 352 | markup.heading 353 | settings 354 | 355 | fontStyle 356 | bold 357 | foreground 358 | #cb4b16 359 | 360 | 361 | 362 | name 363 | Markup: Italic 364 | scope 365 | markup.italic 366 | settings 367 | 368 | fontStyle 369 | italic 370 | foreground 371 | #839496 372 | 373 | 374 | 375 | 376 | name 377 | Markup: Bold 378 | scope 379 | markup.bold 380 | settings 381 | 382 | fontStyle 383 | bold 384 | foreground 385 | #586e75 386 | 387 | 388 | 389 | name 390 | Markup: Underline 391 | scope 392 | markup.underline 393 | settings 394 | 395 | fontStyle 396 | underline 397 | foreground 398 | #839496 399 | 400 | 401 | 402 | name 403 | Markup: Quote 404 | scope 405 | markup.quote 406 | settings 407 | 408 | fontStyle 409 | italic 410 | foreground 411 | #268bd2 412 | 413 | 414 | 415 | name 416 | Markup: List 417 | scope 418 | markup.list 419 | settings 420 | 421 | foreground 422 | #657b83 423 | 424 | 425 | 426 | name 427 | Markup: Raw 428 | scope 429 | markup.raw 430 | settings 431 | 432 | foreground 433 | #b58900 434 | 435 | 436 | 437 | name 438 | Markup: Separator 439 | scope 440 | meta.separator 441 | settings 442 | 443 | background 444 | #eee8d5 445 | fontStyle 446 | bold 447 | foreground 448 | #268bd2 449 | 450 | 451 | 452 | 453 | 454 | uuid 455 | B80CD0D8-613C-46FD-9C06-A1201108BC2A 456 | 457 | 458 | --------------------------------------------------------------------------------