/falcon

Falcon colour scheme for Vim, terminals and tools.

Primary LanguageVim scriptMIT LicenseMIT

falcon headshot

Falcon

If you want a few less colours, a bit more gray, a super dark blue background and only a smattering of green, you want Falcon.

Furthermore, by design, Falcon doesn't include any magenta (replaced with orange in the terminal) so by using it super sparingly it will cut through the noise where appropriate. Try it for the prompt (see the screenshots below for an example)!

hero shot

Coverage

  • Vim / Neovim
    • Plugins:
      • airline
      • Ale
      • fugitive
      • fzf
      • lightline
      • nerdtree
      • startify
      • tagbar
      • ultisnips
      • vim-gitgutter
      • vim-signature
      • vimwiki
    • Tweaked syntax highlighting:
      • C/C++
      • CSS
      • Gitconfig
      • Go
      • GraphQL
      • Vim help
      • HTML
      • Javascript
      • JSON
      • Jsx
      • Lua
      • Markdown
      • PHP
      • Python
      • Ruby
      • Shell script
      • Sshconfig
      • Tmux
      • Twig
      • VimL
      • Yaml
      • XML
      • Zsh
    • Terminal emulator (Neovim)
  • Terminals:
  • Tools:

Vim colour scheme built with estilo. Kudos!

Installation

Prerequisites

This colour scheme assumes that you have a working terminal (see iTerm2, Kitty and alacritty below) with true colour (24bit rgb), bold and italic working. For Vim / Neovim and Tmux a similar assumption is made. How to do this is outside the scope of this README but I wish you well in your searching to get it working. Struggling with these small things (yet irksome) is part of the fun, amirite?!

To get going, either install this repo using a Vim / Neovim plugin manager or clone / download the repo to a folder of your choosing.

Vim / Neovim

Install manually or use a package manager.

e.g.

" vim-plug
Plug 'fenetikm/falcon'

If you put this repo somewhere else first, e.g. in ~/Documents it would simply be:

" vim-plug
Plug '~/Documents/falcon'

Once installed set the colour scheme:

colorscheme falcon

You also need 24-bit colour enabled with:

set termguicolors

To enable lightline support it is:

let g:falcon_lightline = 1
let g:lightline.colorscheme = 'falcon'

To enable airline support it is:

let g:falcon_airline = 1
let g:airline_theme = 'falcon'

(Thanks to boweevil for adding this in!)

iTerm2

To use in iTerm2 go to: Preferences > Profiles > (Profile Name in left pane) > Colors > Color Presets... > Import... and then select the falcon.itermcolors file in the iterm2 directory.

Kitty

kitty project home page

To use in kitty, copy and paste the values in the kitty/kitty.conf file into the bottom of your kitty.conf file (usually in ~/Library/Preferences/kitty/kitty.conf).

Protip: if you are on macOS and using an external monitor, you may like my fork of kitty which alters the font rendering to beef it up a tad.

alacritty

alacritty project home page

To use in alacritty, put the color configuration from alacritty.yml into your alacritty.yml file (usually in ~/Library/Preferences/alacritty/alacritty.yml or ~/.config/alacritty/alacritty.yml).

(Thanks to timvisee for that one!)

Tmux

A tmux configuration file is included in the tmux directory. It depends on the colours in your terminal being set to the Falcon colour scheme (e.g. iTerm2, Kitty or alacritty). To include into your tmux setup put something like the following in your .tmux.conf:

source-file /path/to/falcon/tmux/falcon.conf

Obviously this is an opinionated tmux layout but copy pasta as you see fit.

exa

exa home page

Custom colours for exa are included in the exa/EXA_COLORS file. To use them simply include the following in your shell config. e.g. for ZSH:

source /path/to/falcon/exa/EXA_COLORS

git

To get the output of your git log commands looking on point, included is an example .githelpers file which is a tweaked version of Gary Bernhardt's but with that Falcon flair.

One way of using this is by putting the following (thanks again Gary!) in your .gitconfig:

[alias]
  r = !GIT_NO_PAGER=1 git l -30
  l = "!. ~/.githelpers && pretty_git_log"

To then use it you would just do git r for a short git log listing or git l for a long log listing.

Optionally you could additionally put the following in your .gitconfig:

[color]
  ui = auto

[color "branch"]
  current = yellow
  local = 241
  remote = green

[color "diff"]
  meta = yellow
  frag = magenta
  old = red
  new = green

[color "status"]
  added = green
  changed = yellow
  untracked = magenta

PrismJS

PrismJS home page

Included in this repo are some PrismJS css and JS files to add in the Falcon colour scheme to your website for code syntax highlighting.

Once you have PrismJS working on your website, simply include these files after the corresponding PrismJS inclusions, e.g.:

<link href="css/prism.css" rel="stylesheet" />
<link href="css/prism-falcon.css" rel="stylesheet" />

and:

<script src="js/prism.js"></script>
<script src="js/prism-falcon.php.js"></script>

Currently only PHP has some extra love, will add in more as I need them.

Taskwarrior and timewarrior

Taskwarrior home page

Simply include the taskwarrior/falcon.theme file in your .taskrc e.g.

include ~/Documents/falcon/taskwarrior/falcon.theme

Also included is a timewarrior theme, simply include it in your .timewarrior/timewarrior.cfg e.g.

import /Users/me/Documents/falcon/timewarrior/falcon.theme

Note that the full path seems to be required.

Alfred

To give your alfred search bar a coat of Falcon paint, open up the Alfred Preferences pane and then double click on the falcon.alfredappearance file in the alfred directory.

Palette

swatches

Screenshots

PHP

php snapshot

VimL

vimL snapshot

CSS

css snapshot

JS

js snapshot

JSON

json snapshot

Twig

twig snapshot

Exa

exa snapshot

Git

git snapshot

Alfred

alfred snapshot

Screenshots taken on macOS running iTerm2, tmux and Neovim (where applicable). Font is FiraCode with ligatures enabled. In daily use I use kitty for it's sheer speed but iTerm2 makes perty piccies.

Note: Some syntax colour highlighting choices will depend on which syntax highlighting plugins you use. The above was created using the polyglot syntax vim plugin (except for Yaml).

List of terminal colours by name

In lieu of updating the palette image which I have realised is not super helpful for when you want to know what the default terminal colours are by name, here is a list:

  • colour 0: black

  • colour 1: red

  • colour 2: green

  • colour 3: yellow

  • colour 4: blue

  • colour 5: orange (usually magenta)

  • colour 6: cyan

  • colour 7: light gray

  • colour 8: bright black / bg colour

  • colour 9: bright red

  • colour 10: bright green

  • colour 11: bright yellow

  • colour 12: bright blue / blue gray

  • colour 13: bright orange (usually magenta)

  • colour 14: bright cyan

  • colour 15: white

Similar default terminal colours

Sometimes you want to use a colour from the main Falcon palette in the terminal. Sadly that isn't always easy and so what is easy, is to use a close match from the ANSI 256 palette.

(Refer to estilo/palettes/falcon.yml file for what matches up to what)

  • red: 202
  • orange: 208
  • yellow: 220
  • green: 107
  • blue_gray: 110
  • br_yellow: 230
  • br_green: 193
  • br_blue: 195
  • white: 231
  • normal_gray: 253
  • light_gray: 249
  • mid_gray: 245
  • mid_dark_gray: 241
  • dark_gray: 237
  • darker_gray: 235
  • black: 0
  • bg: 232

Troubleshooting

  • The colours look a bit off, especially inside of Neovim when also inside of tmux

    Have you got truecolor support working? Have you set termguicolors ? See the Neovim FAQ for starters.

  • In NeoVim, the background colour of the active window is lighter that the inactive window

    The active window will take its colour from the terminal which is meant to be darker than the inactive window - check that your terminal colour is the Falcon background colour e.g. load the iTerm2 colours that are included.

  • Can you please support insert name of other editing program

    This project is predominantly based around Vim / Neovim support followed secondarily by terminal support and then lastly by terminal tools. Although I am not opposed to other editors (well, only vehemently!) MRs are welcome :)

  • Can you please support insert name of terminal program

    Possibly - most of the additional support I have been adding in is for tools that I have discovered and I continue to use. Please let me know!

  • The background colours are messing up with the ap/vim-css-color plugin when I have a split or two

    I also got that problem so I switched to colorizer which seems to work fine and dandy.

Roadmap

Falcon is currently evoloving - to see what is coming up have a look at the Todo

Big Thanks

  • Estilo for making colour scheme management sane
  • Inspiration: gruvbox for not being quite right to my tastes and thus being the seed of this project
  • Everyone who Vims!

License

Falcon is released under the MIT license.