initial commit
authorkremlin <ian@kremlin.cc>
Mon, 6 Jan 2014 23:28:17 +0000 (17:28 -0600)
committerkremlin <ian@kremlin.cc>
Mon, 6 Jan 2014 23:28:17 +0000 (17:28 -0600)
27 files changed:
README.md
Xresources [new file with mode: 0644]
bashrc [new file with mode: 0644]
fehbg [new file with mode: 0644]
gtk-2.0/gtkrc [new file with mode: 0644]
nano/haskell.nanorc [new file with mode: 0644]
nano/syntax.nanorc [new file with mode: 0644]
nanorc [new file with mode: 0644]
scripts/christmas.sh [new file with mode: 0644]
scripts/colors.sh [new file with mode: 0644]
scripts/wifi-configure.sh [new file with mode: 0644]
wallpapers/decay1.jpg [new file with mode: 0644]
wallpapers/fuzz.png [new file with mode: 0644]
wallpapers/indust1.jpg [new file with mode: 0644]
wallpapers/krem-tiling.png [new file with mode: 0644]
wallpapers/liq.jpg [new file with mode: 0644]
wallpapers/mbg.jpg [new file with mode: 0644]
wallpapers/mountains1.jpg [new file with mode: 0644]
wallpapers/steel.jpg [new file with mode: 0644]
wallpapers/tiling-nice.gif [new file with mode: 0644]
wallpapers/tiling-nice2.png [new file with mode: 0644]
wallpapers/tiling-nice3.png [new file with mode: 0644]
wallpapers/train.jpg [new file with mode: 0644]
xbindkeysrc [new file with mode: 0644]
xinitrc [new file with mode: 0644]
xmobarrc [new file with mode: 0644]
xmonad/xmonad.hs [new file with mode: 0644]

index 4ca3237b5cedfbf9cf8c51eb17980a631852ddac..307f1c5ed000815c1eae62793ab87965dbf809e3 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,4 +1,36 @@
 dotfiles
 ========
 
-m'dotfiles.
+m'dotfiles
+
+important
+--------
+you need (obviously) prepend some files with a period for them to work. i omitted this detail so they would show up properly on github.
+
+i use these programs:
+*xmonad
+*xmobar
+*xbindkeys
+*urxvt/urxvtd/urxvtc
+*NetworkManager
+*feh
+*nano (don't hate)
+*some others i'm forgetting
+
+what's included
+--------
+*my xresources (terminal colors/schema/extensions)
+*xmonad config
+*xmobar config
+*xinit sequence
+*bash config/aliases/terminal prompts/etc
+*nano syntax highlighting rc files
+*"bespoke" gtk-2 theme i (sort of) made
+*bound keys with xbindkeys
+*helpful scripts
+*wallpapers that aren't mine
+*hopefully none of my passwords or personal information
+
+
+avec l'amour toujours,
+kremlin
diff --git a/Xresources b/Xresources
new file mode 100644 (file)
index 0000000..a28068c
--- /dev/null
@@ -0,0 +1,57 @@
+!! old solarized
+
+#define S_base03        #000000
+#define S_base02        #073642
+#define S_base01        #586e75
+#define S_base00        #657b83
+#define S_base0         #839496
+#define S_base1         #93a1a1
+#define S_base2         #eee8d5
+#define S_base3         #fdf6e3
+#define S_yellow        #b58900
+#define S_orange        #cb4b16
+#define S_red           #dc322f
+#define S_magenta       #d33682
+#define S_violet        #6c71c4
+#define S_blue          #268bd2
+#define S_cyan          #2aa198
+#define S_green         #859900
+
+*fading:                  25
+
+URxvt*.scrollBar: false
+URxvt*.font: -*-terminus-*-*-normal--12-120-72-72-c-60-*-*
+URxvt*.boldFont: -*-terminus-*-*-normal--12-120-72-72-c-60-*-*
+URxvt*.perl-ext-common: default,matcher,vtwheel,fullscreen
+URxvt*.url-launcher: /usr/bin/google-chrome
+URxvt*.matcher.button: 1
+URxvt*.depth: 32
+URxvt*cursorBlink: 1
+
+!Gslob nature-suede (found at xcolors.net)
+URxvt*background:       #170F0D
+URxvt*foreground:       #746C48
+
+URxvt*color0:           #392925
+URxvt*color8:           #544B2E
+
+URxvt*color1:           #98724C
+URxvt*color9:           #AF652F
+
+URxvt*color2:           #908F32
+URxvt*color10:          #C3C13D
+
+URxvt*color3:           #AA964C
+URxvt*color11:          #C8B55B
+
+URxvt*color4:           #7B854E
+URxvt*color12:          #70A16C
+
+URxvt*color5:           #6B5644
+URxvt*color13:          #98724C
+
+URxvt*color6:           #5C5142
+URxvt*color14:          #778725
+
+URxvt*color7:           #C8B55B
+URxvt*color15:          #E4DC8C
diff --git a/bashrc b/bashrc
new file mode 100644 (file)
index 0000000..e0c1195
--- /dev/null
+++ b/bashrc
@@ -0,0 +1,135 @@
+
+# Bash won't get SIGWINCH if another process is in the foreground.
+# Enable checkwinsize so that bash will check the terminal size when
+# it regains control.
+# http://cnswww.cns.cwru.edu/~chet/bash/FAQ (E11)
+shopt -s checkwinsize
+
+# Enable history appending instead of overwriting.
+shopt -s histappend
+
+case ${TERM} in
+       xterm*|rxvt*|Eterm|aterm|kterm|gnome*)
+               PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
+               ;;
+       screen)
+               PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
+               ;;
+esac
+
+# fortune is a simple program that displays a pseudorandom message
+# from a database of quotations at logon and/or logout.
+# If you wish to use it, please install "fortune-mod" from the
+# official repositories, then uncomment the following line:
+
+[[ "$PS1" ]] && /usr/bin/fortune
+
+# Set colorful PS1 only on colorful terminals.
+# dircolors --print-database uses its own built-in database
+# instead of using /etc/DIR_COLORS. Try to use the external file
+# first to take advantage of user additions. Use internal bash
+# globbing instead of external grep binary.
+
+# sanitize TERM:
+safe_term=${TERM//[^[:alnum:]]/?}
+match_lhs=""
+
+[[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)"
+[[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(</etc/DIR_COLORS)"
+[[ -z ${match_lhs} ]] \
+       && type -P dircolors >/dev/null \
+       && match_lhs=$(dircolors --print-database)
+
+if [[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] ; then
+       
+       # we have colors :-)
+
+       # Enable colors for ls, etc. Prefer ~/.dir_colors
+       if type -P dircolors >/dev/null ; then
+               if [[ -f ~/.dir_colors ]] ; then
+                       eval $(dircolors -b ~/.dir_colors)
+               elif [[ -f /etc/DIR_COLORS ]] ; then
+                       eval $(dircolors -b /etc/DIR_COLORS)
+               fi
+       fi
+
+       # http://maketecheasier.com/8-useful-and-interesting-bash-prompts/2009/09/04
+       # PS1="\n\[\033[1;37m\]\342\224\214($(if [[ ${EUID} == 0 ]]; then echo '\[\033[01;31m\]\h'; else echo '\[\033[01;34m\]\u@\h'; fi)\[\033[1;37m\])\342\224\200(\$(if [[ \$? == 0 ]]; then echo \"\[\033[01;32m\]\342\234\223\"; else echo \"\[\033[01;31m\]\342\234\227\"; fi)\[\033[1;37m\])\342\224\200(\[\033[1;34m\]\@ \d\[\033[1;37m\])\[\033[1;37m\]\n\342\224\224\342\224\200(\[\033[1;32m\]\w\[\033[1;37m\])\342\224\200(\[\033[1;32m\]\$(ls -1 | wc -l | sed 's: ::g') files, \$(ls -lah | grep -m 1 total | sed 's/total //')b\[\033[1;37m\])\342\224\200> \[\033[0m\]"
+
+       # new
+       PS1="\n\[\033[1;37m\]\342\224\214($(if [[ ${EUID} == 0 ]]; then echo '\[\033[01;31m\]\h'; else echo '\[\033[01;34m\]\u@\h'; fi)\[\033[1;37m\])\$([[ \$? != 0 ]] && echo \"\342\224\200(\[\033[0;31m\]\342\234\227\[\033[1;37m\])\")\342\224\200(\[\033[1;34m\]\@ \d\[\033[1;37m\])\[\033[1;37m\]\n\342\224\224\342\224\200(\[\033[1;32m\]\w\[\033[1;37m\])\342\224\200(\[\033[1;32m\]\$(ls -1 | wc -l | sed 's: ::g') files, \$(ls -sh | head -n1 | sed 's/total //')b\[\033[1;37m\])\342\224\200> \[\033[0m\]"
+
+
+       # Use this other PS1 string if you want \W for root and \w for all other users:
+       # PS1="$(if [[ ${EUID} == 0 ]]; then echo '\[\033[01;31m\]\h\[\033[01;34m\] \W'; else echo '\[\033[01;32m\]\u@\h\[\033[01;34m\] \w'; fi) \$([[ \$? != 0 ]] && echo \"\[\033[01;31m\]:(\[\033[01;34m\] \")\\$\[\033[00m\] "
+
+       alias ls="ls --color=auto"
+       alias dir="dir --color=auto"
+       alias grep="grep --color=auto"
+       alias dmesg='dmesg --color'
+       alias nano='nano -w'
+
+
+       man() {
+           env LESS_TERMCAP_mb=$'\E[01;31m' \
+           LESS_TERMCAP_md=$'\E[01;38;5;74m' \
+           LESS_TERMCAP_me=$'\E[0m' \
+           LESS_TERMCAP_se=$'\E[0m' \
+           LESS_TERMCAP_so=$'\E[38;5;246m' \
+           LESS_TERMCAP_ue=$'\E[0m' \
+           LESS_TERMCAP_us=$'\E[04;38;5;146m' \
+           man "$@"
+       }
+
+       # Uncomment the "Color" line in /etc/pacman.conf instead of uncommenting the following line...!
+
+       # alias pacman="pacman --color=auto"
+
+else
+
+       # show root@ when we do not have colors
+
+       # PS1="\u@\h \w \$([[ \$? != 0 ]] && echo \":( \")\$ "
+
+       PS1="\n\[\033[1;37m\]\342\224\214($(if [[ ${EUID} == 0 ]]; then echo '\[\033[01;31m\]\h'; else echo '\[\033[01;34m\]\u@\h'; fi)\[\033[1;37m\])\$([[ \$? != 0 ]] && echo \"\342\224\200(\[\033[0;31m\]\342\234\227\[\033[1;37m\])\")\342\224\200(\[\033[1;34m\]\@ \d\[\033[1;37m\])\[\033[1;37m\]\n\342\224\224\342\224\200(\[\033[1;32m\]\w\[\033[1;37m\])\342\224\200(\[\033[1;32m\]\$(ls -1 | wc -l | sed 's: ::g') files, \$(ls -sh | head -n1 | sed 's/total //')b\[\033[1;37m\])\342\224\200> \[\033[0m\]"
+
+       # Use this other PS1 string if you want \W for root and \w for all other users:
+       # PS1="\u@\h $(if [[ ${EUID} == 0 ]]; then echo '\W'; else echo '\w'; fi) \$([[ \$? != 0 ]] && echo \":( \")\$ "
+
+fi
+
+PS2="> "
+PS3="> "
+PS4="+ "
+
+# Try to keep environment pollution down, EPA loves us.
+unset safe_term match_lhs
+
+# Try to enable the auto-completion (type: "pacman -S bash-completion" to install it).
+[ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion
+
+# Try to enable the "Command not found" hook ("pacman -S pkgfile" to install it).
+# See also: https://wiki.archlinux.org/index.php/Bash#The_.22command_not_found.22_hook
+[ -r /usr/share/doc/pkgfile/command-not-found.bash ] && . /usr/share/doc/pkgfile/command-not-found.bash
+
+# muh aliases
+alias grep='grep --color=auto'
+alias ls='ls --color=auto'
+alias aurget='yaourt -Sa'
+alias kremget='yaourt -Sa'
+alias kremrem='sudo pacman -Rsc'
+alias kremlook='sudo pacman -Qq'
+alias kremupdate='sudo pacman -Syu'
+alias kremwho='pacman -Qo'
+
+PATH="${PATH}:/home/kremlin/bin"
+
+# color less
+export LESS=-R
+export LESS_TERMCAP_me=$(printf '\e[0m')
+export LESS_TERMCAP_se=$(printf '\e[0m')
+export LESS_TERMCAP_ue=$(printf '\e[0m')
+export LESS_TERMCAP_mb=$(printf '\e[1;32m')
+export LESS_TERMCAP_md=$(printf '\e[1;34m')
+export LESS_TERMCAP_us=$(printf '\e[1;32m')
+export LESS_TERMCAP_so=$(printf '\e[1;44;1m')
diff --git a/fehbg b/fehbg
new file mode 100644 (file)
index 0000000..38849ea
--- /dev/null
+++ b/fehbg
@@ -0,0 +1 @@
+feh --bg-tile '/home/kremlin/wallpapers/krem-tiling.png' 
diff --git a/gtk-2.0/gtkrc b/gtk-2.0/gtkrc
new file mode 100644 (file)
index 0000000..381717c
--- /dev/null
@@ -0,0 +1,273 @@
+# custom theme --kremlin\r
+# ~/usr/share/themes/SolarizedDark/gtk-2.0/gtkrc\r
+\r
+gtk-icon-theme-name = "GNOME"\r
+gtk-theme-name = "bespoke"\r
+\r
+gtk_color_scheme = "fg_color:#575136\nbg_color:#110b09\nbase_color:#170f0d\ntext_color:#746c48\nselected_bg_color:#170f0d\nselected_fg_color:#746c48"\r
+\r
+gtk-button-images = 1\r
+gtk-icon-sizes = "panel-menu=16,16:panel=16,16:gtk-button=16,16:gtk-large-toolbar=16,16"\r
+gtk-menu-images = 1\r
+style "theme-default"\r
+{\r
+  GtkButton      ::default_border    = { 0, 0, 0, 0 }\r
+  GtkRange       ::trough_border     = 0\r
+  GtkPaned       ::handle_size       = 6\r
+  GtkRange       ::slider_width      = 16\r
+  GtkRange       ::stepper_size      = 0\r
+\r
+  GtkScrollbar   ::min_slider_length = 30\r
+  GtkCheckButton ::indicator_size    = 10\r
+  GtkRadioButton ::indicator_size    = 10\r
+  GtkMenuBar     ::internal-padding  = 0\r
+  GtkTreeView    ::expander_size     = 14\r
+  GtkExpander    ::expander_size     = 16\r
+  GtkScale       ::slider-length     = 16\r
+\r
+  \r
+  \r
+  xthickness = 1\r
+  ythickness = 1\r
+\r
+  fg[NORMAL]        = @fg_color \r
+  fg[PRELIGHT]      = @selected_fg_color\r
+  fg[SELECTED]      = @selected_fg_color\r
+  fg[ACTIVE]        = darker (@fg_color)\r
+  fg[INSENSITIVE]   = @fg_color\r
+\r
+  bg[NORMAL]        = @bg_color\r
+  bg[PRELIGHT]      = @selected_bg_color\r
+  bg[SELECTED]     = @selected_bg_color\r
+  bg[INSENSITIVE]   = @bg_color \r
+  bg[ACTIVE]        = @bg_color\r
+\r
+  base[NORMAL]         =  @base_color\r
+  base[ACTIVE]         =  shade (0.7,@base_color)\r
+  base[PRELIGHT]       =  @base_color\r
+  base[SELECTED]    =  @selected_bg_color\r
+  base[INSENSITIVE]    =  shade (1.025,@bg_color)\r
+\r
+  text[NORMAL]         =  @text_color\r
+  text[ACTIVE]         =  @text_color\r
+  text[PRELIGHT]       =  @text_color\r
+  text[SELECTED]       =  darker (@selected_fg_color)\r
+  text[INSENSITIVE]    =  @fg_color\r
+\r
+  engine "murrine" \r
+  {\r
+       menuitemstyle           = 2\r
+       scrollbar_color         = "#cb4b16"\r
+       scrollbarstyle          = 0\r
+       contrast                        = 1.0\r
+       menustyle                       = 0\r
+       glazestyle                      = 0\r
+       menubarstyle            = 0\r
+       menubaritemstyle        = 0\r
+       menuitemstyle           = 0\r
+       listviewheaderstyle = 0\r
+       listviewstyle           = 1\r
+       roundness                       = 0\r
+        animation                      = TRUE\r
+  }\r
+}\r
+\r
+\r
+style "theme-wide" = "theme-default"\r
+{\r
+       xthickness = 2\r
+       ythickness = 2\r
+}\r
+\r
+style "theme-wider" = "theme-default"\r
+{\r
+       xthickness = 2\r
+       ythickness = 2\r
+}\r
+\r
+style "theme-entry" = "theme-wider"\r
+{\r
+    bg[SELECTED]           = @selected_bg_color\r
+}\r
+\r
+style "theme-button" = "theme-wider"\r
+{\r
+       xthickness              = 0\r
+       ythickness              = 0\r
+  #bg[NORMAL]      = @bg_color\r
+  #bg[INSENSITIVE] = @bg_color\r
+  #bg[PRELIGHT]        = @bg_color\r
+  #bg[ACTIVE]          = @bg_color\r
+       text[PRELIGHT]  = @selected_fg_color \r
\r
+}\r
+\r
+\r
+style "theme-notebook" = "theme-wide"\r
+{\r
+  #bg[NORMAL]      = @bg_color\r
+  #bg[INSENSITIVE] = @bg_color\r
+       bg[SELECTED]    = @selected_bg_color\r
+}\r
+\r
+style "theme-tasklist" = "theme-default"\r
+{\r
+       xthickness = 4\r
+       ythickness = 2\r
+}\r
+\r
+style "theme-menu" = "theme-default"\r
+{\r
+       xthickness = 2\r
+       ythickness = 2\r
+       bg[NORMAL] = @bg_color\r
+}\r
+\r
+style "theme-menu-item" = "theme-default"\r
+{\r
+  ythickness = 3\r
+       fg[NORMAL]              = @fg_color \r
+       fg[PRELIGHT]            = @selected_fg_color\r
+       fg[INSENSITIVE] = @selected_fg_color\r
+       bg[SELECTED]        = @selected_bg_color\r
+}\r
+  \r
+\r
+style "theme-menubar" = "theme-default"\r
+{\r
+       bg[NORMAL] = @bg_color\r
+}\r
+\r
+style "theme-menubar-item"\r
+{\r
+       ythickness              = 2\r
+       fg[PRELIGHT]    = @selected_fg_color\r
+}\r
+\r
+style "theme-tree" = "theme-default"\r
+{\r
+       xthickness = 2\r
+       ythickness = 2\r
+       # bg[NORMAL] = @selected_fg_color\r
+}\r
+\r
+style "theme-frame-title" = "theme-default"\r
+{\r
+\r
+       fg[NORMAL] = @fg_color\r
+}\r
+\r
+style "theme-tooltips" = "theme-default"\r
+{\r
+       xthickness = 2\r
+       ythickness = 2\r
+       bg[NORMAL] = @bg_color\r
+}\r
+\r
+style "theme-progressbar" = "theme-wide"\r
+{\r
+       xthickness      = 2\r
+       ythickness      = 2\r
+       #fg[PRELIGHT]  = "#ff0000" # @bg_color\r
+       bg[NORMAL]    = @bg_color # outline of progressbar\r
+         bg[SELECTED]      = @selected_bg_color # progressbar color\r
+}\r
+\r
+style "theme-scrollbar" = "theme-default"\r
+{\r
+\r
+}\r
+\r
+style "theme-combo" = "theme-button"\r
+{\r
+       #\r
+}\r
+\r
+style "metacity-frame"\r
+{\r
+         bg[SELECTED]      = @selected_bg_color\r
+       fg[SELECTED]  = @selected_fg_color\r
+}\r
+\r
+class "MetaFrames"     style "metacity-frame"\r
+class "GtkWindow"      style "metacity-frame"\r
+\r
+\r
+style "inactivetext2"\r
+{\r
+       engine "mist"\r
+       {\r
+               #\r
+       }\r
+}\r
+\r
+widget_class "*.<GtkMenuItem>.*" style "inactivetext2"\r
+\r
+style "panel"\r
+{\r
+       xthickness   = 2\r
+       ythickness   = 2\r
+       bg[NORMAL]   = @bg_color\r
+       fg[NORMAL]   = @fg_color \r
+       text[NORMAL] = @fg_color \r
+}\r
+\r
+style "panelbuttons"\r
+{\r
+       xthickness      = 0\r
+       ythickness      = 0\r
+    bg[NORMAL]                 = @bg_color\r
+    bg[ACTIVE]         = @bg_color \r
+    bg[SELECTED]       = @selected_bg_color \r
+    bg[PRELIGHT]       = @bg_color\r
+    \r
+    fg[NORMAL]         = @fg_color\r
+    fg[ACTIVE]         = @selected_fg_color \r
+    fg[PRELIGHT]       = @selected_fg_color\r
+}\r
+\r
+style "chrome-gtk-frame"\r
+{\r
+    ChromeGtkFrame::frame-color = @bg_color\r
+    ChromeGtkFrame::inactive-frame-color = darker(@fg_color)\r
+\r
+}\r
+\r
+class "ChromeGtkFrame" style "chrome-gtk-frame"\r
+\r
+class "*Panel*"                                                style "panel"\r
+widget_class "*Panel*GtkToggleButton"   style "panelbuttons"\r
+widget_class "*Panel*Button"                   style "panelbuttons"\r
+widget_class "*Panel*b*"                               style "panelbuttons"\r
+\r
+class "GtkWidget"      style "theme-default"\r
+class "GtkButton"      style "theme-button"\r
+class "GtkScale"       style "theme-button"\r
+class "GtkCombo"       style "theme-button"\r
+class "GtkRange"       style "theme-wide"\r
+class "GtkFrame"       style "theme-wide"\r
+class "GtkMenu"        style "theme-menu"\r
+class "GtkEntry"       style "theme-entry"\r
+class "GtkMenuItem"    style "theme-menu-item"\r
+class "GtkNotebook"    style "theme-notebook"\r
+class "GtkProgressBar" style "theme-progressbar"\r
+class "GtkScale"   style "theme-scrollbar"\r
+class "*MenuBar*"      style "theme-menubar"\r
+\r
+widget_class "*MenuItem.*" style "theme-menu-item"\r
+widget_class "*MenuBar.*"  style "theme-menubar-item"\r
+\r
+widget_class "*.GtkComboBox.GtkButton" style "theme-combo"\r
+widget_class "*.GtkCombo.GtkButton"    style "theme-combo"\r
+\r
+widget_class "*.tooltips.*.GtkToggleButton" style "theme-tasklist"\r
+widget "gtk-tooltips"                                          style "theme-tooltips"\r
+\r
+widget_class "*.GtkTreeView.GtkButton"  style "theme-tree"\r
+widget_class "*.GtkCTree.GtkButton"    style "theme-tree"\r
+widget_class "*.GtkList.GtkButton"             style "theme-tree"\r
+widget_class "*.GtkCList.GtkButton"    style "theme-tree"\r
+widget_class "*.GtkFrame.GtkLabel"             style "theme-frame-title"\r
+\r
+widget_class "*.GtkNotebook.*.GtkEventBox" style "theme-notebook"\r
+widget_class "*.GtkNotebook.*.GtkViewport" style "theme-notebook"\r
diff --git a/nano/haskell.nanorc b/nano/haskell.nanorc
new file mode 100644 (file)
index 0000000..0764195
--- /dev/null
@@ -0,0 +1,35 @@
+## Haskell syntax highlighting
+## found here: http://www.wubutu.com/2011/05/syntax-highlighting-nano-ban.html
+
+syntax "haskell" "\.hs$"
+
+## language words
+color red "[ ](as|case|of|class|data|default|deriving|do|forall|foreign|hiding|if|then|else|import|infix|infixl|infixr|instance|let|in|mdo|module|newtype|qualified|type|where)[ ]"
+color red "(^data|^foreign|^import|^infix|^infixl|^infixr|^instance|^module|^newtype|^type)[ ]"
+color red "[ ](as$|case$|of$|class$|data$|default$|deriving$|do$|forall$|foreign$|hiding$|if$|then$|else$|import$|infix$|infixl$|infixr$|instance$|let$|in$|mdo$|module$|newtype$|qualified$|type$|where$)"
+
+## lang symbols
+color cyan "(\||@|!|:|_|~|=|\\|;|\(\)|,|\[|\]|\{|\})"
+
+## lang operators
+color magenta "(==|/=|&&|\|\||<|>|<=|>=)"
+
+## lang symbols
+color cyan "(->|<-)"
+color magenta "\.|\$"
+
+## data constructors
+color magenta "(True|False|Nothing|Just|Left|Right|LT|EQ|GT)"
+
+## data classes
+color magenta "[ ](Read|Show|Enum|Eq|Ord|Data|Bounded|Typeable|Num|Real|Fractional|Integral|RealFrac|Floating|RealFloat|Monad|MonadPlus|Functor)"
+
+## strings
+color yellow ""[^\"]*""
+
+## Comment highlighting
+color green "--.*"
+color green start="\{-" end="-\}"
+
+## misc
+color brightred "undefined"
diff --git a/nano/syntax.nanorc b/nano/syntax.nanorc
new file mode 100644 (file)
index 0000000..1143da0
--- /dev/null
@@ -0,0 +1,890 @@
+syntax "awk" "\.awk$"
+header "^#!.*bin/(env +)?awk( |$)"
+
+color brightyellow "\$[A-Za-z0-9_!@#$*?-]+"
+color brightyellow "\<(ARGC|ARGIND|ARGV|BINMODE|CONVFMT|ENVIRON|ERRNO|FIELDWIDTHS)\>"
+color brightyellow "\<(FILENAME|FNR|FS|IGNORECASE|LINT|NF|NR|OFMT|OFS|ORS)\>"
+color brightyellow "\<(PROCINFO|RS|RT|RSTART|RLENGTH|SUBSEP|TEXTDOMAIN)\>"
+color brightblue "\<(function|extension|BEGIN|END)\>"
+color red "[-+*/%^|!=&<>?;:]|\\|\[|\]"
+color brightblack  "\<(for|if|while|do|else|in|delete|exit)\>"
+color brightblack  "\<(break|continue|return)\>"
+color brightblue "\<(close|getline|next|nextfile|print|printf|system|fflush)\>"
+color brightblue "\<(atan2|cos|exp|int|log|rand|sin|sqrt|srand)\>"
+color brightblue "\<(asort|asorti|gensub|gsub|index|length|match)\>"
+color brightblue "\<(split|sprintf|strtonum|sub|substr|tolower|toupper)\>"
+color brightblue "\<(mktime|strftime|systime)\>"
+color brightblue "\<(and|compl|lshift|or|rshift|xor)\>"
+color brightblue "\<(bindtextdomain|dcgettext|dcngettext)\>"
+color magenta   "/.*[^\]/"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color magenta   "\\."
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color brightwhite,cyan "TODO:?"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "cmake" "CMakeLists\.txt$|\.cmake$"
+
+color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
+color black    "[(]"
+color brightcyan  "\<(ON|OFF|TRUE|FALSE|YES|NO)\>"
+color brightyellow "\$\{[A-Za-z0-9_!@#$*?-]+\}"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color magenta   "\\([()#$^]|\\|\")"
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "c" "\.(c(c|pp|xx)?|C)$" "\.(h(h|pp|xx)?|H)$" "\.ii?$"
+
+color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
+color black    "[(]"
+color brightyellow     "\<[A-Z_][0-9A-Z_]+\>"
+color green      "\<(float|double|bool|char|int|short|long|void|(un)?signed)\>"
+color green      "\<[a-z0-9_]+_t\>"
+color brightblack   "\<(struct|enum|static|const|union|typedef|extern)\>"
+color brightblack   "\<(for|if|while|do|else|case|default|switch)\>"
+color brightblack   "\<(return|inline|sizeof|auto|register|volatile|restrict)\>"
+color brightblack   "\<(try|throw|catch|operator|new|delete)\>"
+color brightred      "\<(goto|break|continue)\>"
+color brightcyan "\<(true|false)\>"
+color red  "[-+/*=<>?:!~%&|^]"
+color blue    "\<([0-9]+|0x[0-9a-fA-F]*)\>|'.'"
+color brightyellow     "^[[:space:]]*#[[:space:]]*(define|include(_next)?|(un|ifn?)def|endif|el(if|se)|if|warning|error|pragma)"
+color magenta "__attribute__[[:space:]]*\(\([^)]*\)\)" "__(aligned|asm|builtin|hidden|inline|packed|restrict|section|typeof|weak)__"
+color yellow    ""(\\.|[^"])*"|<[A-Za-z_./-]+>"
+color magenta    "\\([\"'abfnrtv\\]|[0-3]?[0-7]{1,2}|x[A-Fa-f0-9]{1,2}|$)"
+color cyan "(^|[[:space:]])//.*"
+color cyan start="/\*" end="\*/"
+color brightwhite,cyan "TODO:?"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "coffeescript" "\.coffee$"
+header "^#!.*/(env +)?coffee"
+
+color red "[!&|=/*+-<>]|\<(and|or|is|isnt|not)\>"
+color brightblue "[A-Za-z_][A-Za-z0-9_]*:[[:space:]]*(->|\()" "->"
+color black    "[()]"
+color brightblack  "\<(for|of|continue|break|isnt|null|unless|this|else|if|return)\>"
+color brightblack  "\<(try|catch|finally|throw|new|delete|typeof|in|instanceof)\>"
+color brightblack  "\<(debugger|switch|while|do|class|extends|super)\>"
+color brightblack  "\<(undefined|then|unless|until|loop|of|by|when)\>"
+color brightcyan  "\<(true|false|yes|no|on|off)\>"
+color brightyellow "@[A-Za-z0-9_]*"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "colortest" "ColorTest$"
+
+color black "\<PLAIN\>"
+
+color red "\<red\>"
+color green "\<green\>"
+color yellow "\<yellow\>"
+color blue "\<blue\>"
+color magenta "\<magenta\>"
+color cyan "\<cyan\>"
+
+color brightred "\<brightred\>"
+color brightgreen "\<brightgreen\>"
+color brightyellow "\<brightyellow\>"
+color brightblue "\<brightblue\>"
+color brightmagenta "\<brightmagenta\>"
+color brightcyan "\<brightcyan\>"
+syntax "c#" "\.cs$"
+
+# Class
+color brightmagenta  "class +[A-Za-z0-9]+ *((:) +[A-Za-z0-9.]+)?"
+
+# Annotation
+color magenta   "@[A-Za-z]+"
+
+color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
+color black    "[(]"
+color green     "\<(bool|byte|sbyte|char|decimal|double|float|IntPtr|int|uint|long|ulong|object|short|ushort|string|base|this|var|void)\>"
+color brightblack  "\<(alias|as|case|catch|checked|default|do|dynamic|else|finally|fixed|for|foreach|goto|if|is|lock|new|null|return|switch|throw|try|unchecked|while)\>"
+color brightblack  "\<(abstract|async|class|const|delegate|enum|event|explicit|extern|get|implicit|in|internal|interface|namespace|operator|out|override|params|partial|private|protected|public|readonly|ref|sealed|set|sizeof|stackalloc|static|struct|typeof|unsafe|using|value|virtual|volatile|yield)\>"
+# LINQ-only keywords (ones that cannot be used outside of a LINQ query - lots others can)
+color brightblack  "\<(from|where|select|group|info|orderby|join|let|in|on|equals|by|ascending|descending)\>"
+color brightred     "\<(break|continue)\>"
+color brightcyan "\<(true|false)\>"
+color red "[-+/*=<>?:!~%&|]"
+color blue   "\<([0-9._]+|0x[A-Fa-f0-9_]+|0b[0-1_]+)[FL]?\>"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color magenta   "\\([btnfr]|'|\"|\\)"
+color magenta   "\\u[A-Fa-f0-9]{4}"
+color cyan "(^|[[:space:]])//.*"
+color cyan start="/\*" end="\*/"
+color brightwhite,cyan "TODO:?"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "css" "\.s?css$"
+
+# Selectors
+color green     "\<(a|abbr|address|area|article|aside|audio|b|base|bdo|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|eventsource|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|mark|map|menu|meta|meter|nav|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|ruby|rp|rt|samp|script|section|select|small|source|span|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|ul|var|video|wbr)\>"
+color red "[>+~*]"
+color brightyellow "[.#][A-Za-z_][A-Za-z0-9_-]*"
+color red ":(active|focus|hover|link|visited|first-child|lang|valid|invalid|not|selection)\>"
+color red ":(after|before|first-line|first-letter|root|target)\>"
+color yellow   "\[[^\[]*\]"
+color black    start="\{" end="\}"
+
+# Sass
+color brightmagenta  "(^|[[:space:]])@(include|mixin)\>"
+color brightyellow "\$[A-Za-z0-9_-]+"
+
+color brightmagenta  "(^|[[:space:]])@(charset|font-face|media|page|import)\>"
+color red "[*]"
+color brightcyan  "\<(above|absolute|always|armenian|auto|avoid|baseline|behind|below|bidi-override|blink|block|bolder|bold|bottom|capitalize|center-left|center-right|center|circle|cjk-ideographic|close-quote|collapse|compact|condensed|continuous|crop|crosshair|cross|cue-after|cue-before|cursive|dashed|decimal|decimal-leading-zero|default|digits|disc|dotted|double|embed|e-resize|expanded|extra-condensed|extra-expanded|fantasy|far-left|far-right|faster|fast|fixed|fixed|georgian|groove|hebrew|help|hide|higher|high|hiragana-iroha|hiragana|inherit|inline|inline-block|inline-table|inset|inside|invert|italic|justify|katakana-iroha|katakana|landscape|large|larger|left|left-side|leftwards|level|lighter|line-through|list-item|loud|lower-alpha|lowercase|lower-greek|lower-latin|lower-roman|lower|low|ltr|marker|medium|medium|middle|mix|monospace|move|narrower|ne-resize|no-close-quote|none|no-open-quote|no-repeat|normal|nowrap|n-resize|nw-resize|oblique|once|open-quote|outset|outside|overline|pointer|portait|relative|repeat-x|repeat-y|repeat|ridge|right-side|right|rightwards|rlt|run-in|sans-serif|scroll|scroll|semi-condensed|semi-expanded|separate|se-resize|serif|show|silent|slower|slow|small-caps|smaller|small|soft|solid|spell-out|square|s-resize|static|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|text-bottom|text|text-top|thick|thin|top|top|transparent|ultra-condensed|ultra-expanded|underline|upper-alpha|uppercase|upper-latin|upper-roman|visible|wait|wider|w-resize|x-fast|x-high|x-large|x-loud|x-low|x-slow|x-small|x-soft|xx-large|xx-small|pre-wrap|break-word)([[:space:];,]|$)"
+color brightyellow ":[[:space:]]*(code|hidden|table|pre)\>"
+color brightblack  "\<(background-attachment|background-clip|background-color|background-image|background-position|background-repeat|background|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-collapse|border-color|border-left-color|border-left-style|border-left-width|border-left|border-radius|border-right-color|border-right-style|border-right-width|border-right|border-spacing|border-style|border-top-color|border-top-style|border-top-width|border-top|border-width|border|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|content|counter-increment|counter-reset|cue-after|cue-before|cue|cursor|direction|display|elevation|empty-cells|float|font-family|font-size-adjust|font-size|font-style|font-variant|font-weight|font|height|left|letter-spacing|line-height|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|marker-offset|marks|max-height|max-width|min-height|min-width|opacity|orphans|outline-color|outline-style|outline-width|outline|overflow|overflow-x|overflow-y|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page|pause-after|pause-before|pause|pitch-range|pitch|play-during|position|quotes|richness|right|size|speak-header|speak-numerical|speak-punctuation|speak|speech-rate|stress|table-layout|text-align|text-decoration|text-indent|text-shadow|text-transform|top|transition|unicode-bidi|vertical-align|visibility|voice-family|volume|white-space|widows|width|word-spacing|word-wrap|z-index)[[:space:]]*:"
+color brightwhite,red  "-(ms|moz|apple|khtml|wap|webkit|o|xv)-[a-z][a-z-]+"
+color black    "[:;,]"
+color blue   "\<(0|[\+-]?[1-9][0-9]*)"
+color blue   "[\+-]?([0-9]+|[0-9]*\.[0-9]+)(%|e(m|x)|p(x|t|c)|in|ft|(m|c)m|k?Hz|deg|g?rad|m?s)"
+color blue   "#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})\>"
+color red "\!important\>"
+color brightblue "[a-z-]*(-[a-z]+)?\(" "\(|\)"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color cyan "(^|[[:space:]])//.*"
+color cyan start="/\*" end="\*/"
+color brightwhite,cyan "TODO:?"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "cython" "\.(pyx|pxd|pyi)$"
+
+color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
+color black    "[(]"
+color brightblack  "\<(and|as|assert|break|class|continue|def|del|elif|else|except)\>"
+color brightblack  "\<(exec|finally|for|from|global|if|import|in|is|lambda|not|or)\>"
+color brightblack  "\<(pass|print|raise|return|try|while|with|yield|None)\>"
+color brightblack  "\<(DEF|ELIF|ELSE|IF)\>"
+
+color brightblack  "\<(cp?def( inline)?|cimport|cppclass|ctypedef|extern|include)\>"
+color brightblack  "\<(namespace|property|struct)\>"
+color green     "\<(bint|char|double|int|public|void|unsigned)\>"
+
+color red "[.:;,+*|=!\%@<>/&-]"
+color brightyellow    "@[A-Za-z0-9_]+"
+color brightmagenta  "__[A-Za-z0-9_]+__"
+color brightcyan  "\<(True|False)\>"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color yellow   "['][^']*[^\\][']" "[']{3}.*[^\\][']{3}"
+color yellow   "["][^"]*[^\\]["]" "["]{3}.*[^\\]["]{3}"
+color yellow   start=""""[^"]" end="""""
+color yellow   start="'''[^']" end="'''"
+color magenta   "\\.?"
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color brightwhite,cyan "TODO:?"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "default"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "dot" "\.(dot|gv)$"
+
+color brightblack   "\<(digraph|edge|graph|node|subgraph)\>"
+color magenta "\<(arrowhead|arrowsize|arrowtail|bgcolor|center|color|constraint|decorateP|dir|distortion|fillcolor|fontcolor|fontname|fontsize|headclip|headlabel|height|labelangle|labeldistance|labelfontcolor|labelfontname|labelfontsize|label|layers|layer|margin|mclimit|minlen|name|nodesep|nslimit|ordering|orientation|pagedir|page|peripheries|port_label_distance|rankdir|ranksep|rank|ratio|regular|rotate|samehead|sametail|shapefile|shape|sides|size|skew|style|tailclip|taillabel|URL|weight|width)\>"
+color red  "=|->|--"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color cyan "(^|[[:space:]])//.*"
+color cyan start="/\*" end="\*/"
+syntax "email"
+
+color magenta "^>([^>].*|$)"
+color blue "^>>([^>].*|$)"
+color green "^>>>.*"
+syntax "gitconfig" "git(config|modules)$|\.git/config$"
+
+color brightcyan "\<(true|false)\>"
+color brightblack "^[[:space:]]*[^=]*="
+color brightmagenta "^[[:space:]]*\[.*\]$"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+
+syntax "git-editmsg" "(COMMIT|TAG)_EDITMSG$"
+
+color cyan   "^#.*$"
+color ,red "[[:space:]]+$"
+
+syntax "git-rebase" "git-rebase-todo$"
+
+color brightblack "^(edit|fixup|pick|reword|squash|exec|[efprsx])\>"
+color blue  "\<[0-9a-f]{7,40}\>"
+color cyan "^#.*"
+syntax "glsl" "\.(frag|vert|fp|vp|glsl)$"
+
+color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
+color black    "[(]"
+color green     "\<(void|bool|bvec2|bvec3|bvec4|int|ivec2|ivec3|ivec4|float|vec2|vec3|vec4|mat2|mat3|mat4|struct|sampler1D|sampler2D|sampler3D|samplerCUBE|sampler1DShadow|sampler2DShadow)\>"
+color green     "\<gl_(DepthRangeParameters|PointParameters|MaterialParameters|LightSourceParameters|LightModelParameters|LightModelProducts|LightProducts|FogParameters)\>"
+color brightblack  "\<(const|attribute|varying|uniform|in|out|inout|if|else|return|discard|while|for|do)\>"
+color brightred     "\<(break|continue)\>"
+color brightcyan "\<(true|false)\>"
+color red "[-+/*=<>?:!~%&|^]"
+color blue   "\<([0-9]+|0x[0-9a-fA-F]*)\>"
+color cyan "(^|[[:space:]])//.*"
+color cyan start="/\*" end="\*/"
+color brightwhite,cyan "TODO:?"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "go" "\.go$"
+
+color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
+color black    "[(]"
+color brightblue "\<(append|cap|close|complex|copy|delete|imag|len)\>"
+color brightblue "\<(make|new|panic|print|println|protect|real|recover)\>"
+color green     "\<(u?int(8|16|32|64)?|float(32|64)|complex(64|128))\>"
+color green     "\<(uintptr|byte|rune|string|interface|bool|map|chan|error)\>"
+color brightblack  "\<(package|import|const|var|type|struct|func|go|defer|nil|iota)\>"
+color brightblack  "\<(for|range|if|else|case|default|switch|return)\>"
+color brightred     "\<(go|goto|break|continue)\>"
+color brightcyan "\<(true|false)\>"
+color red "[-+/*=<>!~%&|^]|:="
+color blue   "\<([0-9]+|0x[0-9a-fA-F]*)\>|'.'"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color magenta   "\\[abfnrtv'\"\\]"
+color magenta   "\\([0-7]{3}|x[A-Fa-f0-9]{2}|u[A-Fa-f0-9]{4}|U[A-Fa-f0-9]{8})"
+color yellow   "`[^`]*`"
+color cyan "(^|[[:space:]])//.*"
+color cyan start="/\*" end="\*/"
+color brightwhite,cyan "TODO:?"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "html" "\.html?$"
+header "<!doctype html"
+
+color magenta "\<(accept|accept-charset|accesskey|action|alt|async|autocomplete|autofocus|autoplay|border|challenge|charset|checked|cite|class|cols|colspan|content|contenteditable|contextmenu|controls|coords|crossorigin|data-[a-z-]+|datetime|default|defer|dir|dirname|disabled|draggable|dropzone|enctype|for|form|formaction|formenctype|formmethod|formnovalidate|formtarget|headers|height|hidden|high|href|hreflang|http-equiv|icon|id|ismap|keytype|kind|label|lang|list|loop|low|manifest|max|maxlength|media|mediagroup|method|min|multiple|muted|name|novalidate|open|optimum|pattern|placeholder|poster|preload|pubdate|radiogroup|readonly|rel|required|reversed|rows|rowspan|sandbox|spellcheck|scope|scoped|seamless|selected|shape|size|sizes|span|src|srcdoc|srclang|start|step|style|tabindex|target|title|type|typemustmatch|usemap|value|width|wrap)\>"
+color brightwhite,red   "</?[A-Za-z0-9_]+[ >]"
+color brightmagenta       "</?(a|abbr|address|area|article|aside|audio|b|base|bdo|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|eventsource|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|mark|map|menu|meta|meter|nav|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|ruby|rp|rt|samp|script|section|select|small|source|span|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|ul|var|video|wbr)[ >]"
+color yellow    "=([A-Za-z0-9!$%*\^(){}#|:;_~@+,.?/\\-]|\[|\])+"
+color red  "="
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color black     start=">" end="<"
+color brightmagenta       "[<>]"
+
+# Embedded template languages
+color brightyellow  "\{\{[^}]*\}\}|<%=.*%>"
+color brightblue  start="<\?" end="\?>"
+color brightblue  start="<%[^=]" end="%>"
+color brightblue  start="\{%" end="%\}"
+
+color magenta    "&(#[0-9]+|#x[0-9a-fA-F]+|[A-Za-z][A-Za-z0-9]*);"
+color cyan   start="<!--" end="-->"
+color cyan   "<!(doctype|DOCTYPE)[^>]*>"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "ini" "\.(ini|desktop|lfl|override)$" "(mimeapps\.list|pinforc|setup\.cfg)$" "weechat/.+\.conf$"
+header "^\[[A-Za-z]+\]$"
+
+color brightcyan "\<(true|false)\>"
+color brightblack "^[[:space:]]*[^=]*="
+color brightmagenta "^[[:space:]]*\[.*\]$"
+color red "[=;]"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "inputrc" "inputrc$"
+
+color red   "\<(off|none)\>"
+color green "\<on\>"
+color brightblue   "\<set|\$include\>"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color magenta     "\\.?"
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "java" "\.java$"
+
+# Class
+color brightmagenta  "class +[A-Za-z0-9]+ *((implements|extends) +[A-Za-z0-9.]+)?"
+
+# Annotation
+color magenta   "@[A-Za-z]+"
+
+color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
+color black    "[(]"
+color green     "\<(boolean|byte|char|double|float|int|long|short|String|void)\>"
+color brightblack  "\<(case|catch|default|do|else|finally|for|if)\>"
+color brightblack  "\<(new|return|switch|this|throw|transient|try|while)\>"
+color brightblack  "\<(abstract|class|extends|final|implements|import|instanceof)\>"
+color brightblack  "\<(interface|native|package|private|protected|public|static)\>"
+color brightblack  "\<(strictfp|super|synchronized|throws|volatile|null)\>"
+color brightred     "\<(break|continue)\>"
+color brightcyan "\<(true|false)\>"
+color red "[-+/*=<>?:!~%&|]"
+color blue   "\<([0-9._]+|0x[A-Fa-f0-9_]+|0b[0-1_]+)[FL]?\>"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color magenta   "\\([btnfr]|'|\"|\\)"
+color magenta   "\\u[A-Fa-f0-9]{4}"
+color cyan "(^|[[:space:]])//.*"
+color cyan start="/\*" end="\*/"
+color brightwhite,cyan "TODO:?"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "JavaScript" "\.js$"
+
+color blue   "\<[-+]?([1-9][0-9]*|0[0-7]*|0x[0-9a-fA-F]+)([uU][lL]?|[lL][uU]?)?\>"
+color blue   "\<[-+]?([0-9]+\.[0-9]*|[0-9]*\.[0-9]+)([EePp][+-]?[0-9]+)?[fFlL]?"
+color blue   "\<[-+]?([0-9]+[EePp][+-]?[0-9]+)[fFlL]?"
+color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
+color black    "[(]"
+color brightblack  "\<(break|case|catch|continue|default|delete|do|else|finally)\>"
+color brightblack  "\<(for|function|get|if|in|instanceof|new|return|set|switch)\>"
+color brightblack  "\<(switch|this|throw|try|typeof|var|void|while|with)\>"
+color brightblack  "\<(null|undefined|NaN)\>"
+color brightcyan "\<(true|false)\>"
+color green     "\<(Array|Boolean|Date|Enumerator|Error|Function|Math)\>"
+color green     "\<(Number|Object|RegExp|String)\>"
+color red "[-+/*=<>!~%?:&|]"
+color magenta   "/[^*]([^/]|(\\/))*[^\\]/[gim]*"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color magenta   "\\[0-7][0-7]?[0-7]?|\\x[0-9a-fA-F]+|\\[bfnrt'"\?\\]"
+color cyan "(^|[[:space:]])//.*"
+color cyan start="/\*" end="\*/"
+color brightwhite,cyan "TODO:?"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "json" "\.json$"
+header "^\{$"
+
+color blue   "\<[-]?[1-9][0-9]*([Ee][+-]?[0-9]+)?\>"  "\<[-]?[0](\.[0-9]+)?\>"
+color brightblack  "\<null\>"
+color brightcyan "\<(true|false)\>"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color brightyellow "\"(\\"|[^"])*\"[[:space:]]*:"  "'(\'|[^'])*'[[:space:]]*:"
+color magenta   "\\u[0-9a-fA-F]{4}|\\[bfnrt'"/\\]"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "keymap" "\.(k|key)?map$|Xmodmap$"
+
+color brightblack  "\<(add|clear|compose|keycode|keymaps|keysym|remove|string)\>"
+color brightblack  "\<(control|alt|shift)\>"
+color blue   "\<[0-9]+\>"
+color red "="
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color cyan  "^!.*$"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "KickStart" "\.ks$" "\.kickstart$"
+
+color brightmagenta  "%[a-z]+"
+color brightblack  "^[[:space:]]*(install|cdrom|text|graphical|volgroup|logvol|reboot|timezone|lang|keyboard|authconfig|firstboot|rootpw|user|firewall|selinux|repo|part|partition|clearpart|bootloader)"
+color brightblack  "--(name|mirrorlist|baseurl|utc)(=|\>)"
+color brightyellow "\$(releasever|basearch)\>"
+
+# Packages and groups
+color brightblack "^@[A-Za-z][A-Za-z-]*"
+color brightred   "^-@[a-zA-Z0-9*-]+"
+color red         "^-[a-zA-Z0-9*-]+"
+
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "ledger" "(^|\.|/)ledger$"
+
+color brightmagenta  "^([0-9]{4}/[0-9]{2}/[0-9]{2}|[=~]) .*"
+color blue   "^[0-9]{4}/[0-9]{2}/[0-9]{2}"
+color brightyellow "^~ .*"
+color brightblue "^= .*"
+color brightblack  "^[[:space:]]+\(?[A-Za-z ]+(:[A-Za-z ]+)*\)?"
+color red "[*]"
+color cyan  "^[[:space:]]*;.*"
+syntax "lisp" "(emacs|zile)$" "\.(el|li?sp|scm|ss)$"
+
+color brightblue "\([a-z-]+"
+color red "\(([-+*/<>]|<=|>=)|'"
+color black    "\("
+color blue   "\<[0-9]+\>"
+icolor brightblack "\<nil\>"
+color brightcyan  "\<[tT]\>"
+color yellow   "\"(\\.|[^"])*\""
+color magenta   "'[A-Za-z][A-Za-z0-9_-]+"
+color magenta   "\\.?"
+color cyan  "(^|[[:space:]]);.*"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "lua" "\.lua$"
+header "^#!.*lua(jit)?$"
+
+color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*([({'"]|\[=*\[)"
+color brightblack  "\<(do|end|while|repeat|until|if|elseif|then|else)\>"
+color brightblack  "\<(for|in|function|local|return|nil)\>"
+color brightred     "\<(goto|break)\>"
+color brightcyan "\<(true|false)\>"
+color red "[-+:*/%^=#<>]|~=|\.\.|\[|\]|\<(not|and|or)\>"
+color brightwhite,red  "[`!@$&|?]|!="
+color black    "\.{3,}|[({'"]"
+color blue   "\<([0-9]+)(\.[0-9]+)?([Ee][+-]?[0-9]+)?\>|0x[0-9a-fA-F]*"
+color brightmagenta  "::[A-Za-z_][A-Za-z0-9_]*::"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color magenta   "\\([0-9]{1,3}|x[A-Fa-f0-9]{2}|[abefntrv'"\\]|\[|\])"
+color yellow   start="\[\[" end="\]\]"
+color yellow   start="\[=\[" end="\]=\]"
+color yellow   start="\[==\[" end="\]==\]"
+color cyan  "^#!.*" "(^|[[:space:]])\-\-.*$"
+color cyan  start="\-\-\[\[" end="\]\]"
+color brightwhite,cyan "TODO:?"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "makefile" "([Mm]akefile|\.ma?k)$"
+header "^#!.*/(env +)?[bg]?make( |$)"
+
+color brightblack  "\<(ifeq|ifdef|ifneq|ifndef|else|endif)\>"
+color brightblack  "^(export|include|override)\>"
+color brightmagenta  "^[^:=    ]+:"
+color red "[=,%]" "\+=|\?=|:=|&&|\|\|"
+color brightblue "\$\((abspath|addprefix|addsuffix|and|basename|call|dir)[[:space:]]"
+color brightblue "\$\((error|eval|filter|filter-out|findstring|firstword)[[:space:]]"
+color brightblue "\$\((flavor|foreach|if|info|join|lastword|notdir|or)[[:space:]]"
+color brightblue "\$\((origin|patsubst|realpath|shell|sort|strip|suffix)[[:space:]]"
+color brightblue "\$\((value|warning|wildcard|word|wordlist|words)[[:space:]]"
+color black    "[()$]"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color brightyellow "\$+(\{[^} ]+\}|\([^) ]+\))"
+color brightyellow "\$[@^<*?%|+]|\$\([@^<*?%+-][DF]\)"
+color magenta   "\$\$|\\.?"
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color cyan  "^ @#.*"
+
+# Show trailing whitespace
+color ,green "[[:space:]]+$"
+syntax "man" "\.[1-9]x?$"
+
+color brightmagenta "\.(S|T)H.*$"
+color brightblack "\.(BR?|I[PR]?).*$"
+color brightyellow   "\.(S|T)H|\.TP|\.(BR?|I[PR]?|PP)|\\f[BIPR]"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color yellow  "\.(br|DS|RS|RE|PD)"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "markdown" "\.(md|mkd|mkdn|markdown)$"
+
+# Emphasis
+color green "(^|[[:space:]])(_[^ ][^_]*_|\*[^ ][^*]*\*)"
+
+# Strong emphasis
+color brightgreen "(^|[[:space:]])(__[^ ][^_]*__|\*\*[^ ][^*]*\*\*)"
+
+color brightmagenta  "^=====*$|^-----*$|^#{1,6}.*"
+color blue   "^[[:space:]]*[\*+-] |^[[:space:]]*[0-9]+\. "
+color black    "^[[:space:]]+"
+color magenta   "\(([CcRr]|[Tt][Mm])\)" "\.{3}" "(^|[[:space:]])\-\-($|[[:space:]])"
+color brightyellow "\!?\[[^]]*\]([[:space:]]*\[[^]]*\]|\(.*\))?"
+color brightyellow "^\[.*\]:[[:space:]]*[^"]*"
+color yellow   "`[^`]*`|^ {4}[^-+*].*"
+color cyan  "^>.*"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "mpdconf" "mpd\.conf$"
+
+color brightblack "\<(user|group|bind_to_address|host|port|plugin|name|type)\>"
+color brightblack "\<((music|playlist)_directory|(db|log|state|pid|sticker)_file)\>"
+color brightmagenta "^(input|audio_output|decoder)[[:space:]]*\{|\}"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "nanorc" "nanorc$"
+header "^syntax +\""
+
+color green     "^i?color[[:space:]]*(bright)?(white|black|red|blue|green|yellow|magenta|cyan)?(,(white|black|red|blue|green|yellow|magenta|cyan))?\>"
+color brightblack  "^(set|unset)[[:space:]]+(allow_insecure_backup|autoindent|backup|backupdir|backwards|boldtext|brackets|casesensitive|const|cut|fill|historylog|matchbrackets|morespace|mouse|multibuffer|noconvert|nofollow|nohelp|nonewlines|nowrap|operatingdir|poslog|preserve|punct)\>" "^[[:space:]]*(set|unset)[[:space:]]+(quickblank|quotestr|rebinddelete|rebindkeypad|regexp|smarthome|smooth|softwrap|speller|suspend|suspendenable|tabsize|tabstospaces|tempfile|undo|view|whitespace|wordbounds)\>"
+color brightblack  "^(bind|i?color|set|unset|syntax|header|magic)\>"
+color red "^unbind\>"
+color brightblack  "^i?color\>" "\<(start|end)="
+color brightyellow    "^include\>"
+
+color brightblack  "^(PLAIN|TYPE|STRING|MACRO|NUMBER|VARIABLE|OPERATOR|~?KEYWORD):"
+color brightblack  "^(BOOLEAN|SECTION|REGEXP|FUNCTION|ESCAPE|COMMENT|WARNING|JUMP):"
+color brightblack  "^(TAG|ATTRIBUTE):"
+color brightyellow    "^\+(TODO|LINT|STRING|BOOLEAN|FUNCTION|INI|(C|HASH)COMMENT)$"
+
+color magenta   "\\.?"
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "nginx" "nginx.*\.conf$" "\.nginx$"
+header "^(server|upstream)[a-z ]*\{$"
+
+color brightmagenta  "\<(events|server|http|location|upstream)[[:space:]]*\{"
+color brightblack  "(^|[[:space:]{;])(access_log|add_after_body|add_before_body|add_header|addition_types|aio|alias|allow|ancient_browser|ancient_browser_value|auth_basic|auth_basic_user_file|autoindex|autoindex_exact_size|autoindex_localtime|break|charset|charset_map|charset_types|chunked_transfer_encoding|client_body_buffer_size|client_body_in_file_only|client_body_in_single_buffer|client_body_temp_path|client_body_timeout|client_header_buffer_size|client_header_timeout|client_max_body_size|connection_pool_size|create_full_put_path|daemon|dav_access|dav_methods|default_type|deny|directio|directio_alignment|disable_symlinks|empty_gif|env|error_log|error_page|expires|fastcgi_buffer_size|fastcgi_buffers|fastcgi_busy_buffers_size|fastcgi_cache|fastcgi_cache_bypass|fastcgi_cache_key|fastcgi_cache_lock|fastcgi_cache_lock_timeout|fastcgi_cache_min_uses|fastcgi_cache_path|fastcgi_cache_use_stale|fastcgi_cache_valid|fastcgi_connect_timeout|fastcgi_hide_header|fastcgi_ignore_client_abort|fastcgi_ignore_headers|fastcgi_index|fastcgi_intercept_errors|fastcgi_keep_conn|fastcgi_max_temp_file_size|fastcgi_next_upstream|fastcgi_no_cache|fastcgi_param|fastcgi_pass|fastcgi_pass_header|fastcgi_read_timeout|fastcgi_send_timeout|fastcgi_split_path_info|fastcgi_store|fastcgi_store_access|fastcgi_temp_file_write_size|fastcgi_temp_path|flv|geo|geoip_city|geoip_country|gzip|gzip_buffers|gzip_comp_level|gzip_disable|gzip_http_version|gzip_min_length|gzip_proxied|gzip_static|gzip_types|gzip_vary|if|if_modified_since|ignore_invalid_headers|image_filter|image_filter_buffer|image_filter_jpeg_quality|image_filter_sharpen|image_filter_transparency|include|index|internal|ip_hash|keepalive|keepalive_disable|keepalive_requests|keepalive_timeout|large_client_header_buffers|limit_conn|limit_conn_log_level|limit_conn_zone|limit_except|limit_rate|limit_rate_after|limit_req|limit_req_log_level|limit_req_zone|limit_zone|lingering_close|lingering_time|lingering_timeout|listen|location|log_format|log_not_found|log_subrequest|map|map_hash_bucket_size|map_hash_max_size|master_process|max_ranges|memcached_buffer_size|memcached_connect_timeout|memcached_next_upstream|memcached_pass|memcached_read_timeout|memcached_send_timeout|merge_slashes|min_delete_depth|modern_browser|modern_browser_value|mp4|mp4_buffer_size|mp4_max_buffer_size|msie_padding|msie_refresh|open_file_cache|open_file_cache_errors|open_file_cache_min_uses|open_file_cache_valid|open_log_file_cache|optimize_server_names|override_charset|pcre_jit|perl|perl_modules|perl_require|perl_set|pid|port_in_redirect|postpone_output|proxy_buffer_size|proxy_buffering|proxy_buffers|proxy_busy_buffers_size|proxy_cache|proxy_cache_bypass|proxy_cache_key|proxy_cache_lock|proxy_cache_lock_timeout|proxy_cache_min_uses|proxy_cache_path|proxy_cache_use_stale|proxy_cache_valid|proxy_connect_timeout|proxy_cookie_domain|proxy_cookie_path|proxy_hide_header|proxy_http_version|proxy_ignore_client_abort|proxy_ignore_headers|proxy_intercept_errors|proxy_max_temp_file_size|proxy_next_upstream|proxy_no_cache|proxy_pass|proxy_pass_header|proxy_read_timeout|proxy_redirect|proxy_send_timeout|proxy_set_header|proxy_ssl_session_reuse|proxy_store|proxy_store_access|proxy_temp_file_write_size|proxy_temp_path|random_index|read_ahead|real_ip_header|recursive_error_pages|request_pool_size|reset_timedout_connection|resolver|resolver_timeout|return|rewrite|root|satisfy|satisfy_any|secure_link_secret|send_lowat|send_timeout|sendfile|sendfile_max_chunk|server|server|server_name|server_name_in_redirect|server_names_hash_bucket_size|server_names_hash_max_size|server_tokens|set|set_real_ip_from|source_charset|split_clients|ssi|ssi_silent_errors|ssi_types|ssl|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_client_certificate|ssl_crl|ssl_dhparam|ssl_engine|ssl_prefer_server_ciphers|ssl_protocols|ssl_session_cache|ssl_session_timeout|ssl_verify_client|ssl_verify_depth|sub_filter|sub_filter_once|sub_filter_types|tcp_nodelay|tcp_nopush|timer_resolution|try_files|types|types_hash_bucket_size|types_hash_max_size|underscores_in_headers|uninitialized_variable_warn|upstream|user|userid|userid_domain|userid_expires|userid_name|userid_p3p|userid_path|userid_service|valid_referers|variables_hash_bucket_size|variables_hash_max_size|worker_priority|worker_processes|worker_rlimit_core|worker_rlimit_nofile|working_directory|xml_entities|xslt_stylesheet|xslt_types)([[:space:]]|$)"
+color black    "[{}]"
+color brightcyan  "\<(on|off)\>"
+color brightyellow "\$[A-Za-z][A-Za-z0-9_]*"
+color red "[*]"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color yellow   start="'$" end="';$"
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "patch" "\.(patch|diff)$"
+
+color brightgreen "^\+.*"
+color green "^\+\+\+.*"
+color brightred "^-.*"
+color red "^---.*"
+color blue "^@@.*"
+color magenta "^diff.*"
+
+syntax "peg" "\.l?peg$"
+
+color brightblack  "^[[:space:]]*[A-Za-z][A-Za-z0-9_]*[[:space:]]*<-"
+color blue   "\^[+-]?[0-9]+"
+color red "[-+*?^/!&]|->|<-|=>"
+color brightyellow    "%[A-Za-z][A-Za-z0-9_]*"
+color magenta   "\[[^]]*\]"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color cyan  "(^|[[:space:]])\-\-.*$"
+color brightwhite,cyan "TODO:?"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "php" "\.php[2345s~]?$"
+header "^(//|/\*).*[Pp][Hh][Pp]|<\?php\>"
+
+color red "[-+/*=<>?:!~%&|]"
+color brightmagenta  "(<\?(php)?|\?>)"
+color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
+color black    "[(]"
+color green     "\<(float|global|double|bool|char|int|enum|const)\>"
+color brightblack  "\<(class|new|private|public|function|for|foreach|if|while|do|var)\>"
+color brightblack  "\<(return|else|elseif|case|default|switch)\>"
+color brightred     "\<(goto|break|continue)\>"
+color brightcyan "\<(true|false)\>"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color brightyellow "\$[A-Za-z_][A-Za-z0-9_]*"
+color cyan "(^|[[:space:]])//.*"
+color cyan start="/\*" end="\*/"
+color brightwhite,cyan "TODO:?"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "pkgbuild" "PKGBUILD$" "\.install$"
+
+color brightblue "^[A-Za-z0-9_+-]+[[:space:]]*\(\)"
+color brightblack  "\<(case|do|done|elif|else|esac|fi|for|function|if)\>"
+color brightblack  "\<(in|select|then|time|until|while)\>"
+color brightblue "\<(echo|exit|export|let|local|read|return|set|shift|umask|unset)\>"
+color green     "\<(pkgname|pkgver|pkgrel|epoch|pkgdesc|arch|url|license)\>"
+color green     "\<(groups|depends|makedepends|checkdepends|optdepends)\>"
+color green     "\<(provides|conflicts|replaces|backup|options|^install)\>"
+color green     "\<(changelog|source|noextract)\>"
+color green     "\<(md5sums|sha1sums|sha256sums|sha384sums|sha512sums)\>"
+color green     "\<(srcdir|pkgdir)\>"
+color brightyellow    "\<(strip|docs|libtool|emptydirs|zipman|purge|upx)\>"
+color brightyellow    "\<(ccache|distcc|buildflags|makeflags)\>"
+color red "[{}()<>!=&|;`$]|\\|\[|\]|-(eq|ne|gt|lt|ge|le|s|n|z)\>"
+color yellow   ""(\\.|[^"])*""
+color brightyellow "\$\{?[A-Za-z0-9_!@#$*?-]+\}?|`[^`]*`"
+color yellow   "'(\\.|[^'])*'"
+color magenta   "\\.?"
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "pkg-config" "\.pc$"
+
+color brightblack  "^(Name|Description|URL|Version|Conflicts|Cflags):"
+color brightblack  "^(Requires|Libs)(\.private)?:"
+color red "="
+color brightyellow "\$\{[A-Za-z_][A-Za-z0-9_]*\}"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "po" "\.pot?$"
+
+color brightblack  "\<(msgid|msgstr)\>"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color magenta   "\\.?"
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "privoxy-config" "privoxy/config$"
+
+color brightblack "(accept-intercepted-requests|actionsfile|admin-address|allow-cgi-request-crunching|buffer-limit|compression-level|confdir|connection-sharing|debug|default-server-timeout|deny-access|enable-compression|enable-edit-actions|enable-remote-http-toggle|enable-remote-toggle|enforce-blocks|filterfile|forward|forwarded-connect-retries|forward-socks4|forward-socks4a|forward-socks5|handle-as-empty-doc-returns-ok|hostname|keep-alive-timeout|listen-address|logdir|logfile|max-client-connections|permit-access|proxy-info-url|single-threaded|socket-timeout|split-large-forms|templdir|toggle|tolerate-pipelining|trustfile|trust-info-url|user-manual)[[:space:]]"
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+
+syntax "privoxy-action" "\.action$"
+
+color brightred   "[{[:space:]]\-block([[:space:]{}]|$)"
+color brightgreen "[{[:space:]]\+block([[:space:]{}]|$)"
+
+color brightred   "-(add-header|change-x-forwarded-for|client-header-filter|client-header-tagger|content-type-overwrite|crunch-client-header|crunch-if-none-match|crunch-incoming-cookies|crunch-outgoing-cookies|crunch-server-header|deanimate-gifs|downgrade-http-version|fast-redirects|filter|force-text-mode|forward-override|handle-as-empty-document|handle-as-image|hide-accept-language|hide-content-disposition|hide-from-header|hide-if-modified-since|hide-referrer|hide-user-agent|limit-connect|overwrite-last-modified|prevent-compression|redirect|server-header-filter|server-header-tagger|session-cookies-only|set-image-blocker)"
+color brightgreen "\+(add-header|change-x-forwarded-for|client-header-filter|client-header-tagger|content-type-overwrite|crunch-client-header|crunch-if-none-match|crunch-incoming-cookies|crunch-outgoing-cookies|crunch-server-header|deanimate-gifs|downgrade-http-version|fast-redirects|filter|force-text-mode|forward-override|handle-as-empty-document|handle-as-image|hide-accept-language|hide-content-disposition|hide-from-header|hide-if-modified-since|hide-referrer|hide-user-agent|limit-connect|overwrite-last-modified|prevent-compression|redirect|server-header-filter|server-header-tagger|session-cookies-only|set-image-blocker)"
+color black            "[{}]"
+color magenta           "\\.?"
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+
+syntax "privoxy-filter" "\.filter$"
+
+color brightblack  "^(FILTER|CLIENT-HEADER-FILTER|CLIENT-HEADER-TAGGER|SERVER-HEADER-FILTER|SERVER-HEADER-TAGGER): [a-z-]+"
+color brightblue "^(FILTER|CLIENT-HEADER-FILTER|CLIENT-HEADER-TAGGER|SERVER-HEADER-FILTER|SERVER-HEADER-TAGGER):"
+color magenta   "\\.?"
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+
+syntax "python" "\.py$" "jhbuildrc$"
+header "^#!.*/(env +)?python[-0-9._]*( |$)"
+
+color brightblack  "\<(as|assert|break|class|continue|def|del|elif|else|except)\>"
+color brightblack  "\<(exec|finally|for|from|global|if|import|lambda)\>"
+color brightblack  "\<(pass|print|raise|return|try|while|with|yield|None)\>"
+color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
+color black    "[(]"
+color red "[-+*/|=%<>&~^]|\<(and|not|or|is|in)\>"
+color brightyellow    "@[A-Za-z0-9_]+"
+color brightmagenta  "__[A-Za-z0-9_]+__"
+color brightcyan  "\<(True|False)\>"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color yellow   "['][^']*[^\\][']" "[']{3}.*[^\\][']{3}"
+color yellow   "["][^"]*[^\\]["]" "["]{3}.*[^\\]["]{3}"
+color yellow   start=""""[^"]" end="""""
+color yellow   start="'''[^']" end="'''"
+color magenta   "\\.?"
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color brightwhite,cyan "TODO:?"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "rpmspec" "\.spec$" "\.rpmspec$"
+
+color brightblack  "\<(Icon|ExclusiveOs|ExcludeOs):"
+color brightblack  "\<(BuildArch|BuildArchitectures|ExclusiveArch|ExcludeArch):"
+color brightblack  "\<(Conflicts|Obsoletes|Provides|Requires|Requires\(.*\)|Enhances|Suggests|BuildConflicts|BuildRequires|Recommends|PreReq|Supplements):"
+color brightblack  "\<(Epoch|Serial|Nosource|Nopatch):"
+color brightblack  "\<(AutoReq|AutoProv|AutoReqProv):"
+color brightblack  "\<(Copyright|License|Summary|Summary\(.*\)|Distribution|Vendor|Packager|Group|Source[0-9]*|Patch[0-9]*|BuildRoot|Prefix):"
+color brightblack  "\<(Name|Version|Release|Url|URL):"
+color brightblack  start="^(Source|Patch)" end=":"
+color brightblack  "(i386|i486|i586|i686|athlon|ia64|alpha|alphaev5|alphaev56|alphapca56|alphaev6|alphaev67|sparc|sparcv9|sparc64armv3l|armv4b|armv4lm|ips|mipsel|ppc|ppc|iseries|ppcpseries|ppc64|m68k|m68kmint|Sgi|rs6000|i370|s390x|s390|noarch)"
+color brightblack  "(ifarch|ifnarch|ifos|ifnos)"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color brightyellow    "%(if|else|endif|define|global|undefine)"
+color brightyellow    "%_?([A-Z_a-z_0-9_]*)"
+color brightyellow    start="%\{" end="\}"
+color brightyellow    start="%\{__" end="\}"
+color brightyellow "\$(RPM_BUILD_ROOT)\>"
+color brightmagenta  "^%(build$|changelog|check$|clean$|description)"
+color brightmagenta  "^%(files|install$|package|prep$)"
+color brightmagenta  "^%(pre|preun|pretrans|post|postun|posttrans)"
+color brightmagenta  "^%(trigger|triggerin|triggerpostun|triggerun|verifyscript)"
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color blue   "^\*.*$"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+color brightwhite,cyan "TODO:?"
+syntax "ruby" "\.rb$|Rakefile$"
+
+color brightblack "\<(BEGIN|END|alias|and|begin|break|case|class|def|defined\?|do|else|elsif|end|ensure|false|for|if|in|module|next|nil|not|or|redo|rescue|retry|return|self|super|then|true|undef|unless|until|when|while|yield)\>"
+color yellow  "(^|[[:space:]]):[A-Za-z0-9_]+\>"
+color magenta  "/([^/]|(\\/))*/[iomx]*" "%r\{([^}]|(\\}))*\}[iomx]*"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color cyan start="^=begin$" end="^=end$"
+color brightwhite,cyan "TODO:?"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "sed" "\.sed$"
+header "^#!.*bin/(env +)?sed( |$)"
+
+color red "[|^$.*+]"
+color brightyellow "\{[0-9]+,?[0-9]*\}"
+color magenta   "\\."
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "sh" "\.sh$" "\.bash$" "bashrc$" "bash_profile$"
+header "^#!.*/(env +)?(ba|k|pdk)?sh[-0-9_]*( |$)"
+
+color brightblue "^[A-Za-z0-9_+-]+[[:space:]]*\(\)"
+color brightblack  "\<(case|do|done|elif|else|esac|fi|for|function|if)\>"
+color brightblack  "\<(in|select|then|time|until|while)\>"
+color brightblue "\<(echo|exit|export|let|local|read|return|set|shift|umask|unset)\>"
+color brightblue "\<(source)\>"
+color red "[{}()<>!=&|;`$]|\\|\[|\]|-(eq|ne|gt|lt|ge|le|s|n|z)\>"
+color yellow   ""(\\.|[^"])*""
+color brightyellow "\$\{?[A-Za-z0-9_!@#$*?-]+\}?|`[^`]*`"
+color yellow   "'(\\.|[^'])*'"
+color magenta   "\\.?"
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color brightwhite,cyan "TODO:?"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "sql" "\.sql$" "sqliterc$"
+
+icolor brightblack "\<(ALL|ASC|AS|ALTER|AND|ADD|AUTO_INCREMENT)\>"
+icolor brightblack "\<(BETWEEN|BINARY|BOTH|BY|BOOLEAN)\>"
+icolor brightblack "\<(CHANGE|CHECK|COLUMNS|COLUMN|CROSS|CREATE)\>"
+icolor brightblack "\<(DATABASES|DATABASE|DATA|DELAYED|DESCRIBE|DESC|DISTINCT|DELETE|DROP|DEFAULT)\>"
+icolor brightblack "\<(ENCLOSED|ESCAPED|EXISTS|EXPLAIN)\>"
+icolor brightblack "\<(FIELDS|FIELD|FLUSH|FOR|FOREIGN|FUNCTION|FROM)\>"
+icolor brightblack "\<(GROUP|GRANT|HAVING)\>"
+icolor brightblack "\<(IGNORE|INDEX|INFILE|INSERT|INNER|INTO|IDENTIFIED|IN|IS|IF)\>"
+icolor brightblack "\<(JOIN|KEYS|KILL|KEY)\>"
+icolor brightblack "\<(LEADING|LIKE|LIMIT|LINES|LOAD|LOCAL|LOCK|LOW_PRIORITY|LEFT|LANGUAGE)\>"
+icolor brightblack "\<(MODIFY|NATURAL|NOT|NULL|NEXTVAL)\>"
+icolor brightblack "\<(OPTIMIZE|OPTION|OPTIONALLY|ORDER|OUTFILE|OR|OUTER|ON)\>"
+icolor brightblack "\<(PROCEDURE|PROCEDURAL|PRIMARY)\>"
+icolor brightblack "\<(READ|REFERENCES|REGEXP|RENAME|REPLACE|RETURN|REVOKE|RLIKE|RIGHT)\>"
+icolor brightblack "\<(SHOW|SONAME|STATUS|STRAIGHT_JOIN|SELECT|SETVAL|SET)\>"
+icolor brightblack "\<(TABLES|TERMINATED|TO|TRAILING|TRUNCATE|TABLE|TEMPORARY|TRIGGER|TRUSTED)\>"
+icolor brightblack "\<(UNIQUE|UNLOCK|USE|USING|UPDATE|VALUES|VARIABLES|VIEW)\>"
+icolor brightblack "\<(WITH|WRITE|WHERE|ZEROFILL|TYPE|XOR)\>"
+color green     "\<(VARCHAR|TINYINT|TEXT|DATE|SMALLINT|MEDIUMINT|INT|INTEGER|BIGINT|FLOAT|DOUBLE|DECIMAL|DATETIME|TIMESTAMP|TIME|YEAR|UNSIGNED|CHAR|TINYBLOB|TINYTEXT|BLOB|MEDIUMBLOB|MEDIUMTEXT|LONGBLOB|LONGTEXT|ENUM|BOOL|BINARY|VARBINARY)\>"
+
+# SQLite meta commands
+icolor brightblack "\.\<(databases|dump|echo|exit|explain|header(s)?|help)\>"
+icolor brightblack "\.\<(import|indices|mode|nullvalue|output|prompt|quit|read)\>"
+icolor brightblack "\.\<(schema|separator|show|tables|timeout|width)\>"
+color brightcyan  "\<(ON|OFF)\>"
+
+color blue   "\<([0-9]+)\>"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color yellow   "`(\\.|[^\\`])*`"
+color cyan  "\-\-.*$"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "systemd" "\.(service|socket)$"
+header "^\[Unit\]$"
+
+color brightblack  "^(Accept|After|Alias|AllowIsolate|Also|ANSI_COLOR|_AUDIT_LOGINUID|_AUDIT_SESSION|Backlog|Before|BindIPv6Only|BindsTo|BindToDevice|BlockIOReadBandwidth|BlockIOWeight|BlockIOWriteBandwidth|_BOOT_ID|Broadcast|BUG_REPORT_URL|BusName|Capabilities|CapabilityBoundingSet|CHASSIS|cipher|class|_CMDLINE|CODE_FILE|CODE_FUNC|CODE_LINE|_COMM|Compress|ConditionACPower|ConditionCapability|ConditionDirectoryNotEmpty|ConditionFileIsExecutable|ConditionFileNotEmpty|ConditionHost|ConditionKernelCommandLine|ConditionNull|ConditionPathExists|ConditionPathExistsGlob|ConditionPathIsDirectory|ConditionPathIsMountPoint|ConditionPathIsReadWrite|ConditionPathIsSymbolicLink|ConditionSecurity|ConditionVirtualization|Conflicts|ControlGroup|ControlGroupAttribute|ControlGroupModify|ControlGroupPersistent|controllers|Controllers|CPE_NAME|CPUAffinity|CPUSchedulingPolicy|CPUSchedulingPriority|CPUSchedulingResetOnFork|CPUShares|CrashChVT|CrashShell|__CURSOR|debug|DefaultControllers|DefaultDependencies|DefaultLimitAS|DefaultLimitCORE|DefaultLimitCPU|DefaultLimitDATA|DefaultLimitFSIZE|DefaultLimitLOCKS|DefaultLimitMEMLOCK|DefaultLimitMSGQUEUE|DefaultLimitNICE|DefaultLimitNOFILE|DefaultLimitNPROC|DefaultLimitRSS|DefaultLimitRTPRIO|DefaultLimitRTTIME|DefaultLimitSIGPENDING|DefaultLimitSTACK|DefaultStandardError|DefaultStandardOutput|Description|DeviceAllow|DeviceDeny|DirectoryMode|DirectoryNotEmpty|Documentation|DumpCore|entropy|Environment|EnvironmentFile|ERRNO|event_timeout|_EXE|ExecReload|ExecStart|ExecStartPost|ExecStartPre|ExecStop|ExecStopPost|ExecStopPre|filter|FONT|FONT_MAP|FONT_UNIMAP|ForwardToConsole|ForwardToKMsg|ForwardToSyslog|FreeBind|freq|FsckPassNo|fstab|_GID|Group|GuessMainPID|HandleHibernateKey|HandleLidSwitch|HandlePowerKey|HandleSuspendKey|hash|HibernateKeyIgnoreInhibited|HOME_URL|_HOSTNAME|ICON_NAME|ID|IdleAction|IdleActionSec|ID_LIKE|ID_MODEL|ID_MODEL_FROM_DATABASE|IgnoreOnIsolate|IgnoreOnSnapshot|IgnoreSIGPIPE|InaccessibleDirectories|InhibitDelayMaxSec|init|IOSchedulingClass|IOSchedulingPriority|IPTOS|IPTTL|JobTimeoutSec|JoinControllers|KeepAlive|KEYMAP|KEYMAP_TOGGLE|KillExcludeUsers|KillMode|KillOnlyUsers|KillSignal|KillUserProcesses|LidSwitchIgnoreInhibited|LimitAS|LimitCORE|LimitCPU|LimitDATA|LimitFSIZE|LimitLOCKS|LimitMEMLOCK|LimitMSGQUEUE|LimitNICE|LimitNOFILE|LimitNPROC|LimitRSS|LimitRTPRIO|LimitRTTIME|LimitSIGPENDING|LimitSTACK|link_priority|valueListenDatagram|ListenFIFO|ListenMessageQueue|ListenNetlink|ListenSequentialPacket|ListenSpecial|ListenStream|LogColor|LogLevel|LogLocation|LogTarget|luks|_MACHINE_ID|MakeDirectory|Mark|MaxConnections|MaxFileSec|MaxLevelConsole|MaxLevelKMsg|MaxLevelStore|MaxLevelSyslog|MaxRetentionSec|MemoryLimit|MemorySoftLimit|MESSAGE|MESSAGE_ID|MessageQueueMaxMessages|MessageQueueMessageSize|__MONOTONIC_TIMESTAMP|MountFlags|NAME|NAutoVTs|Nice|NonBlocking|NoNewPrivileges|NotifyAccess|OnActiveSec|OnBootSec|OnCalendar|OnFailure|OnFailureIsolate|OnStartupSec|OnUnitActiveSec|OnUnitInactiveSec|OOMScoreAdjust|Options|output|PAMName|PartOf|PassCredentials|PassSecurity|PathChanged|PathExists|PathExistsGlob|PathModified|PermissionsStartOnly|_PID|PIDFile|PipeSize|PowerKeyIgnoreInhibited|PRETTY_HOSTNAME|PRETTY_NAME|Priority|PRIORITY|PrivateNetwork|PrivateTmp|PropagatesReloadTo|pss|RateLimitBurst|RateLimitInterval|ReadOnlyDirectories|ReadWriteDirectories|__REALTIME_TIMESTAMP|ReceiveBuffer|RefuseManualStart|RefuseManualStop|rel|ReloadPropagatedFrom|RemainAfterExit|RequiredBy|Requires|RequiresMountsFor|RequiresOverridable|Requisite|RequisiteOverridable|ReserveVT|ResetControllers|Restart|RestartPreventExitStatus|RestartSec|RootDirectory|RootDirectoryStartOnly|RuntimeKeepFree|RuntimeMaxFileSize|RuntimeMaxUse|RuntimeWatchdogSec|samples|scale_x|scale_y|Seal|SecureBits|_SELINUX_CONTEXT|SendBuffer|SendSIGKILL|Service|ShowStatus|ShutdownWatchdogSec|size|SmackLabel|SmackLabelIPIn|SmackLabelIPOut|SocketMode|Sockets|SourcePath|_SOURCE_REALTIME_TIMESTAMP|SplitMode|StandardError|StandardInput|StandardOutput|StartLimitAction|StartLimitBurst|StartLimitInterval|static_node|StopWhenUnneeded|Storage|string_escape|none|replaceSuccessExitStatus|SupplementaryGroups|SUPPORT_URL|SuspendKeyIgnoreInhibited|SyslogFacility|SYSLOG_FACILITY|SyslogIdentifier|SYSLOG_IDENTIFIER|SyslogLevel|SyslogLevelPrefix|SYSLOG_PID|SystemCallFilter|SYSTEMD_ALIAS|_SYSTEMD_CGROUP|_SYSTEMD_OWNER_UID|SYSTEMD_READY|_SYSTEMD_SESSION|_SYSTEMD_UNIT|_SYSTEMD_USER_UNIT|SYSTEMD_WANTS|SystemKeepFree|SystemMaxFileSize|SystemMaxUse|SysVStartPriority|TCPCongestion|TCPWrapName|timeout|TimeoutSec|TimeoutStartSec|TimeoutStopSec|TimerSlackNSec|Transparent|_TRANSPORT|tries|TTYPath|TTYReset|TTYVHangup|TTYVTDisallocate|Type|_UID|UMask|Unit|User|UtmpIdentifier|VERSION|VERSION_ID|WantedBy|Wants|WatchdogSec|What|Where|WorkingDirectory)="
+color brightblue "^\.include\>"
+color red "="
+color brightmagenta  "^\[(Unit|Install|Service|Socket)\]"
+color brightyellow "\$MAINPID"
+color brightcyan "\<(true|false)\>"
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "tex" "\.(tex|cls|ltx|sty|dtx|ins|bbl)$"
+
+color brightyellow   "\\[A-Za-z]+"
+color brightmagenta "\\section"
+color cyan "%.*"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "vala" "\.vala$"
+
+color green     "\<(float|double|bool|char|int|uint|short|long|void|(un)?signed)\>"
+color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
+color black    "[(]"
+color brightblack  "\<(for|if|while|do|else|case|default|switch|try|throw|catch)\>"
+color brightblack  "\<(inline|typedef|struct|enum|union|extern|static|const)\>"
+color brightblack  "\<(operator|new|delete|return|null|using)\>"
+color brightblack  "\<(class|override|private|public|signal|this|weak)\>"
+color brightred     "\<(goto|break|continue)\>"
+color brightcyan "\<(true|false)\>"
+color blue   "\<([0-9]+)\>"
+color red "[-+/*=<>?:!~%&|]" "->"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color cyan "(^|[[:space:]])//.*"
+color cyan start="/\*" end="\*/"
+color brightwhite,cyan "TODO:?"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "vi" "(^|/|\.)(ex|vim)rc$|\.vim"
+
+color brightblue "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
+color black    "[(]"
+color brightblack  "\<([nvxsoilc]?(nore|un)?map|[nvlx]n|[ico]?no|[cilovx][um]|s?unm)\>"
+color brightblack  "\<(snor|nun|nm|set|if|endif|let|unlet)\>"
+color red "[!&=]"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color cyan  "(^|[[:space:]])\"[^"]*$"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "xml" "\.([jrs]html?|sgml?|xml|opml|xslt?|plist)$"
+header "<\?xml"
+
+color brightmagenta  start="<" end=">"
+color brightblack  " [a-z_-]+="
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color brightwhite,red  "&"
+color magenta   "&(#[0-9]+|#x[0-9a-fA-F]+|[A-Za-z][A-Za-z0-9]*);"
+color cyan  start="<!--" end="-->"
+color cyan  start="<!DOCTYPE" end=">"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "xresources" "X(defaults|resources)$"
+
+color green     "^[[:alnum:]]+\*"
+color brightyellow "\*[[:alnum:]]+\:"
+color blue   "\<[0-9]+\>"
+color red "[*:=]"
+color brightcyan "\<(true|false)\>"
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "yaml" "\.ya?ml$"
+header "^---" "%YAML"
+
+color green     "(^| )!!(binary|bool|float|int|map|null|omap|seq|set|str) "
+color brightcyan  "\<(YES|yes|Y|y|ON|on|NO|no|N|n|OFF|off)\>"
+color brightcyan "\<(true|false)\>"
+color red ":[[:space:]]" "\[" "\]" ":[[:space:]]+[|>]" "^[[:space:]]*- "
+color brightyellow "[[:space:]][\*&][A-Za-z0-9]+"
+color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'"
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color brightmagenta  "^---" "^\.\.\." "^%YAML" "^%TAG"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
+syntax "yum" "\.repo$|yum.*\.conf$"
+
+color brightblack "^[[:space:]]*[^=]*="
+color brightmagenta "^[[:space:]]*\[.*\]$"
+color brightyellow "\$(releasever|arch|basearch|uuid|YUM[0-9])"
+color cyan "(^|[[:space:]])#([^{].*)?$"
+color ,green "[[:space:]]+$"
+color ,red "   + +| +  +"
+# +EXTRALINT
diff --git a/nanorc b/nanorc
new file mode 100644 (file)
index 0000000..dc5b65b
--- /dev/null
+++ b/nanorc
@@ -0,0 +1,2 @@
+include /home/kremlin/.nano/syntax.nanorc
+include /home/kremlin/.nano/haskell.nanorc
diff --git a/scripts/christmas.sh b/scripts/christmas.sh
new file mode 100644 (file)
index 0000000..2653445
--- /dev/null
@@ -0,0 +1,40 @@
+#!/bin/bash
+LINES=$(tput lines)
+COLUMNS=$(tput cols)
+declare -A snowflakes
+declare -A lastflakes
+clear
+function move_flake() {
+    i="$1"
+    if [ "${snowflakes[$i]}" = "" ] || [ "${snowflakes[$i]}" = "$LINES" ]; then
+        snowflakes[$i]=0
+    else
+        if [ "${lastflakes[$i]}" != "" ]; then
+            printf "\033[%s;%sH \033[1;1H " ${lastflakes[$i]} $i
+        fi
+    fi
+    printf "\033[%s;%sH\u274$[($RANDOM%6)+3]\033[1;1H" ${snowflakes[$i]} $i
+    lastflakes[$i]=${snowflakes[$i]}
+    snowflakes[$i]=$((${snowflakes[$i]}+1))
+}
+while :
+do
+    i=$(($RANDOM % $COLUMNS))
+    move_flake $i
+    for x in "${!lastflakes[@]}"
+    do
+        move_flake "$x"
+    done
+    sleep 0.1
+done
diff --git a/scripts/colors.sh b/scripts/colors.sh
new file mode 100644 (file)
index 0000000..6bc1aa2
--- /dev/null
@@ -0,0 +1,32 @@
+#!/usr/bin/bash
+# Original: http://frexx.de/xterm-256-notes/ [dead link 2013-11-21]
+#           http://frexx.de/xterm-256-notes/data/colortable16.sh [dead link 2013-11-21]
+# Modified by Aaron Griffin
+# and further by Kazuo Teramoto
+FGNAMES=(' black ' '  red  ' ' green ' ' yellow' '  blue ' 'magenta' '  cyan ' ' white ')
+BGNAMES=('DFT' 'BLK' 'RED' 'GRN' 'YEL' 'BLU' 'MAG' 'CYN' 'WHT')
+
+echo "     ┌──────────────────────────────────────────────────────────────────────────┐"
+for b in {0..8}; do
+  ((b>0)) && bg=$((b+39))
+
+  echo -en "\033[0m ${BGNAMES[b]} │ "
+  
+  for f in {0..7}; do
+    echo -en "\033[${bg}m\033[$((f+30))m ${FGNAMES[f]} "
+  done
+  
+  echo -en "\033[0m │"
+  echo -en "\033[0m\n\033[0m     │ "
+  
+  for f in {0..7}; do
+    echo -en "\033[${bg}m\033[1;$((f+30))m ${FGNAMES[f]} "
+  done
+
+  echo -en "\033[0m │"
+  echo -e "\033[0m"
+
+  ((b<8)) &&
+  echo "     ├──────────────────────────────────────────────────────────────────────────┤"
+done
+echo "     └──────────────────────────────────────────────────────────────────────────┘"
diff --git a/scripts/wifi-configure.sh b/scripts/wifi-configure.sh
new file mode 100644 (file)
index 0000000..55b8b22
--- /dev/null
@@ -0,0 +1,5 @@
+#! /bin/sh
+
+nm-applet > /dev/null 2> /dev/null &
+trayer > /dev/null 2> /dev/null &
+
diff --git a/wallpapers/decay1.jpg b/wallpapers/decay1.jpg
new file mode 100644 (file)
index 0000000..650cd61
Binary files /dev/null and b/wallpapers/decay1.jpg differ
diff --git a/wallpapers/fuzz.png b/wallpapers/fuzz.png
new file mode 100644 (file)
index 0000000..b106e70
Binary files /dev/null and b/wallpapers/fuzz.png differ
diff --git a/wallpapers/indust1.jpg b/wallpapers/indust1.jpg
new file mode 100644 (file)
index 0000000..9bb9d45
Binary files /dev/null and b/wallpapers/indust1.jpg differ
diff --git a/wallpapers/krem-tiling.png b/wallpapers/krem-tiling.png
new file mode 100644 (file)
index 0000000..a65e830
Binary files /dev/null and b/wallpapers/krem-tiling.png differ
diff --git a/wallpapers/liq.jpg b/wallpapers/liq.jpg
new file mode 100644 (file)
index 0000000..51cb7b9
Binary files /dev/null and b/wallpapers/liq.jpg differ
diff --git a/wallpapers/mbg.jpg b/wallpapers/mbg.jpg
new file mode 100644 (file)
index 0000000..6b65ed6
Binary files /dev/null and b/wallpapers/mbg.jpg differ
diff --git a/wallpapers/mountains1.jpg b/wallpapers/mountains1.jpg
new file mode 100644 (file)
index 0000000..912f0c7
Binary files /dev/null and b/wallpapers/mountains1.jpg differ
diff --git a/wallpapers/steel.jpg b/wallpapers/steel.jpg
new file mode 100644 (file)
index 0000000..b02a9aa
Binary files /dev/null and b/wallpapers/steel.jpg differ
diff --git a/wallpapers/tiling-nice.gif b/wallpapers/tiling-nice.gif
new file mode 100644 (file)
index 0000000..0c92999
Binary files /dev/null and b/wallpapers/tiling-nice.gif differ
diff --git a/wallpapers/tiling-nice2.png b/wallpapers/tiling-nice2.png
new file mode 100644 (file)
index 0000000..9238d80
Binary files /dev/null and b/wallpapers/tiling-nice2.png differ
diff --git a/wallpapers/tiling-nice3.png b/wallpapers/tiling-nice3.png
new file mode 100644 (file)
index 0000000..5b7cd73
Binary files /dev/null and b/wallpapers/tiling-nice3.png differ
diff --git a/wallpapers/train.jpg b/wallpapers/train.jpg
new file mode 100644 (file)
index 0000000..7533f57
Binary files /dev/null and b/wallpapers/train.jpg differ
diff --git a/xbindkeysrc b/xbindkeysrc
new file mode 100644 (file)
index 0000000..d8433c6
--- /dev/null
@@ -0,0 +1,31 @@
+#keyboard backlight up
+  "kbdlight up"
+  XF86KbdBrightnessUp
+
+#keyboard backlight down
+  "kbdlight down"
+  XF86KbdBrightnessDown
+
+#backlight up
+  "xbacklight -inc 10"
+  XF86MonBrightnessUp
+
+#backlight down
+  "xbacklight -dec 10"
+  XF86MonBrightnessDown
+
+#volume up
+  "pulseaudio-ctl up"
+  XF86AudioRaiseVolume
+
+#volume down
+  "pulseaudio-ctl down"
+  XF86AudioLowerVolume
+
+#toggle mute
+  "pulseaudio-ctl mute"
+  XF86AudioMute
+
+#kill x
+  "xkill"
+  Shift+Mod4 + q
diff --git a/xinitrc b/xinitrc
new file mode 100644 (file)
index 0000000..2b0e92c
--- /dev/null
+++ b/xinitrc
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+if [ -d /etc/X11/xinit/xinitrc.d ]; then
+  for f in /etc/X11/xinit/xinitrc.d/*; do
+    [ -x "$f" ] && . "$f"
+  done
+  unset f
+fi
+
+sh ~/.fehbg &
+
+xset +fp /usr/share/fonts/local
+xset fp rehash
+xbindkeys &
+xcalib colorprofiles/Color\ LCD-00000610-0000-9CCF-0000-0000042733C0.icc &
+xsetroot -cursor_name left_ptr &
+xrdb ~/.Xresources &
+
+export WM="xmonad"
+export TERM="urxvtc" &
+export EDITOR="nano" &
+export PATH=$(cope_path):$PATH &
+export PATH=~/golang/bin:$PATH &
+export PATH=$PATH:$HOME/bin &
+export GOPATH=~/golang
+
+exec xmonad
diff --git a/xmobarrc b/xmobarrc
new file mode 100644 (file)
index 0000000..9c43e7a
--- /dev/null
+++ b/xmobarrc
@@ -0,0 +1,24 @@
+Config { font =              "-*-terminus-*-*-normal--12-120-72-72-c-60-*-*"
+       , bgColor =          "#170f0d"
+       , fgColor =          "#746c48"
+       , borderColor =      "#746c48"
+       , border =           NoBorder --BottomBM 1
+       , position =         Top
+       , allDesktops =      True
+       , hideOnStart =      False
+       , overrideRedirect = True
+       , persistent =       True
+       , lowerOnStart =     True
+       , commands = [ Run Weather "KHOU" ["-t","Houston: <tempF> °F (<skyCondition>)","-L","32","-H","80","--normal","#70a16c","--high","#af652f","--low","#7b854e"] 36000
+               , Run Network "wlp3s0" ["-t","<txbar> <tx> KB/s up <fc=#af652f>//</fc> <rxbar> <rx> KB/s down","-L","0","-H","32","--normal","#70a16c","--high","#af652f"] 10
+               , Run Cpu ["-L","3","-H","50","--normal","#746c48","--high","#af652f"] 10
+               , Run Memory ["-t","Mem: <usedratio>%"] 10
+               , Run Com "uname" ["-s","-r"] "" 36000
+               , Run Date "%a %b %d %Y %I:%M %p (%S)" "date" 10
+               , Run BatteryP ["BAT0"] ["-t", "Bat: <left>%","-L","15","-H","90","--high","#7b854e","--low","#af652f"] 600
+               , Run UnsafeStdinReader
+               ]
+       , sepChar = "%"
+       , alignSep = "}{"
+       , template = "%UnsafeStdinReader% }{ %battery% <fc=#af652f>|</fc> %cpu% <fc=#af652f>|</fc> %memory% <fc=#af652f>|</fc> %wlp3s0% <fc=#af652f>|</fc> <fc=#e4dc8c>%date%</fc> <fc=#af652f>|</fc> %KHOU% <fc=#af652f>|</fc> %uname%"
+       }
diff --git a/xmonad/xmonad.hs b/xmonad/xmonad.hs
new file mode 100644 (file)
index 0000000..f072d58
--- /dev/null
@@ -0,0 +1,88 @@
+import XMonad
+import XMonad.Actions.SpawnOn
+import XMonad.Hooks.DynamicLog
+import XMonad.Hooks.ManageDocks
+import XMonad.Util.Run
+import XMonad.Util.EZConfig(additionalKeys)
+import XMonad.Util.WorkspaceCompare
+import XMonad.Layout.PerWorkspace
+import XMonad.Layout.Spacing
+import XMonad.Layout.ThreeColumns
+import XMonad.Layout.Spiral
+import Data.Ratio
+import System.IO
+
+threeColLayout = ThreeCol 2 (3/100) (1/2)
+tallLayout     = Tall 1 (5/100) (2/3)
+spiralLayout   = spiral (1 % 1)
+
+mLayout = spacing 15 
+       $ tallLayout 
+       ||| threeColLayout 
+       ||| spiralLayout
+
+mStartupHook :: X ()
+mStartupHook = do
+       spawnOn "term" "kremterm"
+       spawnOn "term" "kremterm"
+       spawnOn "term" "kremterm"
+       spawnOn "term" "kremterm"
+       spawnOn "term" "kremterm"
+       spawnOn "term" "kremterm"
+       spawnOn "term" "kremterm"
+
+       --spawnOn "www" "google-chrome-stable"
+
+       --spawnOn "chat" "skype"
+       --spawnOn "chat" "kremirc"
+
+       --spawnOn "music" "spotify"
+       --spawnOn "music" "kremcmus"
+
+       --spawnOn "game" "steam"
+
+mManageHook = composeAll
+       [ appName   =? "kremterm"             --> doShift "term"
+       , appName   =? "google-chrome-stable" --> doShift "www"
+       , appName   =? "firefox"              --> doShift "www"
+       , appName   =? "kremirc"              --> doShift "chat"
+       , appName   =? "skype"                --> doShift "chat"
+       , appName   =? "spotify"              --> doShift "music"
+       , appName   =? "kremcmus"             --> doShift "music"
+       , appName   =? "thunderbird"          --> doShift "mail"
+       , appName   =? "Steam"                --> doShift "game"
+       , className =? "Steam"                --> doShift "game"
+       , appName   =? "steam"                --> doShift "game"
+       , className =? "steam"                --> doShift "game"
+       , appName   =? "steam.sh"             --> doShift "game"
+       , className =? "steam.sh"             --> doShift "game"
+       , appName   =? "gimp"                 --> doShift "extra"
+       ]
+
+mWorkspaces = ["mon", "term", "www", "chat", "music", "mail", "game", "code", "extra"]
+--               1      2       3      4        5       6       7       8        9
+
+main = do
+        xmproc <- spawnPipe "xmobar"
+       xmonad $ defaultConfig
+               { manageHook  = mManageHook <+> manageDocks
+               , layoutHook  = avoidStruts $ mLayout
+               , startupHook = mStartupHook
+               , logHook = dynamicLogWithPP xmobarPP
+                       { ppOutput = hPutStrLn xmproc
+                       , ppCurrent = xmobarColor "#70a16c" "" . wrap "[" "]"
+                       , ppTitle   = xmobarColor "#70a16c"  "" . shorten 40
+                       , ppVisible = wrap "(" ")"
+                       , ppWsSep = " <fc=#af652f>|</fc> "
+                       , ppUrgent  = xmobarColor "#af652f" ""
+                       , ppHidden = xmobarColor "#746c48" ""
+                       , ppHiddenNoWindows = xmobarColor "#746c48" ""
+                       , ppOrder = \(ws:_:t:_) -> [ws,t]
+                       }
+               , workspaces = mWorkspaces
+               , modMask = mod4Mask
+               , normalBorderColor = "#170f0d"
+               , focusedBorderColor = "#746c48"
+               , borderWidth = 2
+               , terminal = "urxvtc"
+               }