mirror of
https://github.com/eoli3n/dotfiles
synced 2024-11-26 06:08:35 +01:00
added files cp -Rl
This commit is contained in:
parent
46970e479f
commit
c937fd291a
15
Xdefaults
Normal file
15
Xdefaults
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
URxvt*scrollBar: False
|
||||||
|
URxvt*foreground: White
|
||||||
|
URxvt.font: xft:Ubuntu Mono:size:10
|
||||||
|
URxvt*.depth: 32
|
||||||
|
URxvt*.background: [80]#000000
|
||||||
|
URxvt.url-launcher: /usr/bin/firefox
|
||||||
|
x11-ssh-askpass*font: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-*
|
||||||
|
x11-ssh-askpass*background: #000000
|
||||||
|
x11-ssh-askpass*foreground: #ffffff
|
||||||
|
x11-ssh-askpass.Button*background: #000000
|
||||||
|
x11-ssh-askpass.Indicator*foreground: #ff9900
|
||||||
|
x11-ssh-askpass.Indicator*background: #090909
|
||||||
|
x11-ssh-askpass*topShadowColor: #000000
|
||||||
|
x11-ssh-askpass*bottomShadowColor: #000000
|
||||||
|
x11-ssh-askpass.*borderWidth: 1
|
89
i3/compton.conf
Normal file
89
i3/compton.conf
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
# Shadow
|
||||||
|
shadow = true;
|
||||||
|
no-dnd-shadow = true;
|
||||||
|
no-dock-shadow = true;
|
||||||
|
clear-shadow = true;
|
||||||
|
shadow-radius = 7;
|
||||||
|
shadow-offset-x = -7;
|
||||||
|
shadow-offset-y = -7;
|
||||||
|
# shadow-opacity = 0.7;
|
||||||
|
# shadow-red = 0.0;
|
||||||
|
# shadow-green = 0.0;
|
||||||
|
# shadow-blue = 0.0;
|
||||||
|
shadow-exclude = [
|
||||||
|
"name = 'Notification'",
|
||||||
|
"class_g = 'Conky'",
|
||||||
|
"class_g ?= 'Notify-osd'",
|
||||||
|
"class_g = 'Cairo-clock'",
|
||||||
|
"_GTK_FRAME_EXTENTS@:c"
|
||||||
|
];
|
||||||
|
# shadow-exclude = "n:e:Notification";
|
||||||
|
# shadow-exclude-reg = "x10+0+0";
|
||||||
|
# xinerama-shadow-crop = true;
|
||||||
|
|
||||||
|
# Opacity
|
||||||
|
menu-opacity = 0.8;
|
||||||
|
#inactive-opacity = 0.8;
|
||||||
|
# active-opacity = 0.8;
|
||||||
|
frame-opacity = 1.0;
|
||||||
|
inactive-opacity-override = false;
|
||||||
|
alpha-step = 0.06;
|
||||||
|
# inactive-dim = 0.2;
|
||||||
|
# inactive-dim-fixed = true;
|
||||||
|
# blur-background = true;
|
||||||
|
# blur-background-frame = true;
|
||||||
|
blur-kern = "3x3box"
|
||||||
|
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
|
||||||
|
# blur-background-fixed = true;
|
||||||
|
blur-background-exclude = [
|
||||||
|
"window_type = 'dock'",
|
||||||
|
"window_type = 'desktop'",
|
||||||
|
"_GTK_FRAME_EXTENTS@:c"
|
||||||
|
];
|
||||||
|
# opacity-rule = [ "80:class_g = 'URxvt'" ];
|
||||||
|
|
||||||
|
# Fading
|
||||||
|
fading = true;
|
||||||
|
# fade-delta = 30;
|
||||||
|
fade-in-step = 0.1;
|
||||||
|
fade-out-step = 0.1;
|
||||||
|
# no-fading-openclose = true;
|
||||||
|
# no-fading-destroyed-argb = true;
|
||||||
|
fade-exclude = [ ];
|
||||||
|
|
||||||
|
# Other
|
||||||
|
backend = "xrender"
|
||||||
|
mark-wmwin-focused = true;
|
||||||
|
mark-ovredir-focused = true;
|
||||||
|
# use-ewmh-active-win = true;
|
||||||
|
detect-rounded-corners = true;
|
||||||
|
detect-client-opacity = true;
|
||||||
|
refresh-rate = 0;
|
||||||
|
vsync = "none";
|
||||||
|
dbe = false;
|
||||||
|
paint-on-overlay = true;
|
||||||
|
# sw-opti = true;
|
||||||
|
# unredir-if-possible = true;
|
||||||
|
# unredir-if-possible-delay = 5000;
|
||||||
|
# unredir-if-possible-exclude = [ ];
|
||||||
|
focus-exclude = [ "class_g = 'Cairo-clock'" ];
|
||||||
|
detect-transient = true;
|
||||||
|
detect-client-leader = true;
|
||||||
|
invert-color-include = [ ];
|
||||||
|
# resize-damage = 1;
|
||||||
|
|
||||||
|
# GLX backend
|
||||||
|
# glx-no-stencil = true;
|
||||||
|
glx-copy-from-front = false;
|
||||||
|
# glx-use-copysubbuffermesa = true;
|
||||||
|
# glx-no-rebind-pixmap = true;
|
||||||
|
glx-swap-method = "undefined";
|
||||||
|
# glx-use-gpushader4 = true;
|
||||||
|
# xrender-sync = true;
|
||||||
|
# xrender-sync-fence = true;
|
||||||
|
|
||||||
|
# Window type settings
|
||||||
|
wintypes:
|
||||||
|
{
|
||||||
|
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; };
|
||||||
|
};
|
249
i3/config
Normal file
249
i3/config
Normal file
@ -0,0 +1,249 @@
|
|||||||
|
# This file has been auto-generated by i3-config-wizard(1).
|
||||||
|
# It will not be overwritten, so edit it as you like.
|
||||||
|
#
|
||||||
|
# Should you change your keyboard layout some time, delete
|
||||||
|
# this file and re-run i3-config-wizard(1).
|
||||||
|
#
|
||||||
|
|
||||||
|
# i3 config file (v4)
|
||||||
|
#
|
||||||
|
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
|
||||||
|
|
||||||
|
set $mod Mod4
|
||||||
|
|
||||||
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
|
# is used in the bar {} block below.
|
||||||
|
font pango: Ubuntu Mono, Icons 10
|
||||||
|
|
||||||
|
# resolv i3 transparancy bug
|
||||||
|
new_window pixel
|
||||||
|
|
||||||
|
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
||||||
|
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
||||||
|
#font pango:DejaVu Sans Mono 8
|
||||||
|
|
||||||
|
# Before i3 v4.8, we used to recommend this one as the default:
|
||||||
|
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
|
||||||
|
# The font above is very space-efficient, that is, it looks good, sharp and
|
||||||
|
# clear in small sizes. However, its unicode glyph coverage is limited, the old
|
||||||
|
# X core fonts rendering does not support right-to-left and this being a bitmap
|
||||||
|
# font, it doesn’t scale on retina/hidpi displays.
|
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
#bindsym $mod+Return exec i3-sensible-terminal
|
||||||
|
bindsym $mod+Return exec urxvtc
|
||||||
|
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+Shift+a kill
|
||||||
|
|
||||||
|
# start dmenu (a program launcher)
|
||||||
|
# bindsym $mod+d exec dmenu_run
|
||||||
|
# There also is the (new) i3-dmenu-desktop which only displays applications
|
||||||
|
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
|
||||||
|
# installed.
|
||||||
|
bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
|
||||||
|
|
||||||
|
# change focus
|
||||||
|
bindsym $mod+j focus left
|
||||||
|
bindsym $mod+k focus down
|
||||||
|
bindsym $mod+l focus up
|
||||||
|
bindsym $mod+m focus right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# move focused window
|
||||||
|
bindsym $mod+Shift+j move left
|
||||||
|
bindsym $mod+Shift+k move down
|
||||||
|
bindsym $mod+Shift+l move up
|
||||||
|
bindsym $mod+Shift+m move right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
|
# split in horizontal orientation
|
||||||
|
bindsym $mod+h split h
|
||||||
|
|
||||||
|
# split in vertical orientation
|
||||||
|
bindsym $mod+v split v
|
||||||
|
|
||||||
|
# enter fullscreen mode for the focused container
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+z layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# change focus between tiling / floating windows
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+q focus parent
|
||||||
|
|
||||||
|
# focus the child container
|
||||||
|
#bindsym $mod+d focus child
|
||||||
|
|
||||||
|
# set workspace names
|
||||||
|
set $tag1 "1:www"
|
||||||
|
set $tag2 "2:term"
|
||||||
|
set $tag3 "3:mail"
|
||||||
|
set $tag4 "4:irc"
|
||||||
|
set $tag5 "5:misc"
|
||||||
|
set $tag6 "6:wine"
|
||||||
|
set $tag7 "7:kvm"
|
||||||
|
set $tag8 "8:"
|
||||||
|
set $tag9 "9:"
|
||||||
|
set $tag10 "10:"
|
||||||
|
|
||||||
|
# exec startup apps
|
||||||
|
exec --no-startup-id i3-msg 'workspace $tag1; exec firefox'
|
||||||
|
exec --no-startup-id i3-msg 'workspace $tag2; exec urxvtc -e ~/scripts/bash/sshaddmotd/motdprint.sh && urxvtc; workspace $tag1'A
|
||||||
|
exec --no-startup-id i3-msg 'workspace $tag3; exec thunderbird; workspace $tag1'
|
||||||
|
exec --no-startup-id i3-msg 'workspace $tag4; exec urxvtc -e screen -rd weechat; workspace $tag2'
|
||||||
|
|
||||||
|
###################################################################################
|
||||||
|
|
||||||
|
# lock screen
|
||||||
|
bindsym $mod+Control+Delete exec "i3lock -d -e -i ~/img/wallpaper/current_i3lock.png ; sleep 1 ; ~/scripts/bash/interfaceliftdownloader/interfacelift.sh -c ~/scripts/bash/interfaceliftdownloader/i3lock.conf"
|
||||||
|
|
||||||
|
# apps
|
||||||
|
bindsym $mod+Control+t exec thunar
|
||||||
|
bindsym $mod+Control+w exec wicd-client -n
|
||||||
|
bindsym $mod+Control+a exec urxvtc -e ssh root@astate
|
||||||
|
|
||||||
|
# class confs
|
||||||
|
for_window [class="Cssh"] floating enable, border normal
|
||||||
|
for_window [class="XTerm"] floating enable, border normal
|
||||||
|
#for_window [class="Hedgewars"] move to workspace $tag5, layout tabbed
|
||||||
|
for_window [class="Pavucontrol"] move scratchpad
|
||||||
|
for_window [class="Cadence"] move scratchpad
|
||||||
|
for_window [class="Wine"] move to workspace $tag6
|
||||||
|
for_window [class="Virt-manager"] move to workspace $tag7, layout tabbed
|
||||||
|
for_window [class="Bitwig Studio"] move to workspace $tag10
|
||||||
|
#for_window [class="Conky"] floating enable, border none
|
||||||
|
#for_window [class="Conky"] move scratchpad, scratchpad show
|
||||||
|
|
||||||
|
#mpd controls
|
||||||
|
bindsym $mod+Control+Left exec mpc prev
|
||||||
|
bindsym $mod+Control+Down exec mpc toggle
|
||||||
|
bindsym $mod+Control+Right exec mpc next
|
||||||
|
bindsym $mod+Control+Up exec ~/scripts/bash/lyricsdownloader/graphicalrapgenius.sh
|
||||||
|
#bindsym $mod+Control+Prior exec "cd ~/scripts/bash/interfaceliftdownloader/ ; ./interfacelift.sh -c ./wallpaper.conf ; ./interfacelift.sh -c ./wallpaper_DP1-1.conf ; ./interfacelift.sh -c ./wallpaper_HDMI1.conf ; ./interfacelift.sh -c ./wallpaper_HDMI2.conf"
|
||||||
|
bindsym $mod+Control+Prior exec "cd ~/scripts/bash/interfaceliftdownloader/ ; ./interfacelift.sh -c ./wallpaper.conf"
|
||||||
|
bindsym $mod+Control+Next exec ~/scripts/bash/interfaceliftdownloader/interfacelift.sh -sc ~/scripts/bash/interfaceliftdownloader/wallpaper.conf
|
||||||
|
|
||||||
|
#toggle workspace's display screen
|
||||||
|
bindsym $mod+less move workspace to output left
|
||||||
|
bindsym $mod+Shift+less move workspace to output right
|
||||||
|
|
||||||
|
#assign workspace to screens
|
||||||
|
workspace $tag1 output DP1-1
|
||||||
|
workspace $tag2 output eDP1
|
||||||
|
workspace $tag3 output eDP1
|
||||||
|
workspace $tag4 output eDP1
|
||||||
|
workspace $tag5 output eDP1
|
||||||
|
workspace $tag6 output DP1-1
|
||||||
|
workspace $tag7 output DP1-1
|
||||||
|
workspace $tag8 output DP1-1
|
||||||
|
workspace $tag9 output eDP1
|
||||||
|
workspace $tag10 output DP1-2
|
||||||
|
|
||||||
|
#scratchpad
|
||||||
|
bindsym $mod+twosuperior scratchpad show
|
||||||
|
bindsym $mod+Shift+twosuperior move scratchpad
|
||||||
|
|
||||||
|
#Swith with same key to precedent workspace
|
||||||
|
#workspace_auto_back_and_forth yes
|
||||||
|
|
||||||
|
###################################################################################
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+ampersand workspace $tag1
|
||||||
|
bindsym $mod+eacute workspace $tag2
|
||||||
|
bindsym $mod+quotedbl workspace $tag3
|
||||||
|
bindsym $mod+apostrophe workspace $tag4
|
||||||
|
bindsym $mod+parenleft workspace $tag5
|
||||||
|
bindsym $mod+minus workspace $tag6
|
||||||
|
bindsym $mod+egrave workspace $tag7
|
||||||
|
bindsym $mod+underscore workspace $tag8
|
||||||
|
bindsym $mod+ccedilla workspace $tag9
|
||||||
|
bindsym $mod+agrave workspace $tag10
|
||||||
|
|
||||||
|
# move focused container to workspace
|
||||||
|
bindsym $mod+Shift+ampersand move container to workspace $tag1
|
||||||
|
bindsym $mod+Shift+eacute move container to workspace $tag2
|
||||||
|
bindsym $mod+Shift+quotedbl move container to workspace $tag3
|
||||||
|
bindsym $mod+Shift+apostrophe move container to workspace $tag4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace $tag5
|
||||||
|
bindsym $mod+Shift+minus move container to workspace $tag6
|
||||||
|
bindsym $mod+Shift+egrave move container to workspace $tag7
|
||||||
|
bindsym $mod+Shift+underscore move container to workspace $tag8
|
||||||
|
bindsym $mod+Shift+ccedilla move container to workspace $tag9
|
||||||
|
bindsym $mod+Shift+agrave move container to workspace $tag10
|
||||||
|
|
||||||
|
# reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
# exit i3 (logs you out of your X session)
|
||||||
|
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
|
||||||
|
|
||||||
|
# resize window (you can also use the mouse for that)
|
||||||
|
mode "resize" {
|
||||||
|
# These bindings trigger as soon as you enter the resize mode
|
||||||
|
|
||||||
|
# Pressing left will shrink the window’s width.
|
||||||
|
# Pressing right will grow the window’s width.
|
||||||
|
# Pressing up will shrink the window’s height.
|
||||||
|
# Pressing down will grow the window’s height.
|
||||||
|
bindsym j resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym k resize grow height 10 px or 10 ppt
|
||||||
|
bindsym l resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym m resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# same bindings, but for the arrow keys
|
||||||
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym Down resize grow height 10 px or 10 ppt
|
||||||
|
bindsym Up resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||||
|
# finds out, if available)
|
||||||
|
bar {
|
||||||
|
position top
|
||||||
|
strip_workspace_numbers yes
|
||||||
|
status_command $HOME/.i3/conky-top.sh
|
||||||
|
tray_output none
|
||||||
|
colors{
|
||||||
|
background #202020
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bar {
|
||||||
|
position bottom
|
||||||
|
status_command $HOME/.i3/conky-bottom.sh
|
||||||
|
workspace_buttons no
|
||||||
|
colors{
|
||||||
|
background #202020
|
||||||
|
}
|
||||||
|
}
|
13
i3/conky-bottom.sh
Executable file
13
i3/conky-bottom.sh
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Send the header so that i3bar knows we want to use JSON:
|
||||||
|
echo '{"version":1}'
|
||||||
|
|
||||||
|
# Begin the endless array.
|
||||||
|
echo '['
|
||||||
|
|
||||||
|
# We send an empty first array of blocks to make the loop simpler:
|
||||||
|
echo '[],'
|
||||||
|
|
||||||
|
# Now send blocks with information forever:
|
||||||
|
exec conky -c $HOME/.i3/conkyrc-bottom
|
13
i3/conky-top.sh
Executable file
13
i3/conky-top.sh
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Send the header so that i3bar knows we want to use JSON:
|
||||||
|
echo '{"version":1}'
|
||||||
|
|
||||||
|
# Begin the endless array.
|
||||||
|
echo '['
|
||||||
|
|
||||||
|
# We send an empty first array of blocks to make the loop simpler:
|
||||||
|
echo '[],'
|
||||||
|
|
||||||
|
# Now send blocks with information forever:
|
||||||
|
exec conky -c $HOME/.i3/conkyrc-top
|
115
i3/conkyrc-bottom
Normal file
115
i3/conkyrc-bottom
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
#!/usr/bin/conky
|
||||||
|
out_to_x no
|
||||||
|
own_window no
|
||||||
|
out_to_console yes
|
||||||
|
background no
|
||||||
|
max_text_width 0
|
||||||
|
|
||||||
|
# Update interval in seconds
|
||||||
|
update_interval 1.0
|
||||||
|
|
||||||
|
# This is the number of times Conky will update before quitting.
|
||||||
|
# Set to zero to run forever.
|
||||||
|
total_run_times 0
|
||||||
|
|
||||||
|
# Shortens units to a single character (kiB->k, GiB->G, etc.). Default is off.
|
||||||
|
short_units yes
|
||||||
|
|
||||||
|
# How strict should if_up be when testing an interface for being up?
|
||||||
|
# The value is one of up, link or address, to check for the interface
|
||||||
|
# being solely up, being up and having link or being up, having link
|
||||||
|
# and an assigned IP address.
|
||||||
|
if_up_strictness address
|
||||||
|
|
||||||
|
# Add spaces to keep things from moving about? This only affects certain objects.
|
||||||
|
# use_spacer should have an argument of left, right, or none
|
||||||
|
use_spacer left
|
||||||
|
|
||||||
|
# Force UTF8? note that UTF8 support required XFT
|
||||||
|
override_utf8_locale no
|
||||||
|
|
||||||
|
# number of cpu samples to average
|
||||||
|
# set to 1 to disable averaging
|
||||||
|
cpu_avg_samples 2
|
||||||
|
|
||||||
|
# Stuff after 'TEXT' will be formatted on screen
|
||||||
|
# JSON for i3bar
|
||||||
|
|
||||||
|
TEXT
|
||||||
|
|
||||||
|
[
|
||||||
|
|
||||||
|
|
||||||
|
#ADD DYNAMIC INTERFACE
|
||||||
|
|
||||||
|
{"full_text":" ${downspeed wlp2s0}","color":"\#00AE58","separator":false,"separator_block_width":15, "min_width": 65, "align": "left"},\
|
||||||
|
|
||||||
|
#UP
|
||||||
|
|
||||||
|
#ADD DYNAMIC INTERFACE
|
||||||
|
|
||||||
|
{"full_text":" ${upspeed wlp2s0}","color":"\#D0151E","separator":false,"separator_block_width":15, "min_width": 65, "align": "left"},\
|
||||||
|
|
||||||
|
#CPU
|
||||||
|
|
||||||
|
${if_match ${cpu cpu0} >= 80}\
|
||||||
|
{"full_text":" ${cpu cpu0}%","color":"\#D0151E","separator":false,"separator_block_width":6, "min_width": 65, "align": "left"},\
|
||||||
|
${else}
|
||||||
|
${if_match ${cpu cpu0} >= 50}\
|
||||||
|
{"full_text":" ${cpu cpu0}%","color":"\#E56C08","separator":false,"separator_block_width":6, "min_width": 65, "align": "left"},\
|
||||||
|
${else}
|
||||||
|
{"full_text":" ${cpu cpu0}%","color":"\#C5C5C5","separator":false,"separator_block_width":6, "min_width": 65, "align": "left"},\
|
||||||
|
$endif
|
||||||
|
$endif
|
||||||
|
|
||||||
|
#MEM
|
||||||
|
|
||||||
|
# CHANGE COLOR IN HIGH MEMORY USAGE
|
||||||
|
{"full_text":" ${mem}","color":"\#C5C5C5","separator":false,"separator_block_width":20, "min_width": 65, "align": "left"},\
|
||||||
|
|
||||||
|
#SYSTEM
|
||||||
|
${if_match ${execi 60 df -h | grep universe-lvroot | awk '{print $5}' | cut -d"%" -f1} >= 95 }\
|
||||||
|
{"full_text":" ${execi 60 df -h | grep universe-lvroot | awk '{print $5}'}","color":"\#D0151E","separator":false,"separator_block_width":6, "min_width": 65, "align": "left"},\
|
||||||
|
${else}
|
||||||
|
${if_match ${execi 60 df -h | grep universe-lvroot | awk '{print $5}' | cut -d"%" -f1} >= 90 }\
|
||||||
|
{"full_text":" ${execi 60 df -h | grep universe-lvroot | awk '{print $5}'}","color":"\#F15D25","separator":false,"separator_block_width":6, "min_width": 65, "align": "left"},\
|
||||||
|
${else}
|
||||||
|
{"full_text":" ${execi 60 df -h | grep universe-lvroot | awk '{print $5}'}","color":"\#C5C5C5","separator":false,"separator_block_width":6, "min_width": 65, "align": "left"},\
|
||||||
|
|
||||||
|
$endif
|
||||||
|
|
||||||
|
|
||||||
|
#HOME
|
||||||
|
${if_match ${execi 60 df -h | grep universe-lvhome | awk '{print $5}' | cut -d"%" -f1} >= 95 }\
|
||||||
|
{"full_text":" ${execi 60 df -h | grep universe-lvhome | awk '{print $5}'}","color":"\#D0151E","separator":false,"separator_block_width":6, "min_width": 65, "align": "left"}\
|
||||||
|
${else}
|
||||||
|
${if_match ${execi 60 df -h | grep universe-lvhome | awk '{print $5}' | cut -d"%" -f1} >= 90 }\
|
||||||
|
{"full_text":" ${execi 60 df -h | grep universe-lvhome | awk '{print $5}'}","color":"\#F15D25","separator":false,"separator_block_width":6, "min_width": 65, "align": "left"}\
|
||||||
|
${else}
|
||||||
|
{"full_text":" ${execi 60 df -h | grep universe-lvhome | awk '{print $5}'}","color":"\#C5C5C5","separator":false,"separator_block_width":6, "min_width": 65, "align": "left"}\
|
||||||
|
|
||||||
|
$endif
|
||||||
|
$endif
|
||||||
|
#MPV
|
||||||
|
|
||||||
|
#${if_match "${exec xdotool search --class mpv}"==""}\
|
||||||
|
#{"full_text":" ","color":"\#00AE58","separator":false,"separator_block_width":6, "min_width": 570, "align": "right"},\
|
||||||
|
#${else}
|
||||||
|
#{"full_text": " ${exec xprop -id $(xdotool search --class mpv) | grep 'NET_WM_NAME(UTF8_STRING)' | cut -d'"' -f2} ","color":"\#C5C5C5","separator":false,"separator_block_width":6, "min_width":570 , "align": "right"}\
|
||||||
|
#$endif
|
||||||
|
|
||||||
|
#MUSIC
|
||||||
|
|
||||||
|
#${if_match "${exec mpc -f %artist% | head -n 1 | grep -v 'consume: off'| sed 's/\\n//g'}"==""}\
|
||||||
|
#{"full_text":" ","color":"\#00AE58","separator":false,"separator_block_width":6, "min_width": 600, "align": "left"}\
|
||||||
|
#${else}
|
||||||
|
# ${if_match "${exec mpc status | egrep 'paused|playing' | cut -d" " -f1}"=="[playing]"}\
|
||||||
|
# {"full_text": " ${exec echo $(mpc -f "%artist%" | head -n 1 | head -c 40 | cut -d"%" -f1) - $(mpc -f "%title%" | head -n 1 | head -c 40 | cut -d"%" -f1)} ","color":"\#C5C5C5","separator":false,"separator_block_width":6, "min_width": 600, "align": "right"}\
|
||||||
|
# ${else}
|
||||||
|
# {"full_text": " ${exec echo $(mpc -f "%artist%" | head -n 1 | head -c 40 | cut -d"%" -f1) - $(mpc -f "%title%" | head -n 1 | head -c 40 | cut -d"%" -f1)} ","color":"\#C5C5C5","separator":false,"separator_block_width":6,"min_width": 600, "align": "right"}\
|
||||||
|
# $endif
|
||||||
|
#SEPARATOR
|
||||||
|
#$endif
|
||||||
|
|
||||||
|
|
||||||
|
],
|
93
i3/conkyrc-bottom.old
Normal file
93
i3/conkyrc-bottom.old
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
#!/usr/bin/conky
|
||||||
|
out_to_x no
|
||||||
|
own_window no
|
||||||
|
out_to_console yes
|
||||||
|
background no
|
||||||
|
max_text_width 0
|
||||||
|
|
||||||
|
# Update interval in seconds
|
||||||
|
update_interval 1.0
|
||||||
|
|
||||||
|
# This is the number of times Conky will update before quitting.
|
||||||
|
# Set to zero to run forever.
|
||||||
|
total_run_times 0
|
||||||
|
|
||||||
|
# Shortens units to a single character (kiB->k, GiB->G, etc.). Default is off.
|
||||||
|
short_units yes
|
||||||
|
|
||||||
|
# How strict should if_up be when testing an interface for being up?
|
||||||
|
# The value is one of up, link or address, to check for the interface
|
||||||
|
# being solely up, being up and having link or being up, having link
|
||||||
|
# and an assigned IP address.
|
||||||
|
if_up_strictness address
|
||||||
|
|
||||||
|
# Add spaces to keep things from moving about? This only affects certain objects.
|
||||||
|
# use_spacer should have an argument of left, right, or none
|
||||||
|
use_spacer right
|
||||||
|
|
||||||
|
# Force UTF8? note that UTF8 support required XFT
|
||||||
|
override_utf8_locale no
|
||||||
|
|
||||||
|
# number of cpu samples to average
|
||||||
|
# set to 1 to disable averaging
|
||||||
|
cpu_avg_samples 2
|
||||||
|
|
||||||
|
# Stuff after 'TEXT' will be formatted on screen
|
||||||
|
# JSON for i3bar
|
||||||
|
|
||||||
|
TEXT
|
||||||
|
|
||||||
|
[
|
||||||
|
|
||||||
|
#DOWN
|
||||||
|
|
||||||
|
#ADD DYNAMIC INTERFACE
|
||||||
|
|
||||||
|
{"full_text":" ${downspeed ${execi 120 ip r | grep default | head | cut -d\ -f5}}","color":"\#00AE58","separator":false,"separator_block_width":6, "min_width": 65, "align": "left"},\
|
||||||
|
|
||||||
|
#UP
|
||||||
|
|
||||||
|
#ADD DYNAMIC INTERFACE
|
||||||
|
|
||||||
|
{"full_text":" ${upspeed ${execi 120 ip r | grep default | head | cut -d\ -f5}}","color":"\#D0151E","separator":false,"separator_block_width":6, "min_width": 65, "align": "left"},\
|
||||||
|
|
||||||
|
#CPU
|
||||||
|
|
||||||
|
${if_match ${cpu cpu0} >= 80}\
|
||||||
|
{"full_text":" ${cpu cpu0}%","color":"\#D0151E","separator":false,"separator_block_width":6, "min_width": 65, "align": "left"},\
|
||||||
|
${else}
|
||||||
|
${if_match ${cpu cpu0} >= 50}\
|
||||||
|
{"full_text":" ${cpu cpu0}%","color":"\#E56C08","separator":false,"separator_block_width":6, "min_width": 65, "align": "left"},\
|
||||||
|
${else}
|
||||||
|
{"full_text":" ${cpu cpu0}%","color":"\#C5C5C5","separator":false,"separator_block_width":6, "min_width": 65, "align": "left"},\
|
||||||
|
$endif
|
||||||
|
$endif
|
||||||
|
|
||||||
|
#MEM
|
||||||
|
|
||||||
|
# CHANGE COLOR IN HIGH MEMORY USAGE
|
||||||
|
{"full_text":" ${mem}","color":"\#C5C5C5","separator":false,"separator_block_width":430, "min_width": 65, "align": "left"},\
|
||||||
|
|
||||||
|
#MPV
|
||||||
|
|
||||||
|
${if_match "${exec xdotool search --class mpv}"==""}\
|
||||||
|
{"full_text":" ","color":"\#00AE58","separator":false,"separator_block_width":6, "min_width": 570, "align": "right"},\
|
||||||
|
${else}
|
||||||
|
{"full_text": " ${exec xprop -id $(xdotool search --class mpv) | grep 'NET_WM_NAME(UTF8_STRING)' | cut -d'"' -f2} ","color":"\#C5C5C5","separator":false,"separator_block_width":6, "min_width":570 , "align": "right"},\
|
||||||
|
$endif
|
||||||
|
|
||||||
|
#MUSIC
|
||||||
|
|
||||||
|
${if_match "${exec mpc -f %artist% | head -n 1 | grep -v 'consume: off'| sed 's/\\n//g'}"==""}\
|
||||||
|
{"full_text":" ","color":"\#00AE58","separator":false,"separator_block_width":6, "min_width": 600, "align": "left"}\
|
||||||
|
${else}
|
||||||
|
${if_match "${exec mpc status | egrep 'paused|playing' | cut -d" " -f1}"=="[playing]"}\
|
||||||
|
{"full_text": " ${exec echo $(mpc -f "%artist%" | head -n 1 | head -c 40 | cut -d"%" -f1) - $(mpc -f "%title%" | head -n 1 | head -c 40 | cut -d"%" -f1)} ","color":"\#C5C5C5","separator":false,"separator_block_width":6, "min_width": 600, "align": "right"}\
|
||||||
|
${else}
|
||||||
|
{"full_text": " ${exec echo $(mpc -f "%artist%" | head -n 1 | head -c 40 | cut -d"%" -f1) - $(mpc -f "%title%" | head -n 1 | head -c 40 | cut -d"%" -f1)} ","color":"\#C5C5C5","separator":false,"separator_block_width":6,"min_width": 600, "align": "right"}\
|
||||||
|
$endif
|
||||||
|
#SEPARATOR
|
||||||
|
$endif
|
||||||
|
|
||||||
|
|
||||||
|
],
|
156
i3/conkyrc-front
Normal file
156
i3/conkyrc-front
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
-- vim: ts=4 sw=4 noet ai cindent syntax=lua
|
||||||
|
--[[
|
||||||
|
Conky, a system monitor, based on torsmo
|
||||||
|
|
||||||
|
Any original torsmo code is licensed under the BSD license
|
||||||
|
|
||||||
|
All code written since the fork of torsmo is licensed under the GPL
|
||||||
|
|
||||||
|
Please see COPYING for details
|
||||||
|
|
||||||
|
Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen
|
||||||
|
Copyright (c) 2005-2012 Brenden Matthews, Philip Kovacs, et. al. (see AUTHORS)
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
]]
|
||||||
|
|
||||||
|
conky.config = {
|
||||||
|
alignment = 'top_right',
|
||||||
|
gap_x = 15,
|
||||||
|
gap_y = 30,
|
||||||
|
background = false,
|
||||||
|
border_width = 0,
|
||||||
|
cpu_avg_samples = 2,
|
||||||
|
default_color = 'white',
|
||||||
|
default_outline_color = 'white',
|
||||||
|
default_shade_color = 'white',
|
||||||
|
draw_borders = false,
|
||||||
|
draw_graph_borders = true,
|
||||||
|
draw_outline = false,
|
||||||
|
draw_shades = false,
|
||||||
|
use_xft = true,
|
||||||
|
font = 'Ubuntu:size=10',
|
||||||
|
net_avg_samples = 2,
|
||||||
|
no_buffers = false,
|
||||||
|
out_to_console = false,
|
||||||
|
out_to_stderr = false,
|
||||||
|
extra_newline = false,
|
||||||
|
own_window = true,
|
||||||
|
own_window_argb_visual = true,
|
||||||
|
own_window_argb_value = 200,
|
||||||
|
own_window_class = 'Conky',
|
||||||
|
own_window_type = 'normal',
|
||||||
|
stippled_borders = 0,
|
||||||
|
update_interval = 1.0,
|
||||||
|
uppercase = false,
|
||||||
|
use_spacer = 'none',
|
||||||
|
show_graph_scale = true,
|
||||||
|
show_graph_range = false
|
||||||
|
}
|
||||||
|
|
||||||
|
conky.text = [[
|
||||||
|
${alignc -10}${font Open Sans:size=20}${color dodgerblue3}Arch${color}Linux$font$color
|
||||||
|
${voffset 4}$color${font}${font Open Sans:size=15}$alignr${voffset -15}${time %H:%M}$font
|
||||||
|
${voffset -4}${color dodgerblue3}${font Open Sans:Bold:size=10}DATE ${hr 5}$color$font
|
||||||
|
$color${font Open Sans:size=12}$alignc${time %A}, ${time %d %B %Y}$font$color
|
||||||
|
|
||||||
|
|
||||||
|
# SYS
|
||||||
|
${voffset -8}${font Open Sans:Bold:size=10}${color dodgerblue3}SYSTEM ${hr 5}$color${font}
|
||||||
|
$sysname $kernel $alignr $machine
|
||||||
|
Uptime: $alignr $uptime
|
||||||
|
|
||||||
|
|
||||||
|
# MEMORY
|
||||||
|
${voffset -8}${font Open Sans:Bold:size=10}${color dodgerblue3}MEMORY ${membar 4}
|
||||||
|
$color${font Open Sans:bold:size=8.5}Used:$font $mem of $memmax$alignr$memperc%
|
||||||
|
$color${font Open Sans:bold:size=8.5}Free:$font $memeasyfree
|
||||||
|
$color${font Open Sans:bold:size=8.5}Buffers / Cached:$font$alignr$buffers / $cached
|
||||||
|
|
||||||
|
|
||||||
|
${voffset -10}------------------------------------------------- ${font Open Sans:Bold:size=10}${color dodgerblue3}${voffset -2}RAM${color}${font}${voffset -1} ---- ${font Open Sans:Bold:size=10}${color dodgerblue3}${voffset -2}CPU${color}${font}${voffset -1} -
|
||||||
|
${top_mem name 1}${alignr}${top_mem cpu 1} %
|
||||||
|
${voffset -13}${alignr}${offset -60}${top_mem mem 1} %
|
||||||
|
${top_mem name 2}${alignr}${top_mem cpu 2} %
|
||||||
|
${voffset -13}${alignr}${offset -60}${top_mem mem 2} %
|
||||||
|
${top_mem name 3}${alignr}${top_mem cpu 3} %
|
||||||
|
${voffset -13}${alignr}${offset -60}${top_mem mem 3} %
|
||||||
|
${top_mem name 4}${alignr}${top_mem cpu 4} %
|
||||||
|
${voffset -13}${alignr}${offset -60}${top_mem mem 4} %
|
||||||
|
|
||||||
|
|
||||||
|
${voffset -8}${font Open Sans:Bold:size=10}${color dodgerblue3}SWAP ${swapbar 4}
|
||||||
|
$color${font Open Sans:bold:size=8.5}Used:$font $swap of $swapmax$alignr$swapperc%
|
||||||
|
$color${font Open Sans:bold:size=8.5}Free:$font $swapfree
|
||||||
|
|
||||||
|
|
||||||
|
# CPU
|
||||||
|
${voffset -8}${font Open Sans:Bold:size=10}${color dodgerblue3}CPU ${cpubar 4}
|
||||||
|
$color${font}Intel® Core™ i5-4670K @ ${freq_g cpu0}GHz $alignr $cpu% @ ${execi 2 sensors | grep 'Physical id 0' | cut -c18-19}°C
|
||||||
|
${font}Core 0 - ${execi 2 sensors | grep 'Core 0' | cut -c18-19}°C ${alignc 60}${color dodgerblue3}${cpubar cpu1}${color}
|
||||||
|
${font}Core 1 - ${execi 2 sensors | grep 'Core 1' | cut -c18-19}°C ${alignc 60}${color dodgerblue3}${cpubar cpu2}${color}
|
||||||
|
|
||||||
|
|
||||||
|
${voffset -10}------------------------------------------------- ${font Open Sans:Bold:size=10}${color dodgerblue3}${voffset -2}RAM${color}${font}${voffset -1} ---- ${font Open Sans:Bold:size=10}${color dodgerblue3}${voffset -2}CPU${color}${font}${voffset -1} -
|
||||||
|
#${hr 1}
|
||||||
|
${top name 1}${alignr}${top cpu 1} %
|
||||||
|
${voffset -13}${alignr}${offset -60}${top mem 1} %
|
||||||
|
${top name 2}${alignr}${top cpu 2} %
|
||||||
|
${voffset -13}${alignr}${offset -60}${top mem 2} %
|
||||||
|
${top name 3}${alignr}${top cpu 3} %
|
||||||
|
${voffset -13}${alignr}${offset -60}${top mem 3} %
|
||||||
|
${top name 4}${alignr}${top cpu 4} %
|
||||||
|
${voffset -13}${alignr}${offset -60}${top mem 4} %
|
||||||
|
|
||||||
|
|
||||||
|
# NETWORK
|
||||||
|
${voffset -8}${font Open Sans:Bold:size=10}${color dodgerblue3}NETWORK ${hr 5}
|
||||||
|
$color${font Open Sans:bold:size=8.5}External IP ${font}${alignr}${execi 60 curl icanhazip.com }$font
|
||||||
|
${voffset -14}$alignc${execpi 4 echo "\${font}\${color}ping: \${font Open Sans:bold:size=8.5}\${color #66aaff}$(ping -W 1 -c 1 8.8.8.8 -q | grep rtt | egrep [0-9]+\.[0-9]+ -o | head -n 2 | tail -n 1)\${font}\${color} ms"}
|
||||||
|
|
||||||
|
${if_match "${addr eno1}" != "No Address"}
|
||||||
|
${voffset -10}${font Open Sans:bold:size=8.5}Ethernet $font$alignr ${addr eno1}
|
||||||
|
${upspeed eno1}/s $alignr ${totalup eno1}
|
||||||
|
${voffset -14}$alignc${upspeedgraph eno1 10,120 000000 aaddff}
|
||||||
|
${downspeed eno1}/s $alignr ${totaldown eno1}
|
||||||
|
${voffset -14}$alignc${downspeedgraph eno1 10,120 000000 66aaff}
|
||||||
|
|
||||||
|
${endif}
|
||||||
|
${if_match "${addr wlp2s0}" != "No Address"}
|
||||||
|
${voffset -10}${font Open Sans:bold:size=8.5}WiFi $font${wireless_link_qual_perc wlp2s0}% $alignr ${addr wlp2s0}
|
||||||
|
${voffset -14}$alignc${wireless_essid wlp2s0}
|
||||||
|
$alignc${wireless_link_bar 4,260 wlp2s0}
|
||||||
|
↑ ${upspeed wlp2s0}/s $alignr ${totalup wlp2s0}
|
||||||
|
${voffset -14}$alignc${upspeedgraph wlp2s0 10,120 000000 aaddff}
|
||||||
|
↓ ${downspeed wlp2s0}/s $alignr ${totaldown wlp2s0}
|
||||||
|
${voffset -14}$alignc${downspeedgraph wlp2s0 10,120 000000 66aaff}
|
||||||
|
${endif}
|
||||||
|
|
||||||
|
|
||||||
|
# DISC
|
||||||
|
${voffset -8}${font Open Sans:Bold:size=10}${color dodgerblue3}DISCS ${hr 5}
|
||||||
|
${alignc}${color aaddff}write: ${diskio_write /dev/sda}${color 66aaff} read:${diskio_read /dev/sda}$color
|
||||||
|
|
||||||
|
$color${voffset -10}${font Open Sans:bold:size=8.5}ROOT $font$alignr ${fs_type /}
|
||||||
|
${fs_used /} / ${fs_size /} $alignr ${fs_used_perc /} %
|
||||||
|
${fs_bar /}
|
||||||
|
|
||||||
|
${voffset -10}${font Open Sans:bold:size=8.5}HOME $font$alignr ${fs_type /home/user}
|
||||||
|
${fs_used /home/user} / ${fs_size /home/user} $alignr ${fs_used_perc /home/user} %
|
||||||
|
${fs_bar /home/user}
|
||||||
|
|
||||||
|
#${voffset -8}${font Open Sans:Bold:size=10}${color dodgerblue3}WEATHER ${hr 5}
|
||||||
|
#${alignc -10}$font$color${execi 1800 ~/.i3/weather.sh }
|
||||||
|
|
||||||
|
]]
|
184
i3/conkyrc-top
Normal file
184
i3/conkyrc-top
Normal file
@ -0,0 +1,184 @@
|
|||||||
|
#!/usr/bin/conky
|
||||||
|
out_to_x no
|
||||||
|
own_window no
|
||||||
|
out_to_console yes
|
||||||
|
background no
|
||||||
|
max_text_width 0
|
||||||
|
|
||||||
|
# Update interval in seconds
|
||||||
|
update_interval 1.0
|
||||||
|
|
||||||
|
# This is the number of times Conky will update before quitting.
|
||||||
|
# Set to zero to run forever.
|
||||||
|
total_run_times 0
|
||||||
|
|
||||||
|
# Shortens units to a single character (kiB->k, GiB->G, etc.). Default is off.
|
||||||
|
short_units yes
|
||||||
|
|
||||||
|
# How strict should if_up be when testing an interface for being up?
|
||||||
|
# The value is one of up, link or address, to check for the interface
|
||||||
|
# being solely up, being up and having link or being up, having link
|
||||||
|
# and an assigned IP address.
|
||||||
|
if_up_strictness address
|
||||||
|
|
||||||
|
# Add spaces to keep things from moving about? This only affects certain objects.
|
||||||
|
# use_spacer should have an argument of left, right, or none
|
||||||
|
use_spacer left
|
||||||
|
|
||||||
|
# Force UTF8? note that UTF8 support required XFT
|
||||||
|
override_utf8_locale no
|
||||||
|
|
||||||
|
# number of cpu samples to average
|
||||||
|
# set to 1 to disable averaging
|
||||||
|
cpu_avg_samples 2
|
||||||
|
|
||||||
|
# Stuff after 'TEXT' will be formatted on screen
|
||||||
|
# JSON for i3bar
|
||||||
|
|
||||||
|
TEXT
|
||||||
|
|
||||||
|
[
|
||||||
|
|
||||||
|
#IF INTERNET CONNECTED PART
|
||||||
|
|
||||||
|
${if_match "${execi 120 ping -q -w 2 -c 1 176.34.135.167 > /dev/null && echo ok}"=="ok"}
|
||||||
|
|
||||||
|
#PACMAN
|
||||||
|
${if_match "${execi 200 checkupdates | wc -l}"!="0"}\
|
||||||
|
{"full_text":" ${execi 200 checkupdates | wc -l}","color":"\#D0151E","separator":false,"separator_block_width":6},\
|
||||||
|
#SEPARATOR
|
||||||
|
{"full_text":" ","color":"\#00AE58","separator":false,"separator_block_width":6},\
|
||||||
|
$endif
|
||||||
|
|
||||||
|
#AUR
|
||||||
|
${if_match "${execi 1900 cower -u | wc -l}"!="0"}\
|
||||||
|
{"full_text":" ${execi 1900 cower -u | wc -l}","color":"\#F15D25","separator":false,"separator_block_width":0},\
|
||||||
|
#SEPARATOR
|
||||||
|
{"full_text":" ","color":"\#00AE58","separator":false,"separator_block_width":15},\
|
||||||
|
$endif
|
||||||
|
|
||||||
|
#WEATHER
|
||||||
|
{"full_text":"${execi 1800 ~/.i3/weather.sh | cut -d' ' -f1} ","color":"\#C5C5C5","separator":false,"separator_block_width":0},\
|
||||||
|
{"full_text":" ${execi 1800 ~/.i3/weather.sh | cut -d' ' -f2}","color":"\#4285F4","separator":false,"separator_block_width":0},\
|
||||||
|
{"full_text":" ${execi 1800 ~/.i3/weather.sh | cut -d' ' -f3}","color":"\#C5C5C5","separator":false,"separator_block_width":0},\
|
||||||
|
{"full_text":" ","color":"\#00AE58","separator":false,"separator_block_width":20},\
|
||||||
|
|
||||||
|
$endif
|
||||||
|
|
||||||
|
#VOLUME
|
||||||
|
${if_match "${exec amixer get 'Master' | grep '\[on\]' | grep Left | cut -d"[" -f2 | cut -d"%" -f1}" == "" }\
|
||||||
|
{"full_text":" ","color":"\#D0151E","separator":false,"separator_block_width":6},\
|
||||||
|
${else}
|
||||||
|
${if_match ${exec amixer get 'Master' | grep '\[on\]' | grep Left | cut -d"[" -f2 | cut -d"%" -f1} >= 75 }\
|
||||||
|
{"full_text":" ${exec amixer get 'Master' | grep '\[on\]' | grep Left | cut -d"[" -f2 | cut -d"%" -f1}%","color":"\#C5C5C5","separator":false,"separator_block_width":6},\
|
||||||
|
${else}
|
||||||
|
${if_match ${exec amixer get 'Master' | grep '\[on\]' | grep Left | cut -d"[" -f2 | cut -d"%" -f1} >= 50 }\
|
||||||
|
{"full_text":" ${exec amixer get 'Master' | grep '\[on\]' | grep Left | cut -d"[" -f2 | cut -d"%" -f1}%","color":"\#C5C5C5","separator":false,"separator_block_width":6},\
|
||||||
|
${else}
|
||||||
|
{"full_text":" ${exec amixer get 'Master' | grep '\[on\]' | grep Left | cut -d"[" -f2 | cut -d"%" -f1}%","color":"\#C5C5C5","separator":false,"separator_block_width":6},\
|
||||||
|
$endif
|
||||||
|
$endif
|
||||||
|
$endif
|
||||||
|
|
||||||
|
|
||||||
|
#SEPARATOR
|
||||||
|
{"full_text":" ","color":"\#00AE58","separator":false,"separator_block_width":15},\
|
||||||
|
|
||||||
|
#BACKLIGHT
|
||||||
|
{"full_text":" ${exec xbacklight -get | cut -d"." -f1}","color":"\#C5C5C5","separator":false,"separator_block_width":6},\
|
||||||
|
|
||||||
|
#SEPARATOR
|
||||||
|
{"full_text":" ","color":"\#00AE58","separator":false,"separator_block_width":15},\
|
||||||
|
|
||||||
|
#WIRED
|
||||||
|
${if_match "${addr br0}" != "No Address" }\
|
||||||
|
${if_match "${exec ip a | grep -A 1 ' br0:' | grep ether | awk '{print $2}'}" == "${exec cat ~/.i3/mac_orig}" }\
|
||||||
|
{"full_text":"ORIG ${addr br0}","color":"\#C5C5C5","separator":false,"separator_block_width":6},\
|
||||||
|
${else}
|
||||||
|
{"full_text":" ${exec ip a | grep -A 1 ' br0:' | grep ether | awk '{print $2}'} ${addr br0}","color":"\#C5C5C5","separator":false,"separator_block_width":6},\
|
||||||
|
$endif
|
||||||
|
$endif
|
||||||
|
|
||||||
|
#WIFI
|
||||||
|
${if_match "${wireless_essid wlp2s0}" != "off/any" }\
|
||||||
|
{"full_text":" ","color":"\#C5C5C5","separator":false,"separator_block_width":6},\
|
||||||
|
${if_match ${wireless_link_qual_perc wlp2s0} >= 75 }\
|
||||||
|
{"full_text":"${wireless_essid wlp2s0}","color":"\#00AE58","separator":false,"separator_block_width":6},\
|
||||||
|
${else}
|
||||||
|
${if_match ${wireless_link_qual_perc wlp2s0} <= 25 }\
|
||||||
|
{"full_text":"${wireless_essid wlp2s0}","color":"\#D0151E","separator":false,"separator_block_width":6},\
|
||||||
|
${else}
|
||||||
|
{"full_text":"${wireless_essid wlp2s0}","color":"\#C5C5C5","separator":false,"separator_block_width":6},\
|
||||||
|
|
||||||
|
$endif
|
||||||
|
$endif
|
||||||
|
$endif
|
||||||
|
|
||||||
|
#VPN CONNECTED
|
||||||
|
${if_match "${exec ip address show | grep tun}" != "" }\
|
||||||
|
{"full_text":" VPN","color":"\#F15D25","separator":false,"separator_block_width":6},\
|
||||||
|
$endif
|
||||||
|
|
||||||
|
#TOR CONNECTED
|
||||||
|
${if_match "${exec systemctl status tor | grep 'active (running)'}" != "" }\
|
||||||
|
{"full_text":" TOR${execi 10 proxychains wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d\< -f 1}","color":"\#F15D25","separator":false,"separator_block_width":6},\
|
||||||
|
$endif
|
||||||
|
|
||||||
|
#SEPARATOR
|
||||||
|
{"full_text":" ","color":"\#00AE58","separator":false,"separator_block_width":15},\
|
||||||
|
|
||||||
|
#BATTERY
|
||||||
|
|
||||||
|
${if_match "${exec cat /sys/class/power_supply/BAT0/status}" == "Charging" }\
|
||||||
|
{"full_text":" ","color":"\#C5C5C5","separator":false,"separator_block_width":6},\
|
||||||
|
{"full_text":"${battery_percent BAT0}%","color":"\#C5C5C5","separator":false,"separator_block_width":6},\
|
||||||
|
${else}
|
||||||
|
${if_match "${exec cat /sys/class/power_supply/BAT0/status}" == "Full" }\
|
||||||
|
{"full_text":" ","color":"\#C5C5C5","separator":false,"separator_block_width":6},\
|
||||||
|
{"full_text":"${battery_percent BAT0}%","color":"\#C5C5C5","separator":false,"separator_block_width":6},\
|
||||||
|
${else}
|
||||||
|
${if_match ${battery_percent BAT0} >= 80}\
|
||||||
|
{"full_text":" ","color":"\#C5C5C5","separator":false,"separator_block_width":6},\
|
||||||
|
{"full_text":"${battery_percent BAT0}%","color":"\#00AE58","separator":false,"separator_block_width":6},\
|
||||||
|
{"full_text":"[${battery_time BAT0}]","color":"\#00AE58","separator":false,"separator_block_width":6},\
|
||||||
|
${else}
|
||||||
|
${if_match ${battery_percent BAT0} >= 50}\
|
||||||
|
{"full_text":" ","color":"\#C5C5C5","separator":false,"separator_block_width":6},\
|
||||||
|
{"full_text":"${battery_percent BAT0}%","color":"\#00AE58","separator":false,"separator_block_width":6},\
|
||||||
|
{"full_text":"[${battery_time BAT0}]","color":"\#00AE58","separator":false,"separator_block_width":6},\
|
||||||
|
${else}
|
||||||
|
${if_match ${battery_percent BAT0} >= 30}\
|
||||||
|
{"full_text":" ","color":"\#C5C5C5","separator":false,"separator_block_width":6},\
|
||||||
|
{"full_text":"${battery_percent BAT0}%","color":"\#00AE58","separator":false,"separator_block_width":6},\
|
||||||
|
{"full_text":"[${battery_time BAT0}]","color":"\#00AE58","separator":false,"separator_block_width":6},\
|
||||||
|
${else}
|
||||||
|
${if_match ${battery_percent BAT0} >= 10}\
|
||||||
|
{"full_text":" ","color":"\#E56C08","separator":false,"separator_block_width":6},\
|
||||||
|
{"full_text":"${battery_percent BAT0}%","color":"\#E56C08","separator":false,"separator_block_width":6},\
|
||||||
|
{"full_text":"[${battery_time BAT0}]","color":"\#E56C08","separator":false,"separator_block_width":6},\
|
||||||
|
${else}
|
||||||
|
{"full_text":" ","color":"\#D0151E","separator":false,"separator_block_width":6},\
|
||||||
|
{"full_text":"${battery_percent BAT0}%","color":"\#D0151E","separator":false,"separator_block_width":6},\
|
||||||
|
{"full_text":"[${battery_time BAT0}]","color":"\#D0151E","separator":false,"separator_block_width":6},\
|
||||||
|
|
||||||
|
$endif
|
||||||
|
$endif
|
||||||
|
$endif
|
||||||
|
$endif
|
||||||
|
$endif
|
||||||
|
$endif
|
||||||
|
|
||||||
|
#DATE
|
||||||
|
{"full_text":" ","color":"\#00AE58","separator":false,"separator_block_width":6},\
|
||||||
|
{"full_text":"${time %d}","color":"\#C5C5C5","separator":false,"separator_block_width":0},\
|
||||||
|
{"full_text":"/","color":"\#00AE58","separator":false,"separator_block_width":0},\
|
||||||
|
{"full_text":"${time %m}","color":"\#C5C5C5","separator":false,"separator_block_width":0},\
|
||||||
|
{"full_text":"/","color":"\#00AE58","separator":false,"separator_block_width":0},\
|
||||||
|
{"full_text":"${time %Y}","color":"\#C5C5C5","separator":false,"separator_block_width":6},\
|
||||||
|
{"full_text":" ","color":"\#00AE58","separator":false,"separator_block_width":6},\
|
||||||
|
|
||||||
|
#TIME
|
||||||
|
{"full_text":"${time %H:%M:%S}","color":"\#C5C5C5","separator":false,"separator_block_width":6},\
|
||||||
|
{"full_text":" ","color":"\#00AE58","separator":false,"separator_block_width":6}\
|
||||||
|
|
||||||
|
],
|
1
i3/mac_orig
Normal file
1
i3/mac_orig
Normal file
@ -0,0 +1 @@
|
|||||||
|
56:22:03:78:f5:e2
|
BIN
i3/screenshot.png
Normal file
BIN
i3/screenshot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.5 MiB |
BIN
i3/screenshot2.png
Normal file
BIN
i3/screenshot2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 409 KiB |
16
i3/weather.sh
Executable file
16
i3/weather.sh
Executable file
@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
loc="34090"
|
||||||
|
|
||||||
|
mph=$(cliweather $loc| grep 'Wind:' | cut -d' ' -f2)
|
||||||
|
kmh=$(echo "$(($mph*(8/5)))" | cut -d'.' -f1)
|
||||||
|
#today_cond="$(cliweather $loc | grep 'Condition:' | sed 's-Condition: --')"
|
||||||
|
today_temp="$(cliweather $loc | grep 'Temperature:' | sed 's-Temperature: .*/\(.*C\)- \1°-')"
|
||||||
|
today_humi="$(cliweather $loc | grep 'Humidity:' | sed 's-Humidity: --')"
|
||||||
|
today_wind="$(cliweather $loc | grep 'Wind:' | sed "s-Wind: .* mph\( .*\)-"$kmh"km/h-")"
|
||||||
|
|
||||||
|
#today
|
||||||
|
echo $today_temp $today_humi $today_wind
|
||||||
|
|
||||||
|
#next days
|
||||||
|
#cliweather -f 34090 | head -n 9 | sed 's-Day: --' | sed 's- .*/\(.*C\)- \1°-' | sed 's-Condition: --'
|
7
vim/vim/.netrwhist
Normal file
7
vim/vim/.netrwhist
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
let g:netrw_dirhistmax =10
|
||||||
|
let g:netrw_dirhist_cnt =5
|
||||||
|
let g:netrw_dirhist_1='/home/user/.config/beets'
|
||||||
|
let g:netrw_dirhist_2='/etc/X11/xorg.conf.d'
|
||||||
|
let g:netrw_dirhist_3='/home/user/.config/dunst'
|
||||||
|
let g:netrw_dirhist_4='/home/user/.config/beets'
|
||||||
|
let g:netrw_dirhist_5='/home/user/downloads/torrents'
|
489
vim/vim/colors/Tomorrow-Night-Blue.vim
Executable file
489
vim/vim/colors/Tomorrow-Night-Blue.vim
Executable file
@ -0,0 +1,489 @@
|
|||||||
|
" Tomorrow Night Blue - Full Colour and 256 Colour
|
||||||
|
" http://chriskempson.com
|
||||||
|
"
|
||||||
|
" Hex colour conversion functions borrowed from the theme "Desert256""
|
||||||
|
|
||||||
|
" Default GUI Colours
|
||||||
|
let s:foreground = "ffffff"
|
||||||
|
let s:background = "002451"
|
||||||
|
let s:selection = "003f8e"
|
||||||
|
let s:line = "00346e"
|
||||||
|
let s:comment = "7285b7"
|
||||||
|
let s:red = "ff9da4"
|
||||||
|
let s:orange = "ffc58f"
|
||||||
|
let s:yellow = "ffeead"
|
||||||
|
let s:green = "d1f1a9"
|
||||||
|
let s:aqua = "99ffff"
|
||||||
|
let s:blue = "bbdaff"
|
||||||
|
let s:purple = "ebbbff"
|
||||||
|
let s:window = "4d5057"
|
||||||
|
|
||||||
|
hi clear
|
||||||
|
syntax reset
|
||||||
|
|
||||||
|
let g:colors_name = "Tomorrow-Night-Blue"
|
||||||
|
|
||||||
|
if has("gui_running") || &t_Co == 88 || &t_Co == 256
|
||||||
|
" Returns an approximate grey index for the given grey level
|
||||||
|
fun <SID>grey_number(x)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:x < 23
|
||||||
|
return 0
|
||||||
|
elseif a:x < 69
|
||||||
|
return 1
|
||||||
|
elseif a:x < 103
|
||||||
|
return 2
|
||||||
|
elseif a:x < 127
|
||||||
|
return 3
|
||||||
|
elseif a:x < 150
|
||||||
|
return 4
|
||||||
|
elseif a:x < 173
|
||||||
|
return 5
|
||||||
|
elseif a:x < 196
|
||||||
|
return 6
|
||||||
|
elseif a:x < 219
|
||||||
|
return 7
|
||||||
|
elseif a:x < 243
|
||||||
|
return 8
|
||||||
|
else
|
||||||
|
return 9
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:x < 14
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
let l:n = (a:x - 8) / 10
|
||||||
|
let l:m = (a:x - 8) % 10
|
||||||
|
if l:m < 5
|
||||||
|
return l:n
|
||||||
|
else
|
||||||
|
return l:n + 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the actual grey level represented by the grey index
|
||||||
|
fun <SID>grey_level(n)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:n == 0
|
||||||
|
return 0
|
||||||
|
elseif a:n == 1
|
||||||
|
return 46
|
||||||
|
elseif a:n == 2
|
||||||
|
return 92
|
||||||
|
elseif a:n == 3
|
||||||
|
return 115
|
||||||
|
elseif a:n == 4
|
||||||
|
return 139
|
||||||
|
elseif a:n == 5
|
||||||
|
return 162
|
||||||
|
elseif a:n == 6
|
||||||
|
return 185
|
||||||
|
elseif a:n == 7
|
||||||
|
return 208
|
||||||
|
elseif a:n == 8
|
||||||
|
return 231
|
||||||
|
else
|
||||||
|
return 255
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:n == 0
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 8 + (a:n * 10)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the palette index for the given grey index
|
||||||
|
fun <SID>grey_colour(n)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:n == 0
|
||||||
|
return 16
|
||||||
|
elseif a:n == 9
|
||||||
|
return 79
|
||||||
|
else
|
||||||
|
return 79 + a:n
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:n == 0
|
||||||
|
return 16
|
||||||
|
elseif a:n == 25
|
||||||
|
return 231
|
||||||
|
else
|
||||||
|
return 231 + a:n
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns an approximate colour index for the given colour level
|
||||||
|
fun <SID>rgb_number(x)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:x < 69
|
||||||
|
return 0
|
||||||
|
elseif a:x < 172
|
||||||
|
return 1
|
||||||
|
elseif a:x < 230
|
||||||
|
return 2
|
||||||
|
else
|
||||||
|
return 3
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:x < 75
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
let l:n = (a:x - 55) / 40
|
||||||
|
let l:m = (a:x - 55) % 40
|
||||||
|
if l:m < 20
|
||||||
|
return l:n
|
||||||
|
else
|
||||||
|
return l:n + 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the actual colour level for the given colour index
|
||||||
|
fun <SID>rgb_level(n)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:n == 0
|
||||||
|
return 0
|
||||||
|
elseif a:n == 1
|
||||||
|
return 139
|
||||||
|
elseif a:n == 2
|
||||||
|
return 205
|
||||||
|
else
|
||||||
|
return 255
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:n == 0
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 55 + (a:n * 40)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the palette index for the given R/G/B colour indices
|
||||||
|
fun <SID>rgb_colour(x, y, z)
|
||||||
|
if &t_Co == 88
|
||||||
|
return 16 + (a:x * 16) + (a:y * 4) + a:z
|
||||||
|
else
|
||||||
|
return 16 + (a:x * 36) + (a:y * 6) + a:z
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the palette index to approximate the given R/G/B colour levels
|
||||||
|
fun <SID>colour(r, g, b)
|
||||||
|
" Get the closest grey
|
||||||
|
let l:gx = <SID>grey_number(a:r)
|
||||||
|
let l:gy = <SID>grey_number(a:g)
|
||||||
|
let l:gz = <SID>grey_number(a:b)
|
||||||
|
|
||||||
|
" Get the closest colour
|
||||||
|
let l:x = <SID>rgb_number(a:r)
|
||||||
|
let l:y = <SID>rgb_number(a:g)
|
||||||
|
let l:z = <SID>rgb_number(a:b)
|
||||||
|
|
||||||
|
if l:gx == l:gy && l:gy == l:gz
|
||||||
|
" There are two possibilities
|
||||||
|
let l:dgr = <SID>grey_level(l:gx) - a:r
|
||||||
|
let l:dgg = <SID>grey_level(l:gy) - a:g
|
||||||
|
let l:dgb = <SID>grey_level(l:gz) - a:b
|
||||||
|
let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb)
|
||||||
|
let l:dr = <SID>rgb_level(l:gx) - a:r
|
||||||
|
let l:dg = <SID>rgb_level(l:gy) - a:g
|
||||||
|
let l:db = <SID>rgb_level(l:gz) - a:b
|
||||||
|
let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db)
|
||||||
|
if l:dgrey < l:drgb
|
||||||
|
" Use the grey
|
||||||
|
return <SID>grey_colour(l:gx)
|
||||||
|
else
|
||||||
|
" Use the colour
|
||||||
|
return <SID>rgb_colour(l:x, l:y, l:z)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
" Only one possibility
|
||||||
|
return <SID>rgb_colour(l:x, l:y, l:z)
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the palette index to approximate the 'rrggbb' hex string
|
||||||
|
fun <SID>rgb(rgb)
|
||||||
|
let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0
|
||||||
|
let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0
|
||||||
|
let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0
|
||||||
|
|
||||||
|
return <SID>colour(l:r, l:g, l:b)
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Sets the highlighting for the given group
|
||||||
|
fun <SID>X(group, fg, bg, attr)
|
||||||
|
if a:fg != ""
|
||||||
|
exec "hi " . a:group . " guifg=#" . a:fg . " ctermfg=" . <SID>rgb(a:fg)
|
||||||
|
endif
|
||||||
|
if a:bg != ""
|
||||||
|
exec "hi " . a:group . " guibg=#" . a:bg . " ctermbg=" . <SID>rgb(a:bg)
|
||||||
|
endif
|
||||||
|
if a:attr != ""
|
||||||
|
exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Vim Highlighting
|
||||||
|
call <SID>X("Normal", s:foreground, s:background, "")
|
||||||
|
call <SID>X("LineNr", s:selection, "", "")
|
||||||
|
call <SID>X("NonText", s:selection, "", "")
|
||||||
|
call <SID>X("SpecialKey", s:selection, "", "")
|
||||||
|
call <SID>X("Search", s:background, s:yellow, "")
|
||||||
|
call <SID>X("TabLine", s:window, s:foreground, "reverse")
|
||||||
|
call <SID>X("TabLineFill", s:window, s:foreground, "reverse")
|
||||||
|
call <SID>X("StatusLine", s:window, s:yellow, "reverse")
|
||||||
|
call <SID>X("StatusLineNC", s:window, s:foreground, "reverse")
|
||||||
|
call <SID>X("VertSplit", s:window, s:window, "none")
|
||||||
|
call <SID>X("Visual", "", s:selection, "")
|
||||||
|
call <SID>X("Directory", s:blue, "", "")
|
||||||
|
call <SID>X("ModeMsg", s:green, "", "")
|
||||||
|
call <SID>X("MoreMsg", s:green, "", "")
|
||||||
|
call <SID>X("Question", s:green, "", "")
|
||||||
|
call <SID>X("WarningMsg", s:red, "", "")
|
||||||
|
call <SID>X("MatchParen", "", s:selection, "")
|
||||||
|
call <SID>X("Folded", s:comment, s:background, "")
|
||||||
|
call <SID>X("FoldColumn", "", s:background, "")
|
||||||
|
if version >= 700
|
||||||
|
call <SID>X("CursorLine", "", s:line, "none")
|
||||||
|
call <SID>X("CursorColumn", "", s:line, "none")
|
||||||
|
call <SID>X("PMenu", s:foreground, s:selection, "none")
|
||||||
|
call <SID>X("PMenuSel", s:foreground, s:selection, "reverse")
|
||||||
|
call <SID>X("SignColumn", "", s:background, "none")
|
||||||
|
end
|
||||||
|
if version >= 703
|
||||||
|
call <SID>X("ColorColumn", "", s:line, "none")
|
||||||
|
end
|
||||||
|
|
||||||
|
" Standard Highlighting
|
||||||
|
call <SID>X("Comment", s:comment, "", "")
|
||||||
|
call <SID>X("Todo", s:comment, s:background, "")
|
||||||
|
call <SID>X("Title", s:comment, "", "")
|
||||||
|
call <SID>X("Identifier", s:red, "", "none")
|
||||||
|
call <SID>X("Statement", s:foreground, "", "")
|
||||||
|
call <SID>X("Conditional", s:foreground, "", "")
|
||||||
|
call <SID>X("Repeat", s:foreground, "", "")
|
||||||
|
call <SID>X("Structure", s:purple, "", "")
|
||||||
|
call <SID>X("Function", s:blue, "", "")
|
||||||
|
call <SID>X("Constant", s:orange, "", "")
|
||||||
|
call <SID>X("Keyword", s:orange, "", "")
|
||||||
|
call <SID>X("String", s:green, "", "")
|
||||||
|
call <SID>X("Special", s:foreground, "", "")
|
||||||
|
call <SID>X("PreProc", s:purple, "", "")
|
||||||
|
call <SID>X("Operator", s:aqua, "", "none")
|
||||||
|
call <SID>X("Type", s:blue, "", "none")
|
||||||
|
call <SID>X("Define", s:purple, "", "none")
|
||||||
|
call <SID>X("Include", s:blue, "", "")
|
||||||
|
"call <SID>X("Ignore", "666666", "", "")
|
||||||
|
|
||||||
|
" Vim Highlighting
|
||||||
|
call <SID>X("vimCommand", s:red, "", "none")
|
||||||
|
|
||||||
|
" C Highlighting
|
||||||
|
call <SID>X("cType", s:yellow, "", "")
|
||||||
|
call <SID>X("cStorageClass", s:purple, "", "")
|
||||||
|
call <SID>X("cConditional", s:purple, "", "")
|
||||||
|
call <SID>X("cRepeat", s:purple, "", "")
|
||||||
|
|
||||||
|
" PHP Highlighting
|
||||||
|
call <SID>X("phpVarSelector", s:red, "", "")
|
||||||
|
call <SID>X("phpKeyword", s:purple, "", "")
|
||||||
|
call <SID>X("phpRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("phpConditional", s:purple, "", "")
|
||||||
|
call <SID>X("phpStatement", s:purple, "", "")
|
||||||
|
call <SID>X("phpMemberSelector", s:foreground, "", "")
|
||||||
|
|
||||||
|
" Ruby Highlighting
|
||||||
|
call <SID>X("rubySymbol", s:green, "", "")
|
||||||
|
call <SID>X("rubyConstant", s:yellow, "", "")
|
||||||
|
call <SID>X("rubyAccess", s:yellow, "", "")
|
||||||
|
call <SID>X("rubyAttribute", s:blue, "", "")
|
||||||
|
call <SID>X("rubyInclude", s:blue, "", "")
|
||||||
|
call <SID>X("rubyLocalVariableOrMethod", s:orange, "", "")
|
||||||
|
call <SID>X("rubyCurlyBlock", s:orange, "", "")
|
||||||
|
call <SID>X("rubyStringDelimiter", s:green, "", "")
|
||||||
|
call <SID>X("rubyInterpolationDelimiter", s:orange, "", "")
|
||||||
|
call <SID>X("rubyConditional", s:purple, "", "")
|
||||||
|
call <SID>X("rubyRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("rubyControl", s:purple, "", "")
|
||||||
|
call <SID>X("rubyException", s:purple, "", "")
|
||||||
|
|
||||||
|
" Crystal Highlighting
|
||||||
|
call <SID>X("crystalSymbol", s:green, "", "")
|
||||||
|
call <SID>X("crystalConstant", s:yellow, "", "")
|
||||||
|
call <SID>X("crystalAccess", s:yellow, "", "")
|
||||||
|
call <SID>X("crystalAttribute", s:blue, "", "")
|
||||||
|
call <SID>X("crystalInclude", s:blue, "", "")
|
||||||
|
call <SID>X("crystalLocalVariableOrMethod", s:orange, "", "")
|
||||||
|
call <SID>X("crystalCurlyBlock", s:orange, "", "")
|
||||||
|
call <SID>X("crystalStringDelimiter", s:green, "", "")
|
||||||
|
call <SID>X("crystalInterpolationDelimiter", s:orange, "", "")
|
||||||
|
call <SID>X("crystalConditional", s:purple, "", "")
|
||||||
|
call <SID>X("crystalRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("crystalControl", s:purple, "", "")
|
||||||
|
call <SID>X("crystalException", s:purple, "", "")
|
||||||
|
|
||||||
|
" Python Highlighting
|
||||||
|
call <SID>X("pythonInclude", s:purple, "", "")
|
||||||
|
call <SID>X("pythonStatement", s:purple, "", "")
|
||||||
|
call <SID>X("pythonConditional", s:purple, "", "")
|
||||||
|
call <SID>X("pythonRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("pythonException", s:purple, "", "")
|
||||||
|
call <SID>X("pythonFunction", s:blue, "", "")
|
||||||
|
call <SID>X("pythonPreCondit", s:purple, "", "")
|
||||||
|
call <SID>X("pythonRepeat", s:aqua, "", "")
|
||||||
|
call <SID>X("pythonExClass", s:orange, "", "")
|
||||||
|
|
||||||
|
" JavaScript Highlighting
|
||||||
|
call <SID>X("javaScriptBraces", s:foreground, "", "")
|
||||||
|
call <SID>X("javaScriptFunction", s:purple, "", "")
|
||||||
|
call <SID>X("javaScriptConditional", s:purple, "", "")
|
||||||
|
call <SID>X("javaScriptRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("javaScriptNumber", s:orange, "", "")
|
||||||
|
call <SID>X("javaScriptMember", s:orange, "", "")
|
||||||
|
call <SID>X("javascriptNull", s:orange, "", "")
|
||||||
|
call <SID>X("javascriptGlobal", s:blue, "", "")
|
||||||
|
call <SID>X("javascriptStatement", s:red, "", "")
|
||||||
|
|
||||||
|
" CoffeeScript Highlighting
|
||||||
|
call <SID>X("coffeeRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("coffeeConditional", s:purple, "", "")
|
||||||
|
call <SID>X("coffeeKeyword", s:purple, "", "")
|
||||||
|
call <SID>X("coffeeObject", s:yellow, "", "")
|
||||||
|
|
||||||
|
" HTML Highlighting
|
||||||
|
call <SID>X("htmlTag", s:red, "", "")
|
||||||
|
call <SID>X("htmlTagName", s:red, "", "")
|
||||||
|
call <SID>X("htmlArg", s:red, "", "")
|
||||||
|
call <SID>X("htmlScriptTag", s:red, "", "")
|
||||||
|
|
||||||
|
" Diff Highlighting
|
||||||
|
call <SID>X("diffAdd", "", "4c4e39", "")
|
||||||
|
call <SID>X("diffDelete", s:background, s:red, "")
|
||||||
|
call <SID>X("diffChange", "", "2b5b77", "")
|
||||||
|
call <SID>X("diffText", s:line, s:blue, "")
|
||||||
|
|
||||||
|
" ShowMarks Highlighting
|
||||||
|
call <SID>X("ShowMarksHLl", s:orange, s:background, "none")
|
||||||
|
call <SID>X("ShowMarksHLo", s:purple, s:background, "none")
|
||||||
|
call <SID>X("ShowMarksHLu", s:yellow, s:background, "none")
|
||||||
|
call <SID>X("ShowMarksHLm", s:aqua, s:background, "none")
|
||||||
|
|
||||||
|
" Lua Highlighting
|
||||||
|
call <SID>X("luaStatement", s:purple, "", "")
|
||||||
|
call <SID>X("luaRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("luaCondStart", s:purple, "", "")
|
||||||
|
call <SID>X("luaCondElseif", s:purple, "", "")
|
||||||
|
call <SID>X("luaCond", s:purple, "", "")
|
||||||
|
call <SID>X("luaCondEnd", s:purple, "", "")
|
||||||
|
|
||||||
|
" Cucumber Highlighting
|
||||||
|
call <SID>X("cucumberGiven", s:blue, "", "")
|
||||||
|
call <SID>X("cucumberGivenAnd", s:blue, "", "")
|
||||||
|
|
||||||
|
" Go Highlighting
|
||||||
|
call <SID>X("goDirective", s:purple, "", "")
|
||||||
|
call <SID>X("goDeclaration", s:purple, "", "")
|
||||||
|
call <SID>X("goStatement", s:purple, "", "")
|
||||||
|
call <SID>X("goConditional", s:purple, "", "")
|
||||||
|
call <SID>X("goConstants", s:orange, "", "")
|
||||||
|
call <SID>X("goTodo", s:yellow, "", "")
|
||||||
|
call <SID>X("goDeclType", s:blue, "", "")
|
||||||
|
call <SID>X("goBuiltins", s:purple, "", "")
|
||||||
|
call <SID>X("goRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("goLabel", s:purple, "", "")
|
||||||
|
|
||||||
|
" Clojure Highlighting
|
||||||
|
call <SID>X("clojureConstant", s:orange, "", "")
|
||||||
|
call <SID>X("clojureBoolean", s:orange, "", "")
|
||||||
|
call <SID>X("clojureCharacter", s:orange, "", "")
|
||||||
|
call <SID>X("clojureKeyword", s:green, "", "")
|
||||||
|
call <SID>X("clojureNumber", s:orange, "", "")
|
||||||
|
call <SID>X("clojureString", s:green, "", "")
|
||||||
|
call <SID>X("clojureRegexp", s:green, "", "")
|
||||||
|
call <SID>X("clojureParen", s:aqua, "", "")
|
||||||
|
call <SID>X("clojureVariable", s:yellow, "", "")
|
||||||
|
call <SID>X("clojureCond", s:blue, "", "")
|
||||||
|
call <SID>X("clojureDefine", s:purple, "", "")
|
||||||
|
call <SID>X("clojureException", s:red, "", "")
|
||||||
|
call <SID>X("clojureFunc", s:blue, "", "")
|
||||||
|
call <SID>X("clojureMacro", s:blue, "", "")
|
||||||
|
call <SID>X("clojureRepeat", s:blue, "", "")
|
||||||
|
call <SID>X("clojureSpecial", s:purple, "", "")
|
||||||
|
call <SID>X("clojureQuote", s:blue, "", "")
|
||||||
|
call <SID>X("clojureUnquote", s:blue, "", "")
|
||||||
|
call <SID>X("clojureMeta", s:blue, "", "")
|
||||||
|
call <SID>X("clojureDeref", s:blue, "", "")
|
||||||
|
call <SID>X("clojureAnonArg", s:blue, "", "")
|
||||||
|
call <SID>X("clojureRepeat", s:blue, "", "")
|
||||||
|
call <SID>X("clojureDispatch", s:blue, "", "")
|
||||||
|
|
||||||
|
" Scala Highlighting
|
||||||
|
call <SID>X("scalaKeyword", s:purple, "", "")
|
||||||
|
call <SID>X("scalaKeywordModifier", s:purple, "", "")
|
||||||
|
call <SID>X("scalaOperator", s:blue, "", "")
|
||||||
|
call <SID>X("scalaPackage", s:red, "", "")
|
||||||
|
call <SID>X("scalaFqn", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaFqnSet", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaImport", s:purple, "", "")
|
||||||
|
call <SID>X("scalaBoolean", s:orange, "", "")
|
||||||
|
call <SID>X("scalaDef", s:purple, "", "")
|
||||||
|
call <SID>X("scalaVal", s:purple, "", "")
|
||||||
|
call <SID>X("scalaVar", s:aqua, "", "")
|
||||||
|
call <SID>X("scalaClass", s:purple, "", "")
|
||||||
|
call <SID>X("scalaObject", s:purple, "", "")
|
||||||
|
call <SID>X("scalaTrait", s:purple, "", "")
|
||||||
|
call <SID>X("scalaDefName", s:blue, "", "")
|
||||||
|
call <SID>X("scalaValName", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaVarName", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaClassName", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaType", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaTypeSpecializer", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaAnnotation", s:orange, "", "")
|
||||||
|
call <SID>X("scalaNumber", s:orange, "", "")
|
||||||
|
call <SID>X("scalaDefSpecializer", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaClassSpecializer", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaBackTick", s:green, "", "")
|
||||||
|
call <SID>X("scalaRoot", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaMethodCall", s:blue, "", "")
|
||||||
|
call <SID>X("scalaCaseType", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaLineComment", s:comment, "", "")
|
||||||
|
call <SID>X("scalaComment", s:comment, "", "")
|
||||||
|
call <SID>X("scalaDocComment", s:comment, "", "")
|
||||||
|
call <SID>X("scalaDocTags", s:comment, "", "")
|
||||||
|
call <SID>X("scalaEmptyString", s:green, "", "")
|
||||||
|
call <SID>X("scalaMultiLineString", s:green, "", "")
|
||||||
|
call <SID>X("scalaUnicode", s:orange, "", "")
|
||||||
|
call <SID>X("scalaString", s:green, "", "")
|
||||||
|
call <SID>X("scalaStringEscape", s:green, "", "")
|
||||||
|
call <SID>X("scalaSymbol", s:orange, "", "")
|
||||||
|
call <SID>X("scalaChar", s:orange, "", "")
|
||||||
|
call <SID>X("scalaXml", s:green, "", "")
|
||||||
|
call <SID>X("scalaConstructorSpecializer", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaBackTick", s:blue, "", "")
|
||||||
|
|
||||||
|
" Git
|
||||||
|
call <SID>X("diffAdded", s:green, "", "")
|
||||||
|
call <SID>X("diffRemoved", s:red, "", "")
|
||||||
|
call <SID>X("gitcommitSummary", "", "", "bold")
|
||||||
|
|
||||||
|
" Delete Functions
|
||||||
|
delf <SID>X
|
||||||
|
delf <SID>rgb
|
||||||
|
delf <SID>colour
|
||||||
|
delf <SID>rgb_colour
|
||||||
|
delf <SID>rgb_level
|
||||||
|
delf <SID>rgb_number
|
||||||
|
delf <SID>grey_colour
|
||||||
|
delf <SID>grey_level
|
||||||
|
delf <SID>grey_number
|
||||||
|
endif
|
||||||
|
|
||||||
|
set background=dark
|
489
vim/vim/colors/Tomorrow-Night-Bright.vim
Executable file
489
vim/vim/colors/Tomorrow-Night-Bright.vim
Executable file
@ -0,0 +1,489 @@
|
|||||||
|
" Tomorrow Night Bright - Full Colour and 256 Colour
|
||||||
|
" http://chriskempson.com
|
||||||
|
"
|
||||||
|
" Hex colour conversion functions borrowed from the theme "Desert256""
|
||||||
|
|
||||||
|
" Default GUI Colours
|
||||||
|
let s:foreground = "eaeaea"
|
||||||
|
let s:background = "000000"
|
||||||
|
let s:selection = "424242"
|
||||||
|
let s:line = "2a2a2a"
|
||||||
|
let s:comment = "969896"
|
||||||
|
let s:red = "d54e53"
|
||||||
|
let s:orange = "e78c45"
|
||||||
|
let s:yellow = "e7c547"
|
||||||
|
let s:green = "b9ca4a"
|
||||||
|
let s:aqua = "70c0b1"
|
||||||
|
let s:blue = "7aa6da"
|
||||||
|
let s:purple = "c397d8"
|
||||||
|
let s:window = "4d5057"
|
||||||
|
|
||||||
|
hi clear
|
||||||
|
syntax reset
|
||||||
|
|
||||||
|
let g:colors_name = "Tomorrow-Night-Bright"
|
||||||
|
|
||||||
|
if has("gui_running") || &t_Co == 88 || &t_Co == 256
|
||||||
|
" Returns an approximate grey index for the given grey level
|
||||||
|
fun <SID>grey_number(x)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:x < 23
|
||||||
|
return 0
|
||||||
|
elseif a:x < 69
|
||||||
|
return 1
|
||||||
|
elseif a:x < 103
|
||||||
|
return 2
|
||||||
|
elseif a:x < 127
|
||||||
|
return 3
|
||||||
|
elseif a:x < 150
|
||||||
|
return 4
|
||||||
|
elseif a:x < 173
|
||||||
|
return 5
|
||||||
|
elseif a:x < 196
|
||||||
|
return 6
|
||||||
|
elseif a:x < 219
|
||||||
|
return 7
|
||||||
|
elseif a:x < 243
|
||||||
|
return 8
|
||||||
|
else
|
||||||
|
return 9
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:x < 14
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
let l:n = (a:x - 8) / 10
|
||||||
|
let l:m = (a:x - 8) % 10
|
||||||
|
if l:m < 5
|
||||||
|
return l:n
|
||||||
|
else
|
||||||
|
return l:n + 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the actual grey level represented by the grey index
|
||||||
|
fun <SID>grey_level(n)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:n == 0
|
||||||
|
return 0
|
||||||
|
elseif a:n == 1
|
||||||
|
return 46
|
||||||
|
elseif a:n == 2
|
||||||
|
return 92
|
||||||
|
elseif a:n == 3
|
||||||
|
return 115
|
||||||
|
elseif a:n == 4
|
||||||
|
return 139
|
||||||
|
elseif a:n == 5
|
||||||
|
return 162
|
||||||
|
elseif a:n == 6
|
||||||
|
return 185
|
||||||
|
elseif a:n == 7
|
||||||
|
return 208
|
||||||
|
elseif a:n == 8
|
||||||
|
return 231
|
||||||
|
else
|
||||||
|
return 255
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:n == 0
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 8 + (a:n * 10)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the palette index for the given grey index
|
||||||
|
fun <SID>grey_colour(n)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:n == 0
|
||||||
|
return 16
|
||||||
|
elseif a:n == 9
|
||||||
|
return 79
|
||||||
|
else
|
||||||
|
return 79 + a:n
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:n == 0
|
||||||
|
return 16
|
||||||
|
elseif a:n == 25
|
||||||
|
return 231
|
||||||
|
else
|
||||||
|
return 231 + a:n
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns an approximate colour index for the given colour level
|
||||||
|
fun <SID>rgb_number(x)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:x < 69
|
||||||
|
return 0
|
||||||
|
elseif a:x < 172
|
||||||
|
return 1
|
||||||
|
elseif a:x < 230
|
||||||
|
return 2
|
||||||
|
else
|
||||||
|
return 3
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:x < 75
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
let l:n = (a:x - 55) / 40
|
||||||
|
let l:m = (a:x - 55) % 40
|
||||||
|
if l:m < 20
|
||||||
|
return l:n
|
||||||
|
else
|
||||||
|
return l:n + 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the actual colour level for the given colour index
|
||||||
|
fun <SID>rgb_level(n)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:n == 0
|
||||||
|
return 0
|
||||||
|
elseif a:n == 1
|
||||||
|
return 139
|
||||||
|
elseif a:n == 2
|
||||||
|
return 205
|
||||||
|
else
|
||||||
|
return 255
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:n == 0
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 55 + (a:n * 40)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the palette index for the given R/G/B colour indices
|
||||||
|
fun <SID>rgb_colour(x, y, z)
|
||||||
|
if &t_Co == 88
|
||||||
|
return 16 + (a:x * 16) + (a:y * 4) + a:z
|
||||||
|
else
|
||||||
|
return 16 + (a:x * 36) + (a:y * 6) + a:z
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the palette index to approximate the given R/G/B colour levels
|
||||||
|
fun <SID>colour(r, g, b)
|
||||||
|
" Get the closest grey
|
||||||
|
let l:gx = <SID>grey_number(a:r)
|
||||||
|
let l:gy = <SID>grey_number(a:g)
|
||||||
|
let l:gz = <SID>grey_number(a:b)
|
||||||
|
|
||||||
|
" Get the closest colour
|
||||||
|
let l:x = <SID>rgb_number(a:r)
|
||||||
|
let l:y = <SID>rgb_number(a:g)
|
||||||
|
let l:z = <SID>rgb_number(a:b)
|
||||||
|
|
||||||
|
if l:gx == l:gy && l:gy == l:gz
|
||||||
|
" There are two possibilities
|
||||||
|
let l:dgr = <SID>grey_level(l:gx) - a:r
|
||||||
|
let l:dgg = <SID>grey_level(l:gy) - a:g
|
||||||
|
let l:dgb = <SID>grey_level(l:gz) - a:b
|
||||||
|
let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb)
|
||||||
|
let l:dr = <SID>rgb_level(l:gx) - a:r
|
||||||
|
let l:dg = <SID>rgb_level(l:gy) - a:g
|
||||||
|
let l:db = <SID>rgb_level(l:gz) - a:b
|
||||||
|
let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db)
|
||||||
|
if l:dgrey < l:drgb
|
||||||
|
" Use the grey
|
||||||
|
return <SID>grey_colour(l:gx)
|
||||||
|
else
|
||||||
|
" Use the colour
|
||||||
|
return <SID>rgb_colour(l:x, l:y, l:z)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
" Only one possibility
|
||||||
|
return <SID>rgb_colour(l:x, l:y, l:z)
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the palette index to approximate the 'rrggbb' hex string
|
||||||
|
fun <SID>rgb(rgb)
|
||||||
|
let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0
|
||||||
|
let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0
|
||||||
|
let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0
|
||||||
|
|
||||||
|
return <SID>colour(l:r, l:g, l:b)
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Sets the highlighting for the given group
|
||||||
|
fun <SID>X(group, fg, bg, attr)
|
||||||
|
if a:fg != ""
|
||||||
|
exec "hi " . a:group . " guifg=#" . a:fg . " ctermfg=" . <SID>rgb(a:fg)
|
||||||
|
endif
|
||||||
|
if a:bg != ""
|
||||||
|
exec "hi " . a:group . " guibg=#" . a:bg . " ctermbg=" . <SID>rgb(a:bg)
|
||||||
|
endif
|
||||||
|
if a:attr != ""
|
||||||
|
exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Vim Highlighting
|
||||||
|
call <SID>X("Normal", s:foreground, s:background, "")
|
||||||
|
call <SID>X("LineNr", s:selection, "", "")
|
||||||
|
call <SID>X("NonText", s:selection, "", "")
|
||||||
|
call <SID>X("SpecialKey", s:selection, "", "")
|
||||||
|
call <SID>X("Search", s:background, s:yellow, "")
|
||||||
|
call <SID>X("TabLine", s:window, s:foreground, "reverse")
|
||||||
|
call <SID>X("TabLineFill", s:window, s:foreground, "reverse")
|
||||||
|
call <SID>X("StatusLine", s:window, s:yellow, "reverse")
|
||||||
|
call <SID>X("StatusLineNC", s:window, s:foreground, "reverse")
|
||||||
|
call <SID>X("VertSplit", s:window, s:window, "none")
|
||||||
|
call <SID>X("Visual", "", s:selection, "")
|
||||||
|
call <SID>X("Directory", s:blue, "", "")
|
||||||
|
call <SID>X("ModeMsg", s:green, "", "")
|
||||||
|
call <SID>X("MoreMsg", s:green, "", "")
|
||||||
|
call <SID>X("Question", s:green, "", "")
|
||||||
|
call <SID>X("WarningMsg", s:red, "", "")
|
||||||
|
call <SID>X("MatchParen", "", s:selection, "")
|
||||||
|
call <SID>X("Folded", s:comment, s:background, "")
|
||||||
|
call <SID>X("FoldColumn", "", s:background, "")
|
||||||
|
if version >= 700
|
||||||
|
call <SID>X("CursorLine", "", s:line, "none")
|
||||||
|
call <SID>X("CursorColumn", "", s:line, "none")
|
||||||
|
call <SID>X("PMenu", s:foreground, s:selection, "none")
|
||||||
|
call <SID>X("PMenuSel", s:foreground, s:selection, "reverse")
|
||||||
|
call <SID>X("SignColumn", "", s:background, "none")
|
||||||
|
end
|
||||||
|
if version >= 703
|
||||||
|
call <SID>X("ColorColumn", "", s:line, "none")
|
||||||
|
end
|
||||||
|
|
||||||
|
" Standard Highlighting
|
||||||
|
call <SID>X("Comment", s:comment, "", "")
|
||||||
|
call <SID>X("Todo", s:comment, s:background, "")
|
||||||
|
call <SID>X("Title", s:comment, "", "")
|
||||||
|
call <SID>X("Identifier", s:red, "", "none")
|
||||||
|
call <SID>X("Statement", s:foreground, "", "")
|
||||||
|
call <SID>X("Conditional", s:foreground, "", "")
|
||||||
|
call <SID>X("Repeat", s:foreground, "", "")
|
||||||
|
call <SID>X("Structure", s:purple, "", "")
|
||||||
|
call <SID>X("Function", s:blue, "", "")
|
||||||
|
call <SID>X("Constant", s:orange, "", "")
|
||||||
|
call <SID>X("Keyword", s:orange, "", "")
|
||||||
|
call <SID>X("String", s:green, "", "")
|
||||||
|
call <SID>X("Special", s:foreground, "", "")
|
||||||
|
call <SID>X("PreProc", s:purple, "", "")
|
||||||
|
call <SID>X("Operator", s:aqua, "", "none")
|
||||||
|
call <SID>X("Type", s:blue, "", "none")
|
||||||
|
call <SID>X("Define", s:purple, "", "none")
|
||||||
|
call <SID>X("Include", s:blue, "", "")
|
||||||
|
"call <SID>X("Ignore", "666666", "", "")
|
||||||
|
|
||||||
|
" Vim Highlighting
|
||||||
|
call <SID>X("vimCommand", s:red, "", "none")
|
||||||
|
|
||||||
|
" C Highlighting
|
||||||
|
call <SID>X("cType", s:yellow, "", "")
|
||||||
|
call <SID>X("cStorageClass", s:purple, "", "")
|
||||||
|
call <SID>X("cConditional", s:purple, "", "")
|
||||||
|
call <SID>X("cRepeat", s:purple, "", "")
|
||||||
|
|
||||||
|
" PHP Highlighting
|
||||||
|
call <SID>X("phpVarSelector", s:red, "", "")
|
||||||
|
call <SID>X("phpKeyword", s:purple, "", "")
|
||||||
|
call <SID>X("phpRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("phpConditional", s:purple, "", "")
|
||||||
|
call <SID>X("phpStatement", s:purple, "", "")
|
||||||
|
call <SID>X("phpMemberSelector", s:foreground, "", "")
|
||||||
|
|
||||||
|
" Ruby Highlighting
|
||||||
|
call <SID>X("rubySymbol", s:green, "", "")
|
||||||
|
call <SID>X("rubyConstant", s:yellow, "", "")
|
||||||
|
call <SID>X("rubyAccess", s:yellow, "", "")
|
||||||
|
call <SID>X("rubyAttribute", s:blue, "", "")
|
||||||
|
call <SID>X("rubyInclude", s:blue, "", "")
|
||||||
|
call <SID>X("rubyLocalVariableOrMethod", s:orange, "", "")
|
||||||
|
call <SID>X("rubyCurlyBlock", s:orange, "", "")
|
||||||
|
call <SID>X("rubyStringDelimiter", s:green, "", "")
|
||||||
|
call <SID>X("rubyInterpolationDelimiter", s:orange, "", "")
|
||||||
|
call <SID>X("rubyConditional", s:purple, "", "")
|
||||||
|
call <SID>X("rubyRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("rubyControl", s:purple, "", "")
|
||||||
|
call <SID>X("rubyException", s:purple, "", "")
|
||||||
|
|
||||||
|
" Crystal Highlighting
|
||||||
|
call <SID>X("crystalSymbol", s:green, "", "")
|
||||||
|
call <SID>X("crystalConstant", s:yellow, "", "")
|
||||||
|
call <SID>X("crystalAccess", s:yellow, "", "")
|
||||||
|
call <SID>X("crystalAttribute", s:blue, "", "")
|
||||||
|
call <SID>X("crystalInclude", s:blue, "", "")
|
||||||
|
call <SID>X("crystalLocalVariableOrMethod", s:orange, "", "")
|
||||||
|
call <SID>X("crystalCurlyBlock", s:orange, "", "")
|
||||||
|
call <SID>X("crystalStringDelimiter", s:green, "", "")
|
||||||
|
call <SID>X("crystalInterpolationDelimiter", s:orange, "", "")
|
||||||
|
call <SID>X("crystalConditional", s:purple, "", "")
|
||||||
|
call <SID>X("crystalRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("crystalControl", s:purple, "", "")
|
||||||
|
call <SID>X("crystalException", s:purple, "", "")
|
||||||
|
|
||||||
|
" Python Highlighting
|
||||||
|
call <SID>X("pythonInclude", s:purple, "", "")
|
||||||
|
call <SID>X("pythonStatement", s:purple, "", "")
|
||||||
|
call <SID>X("pythonConditional", s:purple, "", "")
|
||||||
|
call <SID>X("pythonRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("pythonException", s:purple, "", "")
|
||||||
|
call <SID>X("pythonFunction", s:blue, "", "")
|
||||||
|
call <SID>X("pythonPreCondit", s:purple, "", "")
|
||||||
|
call <SID>X("pythonRepeat", s:aqua, "", "")
|
||||||
|
call <SID>X("pythonExClass", s:orange, "", "")
|
||||||
|
|
||||||
|
" JavaScript Highlighting
|
||||||
|
call <SID>X("javaScriptBraces", s:foreground, "", "")
|
||||||
|
call <SID>X("javaScriptFunction", s:purple, "", "")
|
||||||
|
call <SID>X("javaScriptConditional", s:purple, "", "")
|
||||||
|
call <SID>X("javaScriptRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("javaScriptNumber", s:orange, "", "")
|
||||||
|
call <SID>X("javaScriptMember", s:orange, "", "")
|
||||||
|
call <SID>X("javascriptNull", s:orange, "", "")
|
||||||
|
call <SID>X("javascriptGlobal", s:blue, "", "")
|
||||||
|
call <SID>X("javascriptStatement", s:red, "", "")
|
||||||
|
|
||||||
|
" CoffeeScript Highlighting
|
||||||
|
call <SID>X("coffeeRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("coffeeConditional", s:purple, "", "")
|
||||||
|
call <SID>X("coffeeKeyword", s:purple, "", "")
|
||||||
|
call <SID>X("coffeeObject", s:yellow, "", "")
|
||||||
|
|
||||||
|
" HTML Highlighting
|
||||||
|
call <SID>X("htmlTag", s:red, "", "")
|
||||||
|
call <SID>X("htmlTagName", s:red, "", "")
|
||||||
|
call <SID>X("htmlArg", s:red, "", "")
|
||||||
|
call <SID>X("htmlScriptTag", s:red, "", "")
|
||||||
|
|
||||||
|
" Diff Highlighting
|
||||||
|
call <SID>X("diffAdd", "", "4c4e39", "")
|
||||||
|
call <SID>X("diffDelete", s:background, s:red, "")
|
||||||
|
call <SID>X("diffChange", "", "2B5B77", "")
|
||||||
|
call <SID>X("diffText", s:line, s:blue, "")
|
||||||
|
|
||||||
|
" ShowMarks Highlighting
|
||||||
|
call <SID>X("ShowMarksHLl", s:orange, s:background, "none")
|
||||||
|
call <SID>X("ShowMarksHLo", s:purple, s:background, "none")
|
||||||
|
call <SID>X("ShowMarksHLu", s:yellow, s:background, "none")
|
||||||
|
call <SID>X("ShowMarksHLm", s:aqua, s:background, "none")
|
||||||
|
|
||||||
|
" Lua Highlighting
|
||||||
|
call <SID>X("luaStatement", s:purple, "", "")
|
||||||
|
call <SID>X("luaRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("luaCondStart", s:purple, "", "")
|
||||||
|
call <SID>X("luaCondElseif", s:purple, "", "")
|
||||||
|
call <SID>X("luaCond", s:purple, "", "")
|
||||||
|
call <SID>X("luaCondEnd", s:purple, "", "")
|
||||||
|
|
||||||
|
" Cucumber Highlighting
|
||||||
|
call <SID>X("cucumberGiven", s:blue, "", "")
|
||||||
|
call <SID>X("cucumberGivenAnd", s:blue, "", "")
|
||||||
|
|
||||||
|
" Go Highlighting
|
||||||
|
call <SID>X("goDirective", s:purple, "", "")
|
||||||
|
call <SID>X("goDeclaration", s:purple, "", "")
|
||||||
|
call <SID>X("goStatement", s:purple, "", "")
|
||||||
|
call <SID>X("goConditional", s:purple, "", "")
|
||||||
|
call <SID>X("goConstants", s:orange, "", "")
|
||||||
|
call <SID>X("goTodo", s:yellow, "", "")
|
||||||
|
call <SID>X("goDeclType", s:blue, "", "")
|
||||||
|
call <SID>X("goBuiltins", s:purple, "", "")
|
||||||
|
call <SID>X("goRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("goLabel", s:purple, "", "")
|
||||||
|
|
||||||
|
" Clojure Highlighting
|
||||||
|
call <SID>X("clojureConstant", s:orange, "", "")
|
||||||
|
call <SID>X("clojureBoolean", s:orange, "", "")
|
||||||
|
call <SID>X("clojureCharacter", s:orange, "", "")
|
||||||
|
call <SID>X("clojureKeyword", s:green, "", "")
|
||||||
|
call <SID>X("clojureNumber", s:orange, "", "")
|
||||||
|
call <SID>X("clojureString", s:green, "", "")
|
||||||
|
call <SID>X("clojureRegexp", s:green, "", "")
|
||||||
|
call <SID>X("clojureParen", s:aqua, "", "")
|
||||||
|
call <SID>X("clojureVariable", s:yellow, "", "")
|
||||||
|
call <SID>X("clojureCond", s:blue, "", "")
|
||||||
|
call <SID>X("clojureDefine", s:purple, "", "")
|
||||||
|
call <SID>X("clojureException", s:red, "", "")
|
||||||
|
call <SID>X("clojureFunc", s:blue, "", "")
|
||||||
|
call <SID>X("clojureMacro", s:blue, "", "")
|
||||||
|
call <SID>X("clojureRepeat", s:blue, "", "")
|
||||||
|
call <SID>X("clojureSpecial", s:purple, "", "")
|
||||||
|
call <SID>X("clojureQuote", s:blue, "", "")
|
||||||
|
call <SID>X("clojureUnquote", s:blue, "", "")
|
||||||
|
call <SID>X("clojureMeta", s:blue, "", "")
|
||||||
|
call <SID>X("clojureDeref", s:blue, "", "")
|
||||||
|
call <SID>X("clojureAnonArg", s:blue, "", "")
|
||||||
|
call <SID>X("clojureRepeat", s:blue, "", "")
|
||||||
|
call <SID>X("clojureDispatch", s:blue, "", "")
|
||||||
|
|
||||||
|
" Scala Highlighting
|
||||||
|
call <SID>X("scalaKeyword", s:purple, "", "")
|
||||||
|
call <SID>X("scalaKeywordModifier", s:purple, "", "")
|
||||||
|
call <SID>X("scalaOperator", s:blue, "", "")
|
||||||
|
call <SID>X("scalaPackage", s:red, "", "")
|
||||||
|
call <SID>X("scalaFqn", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaFqnSet", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaImport", s:purple, "", "")
|
||||||
|
call <SID>X("scalaBoolean", s:orange, "", "")
|
||||||
|
call <SID>X("scalaDef", s:purple, "", "")
|
||||||
|
call <SID>X("scalaVal", s:purple, "", "")
|
||||||
|
call <SID>X("scalaVar", s:aqua, "", "")
|
||||||
|
call <SID>X("scalaClass", s:purple, "", "")
|
||||||
|
call <SID>X("scalaObject", s:purple, "", "")
|
||||||
|
call <SID>X("scalaTrait", s:purple, "", "")
|
||||||
|
call <SID>X("scalaDefName", s:blue, "", "")
|
||||||
|
call <SID>X("scalaValName", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaVarName", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaClassName", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaType", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaTypeSpecializer", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaAnnotation", s:orange, "", "")
|
||||||
|
call <SID>X("scalaNumber", s:orange, "", "")
|
||||||
|
call <SID>X("scalaDefSpecializer", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaClassSpecializer", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaBackTick", s:green, "", "")
|
||||||
|
call <SID>X("scalaRoot", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaMethodCall", s:blue, "", "")
|
||||||
|
call <SID>X("scalaCaseType", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaLineComment", s:comment, "", "")
|
||||||
|
call <SID>X("scalaComment", s:comment, "", "")
|
||||||
|
call <SID>X("scalaDocComment", s:comment, "", "")
|
||||||
|
call <SID>X("scalaDocTags", s:comment, "", "")
|
||||||
|
call <SID>X("scalaEmptyString", s:green, "", "")
|
||||||
|
call <SID>X("scalaMultiLineString", s:green, "", "")
|
||||||
|
call <SID>X("scalaUnicode", s:orange, "", "")
|
||||||
|
call <SID>X("scalaString", s:green, "", "")
|
||||||
|
call <SID>X("scalaStringEscape", s:green, "", "")
|
||||||
|
call <SID>X("scalaSymbol", s:orange, "", "")
|
||||||
|
call <SID>X("scalaChar", s:orange, "", "")
|
||||||
|
call <SID>X("scalaXml", s:green, "", "")
|
||||||
|
call <SID>X("scalaConstructorSpecializer", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaBackTick", s:blue, "", "")
|
||||||
|
|
||||||
|
" Git
|
||||||
|
call <SID>X("diffAdded", s:green, "", "")
|
||||||
|
call <SID>X("diffRemoved", s:red, "", "")
|
||||||
|
call <SID>X("gitcommitSummary", "", "", "bold")
|
||||||
|
|
||||||
|
" Delete Functions
|
||||||
|
delf <SID>X
|
||||||
|
delf <SID>rgb
|
||||||
|
delf <SID>colour
|
||||||
|
delf <SID>rgb_colour
|
||||||
|
delf <SID>rgb_level
|
||||||
|
delf <SID>rgb_number
|
||||||
|
delf <SID>grey_colour
|
||||||
|
delf <SID>grey_level
|
||||||
|
delf <SID>grey_number
|
||||||
|
endif
|
||||||
|
|
||||||
|
set background=dark
|
489
vim/vim/colors/Tomorrow-Night-Eighties.vim
Executable file
489
vim/vim/colors/Tomorrow-Night-Eighties.vim
Executable file
@ -0,0 +1,489 @@
|
|||||||
|
" Tomorrow Night Eighties - Full Colour and 256 Colour
|
||||||
|
" http://chriskempson.com
|
||||||
|
"
|
||||||
|
" Hex colour conversion functions borrowed from the theme "Desert256""
|
||||||
|
|
||||||
|
" Default GUI Colours
|
||||||
|
let s:foreground = "cccccc"
|
||||||
|
let s:background = "2d2d2d"
|
||||||
|
let s:selection = "515151"
|
||||||
|
let s:line = "393939"
|
||||||
|
let s:comment = "999999"
|
||||||
|
let s:red = "f2777a"
|
||||||
|
let s:orange = "f99157"
|
||||||
|
let s:yellow = "ffcc66"
|
||||||
|
let s:green = "99cc99"
|
||||||
|
let s:aqua = "66cccc"
|
||||||
|
let s:blue = "6699cc"
|
||||||
|
let s:purple = "cc99cc"
|
||||||
|
let s:window = "4d5057"
|
||||||
|
|
||||||
|
hi clear
|
||||||
|
syntax reset
|
||||||
|
|
||||||
|
let g:colors_name = "Tomorrow-Night-Eighties"
|
||||||
|
|
||||||
|
if has("gui_running") || &t_Co == 88 || &t_Co == 256
|
||||||
|
" Returns an approximate grey index for the given grey level
|
||||||
|
fun <SID>grey_number(x)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:x < 23
|
||||||
|
return 0
|
||||||
|
elseif a:x < 69
|
||||||
|
return 1
|
||||||
|
elseif a:x < 103
|
||||||
|
return 2
|
||||||
|
elseif a:x < 127
|
||||||
|
return 3
|
||||||
|
elseif a:x < 150
|
||||||
|
return 4
|
||||||
|
elseif a:x < 173
|
||||||
|
return 5
|
||||||
|
elseif a:x < 196
|
||||||
|
return 6
|
||||||
|
elseif a:x < 219
|
||||||
|
return 7
|
||||||
|
elseif a:x < 243
|
||||||
|
return 8
|
||||||
|
else
|
||||||
|
return 9
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:x < 14
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
let l:n = (a:x - 8) / 10
|
||||||
|
let l:m = (a:x - 8) % 10
|
||||||
|
if l:m < 5
|
||||||
|
return l:n
|
||||||
|
else
|
||||||
|
return l:n + 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the actual grey level represented by the grey index
|
||||||
|
fun <SID>grey_level(n)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:n == 0
|
||||||
|
return 0
|
||||||
|
elseif a:n == 1
|
||||||
|
return 46
|
||||||
|
elseif a:n == 2
|
||||||
|
return 92
|
||||||
|
elseif a:n == 3
|
||||||
|
return 115
|
||||||
|
elseif a:n == 4
|
||||||
|
return 139
|
||||||
|
elseif a:n == 5
|
||||||
|
return 162
|
||||||
|
elseif a:n == 6
|
||||||
|
return 185
|
||||||
|
elseif a:n == 7
|
||||||
|
return 208
|
||||||
|
elseif a:n == 8
|
||||||
|
return 231
|
||||||
|
else
|
||||||
|
return 255
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:n == 0
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 8 + (a:n * 10)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the palette index for the given grey index
|
||||||
|
fun <SID>grey_colour(n)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:n == 0
|
||||||
|
return 16
|
||||||
|
elseif a:n == 9
|
||||||
|
return 79
|
||||||
|
else
|
||||||
|
return 79 + a:n
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:n == 0
|
||||||
|
return 16
|
||||||
|
elseif a:n == 25
|
||||||
|
return 231
|
||||||
|
else
|
||||||
|
return 231 + a:n
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns an approximate colour index for the given colour level
|
||||||
|
fun <SID>rgb_number(x)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:x < 69
|
||||||
|
return 0
|
||||||
|
elseif a:x < 172
|
||||||
|
return 1
|
||||||
|
elseif a:x < 230
|
||||||
|
return 2
|
||||||
|
else
|
||||||
|
return 3
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:x < 75
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
let l:n = (a:x - 55) / 40
|
||||||
|
let l:m = (a:x - 55) % 40
|
||||||
|
if l:m < 20
|
||||||
|
return l:n
|
||||||
|
else
|
||||||
|
return l:n + 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the actual colour level for the given colour index
|
||||||
|
fun <SID>rgb_level(n)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:n == 0
|
||||||
|
return 0
|
||||||
|
elseif a:n == 1
|
||||||
|
return 139
|
||||||
|
elseif a:n == 2
|
||||||
|
return 205
|
||||||
|
else
|
||||||
|
return 255
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:n == 0
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 55 + (a:n * 40)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the palette index for the given R/G/B colour indices
|
||||||
|
fun <SID>rgb_colour(x, y, z)
|
||||||
|
if &t_Co == 88
|
||||||
|
return 16 + (a:x * 16) + (a:y * 4) + a:z
|
||||||
|
else
|
||||||
|
return 16 + (a:x * 36) + (a:y * 6) + a:z
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the palette index to approximate the given R/G/B colour levels
|
||||||
|
fun <SID>colour(r, g, b)
|
||||||
|
" Get the closest grey
|
||||||
|
let l:gx = <SID>grey_number(a:r)
|
||||||
|
let l:gy = <SID>grey_number(a:g)
|
||||||
|
let l:gz = <SID>grey_number(a:b)
|
||||||
|
|
||||||
|
" Get the closest colour
|
||||||
|
let l:x = <SID>rgb_number(a:r)
|
||||||
|
let l:y = <SID>rgb_number(a:g)
|
||||||
|
let l:z = <SID>rgb_number(a:b)
|
||||||
|
|
||||||
|
if l:gx == l:gy && l:gy == l:gz
|
||||||
|
" There are two possibilities
|
||||||
|
let l:dgr = <SID>grey_level(l:gx) - a:r
|
||||||
|
let l:dgg = <SID>grey_level(l:gy) - a:g
|
||||||
|
let l:dgb = <SID>grey_level(l:gz) - a:b
|
||||||
|
let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb)
|
||||||
|
let l:dr = <SID>rgb_level(l:gx) - a:r
|
||||||
|
let l:dg = <SID>rgb_level(l:gy) - a:g
|
||||||
|
let l:db = <SID>rgb_level(l:gz) - a:b
|
||||||
|
let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db)
|
||||||
|
if l:dgrey < l:drgb
|
||||||
|
" Use the grey
|
||||||
|
return <SID>grey_colour(l:gx)
|
||||||
|
else
|
||||||
|
" Use the colour
|
||||||
|
return <SID>rgb_colour(l:x, l:y, l:z)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
" Only one possibility
|
||||||
|
return <SID>rgb_colour(l:x, l:y, l:z)
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the palette index to approximate the 'rrggbb' hex string
|
||||||
|
fun <SID>rgb(rgb)
|
||||||
|
let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0
|
||||||
|
let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0
|
||||||
|
let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0
|
||||||
|
|
||||||
|
return <SID>colour(l:r, l:g, l:b)
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Sets the highlighting for the given group
|
||||||
|
fun <SID>X(group, fg, bg, attr)
|
||||||
|
if a:fg != ""
|
||||||
|
exec "hi " . a:group . " guifg=#" . a:fg . " ctermfg=" . <SID>rgb(a:fg)
|
||||||
|
endif
|
||||||
|
if a:bg != ""
|
||||||
|
exec "hi " . a:group . " guibg=#" . a:bg . " ctermbg=" . <SID>rgb(a:bg)
|
||||||
|
endif
|
||||||
|
if a:attr != ""
|
||||||
|
exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Vim Highlighting
|
||||||
|
call <SID>X("Normal", s:foreground, s:background, "")
|
||||||
|
call <SID>X("LineNr", s:selection, "", "")
|
||||||
|
call <SID>X("NonText", s:selection, "", "")
|
||||||
|
call <SID>X("SpecialKey", s:selection, "", "")
|
||||||
|
call <SID>X("Search", s:background, s:yellow, "")
|
||||||
|
call <SID>X("TabLine", s:window, s:foreground, "reverse")
|
||||||
|
call <SID>X("TabLineFill", s:window, s:foreground, "reverse")
|
||||||
|
call <SID>X("StatusLine", s:window, s:yellow, "reverse")
|
||||||
|
call <SID>X("StatusLineNC", s:window, s:foreground, "reverse")
|
||||||
|
call <SID>X("VertSplit", s:window, s:window, "none")
|
||||||
|
call <SID>X("Visual", "", s:selection, "")
|
||||||
|
call <SID>X("Directory", s:blue, "", "")
|
||||||
|
call <SID>X("ModeMsg", s:green, "", "")
|
||||||
|
call <SID>X("MoreMsg", s:green, "", "")
|
||||||
|
call <SID>X("Question", s:green, "", "")
|
||||||
|
call <SID>X("WarningMsg", s:red, "", "")
|
||||||
|
call <SID>X("MatchParen", "", s:selection, "")
|
||||||
|
call <SID>X("Folded", s:comment, s:background, "")
|
||||||
|
call <SID>X("FoldColumn", "", s:background, "")
|
||||||
|
if version >= 700
|
||||||
|
call <SID>X("CursorLine", "", s:line, "none")
|
||||||
|
call <SID>X("CursorColumn", "", s:line, "none")
|
||||||
|
call <SID>X("PMenu", s:foreground, s:selection, "none")
|
||||||
|
call <SID>X("PMenuSel", s:foreground, s:selection, "reverse")
|
||||||
|
call <SID>X("SignColumn", "", s:background, "none")
|
||||||
|
end
|
||||||
|
if version >= 703
|
||||||
|
call <SID>X("ColorColumn", "", s:line, "none")
|
||||||
|
end
|
||||||
|
|
||||||
|
" Standard Highlighting
|
||||||
|
call <SID>X("Comment", s:comment, "", "")
|
||||||
|
call <SID>X("Todo", s:comment, s:background, "")
|
||||||
|
call <SID>X("Title", s:comment, "", "")
|
||||||
|
call <SID>X("Identifier", s:red, "", "none")
|
||||||
|
call <SID>X("Statement", s:foreground, "", "")
|
||||||
|
call <SID>X("Conditional", s:foreground, "", "")
|
||||||
|
call <SID>X("Repeat", s:foreground, "", "")
|
||||||
|
call <SID>X("Structure", s:purple, "", "")
|
||||||
|
call <SID>X("Function", s:blue, "", "")
|
||||||
|
call <SID>X("Constant", s:orange, "", "")
|
||||||
|
call <SID>X("Keyword", s:orange, "", "")
|
||||||
|
call <SID>X("String", s:green, "", "")
|
||||||
|
call <SID>X("Special", s:foreground, "", "")
|
||||||
|
call <SID>X("PreProc", s:purple, "", "")
|
||||||
|
call <SID>X("Operator", s:aqua, "", "none")
|
||||||
|
call <SID>X("Type", s:blue, "", "none")
|
||||||
|
call <SID>X("Define", s:purple, "", "none")
|
||||||
|
call <SID>X("Include", s:blue, "", "")
|
||||||
|
"call <SID>X("Ignore", "666666", "", "")
|
||||||
|
|
||||||
|
" Vim Highlighting
|
||||||
|
call <SID>X("vimCommand", s:red, "", "none")
|
||||||
|
|
||||||
|
" C Highlighting
|
||||||
|
call <SID>X("cType", s:yellow, "", "")
|
||||||
|
call <SID>X("cStorageClass", s:purple, "", "")
|
||||||
|
call <SID>X("cConditional", s:purple, "", "")
|
||||||
|
call <SID>X("cRepeat", s:purple, "", "")
|
||||||
|
|
||||||
|
" PHP Highlighting
|
||||||
|
call <SID>X("phpVarSelector", s:red, "", "")
|
||||||
|
call <SID>X("phpKeyword", s:purple, "", "")
|
||||||
|
call <SID>X("phpRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("phpConditional", s:purple, "", "")
|
||||||
|
call <SID>X("phpStatement", s:purple, "", "")
|
||||||
|
call <SID>X("phpMemberSelector", s:foreground, "", "")
|
||||||
|
|
||||||
|
" Ruby Highlighting
|
||||||
|
call <SID>X("rubySymbol", s:green, "", "")
|
||||||
|
call <SID>X("rubyConstant", s:yellow, "", "")
|
||||||
|
call <SID>X("rubyAccess", s:yellow, "", "")
|
||||||
|
call <SID>X("rubyAttribute", s:blue, "", "")
|
||||||
|
call <SID>X("rubyInclude", s:blue, "", "")
|
||||||
|
call <SID>X("rubyLocalVariableOrMethod", s:orange, "", "")
|
||||||
|
call <SID>X("rubyCurlyBlock", s:orange, "", "")
|
||||||
|
call <SID>X("rubyStringDelimiter", s:green, "", "")
|
||||||
|
call <SID>X("rubyInterpolationDelimiter", s:orange, "", "")
|
||||||
|
call <SID>X("rubyConditional", s:purple, "", "")
|
||||||
|
call <SID>X("rubyRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("rubyControl", s:purple, "", "")
|
||||||
|
call <SID>X("rubyException", s:purple, "", "")
|
||||||
|
|
||||||
|
" Crystal Highlighting
|
||||||
|
call <SID>X("crystalSymbol", s:green, "", "")
|
||||||
|
call <SID>X("crystalConstant", s:yellow, "", "")
|
||||||
|
call <SID>X("crystalAccess", s:yellow, "", "")
|
||||||
|
call <SID>X("crystalAttribute", s:blue, "", "")
|
||||||
|
call <SID>X("crystalInclude", s:blue, "", "")
|
||||||
|
call <SID>X("crystalLocalVariableOrMethod", s:orange, "", "")
|
||||||
|
call <SID>X("crystalCurlyBlock", s:orange, "", "")
|
||||||
|
call <SID>X("crystalStringDelimiter", s:green, "", "")
|
||||||
|
call <SID>X("crystalInterpolationDelimiter", s:orange, "", "")
|
||||||
|
call <SID>X("crystalConditional", s:purple, "", "")
|
||||||
|
call <SID>X("crystalRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("crystalControl", s:purple, "", "")
|
||||||
|
call <SID>X("crystalException", s:purple, "", "")
|
||||||
|
|
||||||
|
" Python Highlighting
|
||||||
|
call <SID>X("pythonInclude", s:purple, "", "")
|
||||||
|
call <SID>X("pythonStatement", s:purple, "", "")
|
||||||
|
call <SID>X("pythonConditional", s:purple, "", "")
|
||||||
|
call <SID>X("pythonRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("pythonException", s:purple, "", "")
|
||||||
|
call <SID>X("pythonFunction", s:blue, "", "")
|
||||||
|
call <SID>X("pythonPreCondit", s:purple, "", "")
|
||||||
|
call <SID>X("pythonRepeat", s:aqua, "", "")
|
||||||
|
call <SID>X("pythonExClass", s:orange, "", "")
|
||||||
|
|
||||||
|
" JavaScript Highlighting
|
||||||
|
call <SID>X("javaScriptBraces", s:foreground, "", "")
|
||||||
|
call <SID>X("javaScriptFunction", s:purple, "", "")
|
||||||
|
call <SID>X("javaScriptConditional", s:purple, "", "")
|
||||||
|
call <SID>X("javaScriptRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("javaScriptNumber", s:orange, "", "")
|
||||||
|
call <SID>X("javaScriptMember", s:orange, "", "")
|
||||||
|
call <SID>X("javascriptNull", s:orange, "", "")
|
||||||
|
call <SID>X("javascriptGlobal", s:blue, "", "")
|
||||||
|
call <SID>X("javascriptStatement", s:red, "", "")
|
||||||
|
|
||||||
|
" CoffeeScript Highlighting
|
||||||
|
call <SID>X("coffeeRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("coffeeConditional", s:purple, "", "")
|
||||||
|
call <SID>X("coffeeKeyword", s:purple, "", "")
|
||||||
|
call <SID>X("coffeeObject", s:yellow, "", "")
|
||||||
|
|
||||||
|
" HTML Highlighting
|
||||||
|
call <SID>X("htmlTag", s:red, "", "")
|
||||||
|
call <SID>X("htmlTagName", s:red, "", "")
|
||||||
|
call <SID>X("htmlArg", s:red, "", "")
|
||||||
|
call <SID>X("htmlScriptTag", s:red, "", "")
|
||||||
|
|
||||||
|
" Diff Highlighting
|
||||||
|
call <SID>X("diffAdd", "", "4c4e39", "")
|
||||||
|
call <SID>X("diffDelete", s:background, s:red, "")
|
||||||
|
call <SID>X("diffChange", "", "2B5B77", "")
|
||||||
|
call <SID>X("diffText", s:line, s:blue, "")
|
||||||
|
|
||||||
|
" ShowMarks Highlighting
|
||||||
|
call <SID>X("ShowMarksHLl", s:orange, s:background, "none")
|
||||||
|
call <SID>X("ShowMarksHLo", s:purple, s:background, "none")
|
||||||
|
call <SID>X("ShowMarksHLu", s:yellow, s:background, "none")
|
||||||
|
call <SID>X("ShowMarksHLm", s:aqua, s:background, "none")
|
||||||
|
|
||||||
|
" Lua Highlighting
|
||||||
|
call <SID>X("luaStatement", s:purple, "", "")
|
||||||
|
call <SID>X("luaRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("luaCondStart", s:purple, "", "")
|
||||||
|
call <SID>X("luaCondElseif", s:purple, "", "")
|
||||||
|
call <SID>X("luaCond", s:purple, "", "")
|
||||||
|
call <SID>X("luaCondEnd", s:purple, "", "")
|
||||||
|
|
||||||
|
" Cucumber Highlighting
|
||||||
|
call <SID>X("cucumberGiven", s:blue, "", "")
|
||||||
|
call <SID>X("cucumberGivenAnd", s:blue, "", "")
|
||||||
|
|
||||||
|
" Go Highlighting
|
||||||
|
call <SID>X("goDirective", s:purple, "", "")
|
||||||
|
call <SID>X("goDeclaration", s:purple, "", "")
|
||||||
|
call <SID>X("goStatement", s:purple, "", "")
|
||||||
|
call <SID>X("goConditional", s:purple, "", "")
|
||||||
|
call <SID>X("goConstants", s:orange, "", "")
|
||||||
|
call <SID>X("goTodo", s:yellow, "", "")
|
||||||
|
call <SID>X("goDeclType", s:blue, "", "")
|
||||||
|
call <SID>X("goBuiltins", s:purple, "", "")
|
||||||
|
call <SID>X("goRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("goLabel", s:purple, "", "")
|
||||||
|
|
||||||
|
" Clojure Highlighting
|
||||||
|
call <SID>X("clojureConstant", s:orange, "", "")
|
||||||
|
call <SID>X("clojureBoolean", s:orange, "", "")
|
||||||
|
call <SID>X("clojureCharacter", s:orange, "", "")
|
||||||
|
call <SID>X("clojureKeyword", s:green, "", "")
|
||||||
|
call <SID>X("clojureNumber", s:orange, "", "")
|
||||||
|
call <SID>X("clojureString", s:green, "", "")
|
||||||
|
call <SID>X("clojureRegexp", s:green, "", "")
|
||||||
|
call <SID>X("clojureParen", s:aqua, "", "")
|
||||||
|
call <SID>X("clojureVariable", s:yellow, "", "")
|
||||||
|
call <SID>X("clojureCond", s:blue, "", "")
|
||||||
|
call <SID>X("clojureDefine", s:purple, "", "")
|
||||||
|
call <SID>X("clojureException", s:red, "", "")
|
||||||
|
call <SID>X("clojureFunc", s:blue, "", "")
|
||||||
|
call <SID>X("clojureMacro", s:blue, "", "")
|
||||||
|
call <SID>X("clojureRepeat", s:blue, "", "")
|
||||||
|
call <SID>X("clojureSpecial", s:purple, "", "")
|
||||||
|
call <SID>X("clojureQuote", s:blue, "", "")
|
||||||
|
call <SID>X("clojureUnquote", s:blue, "", "")
|
||||||
|
call <SID>X("clojureMeta", s:blue, "", "")
|
||||||
|
call <SID>X("clojureDeref", s:blue, "", "")
|
||||||
|
call <SID>X("clojureAnonArg", s:blue, "", "")
|
||||||
|
call <SID>X("clojureRepeat", s:blue, "", "")
|
||||||
|
call <SID>X("clojureDispatch", s:blue, "", "")
|
||||||
|
|
||||||
|
" Scala Highlighting
|
||||||
|
call <SID>X("scalaKeyword", s:purple, "", "")
|
||||||
|
call <SID>X("scalaKeywordModifier", s:purple, "", "")
|
||||||
|
call <SID>X("scalaOperator", s:blue, "", "")
|
||||||
|
call <SID>X("scalaPackage", s:red, "", "")
|
||||||
|
call <SID>X("scalaFqn", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaFqnSet", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaImport", s:purple, "", "")
|
||||||
|
call <SID>X("scalaBoolean", s:orange, "", "")
|
||||||
|
call <SID>X("scalaDef", s:purple, "", "")
|
||||||
|
call <SID>X("scalaVal", s:purple, "", "")
|
||||||
|
call <SID>X("scalaVar", s:aqua, "", "")
|
||||||
|
call <SID>X("scalaClass", s:purple, "", "")
|
||||||
|
call <SID>X("scalaObject", s:purple, "", "")
|
||||||
|
call <SID>X("scalaTrait", s:purple, "", "")
|
||||||
|
call <SID>X("scalaDefName", s:blue, "", "")
|
||||||
|
call <SID>X("scalaValName", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaVarName", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaClassName", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaType", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaTypeSpecializer", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaAnnotation", s:orange, "", "")
|
||||||
|
call <SID>X("scalaNumber", s:orange, "", "")
|
||||||
|
call <SID>X("scalaDefSpecializer", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaClassSpecializer", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaBackTick", s:green, "", "")
|
||||||
|
call <SID>X("scalaRoot", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaMethodCall", s:blue, "", "")
|
||||||
|
call <SID>X("scalaCaseType", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaLineComment", s:comment, "", "")
|
||||||
|
call <SID>X("scalaComment", s:comment, "", "")
|
||||||
|
call <SID>X("scalaDocComment", s:comment, "", "")
|
||||||
|
call <SID>X("scalaDocTags", s:comment, "", "")
|
||||||
|
call <SID>X("scalaEmptyString", s:green, "", "")
|
||||||
|
call <SID>X("scalaMultiLineString", s:green, "", "")
|
||||||
|
call <SID>X("scalaUnicode", s:orange, "", "")
|
||||||
|
call <SID>X("scalaString", s:green, "", "")
|
||||||
|
call <SID>X("scalaStringEscape", s:green, "", "")
|
||||||
|
call <SID>X("scalaSymbol", s:orange, "", "")
|
||||||
|
call <SID>X("scalaChar", s:orange, "", "")
|
||||||
|
call <SID>X("scalaXml", s:green, "", "")
|
||||||
|
call <SID>X("scalaConstructorSpecializer", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaBackTick", s:blue, "", "")
|
||||||
|
|
||||||
|
" Git
|
||||||
|
call <SID>X("diffAdded", s:green, "", "")
|
||||||
|
call <SID>X("diffRemoved", s:red, "", "")
|
||||||
|
call <SID>X("gitcommitSummary", "", "", "bold")
|
||||||
|
|
||||||
|
" Delete Functions
|
||||||
|
delf <SID>X
|
||||||
|
delf <SID>rgb
|
||||||
|
delf <SID>colour
|
||||||
|
delf <SID>rgb_colour
|
||||||
|
delf <SID>rgb_level
|
||||||
|
delf <SID>rgb_number
|
||||||
|
delf <SID>grey_colour
|
||||||
|
delf <SID>grey_level
|
||||||
|
delf <SID>grey_number
|
||||||
|
endif
|
||||||
|
|
||||||
|
set background=dark
|
497
vim/vim/colors/Tomorrow-Night.vim
Executable file
497
vim/vim/colors/Tomorrow-Night.vim
Executable file
@ -0,0 +1,497 @@
|
|||||||
|
" Tomorrow Night - Full Colour and 256 Colour
|
||||||
|
" http://chriskempson.com
|
||||||
|
"
|
||||||
|
" Hex colour conversion functions borrowed from the theme "Desert256""
|
||||||
|
|
||||||
|
" Default GUI Colours
|
||||||
|
let s:foreground = "c5c8c6"
|
||||||
|
let s:background = "1d1f21"
|
||||||
|
let s:selection = "373b41"
|
||||||
|
let s:line = "282a2e"
|
||||||
|
let s:comment = "969896"
|
||||||
|
let s:red = "cc6666"
|
||||||
|
let s:orange = "de935f"
|
||||||
|
let s:yellow = "f0c674"
|
||||||
|
let s:green = "b5bd68"
|
||||||
|
let s:aqua = "8abeb7"
|
||||||
|
let s:blue = "81a2be"
|
||||||
|
let s:purple = "b294bb"
|
||||||
|
let s:window = "4d5057"
|
||||||
|
|
||||||
|
" Console 256 Colours
|
||||||
|
if !has("gui_running")
|
||||||
|
let s:background = "303030"
|
||||||
|
let s:window = "5e5e5e"
|
||||||
|
let s:line = "3a3a3a"
|
||||||
|
let s:selection = "585858"
|
||||||
|
end
|
||||||
|
|
||||||
|
hi clear
|
||||||
|
syntax reset
|
||||||
|
|
||||||
|
let g:colors_name = "Tomorrow-Night"
|
||||||
|
|
||||||
|
if has("gui_running") || &t_Co == 88 || &t_Co == 256
|
||||||
|
" Returns an approximate grey index for the given grey level
|
||||||
|
fun <SID>grey_number(x)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:x < 23
|
||||||
|
return 0
|
||||||
|
elseif a:x < 69
|
||||||
|
return 1
|
||||||
|
elseif a:x < 103
|
||||||
|
return 2
|
||||||
|
elseif a:x < 127
|
||||||
|
return 3
|
||||||
|
elseif a:x < 150
|
||||||
|
return 4
|
||||||
|
elseif a:x < 173
|
||||||
|
return 5
|
||||||
|
elseif a:x < 196
|
||||||
|
return 6
|
||||||
|
elseif a:x < 219
|
||||||
|
return 7
|
||||||
|
elseif a:x < 243
|
||||||
|
return 8
|
||||||
|
else
|
||||||
|
return 9
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:x < 14
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
let l:n = (a:x - 8) / 10
|
||||||
|
let l:m = (a:x - 8) % 10
|
||||||
|
if l:m < 5
|
||||||
|
return l:n
|
||||||
|
else
|
||||||
|
return l:n + 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the actual grey level represented by the grey index
|
||||||
|
fun <SID>grey_level(n)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:n == 0
|
||||||
|
return 0
|
||||||
|
elseif a:n == 1
|
||||||
|
return 46
|
||||||
|
elseif a:n == 2
|
||||||
|
return 92
|
||||||
|
elseif a:n == 3
|
||||||
|
return 115
|
||||||
|
elseif a:n == 4
|
||||||
|
return 139
|
||||||
|
elseif a:n == 5
|
||||||
|
return 162
|
||||||
|
elseif a:n == 6
|
||||||
|
return 185
|
||||||
|
elseif a:n == 7
|
||||||
|
return 208
|
||||||
|
elseif a:n == 8
|
||||||
|
return 231
|
||||||
|
else
|
||||||
|
return 255
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:n == 0
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 8 + (a:n * 10)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the palette index for the given grey index
|
||||||
|
fun <SID>grey_colour(n)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:n == 0
|
||||||
|
return 16
|
||||||
|
elseif a:n == 9
|
||||||
|
return 79
|
||||||
|
else
|
||||||
|
return 79 + a:n
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:n == 0
|
||||||
|
return 16
|
||||||
|
elseif a:n == 25
|
||||||
|
return 231
|
||||||
|
else
|
||||||
|
return 231 + a:n
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns an approximate colour index for the given colour level
|
||||||
|
fun <SID>rgb_number(x)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:x < 69
|
||||||
|
return 0
|
||||||
|
elseif a:x < 172
|
||||||
|
return 1
|
||||||
|
elseif a:x < 230
|
||||||
|
return 2
|
||||||
|
else
|
||||||
|
return 3
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:x < 75
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
let l:n = (a:x - 55) / 40
|
||||||
|
let l:m = (a:x - 55) % 40
|
||||||
|
if l:m < 20
|
||||||
|
return l:n
|
||||||
|
else
|
||||||
|
return l:n + 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the actual colour level for the given colour index
|
||||||
|
fun <SID>rgb_level(n)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:n == 0
|
||||||
|
return 0
|
||||||
|
elseif a:n == 1
|
||||||
|
return 139
|
||||||
|
elseif a:n == 2
|
||||||
|
return 205
|
||||||
|
else
|
||||||
|
return 255
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:n == 0
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 55 + (a:n * 40)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the palette index for the given R/G/B colour indices
|
||||||
|
fun <SID>rgb_colour(x, y, z)
|
||||||
|
if &t_Co == 88
|
||||||
|
return 16 + (a:x * 16) + (a:y * 4) + a:z
|
||||||
|
else
|
||||||
|
return 16 + (a:x * 36) + (a:y * 6) + a:z
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the palette index to approximate the given R/G/B colour levels
|
||||||
|
fun <SID>colour(r, g, b)
|
||||||
|
" Get the closest grey
|
||||||
|
let l:gx = <SID>grey_number(a:r)
|
||||||
|
let l:gy = <SID>grey_number(a:g)
|
||||||
|
let l:gz = <SID>grey_number(a:b)
|
||||||
|
|
||||||
|
" Get the closest colour
|
||||||
|
let l:x = <SID>rgb_number(a:r)
|
||||||
|
let l:y = <SID>rgb_number(a:g)
|
||||||
|
let l:z = <SID>rgb_number(a:b)
|
||||||
|
|
||||||
|
if l:gx == l:gy && l:gy == l:gz
|
||||||
|
" There are two possibilities
|
||||||
|
let l:dgr = <SID>grey_level(l:gx) - a:r
|
||||||
|
let l:dgg = <SID>grey_level(l:gy) - a:g
|
||||||
|
let l:dgb = <SID>grey_level(l:gz) - a:b
|
||||||
|
let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb)
|
||||||
|
let l:dr = <SID>rgb_level(l:gx) - a:r
|
||||||
|
let l:dg = <SID>rgb_level(l:gy) - a:g
|
||||||
|
let l:db = <SID>rgb_level(l:gz) - a:b
|
||||||
|
let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db)
|
||||||
|
if l:dgrey < l:drgb
|
||||||
|
" Use the grey
|
||||||
|
return <SID>grey_colour(l:gx)
|
||||||
|
else
|
||||||
|
" Use the colour
|
||||||
|
return <SID>rgb_colour(l:x, l:y, l:z)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
" Only one possibility
|
||||||
|
return <SID>rgb_colour(l:x, l:y, l:z)
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the palette index to approximate the 'rrggbb' hex string
|
||||||
|
fun <SID>rgb(rgb)
|
||||||
|
let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0
|
||||||
|
let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0
|
||||||
|
let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0
|
||||||
|
|
||||||
|
return <SID>colour(l:r, l:g, l:b)
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Sets the highlighting for the given group
|
||||||
|
fun <SID>X(group, fg, bg, attr)
|
||||||
|
if a:fg != ""
|
||||||
|
exec "hi " . a:group . " guifg=#" . a:fg . " ctermfg=" . <SID>rgb(a:fg)
|
||||||
|
endif
|
||||||
|
if a:bg != ""
|
||||||
|
exec "hi " . a:group . " guibg=#" . a:bg . " ctermbg=" . <SID>rgb(a:bg)
|
||||||
|
endif
|
||||||
|
if a:attr != ""
|
||||||
|
exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Vim Highlighting
|
||||||
|
call <SID>X("Normal", s:foreground, s:background, "")
|
||||||
|
call <SID>X("LineNr", s:selection, "", "")
|
||||||
|
call <SID>X("NonText", s:selection, "", "")
|
||||||
|
call <SID>X("SpecialKey", s:selection, "", "")
|
||||||
|
call <SID>X("Search", s:background, s:yellow, "")
|
||||||
|
call <SID>X("TabLine", s:window, s:foreground, "reverse")
|
||||||
|
call <SID>X("TabLineFill", s:window, s:foreground, "reverse")
|
||||||
|
call <SID>X("StatusLine", s:window, s:yellow, "reverse")
|
||||||
|
call <SID>X("StatusLineNC", s:window, s:foreground, "reverse")
|
||||||
|
call <SID>X("VertSplit", s:window, s:window, "none")
|
||||||
|
call <SID>X("Visual", "", s:selection, "")
|
||||||
|
call <SID>X("Directory", s:blue, "", "")
|
||||||
|
call <SID>X("ModeMsg", s:green, "", "")
|
||||||
|
call <SID>X("MoreMsg", s:green, "", "")
|
||||||
|
call <SID>X("Question", s:green, "", "")
|
||||||
|
call <SID>X("WarningMsg", s:red, "", "")
|
||||||
|
call <SID>X("MatchParen", "", s:selection, "")
|
||||||
|
call <SID>X("Folded", s:comment, s:background, "")
|
||||||
|
call <SID>X("FoldColumn", "", s:background, "")
|
||||||
|
if version >= 700
|
||||||
|
call <SID>X("CursorLine", "", s:line, "none")
|
||||||
|
call <SID>X("CursorColumn", "", s:line, "none")
|
||||||
|
call <SID>X("PMenu", s:foreground, s:selection, "none")
|
||||||
|
call <SID>X("PMenuSel", s:foreground, s:selection, "reverse")
|
||||||
|
call <SID>X("SignColumn", "", s:background, "none")
|
||||||
|
end
|
||||||
|
if version >= 703
|
||||||
|
call <SID>X("ColorColumn", "", s:line, "none")
|
||||||
|
end
|
||||||
|
|
||||||
|
" Standard Highlighting
|
||||||
|
call <SID>X("Comment", s:comment, "", "")
|
||||||
|
call <SID>X("Todo", s:comment, s:background, "")
|
||||||
|
call <SID>X("Title", s:comment, "", "")
|
||||||
|
call <SID>X("Identifier", s:red, "", "none")
|
||||||
|
call <SID>X("Statement", s:foreground, "", "")
|
||||||
|
call <SID>X("Conditional", s:foreground, "", "")
|
||||||
|
call <SID>X("Repeat", s:foreground, "", "")
|
||||||
|
call <SID>X("Structure", s:purple, "", "")
|
||||||
|
call <SID>X("Function", s:blue, "", "")
|
||||||
|
call <SID>X("Constant", s:orange, "", "")
|
||||||
|
call <SID>X("Keyword", s:orange, "", "")
|
||||||
|
call <SID>X("String", s:green, "", "")
|
||||||
|
call <SID>X("Special", s:foreground, "", "")
|
||||||
|
call <SID>X("PreProc", s:purple, "", "")
|
||||||
|
call <SID>X("Operator", s:aqua, "", "none")
|
||||||
|
call <SID>X("Type", s:blue, "", "none")
|
||||||
|
call <SID>X("Define", s:purple, "", "none")
|
||||||
|
call <SID>X("Include", s:blue, "", "")
|
||||||
|
"call <SID>X("Ignore", "666666", "", "")
|
||||||
|
|
||||||
|
" Vim Highlighting
|
||||||
|
call <SID>X("vimCommand", s:red, "", "none")
|
||||||
|
|
||||||
|
" C Highlighting
|
||||||
|
call <SID>X("cType", s:yellow, "", "")
|
||||||
|
call <SID>X("cStorageClass", s:purple, "", "")
|
||||||
|
call <SID>X("cConditional", s:purple, "", "")
|
||||||
|
call <SID>X("cRepeat", s:purple, "", "")
|
||||||
|
|
||||||
|
" PHP Highlighting
|
||||||
|
call <SID>X("phpVarSelector", s:red, "", "")
|
||||||
|
call <SID>X("phpKeyword", s:purple, "", "")
|
||||||
|
call <SID>X("phpRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("phpConditional", s:purple, "", "")
|
||||||
|
call <SID>X("phpStatement", s:purple, "", "")
|
||||||
|
call <SID>X("phpMemberSelector", s:foreground, "", "")
|
||||||
|
|
||||||
|
" Ruby Highlighting
|
||||||
|
call <SID>X("rubySymbol", s:green, "", "")
|
||||||
|
call <SID>X("rubyConstant", s:yellow, "", "")
|
||||||
|
call <SID>X("rubyAccess", s:yellow, "", "")
|
||||||
|
call <SID>X("rubyAttribute", s:blue, "", "")
|
||||||
|
call <SID>X("rubyInclude", s:blue, "", "")
|
||||||
|
call <SID>X("rubyLocalVariableOrMethod", s:orange, "", "")
|
||||||
|
call <SID>X("rubyCurlyBlock", s:orange, "", "")
|
||||||
|
call <SID>X("rubyStringDelimiter", s:green, "", "")
|
||||||
|
call <SID>X("rubyInterpolationDelimiter", s:orange, "", "")
|
||||||
|
call <SID>X("rubyConditional", s:purple, "", "")
|
||||||
|
call <SID>X("rubyRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("rubyControl", s:purple, "", "")
|
||||||
|
call <SID>X("rubyException", s:purple, "", "")
|
||||||
|
|
||||||
|
" Crystal Highlighting
|
||||||
|
call <SID>X("crystalSymbol", s:green, "", "")
|
||||||
|
call <SID>X("crystalConstant", s:yellow, "", "")
|
||||||
|
call <SID>X("crystalAccess", s:yellow, "", "")
|
||||||
|
call <SID>X("crystalAttribute", s:blue, "", "")
|
||||||
|
call <SID>X("crystalInclude", s:blue, "", "")
|
||||||
|
call <SID>X("crystalLocalVariableOrMethod", s:orange, "", "")
|
||||||
|
call <SID>X("crystalCurlyBlock", s:orange, "", "")
|
||||||
|
call <SID>X("crystalStringDelimiter", s:green, "", "")
|
||||||
|
call <SID>X("crystalInterpolationDelimiter", s:orange, "", "")
|
||||||
|
call <SID>X("crystalConditional", s:purple, "", "")
|
||||||
|
call <SID>X("crystalRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("crystalControl", s:purple, "", "")
|
||||||
|
call <SID>X("crystalException", s:purple, "", "")
|
||||||
|
|
||||||
|
" Python Highlighting
|
||||||
|
call <SID>X("pythonInclude", s:purple, "", "")
|
||||||
|
call <SID>X("pythonStatement", s:purple, "", "")
|
||||||
|
call <SID>X("pythonConditional", s:purple, "", "")
|
||||||
|
call <SID>X("pythonRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("pythonException", s:purple, "", "")
|
||||||
|
call <SID>X("pythonFunction", s:blue, "", "")
|
||||||
|
call <SID>X("pythonPreCondit", s:purple, "", "")
|
||||||
|
call <SID>X("pythonRepeat", s:aqua, "", "")
|
||||||
|
call <SID>X("pythonExClass", s:orange, "", "")
|
||||||
|
|
||||||
|
" JavaScript Highlighting
|
||||||
|
call <SID>X("javaScriptBraces", s:foreground, "", "")
|
||||||
|
call <SID>X("javaScriptFunction", s:purple, "", "")
|
||||||
|
call <SID>X("javaScriptConditional", s:purple, "", "")
|
||||||
|
call <SID>X("javaScriptRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("javaScriptNumber", s:orange, "", "")
|
||||||
|
call <SID>X("javaScriptMember", s:orange, "", "")
|
||||||
|
call <SID>X("javascriptNull", s:orange, "", "")
|
||||||
|
call <SID>X("javascriptGlobal", s:blue, "", "")
|
||||||
|
call <SID>X("javascriptStatement", s:red, "", "")
|
||||||
|
|
||||||
|
" CoffeeScript Highlighting
|
||||||
|
call <SID>X("coffeeRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("coffeeConditional", s:purple, "", "")
|
||||||
|
call <SID>X("coffeeKeyword", s:purple, "", "")
|
||||||
|
call <SID>X("coffeeObject", s:yellow, "", "")
|
||||||
|
|
||||||
|
" HTML Highlighting
|
||||||
|
call <SID>X("htmlTag", s:red, "", "")
|
||||||
|
call <SID>X("htmlTagName", s:red, "", "")
|
||||||
|
call <SID>X("htmlArg", s:red, "", "")
|
||||||
|
call <SID>X("htmlScriptTag", s:red, "", "")
|
||||||
|
|
||||||
|
" Diff Highlighting
|
||||||
|
call <SID>X("diffAdd", "", "4c4e39", "")
|
||||||
|
call <SID>X("diffDelete", s:background, s:red, "")
|
||||||
|
call <SID>X("diffChange", "", "2B5B77", "")
|
||||||
|
call <SID>X("diffText", s:line, s:blue, "")
|
||||||
|
|
||||||
|
" ShowMarks Highlighting
|
||||||
|
call <SID>X("ShowMarksHLl", s:orange, s:background, "none")
|
||||||
|
call <SID>X("ShowMarksHLo", s:purple, s:background, "none")
|
||||||
|
call <SID>X("ShowMarksHLu", s:yellow, s:background, "none")
|
||||||
|
call <SID>X("ShowMarksHLm", s:aqua, s:background, "none")
|
||||||
|
|
||||||
|
" Lua Highlighting
|
||||||
|
call <SID>X("luaStatement", s:purple, "", "")
|
||||||
|
call <SID>X("luaRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("luaCondStart", s:purple, "", "")
|
||||||
|
call <SID>X("luaCondElseif", s:purple, "", "")
|
||||||
|
call <SID>X("luaCond", s:purple, "", "")
|
||||||
|
call <SID>X("luaCondEnd", s:purple, "", "")
|
||||||
|
|
||||||
|
" Cucumber Highlighting
|
||||||
|
call <SID>X("cucumberGiven", s:blue, "", "")
|
||||||
|
call <SID>X("cucumberGivenAnd", s:blue, "", "")
|
||||||
|
|
||||||
|
" Go Highlighting
|
||||||
|
call <SID>X("goDirective", s:purple, "", "")
|
||||||
|
call <SID>X("goDeclaration", s:purple, "", "")
|
||||||
|
call <SID>X("goStatement", s:purple, "", "")
|
||||||
|
call <SID>X("goConditional", s:purple, "", "")
|
||||||
|
call <SID>X("goConstants", s:orange, "", "")
|
||||||
|
call <SID>X("goTodo", s:yellow, "", "")
|
||||||
|
call <SID>X("goDeclType", s:blue, "", "")
|
||||||
|
call <SID>X("goBuiltins", s:purple, "", "")
|
||||||
|
call <SID>X("goRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("goLabel", s:purple, "", "")
|
||||||
|
|
||||||
|
" Clojure Highlighting
|
||||||
|
call <SID>X("clojureConstant", s:orange, "", "")
|
||||||
|
call <SID>X("clojureBoolean", s:orange, "", "")
|
||||||
|
call <SID>X("clojureCharacter", s:orange, "", "")
|
||||||
|
call <SID>X("clojureKeyword", s:green, "", "")
|
||||||
|
call <SID>X("clojureNumber", s:orange, "", "")
|
||||||
|
call <SID>X("clojureString", s:green, "", "")
|
||||||
|
call <SID>X("clojureRegexp", s:green, "", "")
|
||||||
|
call <SID>X("clojureParen", s:aqua, "", "")
|
||||||
|
call <SID>X("clojureVariable", s:yellow, "", "")
|
||||||
|
call <SID>X("clojureCond", s:blue, "", "")
|
||||||
|
call <SID>X("clojureDefine", s:purple, "", "")
|
||||||
|
call <SID>X("clojureException", s:red, "", "")
|
||||||
|
call <SID>X("clojureFunc", s:blue, "", "")
|
||||||
|
call <SID>X("clojureMacro", s:blue, "", "")
|
||||||
|
call <SID>X("clojureRepeat", s:blue, "", "")
|
||||||
|
call <SID>X("clojureSpecial", s:purple, "", "")
|
||||||
|
call <SID>X("clojureQuote", s:blue, "", "")
|
||||||
|
call <SID>X("clojureUnquote", s:blue, "", "")
|
||||||
|
call <SID>X("clojureMeta", s:blue, "", "")
|
||||||
|
call <SID>X("clojureDeref", s:blue, "", "")
|
||||||
|
call <SID>X("clojureAnonArg", s:blue, "", "")
|
||||||
|
call <SID>X("clojureRepeat", s:blue, "", "")
|
||||||
|
call <SID>X("clojureDispatch", s:blue, "", "")
|
||||||
|
|
||||||
|
" Scala Highlighting
|
||||||
|
call <SID>X("scalaKeyword", s:purple, "", "")
|
||||||
|
call <SID>X("scalaKeywordModifier", s:purple, "", "")
|
||||||
|
call <SID>X("scalaOperator", s:blue, "", "")
|
||||||
|
call <SID>X("scalaPackage", s:red, "", "")
|
||||||
|
call <SID>X("scalaFqn", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaFqnSet", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaImport", s:purple, "", "")
|
||||||
|
call <SID>X("scalaBoolean", s:orange, "", "")
|
||||||
|
call <SID>X("scalaDef", s:purple, "", "")
|
||||||
|
call <SID>X("scalaVal", s:purple, "", "")
|
||||||
|
call <SID>X("scalaVar", s:aqua, "", "")
|
||||||
|
call <SID>X("scalaClass", s:purple, "", "")
|
||||||
|
call <SID>X("scalaObject", s:purple, "", "")
|
||||||
|
call <SID>X("scalaTrait", s:purple, "", "")
|
||||||
|
call <SID>X("scalaDefName", s:blue, "", "")
|
||||||
|
call <SID>X("scalaValName", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaVarName", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaClassName", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaType", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaTypeSpecializer", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaAnnotation", s:orange, "", "")
|
||||||
|
call <SID>X("scalaNumber", s:orange, "", "")
|
||||||
|
call <SID>X("scalaDefSpecializer", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaClassSpecializer", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaBackTick", s:green, "", "")
|
||||||
|
call <SID>X("scalaRoot", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaMethodCall", s:blue, "", "")
|
||||||
|
call <SID>X("scalaCaseType", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaLineComment", s:comment, "", "")
|
||||||
|
call <SID>X("scalaComment", s:comment, "", "")
|
||||||
|
call <SID>X("scalaDocComment", s:comment, "", "")
|
||||||
|
call <SID>X("scalaDocTags", s:comment, "", "")
|
||||||
|
call <SID>X("scalaEmptyString", s:green, "", "")
|
||||||
|
call <SID>X("scalaMultiLineString", s:green, "", "")
|
||||||
|
call <SID>X("scalaUnicode", s:orange, "", "")
|
||||||
|
call <SID>X("scalaString", s:green, "", "")
|
||||||
|
call <SID>X("scalaStringEscape", s:green, "", "")
|
||||||
|
call <SID>X("scalaSymbol", s:orange, "", "")
|
||||||
|
call <SID>X("scalaChar", s:orange, "", "")
|
||||||
|
call <SID>X("scalaXml", s:green, "", "")
|
||||||
|
call <SID>X("scalaConstructorSpecializer", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaBackTick", s:blue, "", "")
|
||||||
|
|
||||||
|
" Git
|
||||||
|
call <SID>X("diffAdded", s:green, "", "")
|
||||||
|
call <SID>X("diffRemoved", s:red, "", "")
|
||||||
|
call <SID>X("gitcommitSummary", "", "", "bold")
|
||||||
|
|
||||||
|
" Delete Functions
|
||||||
|
delf <SID>X
|
||||||
|
delf <SID>rgb
|
||||||
|
delf <SID>colour
|
||||||
|
delf <SID>rgb_colour
|
||||||
|
delf <SID>rgb_level
|
||||||
|
delf <SID>rgb_number
|
||||||
|
delf <SID>grey_colour
|
||||||
|
delf <SID>grey_level
|
||||||
|
delf <SID>grey_number
|
||||||
|
endif
|
||||||
|
|
||||||
|
set background=dark
|
482
vim/vim/colors/Tomorrow.vim
Executable file
482
vim/vim/colors/Tomorrow.vim
Executable file
@ -0,0 +1,482 @@
|
|||||||
|
" Tomorrow - Full Colour and 256 Colour
|
||||||
|
" http://chriskempson.com
|
||||||
|
"
|
||||||
|
" Hex colour conversion functions borrowed from the theme "Desert256""
|
||||||
|
|
||||||
|
" Default GUI Colours
|
||||||
|
let s:foreground = "4d4d4c"
|
||||||
|
let s:background = "ffffff"
|
||||||
|
let s:selection = "d6d6d6"
|
||||||
|
let s:line = "efefef"
|
||||||
|
let s:comment = "8e908c"
|
||||||
|
let s:red = "c82829"
|
||||||
|
let s:orange = "f5871f"
|
||||||
|
let s:yellow = "eab700"
|
||||||
|
let s:green = "718c00"
|
||||||
|
let s:aqua = "3e999f"
|
||||||
|
let s:blue = "4271ae"
|
||||||
|
let s:purple = "8959a8"
|
||||||
|
let s:window = "efefef"
|
||||||
|
|
||||||
|
set background=light
|
||||||
|
hi clear
|
||||||
|
syntax reset
|
||||||
|
|
||||||
|
let g:colors_name = "Tomorrow"
|
||||||
|
|
||||||
|
if has("gui_running") || &t_Co == 88 || &t_Co == 256
|
||||||
|
" Returns an approximate grey index for the given grey level
|
||||||
|
fun <SID>grey_number(x)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:x < 23
|
||||||
|
return 0
|
||||||
|
elseif a:x < 69
|
||||||
|
return 1
|
||||||
|
elseif a:x < 103
|
||||||
|
return 2
|
||||||
|
elseif a:x < 127
|
||||||
|
return 3
|
||||||
|
elseif a:x < 150
|
||||||
|
return 4
|
||||||
|
elseif a:x < 173
|
||||||
|
return 5
|
||||||
|
elseif a:x < 196
|
||||||
|
return 6
|
||||||
|
elseif a:x < 219
|
||||||
|
return 7
|
||||||
|
elseif a:x < 243
|
||||||
|
return 8
|
||||||
|
else
|
||||||
|
return 9
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:x < 14
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
let l:n = (a:x - 8) / 10
|
||||||
|
let l:m = (a:x - 8) % 10
|
||||||
|
if l:m < 5
|
||||||
|
return l:n
|
||||||
|
else
|
||||||
|
return l:n + 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the actual grey level represented by the grey index
|
||||||
|
fun <SID>grey_level(n)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:n == 0
|
||||||
|
return 0
|
||||||
|
elseif a:n == 1
|
||||||
|
return 46
|
||||||
|
elseif a:n == 2
|
||||||
|
return 92
|
||||||
|
elseif a:n == 3
|
||||||
|
return 115
|
||||||
|
elseif a:n == 4
|
||||||
|
return 139
|
||||||
|
elseif a:n == 5
|
||||||
|
return 162
|
||||||
|
elseif a:n == 6
|
||||||
|
return 185
|
||||||
|
elseif a:n == 7
|
||||||
|
return 208
|
||||||
|
elseif a:n == 8
|
||||||
|
return 231
|
||||||
|
else
|
||||||
|
return 255
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:n == 0
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 8 + (a:n * 10)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the palette index for the given grey index
|
||||||
|
fun <SID>grey_colour(n)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:n == 0
|
||||||
|
return 16
|
||||||
|
elseif a:n == 9
|
||||||
|
return 79
|
||||||
|
else
|
||||||
|
return 79 + a:n
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:n == 0
|
||||||
|
return 16
|
||||||
|
elseif a:n == 25
|
||||||
|
return 231
|
||||||
|
else
|
||||||
|
return 231 + a:n
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns an approximate colour index for the given colour level
|
||||||
|
fun <SID>rgb_number(x)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:x < 69
|
||||||
|
return 0
|
||||||
|
elseif a:x < 172
|
||||||
|
return 1
|
||||||
|
elseif a:x < 230
|
||||||
|
return 2
|
||||||
|
else
|
||||||
|
return 3
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:x < 75
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
let l:n = (a:x - 55) / 40
|
||||||
|
let l:m = (a:x - 55) % 40
|
||||||
|
if l:m < 20
|
||||||
|
return l:n
|
||||||
|
else
|
||||||
|
return l:n + 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the actual colour level for the given colour index
|
||||||
|
fun <SID>rgb_level(n)
|
||||||
|
if &t_Co == 88
|
||||||
|
if a:n == 0
|
||||||
|
return 0
|
||||||
|
elseif a:n == 1
|
||||||
|
return 139
|
||||||
|
elseif a:n == 2
|
||||||
|
return 205
|
||||||
|
else
|
||||||
|
return 255
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
if a:n == 0
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 55 + (a:n * 40)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the palette index for the given R/G/B colour indices
|
||||||
|
fun <SID>rgb_colour(x, y, z)
|
||||||
|
if &t_Co == 88
|
||||||
|
return 16 + (a:x * 16) + (a:y * 4) + a:z
|
||||||
|
else
|
||||||
|
return 16 + (a:x * 36) + (a:y * 6) + a:z
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the palette index to approximate the given R/G/B colour levels
|
||||||
|
fun <SID>colour(r, g, b)
|
||||||
|
" Get the closest grey
|
||||||
|
let l:gx = <SID>grey_number(a:r)
|
||||||
|
let l:gy = <SID>grey_number(a:g)
|
||||||
|
let l:gz = <SID>grey_number(a:b)
|
||||||
|
|
||||||
|
" Get the closest colour
|
||||||
|
let l:x = <SID>rgb_number(a:r)
|
||||||
|
let l:y = <SID>rgb_number(a:g)
|
||||||
|
let l:z = <SID>rgb_number(a:b)
|
||||||
|
|
||||||
|
if l:gx == l:gy && l:gy == l:gz
|
||||||
|
" There are two possibilities
|
||||||
|
let l:dgr = <SID>grey_level(l:gx) - a:r
|
||||||
|
let l:dgg = <SID>grey_level(l:gy) - a:g
|
||||||
|
let l:dgb = <SID>grey_level(l:gz) - a:b
|
||||||
|
let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb)
|
||||||
|
let l:dr = <SID>rgb_level(l:gx) - a:r
|
||||||
|
let l:dg = <SID>rgb_level(l:gy) - a:g
|
||||||
|
let l:db = <SID>rgb_level(l:gz) - a:b
|
||||||
|
let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db)
|
||||||
|
if l:dgrey < l:drgb
|
||||||
|
" Use the grey
|
||||||
|
return <SID>grey_colour(l:gx)
|
||||||
|
else
|
||||||
|
" Use the colour
|
||||||
|
return <SID>rgb_colour(l:x, l:y, l:z)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
" Only one possibility
|
||||||
|
return <SID>rgb_colour(l:x, l:y, l:z)
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Returns the palette index to approximate the 'rrggbb' hex string
|
||||||
|
fun <SID>rgb(rgb)
|
||||||
|
let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0
|
||||||
|
let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0
|
||||||
|
let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0
|
||||||
|
|
||||||
|
return <SID>colour(l:r, l:g, l:b)
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Sets the highlighting for the given group
|
||||||
|
fun <SID>X(group, fg, bg, attr)
|
||||||
|
if a:fg != ""
|
||||||
|
exec "hi " . a:group . " guifg=#" . a:fg . " ctermfg=" . <SID>rgb(a:fg)
|
||||||
|
endif
|
||||||
|
if a:bg != ""
|
||||||
|
exec "hi " . a:group . " guibg=#" . a:bg . " ctermbg=" . <SID>rgb(a:bg)
|
||||||
|
endif
|
||||||
|
if a:attr != ""
|
||||||
|
exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr
|
||||||
|
endif
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" Vim Highlighting
|
||||||
|
call <SID>X("Normal", s:foreground, s:background, "")
|
||||||
|
highlight LineNr term=bold cterm=NONE ctermfg=DarkGrey ctermbg=NONE gui=NONE guifg=DarkGrey guibg=NONE
|
||||||
|
call <SID>X("NonText", s:selection, "", "")
|
||||||
|
call <SID>X("SpecialKey", s:selection, "", "")
|
||||||
|
call <SID>X("Search", s:foreground, s:yellow, "")
|
||||||
|
call <SID>X("TabLine", s:window, s:foreground, "reverse")
|
||||||
|
call <SID>X("TabLineFill", s:window, s:foreground, "reverse")
|
||||||
|
call <SID>X("StatusLine", s:window, s:yellow, "reverse")
|
||||||
|
call <SID>X("StatusLineNC", s:window, s:foreground, "reverse")
|
||||||
|
call <SID>X("VertSplit", s:window, s:window, "none")
|
||||||
|
call <SID>X("Visual", "", s:selection, "")
|
||||||
|
call <SID>X("Directory", s:blue, "", "")
|
||||||
|
call <SID>X("ModeMsg", s:green, "", "")
|
||||||
|
call <SID>X("MoreMsg", s:green, "", "")
|
||||||
|
call <SID>X("Question", s:green, "", "")
|
||||||
|
call <SID>X("WarningMsg", s:red, "", "")
|
||||||
|
call <SID>X("MatchParen", "", s:selection, "")
|
||||||
|
call <SID>X("Folded", s:comment, s:background, "")
|
||||||
|
call <SID>X("FoldColumn", "", s:background, "")
|
||||||
|
if version >= 700
|
||||||
|
call <SID>X("CursorLine", "", s:line, "none")
|
||||||
|
call <SID>X("CursorColumn", "", s:line, "none")
|
||||||
|
call <SID>X("PMenu", s:foreground, s:selection, "none")
|
||||||
|
call <SID>X("PMenuSel", s:foreground, s:selection, "reverse")
|
||||||
|
call <SID>X("SignColumn", "", s:background, "none")
|
||||||
|
end
|
||||||
|
if version >= 703
|
||||||
|
call <SID>X("ColorColumn", "", s:line, "none")
|
||||||
|
end
|
||||||
|
|
||||||
|
" Standard Highlighting
|
||||||
|
call <SID>X("Comment", s:comment, "", "")
|
||||||
|
call <SID>X("Todo", s:comment, s:background, "")
|
||||||
|
call <SID>X("Title", s:comment, "", "")
|
||||||
|
call <SID>X("Identifier", s:red, "", "none")
|
||||||
|
call <SID>X("Statement", s:foreground, "", "")
|
||||||
|
call <SID>X("Conditional", s:foreground, "", "")
|
||||||
|
call <SID>X("Repeat", s:foreground, "", "")
|
||||||
|
call <SID>X("Structure", s:purple, "", "")
|
||||||
|
call <SID>X("Function", s:blue, "", "")
|
||||||
|
call <SID>X("Constant", s:orange, "", "")
|
||||||
|
call <SID>X("Keyword", s:orange, "", "")
|
||||||
|
call <SID>X("String", s:green, "", "")
|
||||||
|
call <SID>X("Special", s:foreground, "", "")
|
||||||
|
call <SID>X("PreProc", s:purple, "", "")
|
||||||
|
call <SID>X("Operator", s:aqua, "", "none")
|
||||||
|
call <SID>X("Type", s:blue, "", "none")
|
||||||
|
call <SID>X("Define", s:purple, "", "none")
|
||||||
|
call <SID>X("Include", s:blue, "", "")
|
||||||
|
"call <SID>X("Ignore", "666666", "", "")
|
||||||
|
|
||||||
|
" Vim Highlighting
|
||||||
|
call <SID>X("vimCommand", s:red, "", "none")
|
||||||
|
|
||||||
|
" C Highlighting
|
||||||
|
call <SID>X("cType", s:yellow, "", "")
|
||||||
|
call <SID>X("cStorageClass", s:purple, "", "")
|
||||||
|
call <SID>X("cConditional", s:purple, "", "")
|
||||||
|
call <SID>X("cRepeat", s:purple, "", "")
|
||||||
|
|
||||||
|
" PHP Highlighting
|
||||||
|
call <SID>X("phpVarSelector", s:red, "", "")
|
||||||
|
call <SID>X("phpKeyword", s:purple, "", "")
|
||||||
|
call <SID>X("phpRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("phpConditional", s:purple, "", "")
|
||||||
|
call <SID>X("phpStatement", s:purple, "", "")
|
||||||
|
call <SID>X("phpMemberSelector", s:foreground, "", "")
|
||||||
|
|
||||||
|
" Ruby Highlighting
|
||||||
|
call <SID>X("rubySymbol", s:green, "", "")
|
||||||
|
call <SID>X("rubyConstant", s:yellow, "", "")
|
||||||
|
call <SID>X("rubyAccess", s:yellow, "", "")
|
||||||
|
call <SID>X("rubyAttribute", s:blue, "", "")
|
||||||
|
call <SID>X("rubyInclude", s:blue, "", "")
|
||||||
|
call <SID>X("rubyLocalVariableOrMethod", s:orange, "", "")
|
||||||
|
call <SID>X("rubyCurlyBlock", s:orange, "", "")
|
||||||
|
call <SID>X("rubyStringDelimiter", s:green, "", "")
|
||||||
|
call <SID>X("rubyInterpolationDelimiter", s:orange, "", "")
|
||||||
|
call <SID>X("rubyConditional", s:purple, "", "")
|
||||||
|
call <SID>X("rubyRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("rubyControl", s:purple, "", "")
|
||||||
|
call <SID>X("rubyException", s:purple, "", "")
|
||||||
|
|
||||||
|
" Crystal Highlighting
|
||||||
|
call <SID>X("crystalSymbol", s:green, "", "")
|
||||||
|
call <SID>X("crystalConstant", s:yellow, "", "")
|
||||||
|
call <SID>X("crystalAccess", s:yellow, "", "")
|
||||||
|
call <SID>X("crystalAttribute", s:blue, "", "")
|
||||||
|
call <SID>X("crystalInclude", s:blue, "", "")
|
||||||
|
call <SID>X("crystalLocalVariableOrMethod", s:orange, "", "")
|
||||||
|
call <SID>X("crystalCurlyBlock", s:orange, "", "")
|
||||||
|
call <SID>X("crystalStringDelimiter", s:green, "", "")
|
||||||
|
call <SID>X("crystalInterpolationDelimiter", s:orange, "", "")
|
||||||
|
call <SID>X("crystalConditional", s:purple, "", "")
|
||||||
|
call <SID>X("crystalRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("crystalControl", s:purple, "", "")
|
||||||
|
call <SID>X("crystalException", s:purple, "", "")
|
||||||
|
|
||||||
|
" Python Highlighting
|
||||||
|
call <SID>X("pythonInclude", s:purple, "", "")
|
||||||
|
call <SID>X("pythonStatement", s:purple, "", "")
|
||||||
|
call <SID>X("pythonConditional", s:purple, "", "")
|
||||||
|
call <SID>X("pythonRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("pythonException", s:purple, "", "")
|
||||||
|
call <SID>X("pythonFunction", s:blue, "", "")
|
||||||
|
call <SID>X("pythonPreCondit", s:purple, "", "")
|
||||||
|
call <SID>X("pythonRepeat", s:aqua, "", "")
|
||||||
|
call <SID>X("pythonExClass", s:orange, "", "")
|
||||||
|
|
||||||
|
" JavaScript Highlighting
|
||||||
|
call <SID>X("javaScriptBraces", s:foreground, "", "")
|
||||||
|
call <SID>X("javaScriptFunction", s:purple, "", "")
|
||||||
|
call <SID>X("javaScriptConditional", s:purple, "", "")
|
||||||
|
call <SID>X("javaScriptRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("javaScriptNumber", s:orange, "", "")
|
||||||
|
call <SID>X("javaScriptMember", s:orange, "", "")
|
||||||
|
call <SID>X("javascriptNull", s:orange, "", "")
|
||||||
|
call <SID>X("javascriptGlobal", s:blue, "", "")
|
||||||
|
call <SID>X("javascriptStatement", s:red, "", "")
|
||||||
|
|
||||||
|
" CoffeeScript Highlighting
|
||||||
|
call <SID>X("coffeeRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("coffeeConditional", s:purple, "", "")
|
||||||
|
call <SID>X("coffeeKeyword", s:purple, "", "")
|
||||||
|
call <SID>X("coffeeObject", s:yellow, "", "")
|
||||||
|
|
||||||
|
" HTML Highlighting
|
||||||
|
call <SID>X("htmlTag", s:red, "", "")
|
||||||
|
call <SID>X("htmlTagName", s:red, "", "")
|
||||||
|
call <SID>X("htmlArg", s:red, "", "")
|
||||||
|
call <SID>X("htmlScriptTag", s:red, "", "")
|
||||||
|
|
||||||
|
" ShowMarks Highlighting
|
||||||
|
call <SID>X("ShowMarksHLl", s:orange, s:background, "none")
|
||||||
|
call <SID>X("ShowMarksHLo", s:purple, s:background, "none")
|
||||||
|
call <SID>X("ShowMarksHLu", s:yellow, s:background, "none")
|
||||||
|
call <SID>X("ShowMarksHLm", s:aqua, s:background, "none")
|
||||||
|
|
||||||
|
" Lua Highlighting
|
||||||
|
call <SID>X("luaStatement", s:purple, "", "")
|
||||||
|
call <SID>X("luaRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("luaCondStart", s:purple, "", "")
|
||||||
|
call <SID>X("luaCondElseif", s:purple, "", "")
|
||||||
|
call <SID>X("luaCond", s:purple, "", "")
|
||||||
|
call <SID>X("luaCondEnd", s:purple, "", "")
|
||||||
|
|
||||||
|
" Cucumber Highlighting
|
||||||
|
call <SID>X("cucumberGiven", s:blue, "", "")
|
||||||
|
call <SID>X("cucumberGivenAnd", s:blue, "", "")
|
||||||
|
|
||||||
|
" Go Highlighting
|
||||||
|
call <SID>X("goDirective", s:purple, "", "")
|
||||||
|
call <SID>X("goDeclaration", s:purple, "", "")
|
||||||
|
call <SID>X("goStatement", s:purple, "", "")
|
||||||
|
call <SID>X("goConditional", s:purple, "", "")
|
||||||
|
call <SID>X("goConstants", s:orange, "", "")
|
||||||
|
call <SID>X("goTodo", s:yellow, "", "")
|
||||||
|
call <SID>X("goDeclType", s:blue, "", "")
|
||||||
|
call <SID>X("goBuiltins", s:purple, "", "")
|
||||||
|
call <SID>X("goRepeat", s:purple, "", "")
|
||||||
|
call <SID>X("goLabel", s:purple, "", "")
|
||||||
|
|
||||||
|
" Clojure Highlighting
|
||||||
|
call <SID>X("clojureConstant", s:orange, "", "")
|
||||||
|
call <SID>X("clojureBoolean", s:orange, "", "")
|
||||||
|
call <SID>X("clojureCharacter", s:orange, "", "")
|
||||||
|
call <SID>X("clojureKeyword", s:green, "", "")
|
||||||
|
call <SID>X("clojureNumber", s:orange, "", "")
|
||||||
|
call <SID>X("clojureString", s:green, "", "")
|
||||||
|
call <SID>X("clojureRegexp", s:green, "", "")
|
||||||
|
call <SID>X("clojureParen", s:aqua, "", "")
|
||||||
|
call <SID>X("clojureVariable", s:yellow, "", "")
|
||||||
|
call <SID>X("clojureCond", s:blue, "", "")
|
||||||
|
call <SID>X("clojureDefine", s:purple, "", "")
|
||||||
|
call <SID>X("clojureException", s:red, "", "")
|
||||||
|
call <SID>X("clojureFunc", s:blue, "", "")
|
||||||
|
call <SID>X("clojureMacro", s:blue, "", "")
|
||||||
|
call <SID>X("clojureRepeat", s:blue, "", "")
|
||||||
|
call <SID>X("clojureSpecial", s:purple, "", "")
|
||||||
|
call <SID>X("clojureQuote", s:blue, "", "")
|
||||||
|
call <SID>X("clojureUnquote", s:blue, "", "")
|
||||||
|
call <SID>X("clojureMeta", s:blue, "", "")
|
||||||
|
call <SID>X("clojureDeref", s:blue, "", "")
|
||||||
|
call <SID>X("clojureAnonArg", s:blue, "", "")
|
||||||
|
call <SID>X("clojureRepeat", s:blue, "", "")
|
||||||
|
call <SID>X("clojureDispatch", s:blue, "", "")
|
||||||
|
|
||||||
|
" Scala Highlighting
|
||||||
|
call <SID>X("scalaKeyword", s:purple, "", "")
|
||||||
|
call <SID>X("scalaKeywordModifier", s:purple, "", "")
|
||||||
|
call <SID>X("scalaOperator", s:blue, "", "")
|
||||||
|
call <SID>X("scalaPackage", s:red, "", "")
|
||||||
|
call <SID>X("scalaFqn", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaFqnSet", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaImport", s:purple, "", "")
|
||||||
|
call <SID>X("scalaBoolean", s:orange, "", "")
|
||||||
|
call <SID>X("scalaDef", s:purple, "", "")
|
||||||
|
call <SID>X("scalaVal", s:purple, "", "")
|
||||||
|
call <SID>X("scalaVar", s:aqua, "", "")
|
||||||
|
call <SID>X("scalaClass", s:purple, "", "")
|
||||||
|
call <SID>X("scalaObject", s:purple, "", "")
|
||||||
|
call <SID>X("scalaTrait", s:purple, "", "")
|
||||||
|
call <SID>X("scalaDefName", s:blue, "", "")
|
||||||
|
call <SID>X("scalaValName", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaVarName", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaClassName", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaType", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaTypeSpecializer", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaAnnotation", s:orange, "", "")
|
||||||
|
call <SID>X("scalaNumber", s:orange, "", "")
|
||||||
|
call <SID>X("scalaDefSpecializer", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaClassSpecializer", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaBackTick", s:green, "", "")
|
||||||
|
call <SID>X("scalaRoot", s:foreground, "", "")
|
||||||
|
call <SID>X("scalaMethodCall", s:blue, "", "")
|
||||||
|
call <SID>X("scalaCaseType", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaLineComment", s:comment, "", "")
|
||||||
|
call <SID>X("scalaComment", s:comment, "", "")
|
||||||
|
call <SID>X("scalaDocComment", s:comment, "", "")
|
||||||
|
call <SID>X("scalaDocTags", s:comment, "", "")
|
||||||
|
call <SID>X("scalaEmptyString", s:green, "", "")
|
||||||
|
call <SID>X("scalaMultiLineString", s:green, "", "")
|
||||||
|
call <SID>X("scalaUnicode", s:orange, "", "")
|
||||||
|
call <SID>X("scalaString", s:green, "", "")
|
||||||
|
call <SID>X("scalaStringEscape", s:green, "", "")
|
||||||
|
call <SID>X("scalaSymbol", s:orange, "", "")
|
||||||
|
call <SID>X("scalaChar", s:orange, "", "")
|
||||||
|
call <SID>X("scalaXml", s:green, "", "")
|
||||||
|
call <SID>X("scalaConstructorSpecializer", s:yellow, "", "")
|
||||||
|
call <SID>X("scalaBackTick", s:blue, "", "")
|
||||||
|
|
||||||
|
" Git
|
||||||
|
call <SID>X("diffAdded", s:green, "", "")
|
||||||
|
call <SID>X("diffRemoved", s:red, "", "")
|
||||||
|
call <SID>X("gitcommitSummary", "", "", "bold")
|
||||||
|
|
||||||
|
" Delete Functions
|
||||||
|
delf <SID>X
|
||||||
|
delf <SID>rgb
|
||||||
|
delf <SID>colour
|
||||||
|
delf <SID>rgb_colour
|
||||||
|
delf <SID>rgb_level
|
||||||
|
delf <SID>rgb_number
|
||||||
|
delf <SID>grey_colour
|
||||||
|
delf <SID>grey_level
|
||||||
|
delf <SID>grey_number
|
||||||
|
endif
|
40
vim/vimrc
Normal file
40
vim/vimrc
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
" lines numbers
|
||||||
|
set nu
|
||||||
|
" better contrast
|
||||||
|
" set background=dark
|
||||||
|
" active colors
|
||||||
|
syntax on
|
||||||
|
" choose colors
|
||||||
|
colorscheme Tomorrow-Night-Bright
|
||||||
|
" no tab when pasting
|
||||||
|
" set paste
|
||||||
|
" mouse selection to not have line numbers
|
||||||
|
" mac : CMD+ALT+SELECTION
|
||||||
|
" linux : SHIFT+SELECTION
|
||||||
|
set mouse=r
|
||||||
|
|
||||||
|
" no tilde files
|
||||||
|
set nobackup
|
||||||
|
|
||||||
|
" python options
|
||||||
|
set tabstop=8
|
||||||
|
set expandtab
|
||||||
|
set shiftwidth=4
|
||||||
|
set softtabstop=4
|
||||||
|
|
||||||
|
filetype indent on
|
||||||
|
|
||||||
|
" This beauty remembers where you were the last time you edited the file, and returns to the same position.
|
||||||
|
au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif
|
||||||
|
|
||||||
|
" Use Vim settings, rather than Vi settings (much better!).
|
||||||
|
" This must be first, because it changes other options as a side effect.
|
||||||
|
set nocompatible
|
||||||
|
|
||||||
|
" allow backspacing over everything in insert mode
|
||||||
|
set backspace=indent,eol,start
|
||||||
|
|
||||||
|
set ruler " show the cursor position all the time
|
||||||
|
set showcmd " display incomplete commands
|
||||||
|
set incsearch " do incremental searching
|
||||||
|
set autoindent " always set autoindenting on
|
62
xbindkeysrc
Normal file
62
xbindkeysrc
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
# For the benefit of emacs users: -*- shell-script -*-
|
||||||
|
###########################
|
||||||
|
# xbindkeys configuration #
|
||||||
|
###########################
|
||||||
|
#
|
||||||
|
# Version: 1.8.6
|
||||||
|
#
|
||||||
|
# If you edit this file, do not forget to uncomment any lines
|
||||||
|
# that you change.
|
||||||
|
# The pound(#) symbol may be used anywhere for comments.
|
||||||
|
#
|
||||||
|
# To specify a key, you can use 'xbindkeys --key' or
|
||||||
|
# 'xbindkeys --multikey' and put one of the two lines in this file.
|
||||||
|
#
|
||||||
|
# The format of a command line is:
|
||||||
|
# "command to start"
|
||||||
|
# associated key
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# A list of keys is in /usr/include/X11/keysym.h and in
|
||||||
|
# /usr/include/X11/keysymdef.h
|
||||||
|
# The XK_ is not needed.
|
||||||
|
#
|
||||||
|
# List of modifier:
|
||||||
|
# Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock),
|
||||||
|
# Mod3 (CapsLock), Mod4, Mod5 (Scroll).
|
||||||
|
#
|
||||||
|
|
||||||
|
# The release modifier is not a standard X modifier, but you can
|
||||||
|
# use it if you want to catch release events instead of press events
|
||||||
|
|
||||||
|
# By defaults, xbindkeys does not pay attention with the modifiers
|
||||||
|
# NumLock, CapsLock and ScrollLock.
|
||||||
|
# Uncomment the lines above if you want to pay attention to them.
|
||||||
|
|
||||||
|
#keystate_numlock = enable
|
||||||
|
#keystate_capslock = enable
|
||||||
|
#keystate_scrolllock= enable
|
||||||
|
|
||||||
|
"amixer set Master toggle"
|
||||||
|
m:0x0 + c:121
|
||||||
|
XF86AudioMute
|
||||||
|
|
||||||
|
"amixer set Master 5%-"
|
||||||
|
m:0x0 + c:122
|
||||||
|
XF86AudioLowerVolume
|
||||||
|
|
||||||
|
"amixer set Master 5%+"
|
||||||
|
m:0x0 + c:123
|
||||||
|
XF86AudioRaiseVolume
|
||||||
|
|
||||||
|
"xbacklight -dec 5"
|
||||||
|
m:0x0 + c:232
|
||||||
|
XF86MonBrightnessDown
|
||||||
|
|
||||||
|
"xbacklight -inc 5"
|
||||||
|
m:0x0 + c:233
|
||||||
|
XF86MonBrightnessUp
|
||||||
|
|
||||||
|
##################################
|
||||||
|
# End of xbindkeys configuration #
|
||||||
|
##################################
|
38
xinitrc
Normal file
38
xinitrc
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
userresources=$HOME/.Xresources
|
||||||
|
usermodmap=$HOME/.Xmodmap
|
||||||
|
sysresources=/etc/X11/xinit/.Xresources
|
||||||
|
sysmodmap=/etc/X11/xinit/.Xmodmap
|
||||||
|
|
||||||
|
# merge in defaults and keymaps
|
||||||
|
|
||||||
|
if [ -f $sysresources ]; then
|
||||||
|
xrdb -merge $sysresources
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f $sysmodmap ]; then
|
||||||
|
xmodmap $sysmodmap
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "$userresources" ]; then
|
||||||
|
xrdb -merge "$userresources"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "$usermodmap" ]; then
|
||||||
|
xmodmap "$usermodmap"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# start some nice programs
|
||||||
|
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
|
||||||
|
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
|
||||||
|
[ -x "$f" ] && . "$f"
|
||||||
|
done
|
||||||
|
unset f
|
||||||
|
fi
|
||||||
|
|
||||||
|
# source .xprofile
|
||||||
|
[ -f ~/.xprofile ] && source ~/.xprofile
|
||||||
|
|
||||||
|
exec i3
|
||||||
|
#exec i3 -V >> ~/i3log-$(date +'%F-%k-%M-%S') 2>&1
|
46
zsh/zshrc
Normal file
46
zsh/zshrc
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
# Path to your oh-my-zsh installation.
|
||||||
|
export ZSH=$HOME/.oh-my-zsh
|
||||||
|
|
||||||
|
#zshrc node specific
|
||||||
|
source ~/.zshrc_node
|
||||||
|
|
||||||
|
# Set name of the theme to load.
|
||||||
|
ZSH_THEME="greenedit"
|
||||||
|
#ZSH_THEME="rededit"
|
||||||
|
#ZSH_THEME="blueedit"
|
||||||
|
#ZSH_THEME="yellowedit"
|
||||||
|
|
||||||
|
#print motd
|
||||||
|
cat /etc/motd
|
||||||
|
|
||||||
|
#turn on comments with # in shell
|
||||||
|
setopt interactivecomments
|
||||||
|
|
||||||
|
#aliases
|
||||||
|
alias zshconfig="vi ~/.zshrc_node"
|
||||||
|
alias zshconfig_global="vi ~/.zshrc"
|
||||||
|
alias motdconfig="vi ~/bash_scripts/update_motd.sh"
|
||||||
|
alias vimconfig="vi ~/.vimrc"
|
||||||
|
alias sshconfig="vi ~/.ssh/config"
|
||||||
|
alias lh="du -hsc * | sort -hr"
|
||||||
|
alias sprunge="curl -F 'sprunge=<-' http://sprunge.us"
|
||||||
|
alias upics="curl -F c=@- https://ptpb.pw <"
|
||||||
|
alias vi="vim"
|
||||||
|
alias sudo="sudo "
|
||||||
|
|
||||||
|
#exports
|
||||||
|
export EDITOR='vim'
|
||||||
|
#deactivate gaskpass
|
||||||
|
unset SSH_ASKPASS
|
||||||
|
#man colors
|
||||||
|
export LESS_TERMCAP_mb=$'\E[01;31m'
|
||||||
|
export LESS_TERMCAP_md=$'\E[01;31m'
|
||||||
|
export LESS_TERMCAP_me=$'\E[0m'
|
||||||
|
export LESS_TERMCAP_se=$'\E[0m'
|
||||||
|
export LESS_TERMCAP_so=$'\E[01;44;33m'
|
||||||
|
export LESS_TERMCAP_ue=$'\E[0m'
|
||||||
|
export LESS_TERMCAP_us=$'\E[01;32m'
|
||||||
|
|
||||||
|
#zshconf
|
||||||
|
plugins=(git python)
|
||||||
|
source $ZSH/oh-my-zsh.sh
|
Loading…
Reference in New Issue
Block a user