• Stars
    star
    327
  • Rank 128,686 (Top 3 %)
  • Language
    Vim Script
  • License
    MIT License
  • Created over 10 years ago
  • Updated almost 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A text editor theme that visually differentiates languages.

Lavalamp is a WIP text editor theme.

It currently works in Vim, but I hope to port it to Atom and Sublime Text.

====

Installation

Copy lavalamp.vim to your .vim/colors directory.

$ cd lavalamp/vim
$ cp lavalamp.vim ~/.vim/colors/

Then update your .vimrc with these lines:

syntax enable
set background=dark
colorscheme lavalamp

If you're using airline, you can install the lavalamp theme for that.

$ cd lavalamp/vim/autoload/airline/themes
$ cp lavalamp.vim ~/.vim/autoload/airline/themes/

For the iTerm theme, you should be able to double-click on the lavalamp/iterm/lavalamp.itermcolors file to install it.

If you're using CoffeeScript, I highly recommend installing the vim-coffee-script plugin since it offers much better syntax highlighting (which lavalamp utilizes).

For xterm, you should copy the contents of xterm/Xresources to your ~/.Xresources.

Terminal Vim

If you're running Vim in a terminal (as opposed to MacVim, etc.) this colorscheme won't work by default. You can use the CSApprox plugin to get it working though. You also may need to add this line to your .vimrc:

set t_Co=256

Design principles

The idea behind the theme is that each language has its own core color. This way, it's easier to visually differentiate languages when they're used together.

For example, HTML uses shades of blue while Ruby uses red. Then it's easy to see your ERB tags:

CSS uses purple (an homage to @mdo):

In a Sass file, it's easy to see vanilla CSS vs. Sass (which is red, since it's Ruby):

I've chosen green for Javascript:

And browns for Coffeescript:

The iTerm and Terminal themes look like so:

Contributing

  1. Fork it ( http://github.com/jasonlong/lavalamp/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

If you'd like to add support for addtional languages, you'll need to add new entries for each syntax scope. I have found vim-HiLinkTrace to be very handy for figuring out what a given scope a character is in. Once you've installed that (via Vundle, NeoBundle, etc.), you can add a keyboard shortcut to your .vimrc. This is what I use:

nmap <leader>h :HLT<CR>

Then, when your cursor is over a character you want to know about, hit <leader>h and the syntax scope will be shown at the bottom of your Vim window. Create a new line with this in lavalamp.vim.

Roadmap

I've been using this theme for a while in this state since these are the languages I mostly use. If more people want to use the theme, more languages will need to be fleshed out.

And I'd really ❀️ some help getting this working with Atom and Sublime as similarly as possible.

More Repositories

1

isometric-contributions

Browser extension for rendering an isometric pixel art version of your GitHub contribution graph.
JavaScript
3,395
star
2

cayman-theme

A responsive theme for GitHub Pages
CSS
1,505
star
3

geo_pattern

Create beautiful generative geometric background images from a string.
Ruby
1,256
star
4

mater

πŸ… A simple menubar Pomodoro app
JavaScript
524
star
5

iterm2-icons

Replacement icon for iTerm2 or other macOS terminal apps. Designed for Big Sur.
242
star
6

jasonlong

HTML
180
star
7

benfords-law

Experimenting with Benford's Law
CSS
133
star
8

architect-theme

Open Source version of the GitHub Pages theme
CSS
91
star
9

vim-replacement-icon

A simple and clean replacement icon for Vim.
39
star
10

vim-textobj-css

Vim text objects for CSS, Sass, etc.
Vim Script
33
star
11

tactile-theme

Open Source version of the GitHub Pages theme
CSS
29
star
12

dotfiles

Files. With dots in front of them.
Shell
28
star
13

blackantmedia

Portfolio site of Jason Long
PHP
26
star
14

jasonlong.me

My personal site
Astro
20
star
15

reddit-tighty-whities

A userstyle that strips Reddit down to the bare minimum.
CSS
10
star
16

json-contributions

Serverless function to get a JSON format of a user's GitHub contribution chart
JavaScript
10
star
17

iterm-clrs

An iTerm theme based on @mrmrs nicer color palette for the web.
9
star
18

3d-contributions

JavaScript
7
star
19

training-cert-generator

Command line tool for generating PDF training certificates
Ruby
7
star
20

next.js-three.js-demo

JavaScript
7
star
21

nord-iterm2

A slightly higher-contrast version of Nord
4
star
22

ultisnippets

My snippets for Ultisnip in Vim
3
star
23

backups-ui

Static templates for backups UI
JavaScript
3
star
24

processing-fm

Experiments with Processing.js and Last.FM API
JavaScript
2
star
25

cinecastfilms.com

JavaScript
2
star
26

pixelbits

A daily creative coding exercise.
HTML
1
star
27

sell.github.io

CSS
1
star
28

responsive-actions-logs

Small Node app to prototype a responsive version of the Actions log view
HTML
1
star
29

pixel-hubbers

Pixelcat experiment with three.js
JavaScript
1
star
30

nugit

Quick spike of refreshing git-scm.com with Tachyons
CSS
1
star
31

dynamic-favicons

JavaScript
1
star
32

brave-replacement-icon

macOS replacement icon for Brave
1
star