Neon Color Scheme
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.
Languages/Plugins Supported
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.
What Font is That?
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).
Installation for Sublime Text 3
The easiest method is through Package Control, which you need to install first as it doesn't come with Sublime Text. Open the ommand 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.
TextMate Installation:
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.
Customization
While I really like the level of control I get with Sublime's system of config files, editing themes by hand (in XML) can be pretty rough. I recommend checking out @aziz's tmTheme-Editor. It works with just about any modern browser that implements all of the HTML5 APIs. It's a pretty neat tool, and Neon is included!
However, for most of my editing, I use @facelessuser's ColorSchemeEditor
, a cross-platform GUI tool (written in Python) for creating and editing .tmTheme
color schemes, and it has very quickly become one of my favorite apps. If the forum is working, check out this post in the Sublime Text forum announcing the plugin and app. The documentation is minimal, it's not available through Package Control, and you currently need to download the platform-specific compiled binaries via links from the forum post (hint, google the page's URL and view the cached version to get the links if the forum is still down) and put them in your Packages/User
directory in order for the plugin to work, but it's so worth it if you need to tweak or completely refactor a color scheme. If you want to try and build the binary yourself, read through this issue. The directions are for Windows, but they also work on OS X and Linux. I also wrote a blog post about building ColorSchemeEditor
yourself a little while back, so if you're comfortable with hacking Python, check it out!
Issues
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 mattdmo@mattdmo.com. Find my blog on Sublime Text and other stuff at MattDMo.com.
License
© 2013-2020 Matt Morrison mattdmo@mattdmo.com.
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.
Support
You can also give on Gratipay.
NOTE:
Because of reasons, I haven't been able to devote much of any time to supporting and maintaining my open source projects since late 2016. I'm not dead ?, dying ?, in prison ?, in exile ⛔️, in space ?, hiding under a rock ⛰, boycotting the interwebs ??, or anything like that; life has just... been very busy ?. Hopefully I'll have more time for nerding in the not-too-distant future, but until then my development work will just have to remain more or less on hold, as unfortunately it doesn't pay any bills, provide any food, take care of my kids, or keep my car on the road. Of course, if anyone would like to donate to the cause, the link is below ?
Update Dec 2019
Life has changed a bit, and while I'm not completely back in the saddle I am able to do some development work on my FOSS projects again!
All the best,
Matt
PS: Sorry, I went a little emoji-crazy there. I promise it won't happen again ?