From: kremlin Date: Mon, 6 Jan 2014 23:28:17 +0000 (-0600) Subject: initial commit X-Git-Url: https://uglyman.kremlin.cc/gitweb/gitweb.cgi?p=dotfiles.git;a=commitdiff_plain;h=0e3df0c228aa4c4507842c1925337702f66518c3;ds=sidebyside initial commit --- diff --git a/README.md b/README.md index 4ca3237..307f1c5 100644 --- 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 index 0000000..a28068c --- /dev/null +++ b/Xresources @@ -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 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}$(/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 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 index 0000000..381717c --- /dev/null +++ b/gtk-2.0/gtkrc @@ -0,0 +1,273 @@ +# custom theme --kremlin +# ~/usr/share/themes/SolarizedDark/gtk-2.0/gtkrc + +gtk-icon-theme-name = "GNOME" +gtk-theme-name = "bespoke" + +gtk_color_scheme = "fg_color:#575136\nbg_color:#110b09\nbase_color:#170f0d\ntext_color:#746c48\nselected_bg_color:#170f0d\nselected_fg_color:#746c48" + +gtk-button-images = 1 +gtk-icon-sizes = "panel-menu=16,16:panel=16,16:gtk-button=16,16:gtk-large-toolbar=16,16" +gtk-menu-images = 1 +style "theme-default" +{ + GtkButton ::default_border = { 0, 0, 0, 0 } + GtkRange ::trough_border = 0 + GtkPaned ::handle_size = 6 + GtkRange ::slider_width = 16 + GtkRange ::stepper_size = 0 + + GtkScrollbar ::min_slider_length = 30 + GtkCheckButton ::indicator_size = 10 + GtkRadioButton ::indicator_size = 10 + GtkMenuBar ::internal-padding = 0 + GtkTreeView ::expander_size = 14 + GtkExpander ::expander_size = 16 + GtkScale ::slider-length = 16 + + + + xthickness = 1 + ythickness = 1 + + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + fg[SELECTED] = @selected_fg_color + fg[ACTIVE] = darker (@fg_color) + fg[INSENSITIVE] = @fg_color + + bg[NORMAL] = @bg_color + bg[PRELIGHT] = @selected_bg_color + bg[SELECTED] = @selected_bg_color + bg[INSENSITIVE] = @bg_color + bg[ACTIVE] = @bg_color + + base[NORMAL] = @base_color + base[ACTIVE] = shade (0.7,@base_color) + base[PRELIGHT] = @base_color + base[SELECTED] = @selected_bg_color + base[INSENSITIVE] = shade (1.025,@bg_color) + + text[NORMAL] = @text_color + text[ACTIVE] = @text_color + text[PRELIGHT] = @text_color + text[SELECTED] = darker (@selected_fg_color) + text[INSENSITIVE] = @fg_color + + engine "murrine" + { + menuitemstyle = 2 + scrollbar_color = "#cb4b16" + scrollbarstyle = 0 + contrast = 1.0 + menustyle = 0 + glazestyle = 0 + menubarstyle = 0 + menubaritemstyle = 0 + menuitemstyle = 0 + listviewheaderstyle = 0 + listviewstyle = 1 + roundness = 0 + animation = TRUE + } +} + + +style "theme-wide" = "theme-default" +{ + xthickness = 2 + ythickness = 2 +} + +style "theme-wider" = "theme-default" +{ + xthickness = 2 + ythickness = 2 +} + +style "theme-entry" = "theme-wider" +{ + bg[SELECTED] = @selected_bg_color +} + +style "theme-button" = "theme-wider" +{ + xthickness = 0 + ythickness = 0 + #bg[NORMAL] = @bg_color + #bg[INSENSITIVE] = @bg_color + #bg[PRELIGHT] = @bg_color + #bg[ACTIVE] = @bg_color + text[PRELIGHT] = @selected_fg_color + +} + + +style "theme-notebook" = "theme-wide" +{ + #bg[NORMAL] = @bg_color + #bg[INSENSITIVE] = @bg_color + bg[SELECTED] = @selected_bg_color +} + +style "theme-tasklist" = "theme-default" +{ + xthickness = 4 + ythickness = 2 +} + +style "theme-menu" = "theme-default" +{ + xthickness = 2 + ythickness = 2 + bg[NORMAL] = @bg_color +} + +style "theme-menu-item" = "theme-default" +{ + ythickness = 3 + fg[NORMAL] = @fg_color + fg[PRELIGHT] = @selected_fg_color + fg[INSENSITIVE] = @selected_fg_color + bg[SELECTED] = @selected_bg_color +} + + +style "theme-menubar" = "theme-default" +{ + bg[NORMAL] = @bg_color +} + +style "theme-menubar-item" +{ + ythickness = 2 + fg[PRELIGHT] = @selected_fg_color +} + +style "theme-tree" = "theme-default" +{ + xthickness = 2 + ythickness = 2 + # bg[NORMAL] = @selected_fg_color +} + +style "theme-frame-title" = "theme-default" +{ + + fg[NORMAL] = @fg_color +} + +style "theme-tooltips" = "theme-default" +{ + xthickness = 2 + ythickness = 2 + bg[NORMAL] = @bg_color +} + +style "theme-progressbar" = "theme-wide" +{ + xthickness = 2 + ythickness = 2 + #fg[PRELIGHT] = "#ff0000" # @bg_color + bg[NORMAL] = @bg_color # outline of progressbar + bg[SELECTED] = @selected_bg_color # progressbar color +} + +style "theme-scrollbar" = "theme-default" +{ + +} + +style "theme-combo" = "theme-button" +{ + # +} + +style "metacity-frame" +{ + bg[SELECTED] = @selected_bg_color + fg[SELECTED] = @selected_fg_color +} + +class "MetaFrames" style "metacity-frame" +class "GtkWindow" style "metacity-frame" + + +style "inactivetext2" +{ + engine "mist" + { + # + } +} + +widget_class "*..*" style "inactivetext2" + +style "panel" +{ + xthickness = 2 + ythickness = 2 + bg[NORMAL] = @bg_color + fg[NORMAL] = @fg_color + text[NORMAL] = @fg_color +} + +style "panelbuttons" +{ + xthickness = 0 + ythickness = 0 + bg[NORMAL] = @bg_color + bg[ACTIVE] = @bg_color + bg[SELECTED] = @selected_bg_color + bg[PRELIGHT] = @bg_color + + fg[NORMAL] = @fg_color + fg[ACTIVE] = @selected_fg_color + fg[PRELIGHT] = @selected_fg_color +} + +style "chrome-gtk-frame" +{ + ChromeGtkFrame::frame-color = @bg_color + ChromeGtkFrame::inactive-frame-color = darker(@fg_color) + +} + +class "ChromeGtkFrame" style "chrome-gtk-frame" + +class "*Panel*" style "panel" +widget_class "*Panel*GtkToggleButton" style "panelbuttons" +widget_class "*Panel*Button" style "panelbuttons" +widget_class "*Panel*b*" style "panelbuttons" + +class "GtkWidget" style "theme-default" +class "GtkButton" style "theme-button" +class "GtkScale" style "theme-button" +class "GtkCombo" style "theme-button" +class "GtkRange" style "theme-wide" +class "GtkFrame" style "theme-wide" +class "GtkMenu" style "theme-menu" +class "GtkEntry" style "theme-entry" +class "GtkMenuItem" style "theme-menu-item" +class "GtkNotebook" style "theme-notebook" +class "GtkProgressBar" style "theme-progressbar" +class "GtkScale" style "theme-scrollbar" +class "*MenuBar*" style "theme-menubar" + +widget_class "*MenuItem.*" style "theme-menu-item" +widget_class "*MenuBar.*" style "theme-menubar-item" + +widget_class "*.GtkComboBox.GtkButton" style "theme-combo" +widget_class "*.GtkCombo.GtkButton" style "theme-combo" + +widget_class "*.tooltips.*.GtkToggleButton" style "theme-tasklist" +widget "gtk-tooltips" style "theme-tooltips" + +widget_class "*.GtkTreeView.GtkButton" style "theme-tree" +widget_class "*.GtkCTree.GtkButton" style "theme-tree" +widget_class "*.GtkList.GtkButton" style "theme-tree" +widget_class "*.GtkCList.GtkButton" style "theme-tree" +widget_class "*.GtkFrame.GtkLabel" style "theme-frame-title" + +widget_class "*.GtkNotebook.*.GtkEventBox" style "theme-notebook" +widget_class "*.GtkNotebook.*.GtkViewport" style "theme-notebook" diff --git a/nano/haskell.nanorc b/nano/haskell.nanorc new file mode 100644 index 0000000..0764195 --- /dev/null +++ b/nano/haskell.nanorc @@ -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 index 0000000..1143da0 --- /dev/null +++ b/nano/syntax.nanorc @@ -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 "\" + +color red "\" +color green "\" +color yellow "\" +color blue "\" +color magenta "\" +color cyan "\" + +color brightred "\" +color brightgreen "\" +color brightyellow "\" +color brightblue "\" +color brightmagenta "\" +color 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 "\" +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 "" +color brightwhite,red "]" +color brightmagenta "]" +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="" +color cyan "]*>" +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 "\" +color brightblue "\" +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 "\" +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 "\" +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="" +color cyan start="" +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 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 index 0000000..2653445 --- /dev/null +++ b/scripts/christmas.sh @@ -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 index 0000000..6bc1aa2 --- /dev/null +++ b/scripts/colors.sh @@ -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 index 0000000..55b8b22 --- /dev/null +++ b/scripts/wifi-configure.sh @@ -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 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 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 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 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 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 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 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 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 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 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 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 index 0000000..7533f57 Binary files /dev/null and b/wallpapers/train.jpg differ diff --git a/xbindkeysrc b/xbindkeysrc new file mode 100644 index 0000000..d8433c6 --- /dev/null +++ b/xbindkeysrc @@ -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 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 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: °F ()","-L","32","-H","80","--normal","#70a16c","--high","#af652f","--low","#7b854e"] 36000 + , Run Network "wlp3s0" ["-t"," KB/s up // 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: %"] 10 + , Run Com "uname" ["-s","-r"] "" 36000 + , Run Date "%a %b %d %Y %I:%M %p (%S)" "date" 10 + , Run BatteryP ["BAT0"] ["-t", "Bat: %","-L","15","-H","90","--high","#7b854e","--low","#af652f"] 600 + , Run UnsafeStdinReader + ] + , sepChar = "%" + , alignSep = "}{" + , template = "%UnsafeStdinReader% }{ %battery% | %cpu% | %memory% | %wlp3s0% | %date% | %KHOU% | %uname%" + } diff --git a/xmonad/xmonad.hs b/xmonad/xmonad.hs new file mode 100644 index 0000000..f072d58 --- /dev/null +++ b/xmonad/xmonad.hs @@ -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 = " | " + , 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" + }