Giter Club home page Giter Club logo

sublime-scheme-alabaster's Introduction

Alabaster Color Scheme

A light color scheme with minimal amount of highlighting for Sublime Text 3.

Motivation

Most color schemes highlight everything they can, ending up looking like a fireworks show.

Instead, Alabaster uses minimal highlighting; it defines just four classes:

  1. Strings
  2. All statically known constants (numbers, symbols, keywords, boolean values)
  3. Comments
  4. Global definitions

Additionally:

  • Alabaster does not highlight standard language keywords (if, else, function, etc). They are usually least important and most obvious part of any program.

  • Alabaster highlights comments. Most schemes try to dim comments by using low-contrast greys. I think if code was complex enough that it deserved an explanation then it’s that explanation we should see and read first. It would be a crime to hide it.

  • Alabaster doesn’t use font variations. It’s hard to scan code when it jumps between normal, bold and italics all the time. Also, not all fonts provide bold/italics variants.

  • Having minimal amount of rules means you can consciously use them to look for the exact piece of information you need. Most other “fireworks” schemes provide only one meaningful contribution: if it’s colored it’s probably syntactically correct. Instead, in Alabaster you can actually remember all the rules, and e.g. if you need to look for a string you know that you’re looking for a green token. And all the strings really pop out because there are not many other things highlighted.

  • Alabaster only highlights things that parser could identify reliably. I believe that if highlighting works only partially then it does more harm than good. When highlighting works reliably, your brain learns to rely on it. When it’s not reliable, your brain spends precious brain cycles to re-check everything it sees on the screen.

Variations

Alabaster BG is a variation of the same scheme but it uses background color for highlighting instead of text color. The idea is that it is easier to read when all text is black rather than when it changes color every few words. The colored background in that case creates a separate layer which is easier to ignore if you just trying to read the words.

Alabaster Dark is just a dark version based on the same principles.

Alabaster Mono and Alabaster Dark Mono are monochromatic version, with only cursor and occasional errors/search results highlighted.

Screenshot

What our users are saying?

It's like I had this weight on my eyes, and now it's gone. Awesome!

– Alex Sugak ★★★★★

After your theme others looks like unreadable neon things 🤯

– lamartire ★★★★★

Minimalistic cool

– denisgrib ★★★★★

Super minimal and undistracting. Easy to read.

– Josh Bernitt ★★★★★

A little bit confusing at first if you're from The Dark Land. But then you just chill.

– aenor.realm ★★★★★

Installation

Both schemes are packed in the same package.

Via Package Control

First, install Alabaster via Package Control:

  1. ToolsCommand Palette...Package Control: Install Package
  2. Select Alabaster Color Scheme and press Enter.

Then, enable it:

  1. Select Preferences → Color Scheme ...
  2. Pick Auto, then Alabaster (or Alabaster BG) for light variant and Alabaster Dark for dark variant.

Variations

See also

Writer Color Scheme: minimal color scheme for long-term writing.

Profile Switcher: Switch quickly between writing and coding profiles.

Fira Code: Best coding font in the world.

Credits

Made by Niki Tonsky.

License

MIT License

sublime-scheme-alabaster's People

Contributors

agudulin avatar anmolmathias avatar leonardt avatar mkaschenko avatar moigagoo avatar tonsky avatar zemlanin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sublime-scheme-alabaster's Issues

Very interesting!

Thank you for sharing this work. I find it very interesting. 💯 👍

Port for Zed

https://zed.dev is becoming an increasingly popular editor.

Has any attempt of porting Alabaster to Zed occurred, if so - where can I find it?

Thanks in advance for such a great color scheme.

Issue with wallaby.js

image

Hello! There is an issue with wallaby.js sidebar markers. First case markers must be green, all markers below must be red.

Inconsistent highlighting in Haskell

Just noticed that the syntax highlighting seem to be inconsistent with Haskell. I'm using Sublime Haskell for improved syntax highlighting and this is what I'm seeing.

Screenshot 2019-12-08 at 08 46 11

I would expect that either all applications of print are highlighted together with the application of createEmail or that none are. Right now it seems like only the very first operation is highlighted.

Is this expected or a bug?

Alabaster BG highlighting inconsistent between languages

I like the idea of the Alabaster BG theme a lot! 🙂 I tried it out in a few different projects of mine and noticed that the background highlighting doesn't seem to work the same way for different languages.

For instance, in C++ and Rust, the comment background is the full width of the column, and literals like numbers and booleans don't have a background.

Screen Shot 2019-04-02 at 8 44 58

Just want to share my appreciation

Hi @tonsky! 👋

I've been using Alabaster for quite some time now and it's been an absolute blast. I really think it makes a huge difference in how I read and think about my code. Keep up the good work, it's really an amazing color scheme. ❤️

If you ever set up a way of supporting your work, I'd be happy to!

Function calls are not correctly highlighted.

Screen Shot 2021-04-13 at 00 13 31

Screen Shot 2021-04-13 at 00 15 01

Screen Shot 2021-04-13 at 00 15 09

I am not getting the correct syntax highlighting. My sublime version is build 4102 and from the first screenshot, I do not think that it is a problem with detecting the correct syntax because the default color scheme seems to handle it correctly.

highlighting map keys

Hey! I'm trying to port this theme to neovim.

In sublime text, clojure map keys are highlighted magenta and lua table keys are highlighted green, what is the correct colour?

What is your stance of extending Alabaster with type highlighting?

First of all I'd like to thank you for your hard work with Alabaster, but also with Clojure Sublimed. I use them both and they're truly amazing. 🙂

Lately, I've been doing quite a lot of Elm and while I love the minimalism of Alabaster, I've found myself missing highlighting in type annotations. Would this be something you would consider highlighting? In Elm, type annotations are always on their own line which makes them easy to highlight consistently.

Here's a few examples.

helloStr : String
helloStr = "hello, world"

sumList : List Int -> Int
sumList =
    let
        helper : Int -> List Int -> Int
        helper sum xs =
            case xs of
                head :: tail -> helper (sum + head) tail
                [] -> sum
    in
    helper 0

In fact, let declarations are already being highlighted correctly while top-level declarations are not. I assume this is due to how the syntax highlighting is written. In top-level declarations the types are categorized as storage.type.elm while in let declarations they're categorized as constant.other.elm.

Screenshot 2022-12-07 at 19 02 07

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.