# HG changeset patch # User Heiko Schlittermann (JUMPER) # Date 1378030243 -7200 # Node ID 9441d280d8638cf3cecb9d7bd5cb082634e4bd3d # Parent f99780d966f75c4bada95636332baf7f4b0b24b9 written install script diff -r f99780d966f7 -r 9441d280d863 .vim/view/~=+public_html=+osten-ui=+Pages=+Evn.pm= --- a/.vim/view/~=+public_html=+osten-ui=+Pages=+Evn.pm= Sun Sep 01 11:14:49 2013 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,84 +0,0 @@ -let s:so_save = &so | let s:siso_save = &siso | set so=0 siso=0 -argglobal -setlocal autoindent -setlocal autoread -setlocal nobinary -setlocal bufhidden= -setlocal buflisted -setlocal buftype= -setlocal nocindent -setlocal cinkeys=0{,0},0),:,0#,!^F,o,O,e -setlocal cinoptions= -setlocal cinwords=if,else,while,do,for,switch -setlocal comments=b:# -setlocal commentstring=/*%s*/ -setlocal complete=.,w,b,u,t,i -setlocal define=[^A-Za-z_] -setlocal dictionary= -setlocal nodiff -setlocal equalprg= -setlocal errorformat= -setlocal noexpandtab -if &filetype != 'perl' -setlocal filetype=perl -endif -setlocal foldcolumn=0 -setlocal foldenable -setlocal foldexpr=0 -setlocal foldignore=# -setlocal foldlevel=0 -setlocal foldmarker={{{,}}} -setlocal foldmethod=indent -setlocal foldminlines=1 -setlocal foldnestmax=20 -setlocal foldtext=foldtext() -setlocal formatoptions=crqol -setlocal grepprg= -setlocal iminsert=0 -setlocal imsearch=0 -setlocal include=\\<\\(use|require\\)\\s* -setlocal includeexpr=substitute(substitute(v:fname,'::','/','g'),'$','.pm','') -setlocal indentexpr= -setlocal indentkeys=0{,0},:,0#,!^F,o,O,e -setlocal noinfercase -setlocal iskeyword=48-57,_,A-Z,a-z,: -setlocal keymap= -setlocal nolinebreak -setlocal nolisp -setlocal nolist -setlocal makeprg= -setlocal matchpairs=(:),{:},[:] -setlocal modeline -setlocal modifiable -setlocal nrformats=octal,hex -setlocal nonumber -setlocal path=/usr/local/lib/perl/5.6.1,/usr/local/share/perl/5.6.1,/usr/lib/perl5,/usr/share/perl5,/usr/lib/perl/5.6.1,/usr/share/perl/5.6.1,/usr/local/lib/site_perl/i386-linux,/usr/local/lib/site_perl,, -setlocal nopreviewwindow -setlocal noreadonly -setlocal noscrollbind -setlocal shiftwidth=4 -setlocal noshortname -setlocal smartindent -setlocal softtabstop=4 -setlocal suffixesadd= -setlocal swapfile -if &syntax != '' -setlocal syntax= -endif -setlocal tabstop=8 -setlocal tags= -setlocal textwidth=72 -setlocal thesaurus= -setlocal wrap -setlocal wrapmargin=0 -23 -normal zo -23 -normal zo -let s:l = 34 - ((25 * winheight(0) + 11) / 22) -if s:l < 1 | let s:l = 1 | endif -exe s:l -normal zt -34 -normal 0 -let &so = s:so_save | let &siso = s:siso_save diff -r f99780d966f7 -r 9441d280d863 install --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/install Sun Sep 01 12:10:43 2013 +0200 @@ -0,0 +1,39 @@ +#! /usr/bin/perl + +use 5.012; +use warnings; +use File::Basename; +use File::Spec::Functions qw(catfile rel2abs abs2rel canonpath); +use Sys::Hostname; +use autodie; + +# list of files/dirs to exclude +my @exclude = map { qr/$_/ } qw( + ^\.\.?$ + ^\.hg$ +), basename $0; + +foreach my $this (grep { not $_ ~~ @exclude } glob('.*')) { + + my $link = catfile $ENV{HOME}, $this; + + given ($link) { + when (not -e) { + { no autodie; unlink $link } # may be necessary if it's a broken symlink + symlink abs2rel($this, $ENV{HOME}) => $link; + say "$link linked"; + next; + } + when(not -l) { + warn "$link is not a link, skipping\n"; + next; + } + when(-l) { + my $dst = rel2abs(readlink, $ENV{HOME}); + next if $dst eq rel2abs($this); + warn "$link is a link to $dst, skipping\n"; + next; + } + default { ... } + } +}