Neon is a colorful bright-on-black color scheme for Sublime Text and TextMate. In designing it, I've aimed to make as many languages as possible look as good as possible, taking advantage of as many of the available scopes as I can. Neon was originally designed for Python, which has a very detailed language definition, but lots of languages look good with it, like JavaScript, CSS, HTML, Ruby, PHP, shell scripts, XML, Clojure, Fortran, R, LaTeX, Markdown, reStructuredText, and more. It's also great when using @wuub's fantastic SublimeREPL plugin, which I can't say enough good things about.
Just for clarity's sake: Neon is an original work and wasn't based on any other color scheme. If you search Package Control for neon
you'll find some other, similarly-named color schemes which are not based on this project. Use them if you want -- I particularly like the Dark Neon Color Scheme, and might borrow some of the colors -- and if you want to fork this project and make your own derivative, go for it! I use the MIT License for a reason.
Neon's main goal is to make as many languages as possible look as good as possible. That being said, there are some language/markup/framework-specific scopes and sections that you might be interested in:
- Android Debug Bridge/logcat
- BracketHighlighter
- C/C++/C Improved
- Clojure
- CSS
- diff
Find In Files
- Fortran
- Git Gutter
- HTML/XML
- Java
- JavaScript/JavaScriptNext/Node.js
- jQuery
- JSON
- JSX/Babel
- Markdown/reStructuredText
- Matlab
- PackageDev
.sublime-settings
,.sublime-keymap
,.sublime-mousemap
,.sublime-macro
,.YAML-tmLanguage
, etc. - PHP
- Python
- IPython/Jupyter within SublimeREPL
- Django/Djaneiro
- Jinja2 templates
- All the customizations in the
Python Improved
syntax definition - The new default
Python.sublime-syntax
- R/R-Box
- RAML
- Regular Expressions
- Ruby
- Rust
- SASS/SCSS - specifically, the
Syntax Highlighting for SASS
package - Shell Scripts/ShellScriptImproved
- SublimeLinter
- Swift
- YAML
For major changes, I'll test most if not all of the above languages, as well as Makefile, Lua, Perl, and LaTeX, with maybe some others thrown in for fun. When I say "as many languages as possible" I mean it!
If you have a particular language or plugin you'd like Neon to support, just open an issue and I'll see what I can do.
There are a bunch of scopes in here that are only found in my Python Improved
language definition package — IPython In
/Out
statements, Django-specific highlighting (adapted from Djaneiro
), a bunch of improvements from @facelessuser's Better Python
and @petervaro's Python 3 package, along with various enhancements, extensions, and bug fixes of my own and contributed by others. If you work with Python, I'd highly recommend getting it.
You can find out more about themes in the TextMate manual. All the information there applies to Sublime Text as well, which was heavily influenced by TextMate. Both programs can share themes and language definitions pretty much interchangeably, and snippets are usually pretty easy to port from one to the other as well. But, unfortunately for you Win/Lin people, TextMate is only available for OSX.
I discovered Cousine
while browsing Google Fonts one day and absolutely love it.
Cousine was designed by Steve Matteson as an innovative, refreshing sans serif design that is metrically compatible with Courier New™. Cousine offers improved on-screen readability characteristics and the pan-European WGL character set and solves the needs of developers looking for width-compatible fonts to address document portability across platforms.
It's one of the first things I install when setting up a new workstation or VM, and it used to be my go-to monospace font for web design and programming.
More recently, I've been using Liberation Mono
, part of the Liberation font family. It's almost an exact duplicate of Cousine (with a few minor differences), and has the advantage of being available for Fedora (out of the box) and RHEL/CentOS as liberation-fonts
, and as ttf-liberation
for Debian and Ubuntu (my current distro of choice).
The easiest method is through Package Control, which comes with Sublime Text. Open the Command Palette with CtrlShiftP (Windows/Linux) or ⌘ShiftP (OSX) and type pci
to bring up Package Control: Install
. Click or hit Enter, type in neon
, and Neon Color Scheme
should show up. Select it, then activate the theme by choosing the Preferences -> Color Scheme -> Neon Color Scheme -> Neon
menu option. Alternatively, paste the following line in Packages/User/Preferences.sublime-settings
(Preferences -> Settings - User
):
"color_scheme": "Packages/Neon Color Scheme/Neon.tmTheme"
If you like to do things the old-fashioned way, in ~/Library/Application Support/Sublime Text 3/Packages/User
(OSX), %APPDATA%\Sublime Text 3\Packages\User
(Windows), or ~/.config/sublime-text-3/Packages/User
(Linux) (change the 3
to 2
if you're still using the outdated version 2 — and please upgrade!):
git clone https://github.com/MattDMo/Neon-color-scheme.git "Neon Color Scheme"
This will create a menu option Neon
under Preferences -> Color Scheme -> User -> Neon Color Scheme
. However, unless you git pull
manually, your installation will never get upgraded with new goodies, so Package Control is the best option.
For right now, manual cloning is the only option. Maybe I'll make a bundle someday for TM1 and TM2. From your home directory (or anywhere, really), enter:
git clone https://github.com/MattDMo/Neon-color-scheme.git "~/Library/Application Support/TextMate/Themes"
Or, you can just download the .zip
file and put it in the proper theme directory yourself.
Sometimes the same file looks different in TextMate and Sublime Text. It may be that the scopes are defined somewhat differently, or that the parsers don't work in quite the same way. Hack the .tmlanguage
definition files if you're interested, it's an exciting combination of XML and regex! To ease the pain somewhat, I definitely recommend installing PackageDev
via Package Control. Among many other things, it allows you to convert XML/Plist-based .tmLanguage
files to YAML syntax, which Neon conveniently supports! Everything is much more straightforward to understand and edit, and when you're done you can run a build system from the Command Palette to convert the YAML back to XML.
If you have questions, concerns, or suggested improvements, I'd love to hear from you! Feel free to open an issue or send a pull request and I'll get back to you as soon as I can. You can also email me at [email protected]. Find my blog on Sublime Text and other stuff at MattDMo.com.
© 2013-2020 Matt Morrison [email protected].
This is free software. It is licensed under the MIT License. Feel free to use this in your own work. However, if you modify and/or redistribute it, please attribute me in some way, and it would be great if you distribute your work under this or a similar license, but it's not required. A shout-out or a beer would be appreciated.