--- a/.hgsub Tue Jan 14 17:25:57 2014 -0500
+++ b/.hgsub Tue Jan 14 17:27:49 2014 -0500
@@ -14,6 +14,7 @@
vim/bundle/dispatch = [git]git://github.com/tpope/vim-dispatch.git
vim/bundle/fireplace = [git]git://github.com/tpope/vim-fireplace.git
vim/bundle/fugitive = [git]git://github.com/tpope/vim-fugitive.git
+vim/bundle/gnupg = [git]git://github.com/jamessan/vim-gnupg.git
vim/bundle/gundo = [hg]https://bitbucket.org/sjl/gundo.vim/
vim/bundle/html5 = [git]git://github.com/othree/html5.vim.git
vim/bundle/indent-object = [git]git://github.com/michaeljsmith/vim-indent-object.git
--- a/.hgsubstate Tue Jan 14 17:25:57 2014 -0500
+++ b/.hgsubstate Tue Jan 14 17:27:49 2014 -0500
@@ -13,7 +13,8 @@
c1646e3c28d75bcc834af4836f4c6e12296ba891 vim/bundle/ctrlp
ffbd5eb50c9daf67657b87fd767d1801ac9a15a7 vim/bundle/dispatch
b96ccf7441ada22d764af8223b61f18896d82dc9 vim/bundle/fireplace
-cff78c3ab4605d490e6be8d8af02f1e7efd25c95 vim/bundle/fugitive
+34e2d2538a634a0a820a56994333ffa1fec1bc58 vim/bundle/fugitive
+6e9f52a160e3d15060848a8f453bd1b5bfa70db2 vim/bundle/gnupg
eb9fc8676b8959c3c2c95bf6b6e8f0f44317c5c0 vim/bundle/gundo
34b407d2344a3c2a94b56e9d443e18e01e8544d9 vim/bundle/html5
78fffa609b3e6b84ef01ee4c9aba6d7435d7b18e vim/bundle/indent-object
@@ -35,8 +36,8 @@
10d6c6b52fcdd12f3ba457126f66fee4ccceec04 vim/bundle/securemodelines
78ab4b3df24fa2753d3dfc1be75ed5a3df1565b8 vim/bundle/smartinput
c6197a10ace82e0fe0c08e5cf5c017b7069a978e vim/bundle/sparkup
-01e68795c7a14b97ec2ebbd70b0fcb42d1adac61 vim/bundle/splice
-6eec2c131213850ed65fd6da494dfd1a0d620a4e vim/bundle/strftimedammit
+8e1c1dc358de2132b7fbc1adaf94f528e3238e4d vim/bundle/splice
+26fbdd7d1f1aa5600d2ebf39bbdd292c38aac16e vim/bundle/strftimedammit
1a73f607f8f5477d6942df2eb6e7245c4864f4d3 vim/bundle/surround
14cb306414dda411b1809a088e18eb2796030095 vim/bundle/syntastic
2dee007ddae8156735cbae7f0cd4e0a24ba7287b vim/bundle/tslime
--- a/bash_profile Tue Jan 14 17:25:57 2014 -0500
+++ b/bash_profile Tue Jan 14 17:27:49 2014 -0500
@@ -31,3 +31,6 @@
function psg() {
ps auxww | grep --color=always $* | grep -v grep | collapse | cuts -f 2,11-
}
+
+GPG_TTY=`tty`
+export GPG_TTY
--- a/bin/bootstrap.sh Tue Jan 14 17:25:57 2014 -0500
+++ b/bin/bootstrap.sh Tue Jan 14 17:27:49 2014 -0500
@@ -47,5 +47,6 @@
ensure_link "lib/dotfiles/bash_profile" ".bash_profile"
ensure_link "lib/dotfiles/inputrc" ".inputrc"
ensure_link "lib/dotfiles/fish/config.fish" ".config/fish/config.fish"
+ensure_link "lib/dotfiles/fish/functions" ".config/fish/functions"
echo completed
--- a/bin/sort-scala-imports Tue Jan 14 17:25:57 2014 -0500
+++ b/bin/sort-scala-imports Tue Jan 14 17:27:49 2014 -0500
@@ -1,9 +1,11 @@
#!/usr/bin/env python
-import sys
+import re, sys
from operator import attrgetter
+bracket_padding = None
+
def next_line():
return sys.stdin.readline().rstrip('\n')
@@ -19,14 +21,26 @@
self.guts = []
def slurp(self):
- global l
+ global l, bracket_padding
+
if self.main_line.endswith('}'):
# This is a line like: import foo.{ a, b, c }
+ if bracket_padding is None:
+ if self.main_line[self.main_line.index("{") + 1] == " ":
+ bracket_padding = " "
+ else:
+ bracket_padding = ""
+
prefix, rest = self.main_line.split('{', 1)
+
guts = [item.strip() for item in
- rest.rstrip('}, ').split(',')]
+ re.split(", +| +|,", rest.strip('{}, '))]
guts.sort(key=lambda s: s.lower())
- self.main_line = '%s{ %s }' % (prefix, ', '.join(guts))
+
+ self.main_line = '%s{%s%s%s}' % (prefix,
+ bracket_padding,
+ ', '.join(guts),
+ bracket_padding)
l = next_line()
elif self.main_line.endswith('{'):
while True:
--- a/ctags Tue Jan 14 17:25:57 2014 -0500
+++ b/ctags Tue Jan 14 17:27:49 2014 -0500
@@ -2,12 +2,14 @@
--javascript-kinds=cm
--fields=-s
--fields=+l
+--fields=+n
--languages=-html
--languages=-javascript
--exclude=flowplayer
--exclude=.hg
+--exclude=.git
--exclude=.ropeproject
--exclude=libs
--exclude=build
@@ -31,3 +33,17 @@
--regex-scala=/^[ \t]*((abstract|final|sealed|implicit|lazy)[ \t]*)*val[ \t]+([a-zA-Z0-9_]+)/\3/l,constants/
--regex-scala=/^[ \t]*((abstract|final|sealed|implicit|lazy)[ \t]*)*var[ \t]+([a-zA-Z0-9_]+)/\3/l,variables/
--regex-scala=/^[ \t]*package[ \t]+([a-zA-Z0-9_.]+)/\1/p,packages/
+
+--langdef=Clojure
+--langmap=Clojure:.clj
+--regex-clojure=/\([ \t]*create-ns[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/n,namespace/
+--regex-clojure=/\([ \t]*def[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/d,definition/
+--regex-clojure=/\([ \t]*defn-?[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/f,function/
+--regex-clojure=/\([ \t]*defmacro[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/m,macro/
+--regex-clojure=/\([ \t]*definline[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/i,inline/
+--regex-clojure=/\([ \t]*defmulti[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/a,multimethod definition/
+--regex-clojure=/\([ \t]*defmethod[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/b,multimethod instance/
+--regex-clojure=/\([ \t]*defonce[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/c,definition (once)/
+--regex-clojure=/\([ \t]*defstruct[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/s,struct/
+--regex-clojure=/\([ \t]*intern[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/v,intern/
+--regex-clojure=/\([ \t]*ns[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/n,namespace/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dotcss/bank.simple.com.css Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+#payment-goals-message { display: none !important; }
+span.trade { display: none !important; }
+#sts-flag { background: #EBA000 !important; text-shadow: 0px 2px 0px black;}
--- a/dotcss/simple.com.css Tue Jan 14 17:25:57 2014 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-#payment-goals-message { display: none !important; }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dotcss/vimeo.com.css Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,2 @@
+
+#likes_extras, .related_collections, #brozar { display: none !important;}
--- a/fish/config.fish Tue Jan 14 17:25:57 2014 -0500
+++ b/fish/config.fish Tue Jan 14 17:27:49 2014 -0500
@@ -1,16 +1,5 @@
# Useful functions {{{
-function serve_this; python -m SimpleHTTPServer; end
-function fabric; fab -i ~/.ssh/stevelosh $argv; end
-function oldgcc; set -g CC /usr/bin/gcc-4.0 $argv; end
-function tm; tmux -u2 $argv; end
-function c; clear; end
-function hl; less -R; end
-function paththis; set PATH (pwd) $PATH $argv; end
-function clc; ./bin/get-last-commit-url.py | pbcopy; end
-
-function swank; dtach -A /tmp/dtach-swank.sock -r winch lein ritz; end
-
function ef; vim ~/.config/fish/config.fish; end
function ev; vim ~/.vimrc; end
function ed; vim ~/.vim/custom-dictionary.utf-8.add; end
@@ -24,140 +13,10 @@
function eg; vim ~/.gitconfig; end
function es; vim ~/.slate; end
-function sjoin -d "Join input lines into a single line with spaces"; tr '\n' ' '; end
-
-function lstrip -d "Strip whitespace from the left of each line"
- sed -e 's/^[ \t]*//'
-end
-
-function rstrip -d "Strip whitespace from the right of each line"
- sed -e 's/[ \t]*$//'
-end
-
-function lrstrip -d "Strip whitespace from both ends of each line"
- lstrip | rstrip
-end
-
-function pj
- python -m json.tool | pygmentize -l json
-end
-
-function vup
- set -x VAGRANT_LOG debug
- vagrant up $argv
- set -e VAGRANT_LOG
-end
-
-function ss; bcvi --wrap-ssh -- $argv; end
-function bcvid; dtach -A /tmp/bcvi.socket bcvi --listener; end
-
-function spotlight-off; sudo mdutil -a -i off ; and sudo mv /System/Library/CoreServices/Search.bundle/ /System/Library/CoreServices/SearchOff.bundle/ ; and killall SystemUIServer; end
-function spotlight-on; sudo mdutil -a -i on ; and sudo mv /System/Library/CoreServices/SearchOff.bundle/ /System/Library/CoreServices/Search.bundle/ ; and killall SystemUIServer; end
-function spotlight-wat; sudo fs_usage -w -f filesys mdworker | grep "open" ; end
-
-set MUTT_BIN (which mutt)
-function mutt; bash --login -c "cd ~/Desktop; $MUTT_BIN"; end
-
-function h; hg $argv; end
-function g; git $argv; end
-
-function pbc; pbcopy; end
-function pbp; pbpaste; end
-function pbpb; pbp | pb; end
-
-function weechat; weechat-curses $argv; end
-
-function collapse; sed -e 's/ */ /g'; end
-function cuts; cut -d' ' $argv; end
-
-function emptytrash -d "Empty the OS X trash folders"
- sudo rm -rfv /Volumes/*/.Trashes
- sudo rm -rfv ~/.Trash
- sudo rm -rfv /private/var/log/asl/*.asl
-end
-
-function urlencode
- python -c "import sys, urllib as ul; print ul.quote_plus(sys.argv[1]);" $argv
-end
-function urldecode
- python -c "import sys, urllib as ul; print ul.unquote_plus(sys.argv[1])" $argv
-end
-
-function fixopenwith -d "Fix the shitty OS X Open With menu duplicates"
- /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user
- killall Finder
- echo "Open With has been rebuilt, Finder will relaunch"
-end
-
-function v; vim $argv; end
-function V; vim . $argv; end
-
-function vu; vagrant up; end
-function vs; vagrant suspend; end
-
-function o; open $argv; end
-function oo; open .; end
-
-function wo; workon $argv; end
-function deact; deactivate; end
-
-function psg -d "Grep for a running process, returning its PID and full string"
- ps auxww | grep -i --color=always $argv | grep -v grep | collapse | cuts -f 2,11-
-end
-
-function hey_virtualbox_shut_down_or_i_will_fucking_cut_you
- VBoxManage controlvm $argv poweroff
-end
-
-set AG_BIN (which ag)
-function actual_ag
- # Fuck you fish this is fucking ridiculous. Let me use $AG_BIN as
- # a command. Or at least give me a way to do it like run $AG_BIN args or
- # something jesus.
- if test $AG_BIN = '/usr/local/bin/ag'
- /usr/local/bin/ag $argv
- else
- if test $AG_BIN = '/usr/bin/ag'
- /usr/bin/ag $argv
- else
- echo "Fish is a dick, sorry."
- end
- end
-end
-function ag -d "Run Ag with appropriate options."
- if test -f '.agignore'
- # Extra if statement because I can't figure out how to && things in
- # a fish conditional and the documentation does not see fit to explain
- # that little tidbit and can we please get a shell without complete
- # bullshit as a scripting language syntax?
- if grep -q 'pragma: skipvcs' '.agignore'
- actual_ag --search-files -U $argv
- else
- actual_ag --search-files $argv
- end
- else
- actual_ag --search-files $argv
- end
-end
-
-function count_t_tasks; ~/lib/t/t.py --task-dir="~/Dropbox/tasks" --list=tasks.txt | wc -l $argv; end
-# set -g T_TASK_COUNT (count_t_tasks)
-function t
- ~/lib/t/t.py --task-dir="~/Dropbox/tasks" --list=tasks.txt $argv
- set -g T_TASK_COUNT (count_t_tasks)
-end
-
-function packfor
- cp ~/Dropbox/tasks/pack-archive ~/Dropbox/tasks/pack.txt
-end
-function p
- ~/lib/t/t.py --task-dir="~/Dropbox/tasks" --list=pack.txt $argv
-end
-
-function s
- ~/lib/t/t.py --task-dir="~/.simple-tasks" --list=tasks.txt $argv
- set -g T_TASK_COUNT (count_t_tasks)
-end
+function ..; cd ..; end
+function ...; cd ../..; end
+function ....; cd ../../..; end
+function .....; cd ../../../..; end
# }}}
# Completions {{{
@@ -234,6 +93,8 @@
set -g -x MAVEN_OPTS "-Xmx512M -XX:MaxPermSize=512M"
set -g -x _JAVA_OPTIONS "-Djava.awt.headless=true"
+set -g -x GPG_TTY (tty)
+
function headed_java -d "Put Java into headed mode"
echo "Changing _JAVA_OPTIONS"
echo "from: $_JAVA_OPTIONS"
@@ -247,6 +108,7 @@
echo " to: $_JAVA_OPTIONS"
end
+
# }}}
# Python variables {{{
@@ -270,19 +132,10 @@
. ~/.config/fish/virtualenv.fish
# }}}
-# Rubby {{{
-
-if test -s /usr/local/bin/rbenv
- /usr/local/bin/rbenv rehash 2>/dev/null
-end
-
-# }}}
# Z {{{
. ~/src/z-fish/z.fish
-function j; z $argv; end
-
# }}}
# Prompt {{{
@@ -360,42 +213,9 @@
end
# }}}
-# Directories {{{
-
-function ..; cd ..; end
-function ...; cd ../..; end
-function ....; cd ../../..; end
-function .....; cd ../../../..; end
-
-function md; mkdir -p $argv; end
-
-function l1; tree --dirsfirst -ChFL 1 $argv; end
-function l2; tree --dirsfirst -ChFL 2 $argv; end
-function l3; tree --dirsfirst -ChFL 3 $argv; end
-function l4; tree --dirsfirst -ChFL 4 $argv; end
-function l5; tree --dirsfirst -ChFL 5 $argv; end
-function l6; tree --dirsfirst -ChFL 6 $argv; end
-
-function ll1; tree --dirsfirst -ChFupDaL 1 $argv; end
-function ll2; tree --dirsfirst -ChFupDaL 2 $argv; end
-function ll3; tree --dirsfirst -ChFupDaL 3 $argv; end
-function ll4; tree --dirsfirst -ChFupDaL 4 $argv; end
-function ll5; tree --dirsfirst -ChFupDaL 5 $argv; end
-function ll6; tree --dirsfirst -ChFupDaL 6 $argv; end
-
-function l; l1 $argv; end
-function ll; ll1 $argv; end
-
-# }}}
-# Misc {{{
-
-# }}}
-# Local Settings {{{
if test -s $HOME/.config/fish/local.fish
. $HOME/.config/fish/local.fish
end
-# }}}
-
true
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/ag.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,32 @@
+set -g -x AG_BIN (which ag)
+
+function actual_ag
+ # Fuck you fish this is fucking ridiculous. Let me use $AG_BIN as
+ # a command. Or at least give me a way to do it like run $AG_BIN args or
+ # something jesus.
+ if test $AG_BIN = '/usr/local/bin/ag'
+ /usr/local/bin/ag $argv
+ else
+ if test $AG_BIN = '/usr/bin/ag'
+ /usr/bin/ag $argv
+ else
+ echo "Fish is a dick, sorry."
+ end
+ end
+end
+
+function ag -d "Run Ag with appropriate options."
+ if test -f '.agignore'
+ # Extra if statement because I can't figure out how to && things in
+ # a fish conditional and the documentation does not see fit to explain
+ # that little tidbit and can we please get a shell without complete
+ # bullshit as a scripting language syntax?
+ if grep -q 'pragma: skipvcs' '.agignore'
+ actual_ag --search-files -U $argv
+ else
+ actual_ag --search-files $argv
+ end
+ else
+ actual_ag --search-files $argv
+ end
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/collapse.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function collapse -d "Collapse multiple spaces into single spaces"
+ sed -e 's/ */ /g'
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/cuts.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function cuts -d "Cut on space characters instead of tabs"
+ cut -d' ' $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/deact.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function deact -d "deactivate"
+ deactivate
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/empty-trash.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,5 @@
+function emptytrash -d "Empty the OS X trash folders"
+ sudo rm -rfv /Volumes/*/.Trashes
+ sudo rm -rfv ~/.Trash
+ sudo rm -rfv /private/var/log/asl/*.asl
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/fabric.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function fabric -d "fab with my SSH identity"
+ fab -i ~/.ssh/stevelosh $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/fix-open-with.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,7 @@
+function fix-open-with -d "Fix the shitty OS X Open With menu duplicates"
+ /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user
+ killall Finder
+ echo "Open With has been rebuilt, Finder will relaunch"
+end
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/g.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function g -d "git"
+ git $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/h.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function h -d "hg"
+ hg $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/hey-virtualbox-shut-down-or-i-will-fucking-cut-you.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,4 @@
+function hey-virtualbox-shut-down-or-i-will-fucking-cut-you
+ VBoxManage controlvm $argv poweroff
+end
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/hi.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,4 @@
+function hi --argument pattern -d "Highlight a pattern in a stream of text"
+ grep -E --color=always --line-buffered "$pattern|\$"
+end
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/hl.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function hl -d "Highlighted Less"
+ less -R
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/j.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function j -d "j is the new z is the new j"
+ z $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/l.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function l
+ l1 $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/l1.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function l1
+ tree --dirsfirst -ChFL 1 $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/l2.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function l2
+ tree --dirsfirst -ChFL 2 $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/l3.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function l3
+ tree --dirsfirst -ChFL 3 $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/l4.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function l4
+ tree --dirsfirst -ChFL 4 $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/l5.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function l5
+ tree --dirsfirst -ChFL 5 $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/l6.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function l6
+ tree --dirsfirst -ChFL 6 $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/ll.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function ll
+ ll1 $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/ll1.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function ll1
+ tree --dirsfirst -ChFupDaL 1 $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/ll2.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function ll2
+ tree --dirsfirst -ChFupDaL 2 $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/ll3.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function ll3
+ tree --dirsfirst -ChFupDaL 3 $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/ll4.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function ll4
+ tree --dirsfirst -ChFupDaL 4 $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/ll5.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function ll5
+ tree --dirsfirst -ChFupDaL 5 $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/ll6.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function ll6
+ tree --dirsfirst -ChFupDaL 6 $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/lrstrip.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,5 @@
+function lrstrip -d "Strip whitespace from both ends of each line"
+ lstrip | rstrip
+end
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/lstrip.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,4 @@
+function lstrip -d "Strip whitespace from the left of each line"
+ sed -e 's/^[ \t]*//'
+end
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/md.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function md -d "mkdir"
+ mkdir -p $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/mutt.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,5 @@
+set -g -x MUTT_BIN (which mutt)
+
+function mutt
+ bash --login -c "cd ~/Desktop; $MUTT_BIN \$@" custom_mutt $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/o.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function o -d "open"
+ open $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/oldgcc.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function oldgcc -d "Set \$CC to the old GCC"
+ set -g CC /usr/bin/gcc-4.0
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/oo.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function oo -d "open ."
+ open .
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/p.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function p
+ ~/lib/t/t.py --task-dir="~/Dropbox/tasks" --list=pack.txt $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/packfor.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function packfor
+ cp ~/Dropbox/tasks/pack-archive ~/Dropbox/tasks/pack.txt
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/path_this.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function path_this -d "Add the cwd to the front of PATH"
+ set PATH (pwd) $PATH
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/pbc.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function pbc -d "pbcopy"
+ pbcopy $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/pbp.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function pbp -d "pbpaste"
+ pbpaste $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/pbpb.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function pbpb -d "pbpaste to pastebin site"
+ pbp | pb
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/pj.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,4 @@
+function pj -d "Prettify JSON"
+ python -m json.tool | pygmentize -l json
+end
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/psg.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,5 @@
+function psg -d "Grep for a running process, returning its PID and full string"
+ ps auxww | grep -i --color=always $argv | grep -v grep | collapse | cuts -f 2,11-
+end
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/rstrip.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function rstrip -d "Strip whitespace from the right of each line"
+ sed -e 's/[ \t]*$//'
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/sc.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function sc -d "Launch a Scala console"
+ mvn scala:console $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/serve-this.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function serve-this -d "Launch a webserver on 8000 serving the cwd"
+ python -m SimpleHTTPServer
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/sjoin.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function sjoin -d "Join input lines into a single line with spaces"
+ tr '\n' ' '
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/spotlight-off.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,5 @@
+function spotlight-off -d "Turn off Spotlight indexing"
+ sudo mdutil -a -i off
+ and sudo mv /System/Library/CoreServices/Search.bundle/ /System/Library/CoreServices/SearchOff.bundle/
+ and killall SystemUIServer
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/spotlight-on.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,5 @@
+function spotlight-on -d "Turn on Spotlight indexing"
+ sudo mdutil -a -i on
+ and sudo mv /System/Library/CoreServices/SearchOff.bundle/ /System/Library/CoreServices/Search.bundle/
+ and killall SystemUIServer
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/spotlight-tail.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function spotlight-tail -d "Watch what Spotlight is doing"
+ sudo fs_usage -w -f filesys mdworker | grep "open"
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/t.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,4 @@
+function t
+ ~/lib/t/t.py --task-dir="~/Dropbox/tasks" --list=tasks.txt $argv
+end
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/tm.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function tm "tmux"
+ tmux -u2 $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/urldecode.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function urldecode -d "Urldecode the input into plaintext output"
+ python -c "import sys, urllib as ul; print ul.unquote_plus(sys.argv[1])" $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/urlencode.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,4 @@
+function urlencode -d "Urlencode the plaintext input"
+ python -c "import sys, urllib as ul; print ul.quote_plus(sys.argv[1]);" $argv
+end
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/weechat.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function weechat
+ weechat-curses $argv
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/wo.fish Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,3 @@
+function wo -d "workon"
+ workon $argv
+end
--- a/gitconfig Tue Jan 14 17:25:57 2014 -0500
+++ b/gitconfig Tue Jan 14 17:27:49 2014 -0500
@@ -53,9 +53,10 @@
unshel = unshelve
delete-local-branch = branch -D
- delete-remote-branch = push origin --delete
- delete-local-reference-to-remote-branch = branch -rd
- delete-branch = "!sh -c 'git delete-local-branch $1; git delete-local-reference-to-remote-branch origin/$1; git delete-local-reference-to-remote-branch upstream/$1' -"
+ delete-local-reference-to-remote-branch = "!sh -c 'git branch -rd $1/$2' -"
+ delete-remote-branch = "!sh -c 'git push $1 --delete $2' -"
+ ; delete-branch = "!sh -c 'git delete-local-branch $1; git delete-local-reference-to-remote-branch origin/$1; git delete-local-reference-to-remote-branch upstream/$1' -"
+ delete-branch = "!sh -c 'git delete-local-branch $1; git remotes | cut -f1 | sort | uniq | xargs -n1 -J % git delete-local-reference-to-remote-branch % $1' -"
currentbranch = rev-parse --abbrev-ref HEAD
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/after/indent/clojure.vim Tue Jan 14 17:27:49 2014 -0500
@@ -0,0 +1,1 @@
+setlocal lispwords+=->,->>,do,match
--- a/vim/vimrc Tue Jan 14 17:25:57 2014 -0500
+++ b/vim/vimrc Tue Jan 14 17:27:49 2014 -0500
@@ -254,8 +254,8 @@
" Convenience mappings ---------------------------------------------------- {{{
" Fuck you, help key.
-noremap <F1> <nop>
-inoremap <F1> <nop>
+noremap <F1> :checktime<cr>
+inoremap <F1> <esc>:checktime<cr>
" Stop it, hash key.
inoremap # X<BS>#
@@ -297,7 +297,7 @@
vnoremap gu u
" Rebuild Ctags (mnemonic RC -> CR -> <cr>)
-nnoremap <leader><cr> :silent !myctags<cr>:redraw!<cr>
+nnoremap <leader><cr> :silent !myctags >/dev/null 2>&1 &<cr>:redraw!<cr>
" Highlight Group(s)
nnoremap <F8> :echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . '> trans<'
@@ -498,8 +498,19 @@
" screen. Both will pulse the cursor line so you can see where the hell you
" are. <c-\> will also fold everything in the buffer and then unfold just
" enough for you to see the destination line.
-nnoremap <c-]> <c-]>mzzvzz15<c-e>`z:Pulse<cr>
-nnoremap <c-\> <c-w>v<c-]>mzzMzvzz15<c-e>`z:Pulse<cr>
+function! JumpToTag()
+ execute "normal! \<c-]>mzzvzz15\<c-e>"
+ execute "keepjumps normal! `z"
+ Pulse
+endfunction
+function! JumpToTagInSplit()
+ execute "normal! \<c-w>v\<c-]>mzzMzvzz15\<c-e>"
+ execute "keepjumps normal! `z"
+ Pulse
+endfunction
+nnoremap <c-]> :silent! call JumpToTag()<cr>
+nnoremap <c-\> :silent! call JumpToTagInSplit()<cr>
+" nnoremap <c-\> <c-w>v<c-]>mzzMzvzz15<c-e>`z:Pulse<cr>
" Keep search matches in the middle of the window.
nnoremap n nzzzv
@@ -580,9 +591,8 @@
nnoremap <Space> za
vnoremap <Space> za
-" Make zO recursively open whatever top level fold we're in, no matter where the
-" cursor happens to be.
-nnoremap zO zCzO
+" Make zO recursively open whatever fold we're in, even if it's partially open.
+nnoremap zO zczO
" "Focus" the current line. Basically:
"
@@ -667,6 +677,8 @@
let g:clojure_highlight_extra_defs = [
\ 'defparser',
+ \ 'deftest',
+ \ 'match',
\
\ 'defproject',
\
@@ -941,7 +953,8 @@
" Use <localleader>1/2/3 to add headings.
au Filetype markdown nnoremap <buffer> <localleader>1 yypVr=:redraw<cr>
au Filetype markdown nnoremap <buffer> <localleader>2 yypVr-:redraw<cr>
- au Filetype markdown nnoremap <buffer> <localleader>3 mzI###<space>`zllll <ESC>
+ au Filetype markdown nnoremap <buffer> <localleader>3 mzI###<space><esc>`zllll
+ au Filetype markdown nnoremap <buffer> <localleader>4 mzI####<space><esc>`zlllll
au Filetype markdown nnoremap <buffer> <localleader>p VV:'<,'>!python -m json.tool<cr>
au Filetype markdown vnoremap <buffer> <localleader>p :!python -m json.tool<cr>
@@ -1267,6 +1280,11 @@
vnoremap <leader>H :Gbrowse<cr>
" }}}
+" GnuPG {{{
+
+let g:GPGPreferArmor = 1
+
+" }}}
" Gundo {{{
nnoremap <F5> :GundoToggle<CR>
@@ -1439,7 +1457,9 @@
" Syntastic {{{
let g:syntastic_enable_signs = 1
-let g:syntastic_check_on_open = 1
+let g:syntastic_check_on_open = 0
+let g:syntastic_check_on_wq = 0
+let g:syntastic_auto_jump = 0
let g:syntastic_java_checker = 'javac'
let g:syntastic_mode_map = {
\ "mode": "active",
@@ -2006,18 +2026,13 @@
" Pulse Line {{{
function! s:Pulse() " {{{
- let current_window = winnr()
- windo set nocursorline
- execute current_window . 'wincmd w'
- setlocal cursorline
-
redir => old_hi
silent execute 'hi CursorLine'
redir END
let old_hi = split(old_hi, '\n')[0]
let old_hi = substitute(old_hi, 'xxx', '', '')
- let steps = 9
+ let steps = 8
let width = 1
let start = width
let end = steps * width
--- a/weechat/perl/autoload/colorize_lines.pl Tue Jan 14 17:25:57 2014 -0500
+++ b/weechat/perl/autoload/colorize_lines.pl Tue Jan 14 17:27:49 2014 -0500
@@ -1,5 +1,6 @@
#
-# Copyright (c) 2010-2012 by Nils Görs <weechatter@arcor.de>
+# Copyright (c) 2010-2013 by Nils Görs <weechatter@arcor.de>
+# Copyleft (ɔ) 2013 by oakkitten
#
# colors the channel text with nick color and also highlight the whole line
# colorize_nicks.py script will be supported
@@ -17,9 +18,37 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
-# for settings see help page
-#
+# with version 3.0 some options were renamed or have new possible values:
+# old: new:
+# avail_buffer buffer
+# blacklist_channels blacklist_buffers
+# highlight new values
+
+# obsolete options:
+# buffer_autoset
+# hotlist_max_level_nicks_add
+# highlight_regex
+# highlight_words
+# shuffle
+# chat see option highlight
+
# history:
+# 3.0: large part of script rewritten
+# fix: works nicely with irc colors
+# improved: highlight_regex and highlight_words work in a natural way
+# removed: command /colorize_lines
+# removed: option shuffle
+# 2.2: fix: regex with [tab] in message (patch by sqrrl)
+# 2.1: fix: changing highlight color did not apply messages already displayed (reported by rafi_)
+# 2.0: fix: debugging weechat::print() removed (thanks demure)
+# 1.9: fix: display bug with nick_mode
+# 1.8 add: option "use_irc_colors" (requested by Zertap)
+# fix: empty char for nick_mode was used, even when "irc.look.nick_mode_empty" was OFF (reported by FlashCode)
+# 1.7: fix: broken lines in dcc chat (reported by equatorping)
+# 1.6: improved: wildcard "*" can be used for server and/or nick. (requested by ldvx)
+# : add: new value, "only", for option "own_lines" (read help!)
+# 1.5: sync: option weechat.look.nickmode changed in 0.3.9 to "irc.look.nick_mode"
+# 1.4: fix: whole ctcp message was display in prefix (reported by : Mkaysi)
# 1.3: fix: now using weechat::buffer_get_string() instead of regex to prevent problems with dots inside server-/channelnames (reported by surfhai)
# 1.2: add: hook_modifier("colorize_lines") to use colorize_lines with another script.
# : fix: regex was too greedy and also hit tag "prefix_nick_ccc"
@@ -31,12 +60,12 @@
# : clean up code
# 0.8.1: fix: regex()
# 0.8: added: option "avail_buffer" and "nicks" (please read help-page) (suggested by ldvx)
-# : fix: blacklist_channels wasn't load at start
+# : fix: blacklist_buffers wasn't load at start
# : fix: nick_modes wasn't displayed since v0.7
# : rewrote init() routine
# : thanks to stfn for hint with unescaped variables in regex.
# 0.7: fix: bug when irc.look.nick_suffix was set (reported and beta-testing by: hw2) (>= weechat 0.3.4)
-# blacklist_channels option supports servername
+# blacklist_buffers option supports servername
# clean up code
# 0.6: code optimazations.
# rename of script (rainbow_text.pl -> colorize_lines.pl) (suggested by xt and flashcode)
@@ -55,528 +84,168 @@
#
# Development is currently hosted at
# https://github.com/weechatter/weechat-scripts
-#
-# requirements: sunglasses ;-)
+
+# use Data::Dumper
+# $Data::Dumper::Useqq=1;
use strict;
my $prgname = "colorize_lines";
-my $version = "1.3";
-my $description = "colors text in chat area with according nick color. Highlight messages will be fully highlighted in chat area";
+my $version = "3.0";
+my $description = "colors text in chat area with according nick color, including highlights";
-# default values
-my %default_options = ( "var_highlight" => "on", # script options in weechat
- "var_avail_buffer" => "all", # all, channel, query
- "var_chat" => "on",
- "var_shuffle" => "off",
- "var_buffer_autoset" => "off",
- "var_look_highlight" => "off",
- "var_look_highlight_regex" => "off",
- "var_hotlist_max_level_nicks_add" => "off",
- "var_blacklist_channels" => "",
- "var_nicks" => "",
- "var_own_lines" => "off",
+my %config = ("buffers" => "all", # all, channel, query
+ "blacklist_buffers" => "", # "a,b,c"
+ "lines" => "on",
+ "highlight" => "on", # on, off, nicks
+ "nicks" => "", # "d,e,f", "/file"
+ "own_lines" => "on", # on, off, only
);
-my %help_desc = ( "avail_buffer" => "messages will be colored in buffer (all = all buffers, channel = channel buffers, query = query buffers (default: all ",
- "blacklist_channels" => "comma separated list with channelname. Channels in this list will be ignored. (e.g.: freenode.#weechat,freenode.#weechat-fr)",
- "shuffle" => "toggle shuffle color mode for chats area (default: off)",
- "chat" => "colors text in chat area with according nick color (default: on)",
- "highlight" => "highlight messages will be fully highlighted in chat area (on = whole line will be highlighted, off = only nick will be highlighted, always = a highlight will always color the whole message) (default: on)",
- "hotlist_max_level_nicks_add" => "toggle highlight for hotlist (default: off)",
- "buffer_autoset" => "toggle highlight color in chat area for buffer_autoset (default: off)",
- "look_highlight" => "toggle highlight color in chat area for option weechat.look.highlight (default: off)",
- "look_highlight_regex" => "toggle highlight color in chat area for option weechat.look.highlight_regex (default: off)",
- "nicks" => "comma separated list with nicknames. Only messages from nicks in this list will be colorized. (e.g.: freenode.nils_2,freenode.flashcode,freenode.weebot). You can also give a filename with nicks. The filename has to start with \"/\" (e.g.: /buddylist.txt). The format has to be: one nick each line with <servername>.<nickname>",
- "own_lines" => "colors own written messages (default: off)",
+my %help_desc = ("buffers" => "buffer type affected by the script (all/channel/query, default: all)",
+ "blacklist_buffers" => "comma-separated list of channels to be ignored (e.g. freenode.#weechat,*.#python)",
+ "lines" => "apply nickname color to the non-highlighted lines (off/on/nicks). the latter will limit highlighting to nicknames in option 'nicks'",
+ "highlight" => "apply highlight color to the highlighted lines (off/on/nicks). the latter will limit highlighting to nicknames in option 'nicks'",
+ "nicks" => "comma-separater list of nicks (e.g. freenode.cat,*.dog) OR file name starting with '/' (e.g. /file.txt). in the latter case, nicknames will get loaded from that file inside weechat folder (e.g. from ~/.weechat/file.txt). nicknames in file are newline-separated (e.g. freenode.dog\\n*.cat)",
+ "own_lines" => "apply nickname color to own lines (off/on/only). the latter turns off all other kinds of coloring altogether",
);
-my $zahl = 0;
-my $weechat_version = 0;
-my $nick_mode = "";
-my $get_prefix_action = "";
-my @var_blacklist_channels = "";
-my @nick_list = "";
-
-# standard colours.
-my %colours = ( 0 => "darkgray", 1 => "red", 2 => "lightred", 3 => "green",
- 4 => "lightgreen", 5 => "brown", 6 => "yellow", 7 => "blue",
- 8 => "lightblue", 9 => "magenta", 10 => "lightmagenta", 11 => "cyan",
- 12 => "lightcyan", 13 => "white");
+#################################################################################################### config
# program starts here
sub colorize_cb {
-my ( $data, $modifier, $modifier_data, $string ) = @_;
-
-if (index($modifier_data,"irc_privmsg") == -1){ # its neither a channel nor a query buffer
- return $string;
-}
-
-if ($default_options{var_highlight} eq "off" and $default_options{var_chat} eq "off"){ # all options OFF
- return $string;
-}
-
-# get servername and channelname. Do not use regex to extract server- and channelname out of $modifier_data. You will FAIL!
-# some possible names: freenode.#weechat, freenode.#weechat.de, freenode.query, chat.freenode.net.#weechat, chat.freenode.net.#weechat.de
-$modifier_data =~ (m/(.*);(.*);/);
-my $plugin = $1;
-my $name = $2;
-my $buf_pointer = weechat::buffer_search($plugin,$name);
-return $string if ($buf_pointer eq "");
-my $servername = weechat::buffer_get_string($buf_pointer, "localvar_server");
-my $channel_name = weechat::buffer_get_string($buf_pointer, "localvar_channel");
-
-my $my_nick = weechat::info_get( 'irc_nick', $servername ); # get nick with servername (;freenode.)
-
-if ( grep /^$servername.$channel_name$/, @var_blacklist_channels ) { # check for blacklist_channels
- return $string;
-}
-
-$string =~ m/^(.*)\t(.*)/; # get the nick name: nick[tab]string
-my $nick = $1; # nick with nick_mode and color codes
-my $line = $2; # get written text
-
-$line = weechat::string_remove_color($line,""); # remove color-codes from line, first
-# get the nick name from modifier_data (without nick_mode and color codes! Take care of tag "prefix_nick_ccc")
-$modifier_data =~ m/(^|,)nick_(.*),/;
-my $nick_wo_suffix = $2; # nickname without nick_suffix
-
-if ( lc($nick_wo_suffix) eq lc($my_nick) ){ # this one checks for own messages
- if ( $default_options{var_avail_buffer} ne "all" ){ # check for option avail_buffer
- if ( substr($channel_name, 0, 1) eq "#" ){ # get first chat of buffer.
- return $string if ( $default_options{var_avail_buffer} ne "channel" ); # channel? yes
- }else{ # query buffer?
- return $string if ( $default_options{var_avail_buffer} ne "query" ); # yes
- }
- }
-}
+ my ( $data, $modifier, $modifier_data, $string ) = @_;
-# recreate irc.look.nick_suffix and irc.color.nick_suffix
-my $nick_suffix_with_color = "";
-my $nick_suffix = weechat::config_string( weechat::config_get("irc.look.nick_suffix"));
-if ( $nick_suffix ne "" ){
- my $nick_suffix_color = weechat::color( weechat::config_color( weechat::config_get( "irc.color.nick_suffix" )));
- $nick_suffix_with_color = $nick_suffix_color . $nick_suffix;
-}
-# recreate irc.look.nick_prefix and irc.color.nick_prefix
-my $nick_prefix_with_color = "";
-my $nick_prefix = weechat::config_string( weechat::config_get("irc.look.nick_prefix"));
-if ( $nick_prefix ne "" ){
- my $nick_prefix_color = weechat::color( weechat::config_color( weechat::config_get( "irc.color.nick_prefix" )));
- $nick_prefix_with_color = $nick_prefix_color . $nick_prefix;
-}
-
-# check for action (/me)
-my $prefix_action_with_color = "";
-if (index($modifier_data,"irc_action") >= 0){
- my $prefix_action_color = weechat::color( weechat::config_color( weechat::config_get( "weechat.color.chat_prefix_action" )));
- my $prefix_action = weechat::config_string( weechat::config_get("weechat.look.prefix_action"));
- $prefix_action_with_color = $prefix_action_color . $prefix_action;
-}
-
-# check if look.nickmode is ON and no prefix and no query buffer
-$nick_mode = "";
-if ( weechat::config_boolean(weechat::config_get("weechat.look.nickmode")) == 1 and ($nick ne $get_prefix_action) and (index($modifier_data,"notify_private")) == -1){
-# if ($nick =~ m/^\@|^\%|^\+|^\~|^\*|^\&|^\!|^\-/) { # check for nick modes (@%+~*&!-) without colour
- my $nick_pointer = weechat::nicklist_search_nick($buf_pointer,"",$nick_wo_suffix);
- $nick_mode = weechat::nicklist_nick_get_string($buf_pointer,$nick_pointer,"prefix");
- my $color_mode = weechat::color( weechat::nicklist_nick_get_string($buf_pointer, $nick_pointer, "prefix_color") );
- if ( $nick_mode eq "" or $color_mode eq ""){ # no nick_mode!
- $nick_mode = "";
- }else{ # nick_mode exists
- $nick_mode = $color_mode . $nick_mode;
- }
-}
-
-# i wrote the message
-#weechat::print("","nick_wo: $nick_wo_suffix");
-#weechat::print("","my_nick: $my_nick");
- if ($nick_wo_suffix eq $my_nick ){ # i wrote the message
- return $string if check_whitelist_nicks($servername, $my_nick, $nick_wo_suffix); # check for whitelist
- if ($default_options{var_chat} eq "on"){
- my $nick_color = weechat::config_color(weechat::config_get("weechat.color.chat_nick_self")); # get my nick color
- $nick_color = weechat::color($nick_color);
- $line = colorize_nicks($nick_color,$modifier_data,$line);
-
- if (index($modifier_data,"irc_action") >= 0){ # /me message?
- $nick = $prefix_action_with_color;
- $nick_mode = ""; # clear nick_mode for /me
- }else{
- $nick = $nick_prefix_with_color . $nick_color . $nick_wo_suffix . $nick_suffix_with_color;
- }
- $line = $nick_mode . $nick_color . $nick . "\t" . $nick_color . $line . weechat::color('reset');
- return $line;
- }else{
- return $string;
- }
+ # quit if it's not a privmsg or ctcp
+ # or we are not supposed to
+ if ((index($modifier_data,"irc_privmsg") == -1) ||
+ (index($modifier_data,"irc_ctcp") >= 0)) {
+ return $string;
}
-
-# get nick color
-$nick = $nick_wo_suffix;
-#$nick = weechat::string_remove_color($nick_wo_suffix,""); # remove colour-codes from nick
-my $nick_color = weechat::info_get('irc_nick_color', $nick_wo_suffix); # get nick-colour
-
- my $var_hl_max_level_nicks_add = 0;
-# highlight message received?
- if ( $default_options{var_highlight} eq "on" or $default_options{var_highlight} eq "always" ){# highlight_mode on?
-# this one check for other nick!!
-
- unless ( $default_options{var_highlight} eq "always" ){ # option is not "always"
- return $string if check_whitelist_nicks($servername, $my_nick, $nick_wo_suffix); # check for whitelist
- }
-
- if ( $default_options{var_buffer_autoset} eq "on" || $default_options{var_look_highlight} eq "on" ){# buffer_autoset or look_highlight "on"?
- my $highlight_words = "";
+ # find buffer pointer
+ $modifier_data =~ m/([^;]*);([^;]*);/;
+ my $buffer = weechat::buffer_search($1, $2);
+ return $string if ($buffer eq "");
- # get strings from buffer_autoset and/or weechat.look.highlight and weechat.look.highlight_regex
- if ($default_options{var_buffer_autoset} eq "on"){
- my $highlight_words_add = weechat::config_string(weechat::config_get("buffer_autoset.buffer.irc.".$servername.".".$channel_name.".highlight_words_add"));
- $highlight_words .= $highlight_words_add . ",";
- }
-
- if ($default_options{var_look_highlight} eq "on"){
- my $look_highlight = weechat::config_string( weechat::config_get("weechat.look.highlight") );
- $highlight_words .= $look_highlight;
- }
- if ( $default_options{var_hotlist_max_level_nicks_add} eq "on" and weechat::config_string(weechat::config_get("buffer_autoset.buffer.irc.".$servername.".".$channel_name.".hotlist_max_level_nicks_add")) =~ /$nick\:[0-2]/ ){
- $var_hl_max_level_nicks_add = 1;
- }
-
- $/ = ","; # kill "," at end of string
-
- chomp($highlight_words);
-
-# weechat::print("",$highlight_words);
- foreach ( split( /,+/, $highlight_words ) ) { # check for highlight_words
- if ($_ eq ""){next;} # ignore empty string
- my $search_string = shell2regex($_);
+ # find buffer name, server name
+ # return if buffer is in a blacklist
+ my $buffername = weechat::buffer_get_string($buffer, "name");
+ return $string if weechat::string_has_highlight($buffername, $config{blacklist_buffers});
+ my $servername = weechat::buffer_get_string($buffer, "localvar_server");
- if ($string =~ m/\b$search_string\b/gi){ # i (ignorecase)
- my $color_highlight = weechat::config_color(weechat::config_get("weechat.color.chat_highlight"));
- my $color_highlight_bg = weechat::config_color(weechat::config_get("weechat.color.chat_highlight_bg"));
- my $high_color = weechat::color("$color_highlight,$color_highlight_bg");
- if (index($modifier_data,"irc_action") >= 0){
- $line = colorize_nicks($high_color,$modifier_data,$line);
- $nick = $prefix_action_with_color;
- $line = $high_color . $nick . "\t" . $high_color . $line . weechat::color('reset');
- return $line;
- }
- $line = colorize_nicks($high_color,$modifier_data,$line);
- $line = $nick_mode . $high_color . $nick_prefix_with_color . $nick . $nick_suffix_with_color . "\t" . $high_color . $line . weechat::color('reset');
- return $line;
- }
- }
- }
- # buffer_autoset is off.
- if ( weechat::string_has_highlight($line, $my_nick) >= 1){
-# if (lc($string) =~ m/(\w.*$my_nick.*)/){ # my name called in string (case insensitiv)?
- my $color_highlight = weechat::config_color(weechat::config_get("weechat.color.chat_highlight"));
- my $color_highlight_bg = weechat::config_color(weechat::config_get("weechat.color.chat_highlight_bg"));
-
- my $high_color = weechat::color("$color_highlight,$color_highlight_bg");
+ # find stuff between \t
+ $string =~ m/^([^\t]*)\t(.*)/;
+ my $left = $1;
+ my $right = $2;
- if (index($modifier_data,"irc_action") >= 0){ # action used (/me)?
- $line = colorize_nicks($high_color,$modifier_data,$line);
- $nick = $prefix_action_with_color;
- $line = $high_color . $nick . "\t" . $high_color . $line . weechat::color('reset');
- return $line;
- }
+ # find nick of the sender
+ # find out if we are doing an action
+ my $nick = ($modifier_data =~ m/(^|,)nick_([^,]*)/) ? $2 : weechat::string_remove_color($left, "");
+ my $action = ($modifier_data =~ m/\birc_action\b/) ? 1 : 0;
-# highlight whole line
- if ( $var_hl_max_level_nicks_add eq 0 ){
- $line = colorize_nicks($high_color,$modifier_data,$line);
- $line = $nick_prefix_with_color . $nick_mode . $high_color . $nick . $nick_suffix_with_color . "\t" . $high_color . $line . weechat::color('reset');
- return $line;
- }
- }
- } # highlight area finished
-
-return $string if check_whitelist_nicks($servername, $my_nick, $nick_wo_suffix); # check for whitelist
-# this one check for other nick!!
-if ( $default_options{var_avail_buffer} ne "all" ){ # check for option avail_buffer
- if ( index($modifier_data,"notify_message") > -1){ # message is public
- return $string if ( $default_options{var_avail_buffer} ne "channel" );
- }elsif ( index($modifier_data,"notify_private") > -1){ # message is privat
- return $string if ( $default_options{var_avail_buffer} ne "query" );
- }
-}
+ ######################################## get color
-# simple channel message
- if ($default_options{var_chat} eq "on"){ # chat_mode on?
- if ($default_options{var_shuffle} eq "on"){ # color_shuffle on?
- my $zahl2 = 0;
- my $my_color = weechat::config_color(weechat::config_get("weechat.color.chat_nick_self"));# get my own nick colour
- for (1){ # get a random colour but don't use
- redo if ( $zahl == ($zahl2 = int(rand(14))) or ($colours{$zahl2} eq $my_color) );# latest color nor own nick color
- $zahl = $zahl2;
- }
- $nick_color = weechat::color($colours{$zahl}); # get new random color
- }
-
-# check for weechat version and use weechat.look.highlight_regex option
- if ( $weechat_version eq 1 ){ # weechat is >= 0.3.4?
- if ( $default_options{var_look_highlight_regex} eq "on" ){
- if ( weechat::string_has_highlight_regex($line,weechat::config_string(weechat::config_get("weechat.look.highlight_regex"))) eq 1 ){
- my $color_highlight = weechat::config_color(weechat::config_get("weechat.color.chat_highlight"));
- my $color_highlight_bg = weechat::config_color(weechat::config_get("weechat.color.chat_highlight_bg"));
-
- my $high_color = weechat::color("$color_highlight,$color_highlight_bg");
- $line = colorize_nicks($high_color,$modifier_data,$line);
- $line = $nick_prefix_with_color . $nick_mode . $high_color . $nick . $nick_suffix_with_color . "\t" . $high_color . $line . weechat::color('reset');
- return $line;
- }
- }
- }
- if (index($modifier_data,"irc_action") >= 0){
-# if ($default_options{prefix_action} eq $nick){
- my $nick_color = weechat::info_get('irc_nick_color', $nick_wo_suffix); # get nick-color
- $line = colorize_nicks($nick_color,$modifier_data,$line);
- $nick = $prefix_action_with_color;
- $line = $nick . "\t" . $nick_color . $line . weechat::color('reset');
- return $line;
- }
-
- $line = colorize_nicks($nick_color,$modifier_data,$line);
- $line = $nick_prefix_with_color . $nick_mode . $nick_color . $nick . $nick_suffix_with_color . "\t" . $nick_color . $line . weechat::color('reset'); # create new line nick_color+nick+separator+text
- return $line;
- }else{
- return $string; # return original string
- }
-} # end of sub colorize_cb{}
-
-# whitelist nicks
-sub check_whitelist_nicks{
-my ( $servername, $my_nick, $nick_wo_suffix ) = @_;
- if ( $default_options{var_nicks} ne "" and $default_options{var_own_lines} eq "off" ){ # nicks in option and own_lines = off
- return 1 unless (grep /^\Q$servername.$nick_wo_suffix\E$/i, @nick_list) # check other nicks
- }elsif ( $default_options{var_nicks} ne "" and $default_options{var_own_lines} eq "on" ){ # nicks in option and own_lines = on
- if ( $nick_wo_suffix ne $my_nick){ # not my nick!
- return 1 unless (grep /^\Q$servername.$nick_wo_suffix\E$/i, @nick_list) # check other nicks
- }
- }elsif( $default_options{var_nicks} eq "" and $default_options{var_own_lines} eq "off" ){ # no nicks and do not color my line?
- if ( $nick_wo_suffix eq $my_nick){ # my nick?
- return 1; # yes
- }
- }
-return 0;
-}
-
-# converts shell wildcard characters to regex
-sub shell2regex {
- my $globstr = shift;
- my %patmap = (
- '*' => '.*',
- '?' => '.',
- '[' => '[',
- ']' => ']',
- );
- $globstr =~ s{(.)} { $patmap{$1} || "\Q$1" }ge;
- return $globstr;
-}
-
-# check for colorize_nicks script an set colour before and after nick name
-sub colorize_nicks{
-my ( $nick_color, $mf_data, $line ) = @_;
-
-my $pyth_ptn = weechat::infolist_get("python_script","","colorize_nicks");
-weechat::infolist_next($pyth_ptn);
-
-if ( "colorize_nicks" eq weechat::infolist_string($pyth_ptn,"name") ){ # does colorize_nicks is installed?
- $line = weechat::hook_modifier_exec( "colorize_nicks",$mf_data,$line); # call colorize_nicks function and color the nick(s)
- my @array = "";
- my $color_code_reset = weechat::color('reset');
- @array=split(/$color_code_reset/,$line);
- my $new_line = "";
- foreach (@array){
- $new_line .= $nick_color . $_ . weechat::color('reset');
- }
- $new_line =~ s/\s+$//g; # remove space at end
- $line = $new_line;
-}
-weechat::infolist_free($pyth_ptn);
-
-return $line;
-}
-
-# -----------------------------[ config ]-----------------------------------
-sub init_config{
- foreach my $option ( keys %default_options ){
- $option = substr($option,4,length($option)-4);
- if (!weechat::config_is_set_plugin($option)){
- weechat::config_set_plugin($option, $default_options{"var_" . $option});
- }else{
- $default_options{"var_" . $option} = lc( weechat::config_get_plugin($option) );
+ my $color = "";
+ my $my_nick = weechat::buffer_get_string($buffer, "localvar_nick");
+ if ($my_nick eq $nick) {
+ # it's our own line
+ # process only if own_lines is "on" or "only" (i.e. not "off")
+ return $string if ($config{own_lines} eq "off");
+ $color = weechat::color("chat_nick_self");
+ } else {
+ # it's someone else's line
+ # don't process is own_lines are "only"
+ # in order to get correct matching, remove colors from the string
+ return $string if ($config{own_lines} eq "only");
+ my $right_nocolor = weechat::string_remove_color($right, "");
+ if (weechat::string_has_highlight($right_nocolor, weechat::buffer_string_replace_local_var($buffer, weechat::buffer_get_string($buffer, "highlight_words"))) ||
+ weechat::string_has_highlight($right_nocolor, weechat::config_string(weechat::config_get("weechat.look.highlight"))) ||
+ weechat::string_has_highlight_regex($right_nocolor, weechat::config_string(weechat::config_get("weechat.look.highlight_regex"))) ||
+ weechat::string_has_highlight_regex($right_nocolor, weechat::buffer_get_string($buffer, "highlight_regex"))
+ ) {
+ # we have a hilight! get a hilight color
+ # and replace the first occurance of coloring, that'd be nick color
+ # process only if highlight is "on" OR "nicks" & nick's in nicks
+ return $string if ($config{highlight} eq "off" ||
+ ($config{highlight} eq "nicks" && !weechat::string_has_highlight("$servername.$nick", $config{nicks})));
+ $color = weechat::color('chat_highlight');
+ $right =~ s/\31[^\31 ]+?\Q$nick/$color$nick/ if ($action);
+ } else {
+ # that's not a highlight
+ # process only if lines is "on" OR "nicks" & nick's in nicks
+ return $string if ($config{lines} eq "off" ||
+ ($config{lines} eq "nicks" && !weechat::string_has_highlight("$servername.$nick", $config{nicks})));
+ $color = weechat::info_get('irc_nick_color', $nick);
}
}
- if ( ($weechat_version ne "") && (weechat::info_get("version_number", "") >= 0x00030500) ) { # v0.3.5
- description_options();
- }
+ ######################################## inject colors and go!
- if ( $default_options{"var_blacklist_channels"} ne "" ){
- @var_blacklist_channels = "";
- @var_blacklist_channels = split( /,/, $default_options{"var_blacklist_channels"} );
- }
- if ( $default_options{var_nicks} ne "" ){
- undef (@nick_list);
- if ( substr($default_options{var_nicks}, 0, 1) eq "/" ){ # get first chat of nicks "/" ?
- nicklist_read(); # read nicks from file
- }else{
- @nick_list = split( /,/, $default_options{var_nicks} ); # use nicks from option
- }
- }
-
-}
-
-sub toggle_config_by_set{
-my ( $pointer, $name, $value ) = @_;
- $name = substr($name,length("plugins.var.perl.$prgname."),length($name));
- $default_options{"var_" . $name} = lc($value);
-
- if ( $name eq "blacklist_channels" ){
- @var_blacklist_channels = "";
- @var_blacklist_channels = split( /,/, $default_options{"var_" . $name} );
+ my $out = "";
+ if ($action) {
+ # remove the first color reset - after * nick
+ # make other resets reset to our color
+ $right =~ s/\34//;
+ $right =~ s/\34/\34$color/g;
+ $out = $left . "\t" . $right . "\34"
+ } else {
+ # make other resets reset to our color
+ $right =~ s/\34/\34$color/g;
+ $out = $left . "\t" . $color . $right . "\34"
}
- if ( $name eq "nicks" ){
- undef (@nick_list);
- if ( $default_options{"var_".$name} eq "" ){ # no nicks given
- undef (@nick_list);
-# count_nicks();
- }elsif ( substr($default_options{var_nicks}, 0, 1) eq "/" ){ # get first chat of nicks "/" ?
- nicklist_read(); # read nicks from file
-# count_nicks();
- }else{
- @nick_list = split( /,/, $default_options{"var_" . $name} );
-# count_nicks();
- }
- }
-
-$default_options{var_avail_buffer} = "all" if ( $default_options{var_avail_buffer} eq "" );
-
-return weechat::WEECHAT_RC_OK ;
-}
-
-# create description options for script...
-sub description_options{
- foreach my $option ( keys %help_desc ){
- weechat::config_set_desc_plugin( $option,$help_desc{$option} );
- }
-}
-
-# toggle functions on/off with command line
-sub change_settings{
-my $getarg = lc($_[2]); # switch to lower-case
-
- foreach my $option ( keys %default_options ){
- $option = substr($option,4,length($option)-4); # remove "var_" from option
- if ( $getarg eq $option ){
- if ( $default_options{"var_" . $option} eq "on" ){
- weechat::config_set_plugin( $option, "off" );
- }else{
- weechat::config_set_plugin( $option, "on" );
- }
- }
- }
-return weechat::WEECHAT_RC_OK;
+ #weechat::print("", ""); weechat::print("", "\$str " . Dumper($string)); weechat::print("", "\$out " . Dumper($out));
+ return $out;
}
+#################################################################################################### config
+
+# read nicknames if $conf{nisks} starts with /
+# after this, $conf{nisks} is of form a,b,c,d
+# if it doesnt start with /, assume it's already a,b,c,d
sub nicklist_read {
- undef (@nick_list);
- my $weechat_dir = weechat::info_get( "weechat_dir", "" );
- my $nicklist = weechat::config_get_plugin("nicks");
- $nicklist = $weechat_dir.$nicklist;
- $default_options{var_nicks} = "" unless -e $nicklist;
- return unless -e $nicklist;
- open (WL, "<", $nicklist) || DEBUG("$nicklist: $!");
- while (<WL>) {
- chomp; # kill LF
- my ( $servername, $nickname ) = split /\./; # servername,nickname (seperator could be "," or ".")
- if (not defined $nickname){
- close WL;
- weechat::print("",weechat::prefix("error")."$prgname: $nicklist is not valid format (<servername>.<nickname>).");
- return;
- }
- push @nick_list,($servername.".".$nickname."," ); # servername.nickname+","
- }
- close WL;
- chop @nick_list; # remove last ","
+ return if (substr($config{nicks}, 0, 1) ne "/");
+ my $file = weechat::info_get("weechat_dir", "") . $config{nicks};
+ return unless -e $file;
+ my $nili = "";
+ open (WL, "<", $file) || DEBUG("$file: $!");
+ while (<WL>) {
+ chomp; # kill LF
+ $nili .= $_ . ",";
+ }
+ close WL;
+ chop $nili; # remove last ","
+ $config{nicks} = $nili;
}
-# debug....
-sub count_nicks{
- my $anzahl=@nick_list;
- weechat::print("","anzahl: $anzahl");
-
- foreach (@nick_list){
- weechat::print ("","$_");
- }
+# called when a config option ha been changed
+# $name = plugins.var.perl.$prgname.nicks etc
+sub toggle_config_by_set {
+ my ($pointer, $name, $value) = @_;
+ $name = substr($name,length("plugins.var.perl.$prgname."),length($name));
+ $config{$name} = lc($value);
+ nicklist_read() if ($name eq "nicks");
}
-# -------------------------------[ init ]-------------------------------------
-# first function called by a WeeChat-script.
-weechat::register($prgname, "Nils Görs <weechatter\@arcor.de>", $version,
- "GPL3", $description, "", "");
-# check weechat version
- $weechat_version = weechat::info_get("version_number", "");
- if (( $weechat_version eq "" ) or ( $weechat_version < 0x00030400 )){
- weechat::print("",weechat::prefix("error")."$prgname: needs WeeChat >= 0.3.4. Please upgrade: http://www.weechat.org/");
- weechat::command("","/wait 1ms /perl unload $prgname");
- }
-
-init_config();
-
-
-$get_prefix_action = weechat::config_string(weechat::config_get("weechat.look.prefix_action"));
-weechat::hook_modifier("weechat_print","colorize_cb", "");
-weechat::hook_modifier("colorize_lines","colorize_cb", "");
-
- if (( $weechat_version ne "" ) && ( $weechat_version >= 0x00030400 )){ # v0.3.4?
- $weechat_version = 1; # yes!
-
- # read nick colours if exists (>= weechat 0.3.4) in %colours
- my $colours_buf = weechat::config_string(weechat::config_get("weechat.color.chat_nick_colors"));
- if ( $colours_buf ne "" ) {
- my @array = split(/,/,$colours_buf);
- my $i = 0;
- foreach (@array){
- $colours{$i++} = $_;
+# read configuration from weechat OR
+# set default options and
+# set dectription if weechat >= 0.3.5
+# after done, read nicklist from file if needed
+sub init_config {
+ my $weechat_version = weechat::info_get('version_number', '') || 0;
+ foreach my $option (keys %config){
+ if (!weechat::config_is_set_plugin($option)) {
+ weechat::config_set_plugin($option, $config{$option});
+ weechat::config_set_desc_plugin($option, $help_desc{$option}) if ($weechat_version >= 0x00030500); # v0.3.5
+ } else {
+ $config{$option} = lc(weechat::config_get_plugin($option));
}
- undef $colours_buf;
- undef @array;
}
- }
-
-weechat::hook_command($prgname, $description,
-
- "<highlight> || <chat> || <shuffle> || <autoset> || <look_highlight> || <look_highlight_regex> || <hotlist> || <own_lines>",
+ nicklist_read();
+}
- "<highlight> toggle highlight color in chat area (on/off)\n".
- "<chat> colors the text in chat area with according nick color (on/off)\n".
- "<shuffle> toggle shuffle color mode on/off\n".
- "<autoset> toggle highlight color mode for buffer_autoset on/off\n".
- "<look_highlight> toggle highlight color mode for weechat.look.highlight on/off\n".
- "<look_highlight_regex> toggle highlight color in chat area for option weechat.look.highlight_regex on/off\n".
- "<hotlist> toggle hotlist_max_level_nicks_add on/off\n".
- "<own_lines> toggle coloring of own lines on/off\n".
- "\n".
- "Options (script):\n".
- " 'plugins.var.perl.$prgname.highlight' : $help_desc{highlight}\n".
- " 'plugins.var.perl.$prgname.hotlist_max_level_nicks_add' : $help_desc{hotlist_max_level_nicks_add}\n".
- " 'plugins.var.perl.$prgname.buffer_autoset' : $help_desc{buffer_autoset}\n".
- " 'plugins.var.perl.$prgname.look_highlight' : $help_desc{look_highlight}\n".
- " 'plugins.var.perl.$prgname.look_highlight_regex' : $help_desc{look_highlight_regex}\n".
- " 'plugins.var.perl.$prgname.chat' : $help_desc{chat}\n".
- " 'plugins.var.perl.$prgname.shuffle' : $help_desc{shuffle}\n".
- " 'plugins.var.perl.$prgname.blacklist_channels' : $help_desc{blacklist_channels}\n".
- " 'plugins.var.perl.$prgname.avail_buffer' : $help_desc{avail_buffer}\n".
- " 'plugins.var.perl.$prgname.nicks' : $help_desc{nicks}\n".
- " 'plugins.var.perl.$prgname.own_lines' : $help_desc{own_lines}\n".
- "\n".
- "Options (global):\n".
- " 'weechat.color.chat_highlight' : highlight color\n".
- " 'weechat.color.chat_highlight_bg' : highlight background color\n".
- " 'weechat.color.chat_nick*' : colors for nicks\n\n".
- "To use options \"buffer_autoset\" and/or \"hotlist_max_level_nicks_add\" install buffer_autoset script from: http://www.weechat.org/scripts/\n",
- "highlight|chat|shuffle|autoset|look_highlight|look_highlight_regex|hotlist|own_lines %-", "change_settings", "");
+#################################################################################################### start
-weechat::hook_config( "plugins.var.perl.$prgname.*", "toggle_config_by_set", "" );
+weechat::register($prgname, "Nils Görs <weechatter\@arcor.de>", $version, "GPL3", $description, "", "");
+weechat::hook_modifier("500|weechat_print","colorize_cb", "");
+init_config();
+weechat::hook_config("plugins.var.perl.$prgname.*", "toggle_config_by_set", "");
--- a/weechat/plugins.conf Tue Jan 14 17:25:57 2014 -0500
+++ b/weechat/plugins.conf Tue Jan 14 17:27:49 2014 -0500
@@ -29,11 +29,14 @@
perl.buffers.sort = "number"
perl.check_license = "on"
perl.colorize_lines.avail_buffer = "all"
+perl.colorize_lines.blacklist_buffers = ""
perl.colorize_lines.blacklist_channels = ""
perl.colorize_lines.buffer_autoset = "off"
+perl.colorize_lines.buffers = "all"
perl.colorize_lines.chat = "off"
perl.colorize_lines.highlight = "on"
perl.colorize_lines.hotlist_max_level_nicks_add = "off"
+perl.colorize_lines.lines = "off"
perl.colorize_lines.look_highlight = "on"
perl.colorize_lines.look_highlight_regex = "on"
perl.colorize_lines.nicks = ""
@@ -61,8 +64,10 @@
[desc]
perl.colorize_lines.avail_buffer = "messages will be colored in buffer (all = all buffers, channel = channel buffers, query = query buffers (default: all "
+perl.colorize_lines.blacklist_buffers = "comma-separated list of channels to be ignored (e.g. freenode.#weechat,*.#python)"
perl.colorize_lines.blacklist_channels = "comma separated list with channelname. Channels in this list will be ignored. (e.g.: freenode.#weechat,freenode.#weechat-fr)"
perl.colorize_lines.buffer_autoset = "toggle highlight color in chat area for buffer_autoset (default: off)"
+perl.colorize_lines.buffers = "buffer type affected by the script (all/channel/query, default: all)"
perl.colorize_lines.chat = "colors text in chat area with according nick color (default: on)"
perl.colorize_lines.highlight = "highlight messages will be fully highlighted in chat area (on = whole line will be highlighted, off = only nick will be highlighted, always = a highlight will always color the whole message) (default: on)"
perl.colorize_lines.hotlist_max_level_nicks_add = "toggle highlight for hotlist (default: off)"
--- a/weechat/weechat.conf Tue Jan 14 17:25:57 2014 -0500
+++ b/weechat/weechat.conf Tue Jan 14 17:27:49 2014 -0500
@@ -32,8 +32,8 @@
day_change = on
day_change_time_format = "%a, %d %b %Y"
eat_newline_glitch = off
-highlight = "sjl"
-highlight_regex = "(sjl|^all[,:]|backend(ia)?[^/]|slosh|slj|clojerks|red[- ]tape|c2c|arroway|[mM]oney ?[dD]rop)"
+highlight = "sjl,slosh,slj,clojerks,c2c,arroway,ingester"
+highlight_regex = "(^all[,:]|backend(ia)?[^/]|red[- ]tape|[mM]oney ?[dD]rop)"
highlight_tags = ""
hotlist_add_buffer_if_away = on
hotlist_buffer_separator = ", "
@@ -270,7 +270,7 @@
ctrl-Co = "/input insert \x0F"
ctrl-Cr = "/input insert \x12"
ctrl-Cu = "/input insert \x15"
-ctrl-D = "/input delete_next_char"
+ctrl-D = "/buffer close"
ctrl-E = "/input move_end_of_line"
ctrl-F = "/input move_next_char"
ctrl-H = "/input delete_previous_char"