From cebd1ac3d8fcb2a2f1c1d8040d6464d1d8eebbc4 Mon Sep 17 00:00:00 2001 From: Nicolas Boisselier Date: Tue, 5 Dec 2017 03:08:44 +0000 Subject: [PATCH] move to nico.git --- etc/vim/.vimplaterc | 75 -------------- etc/vim/HTML.zip | Bin 48865 -> 0 bytes etc/vim/checkscript.sh | 55 ---------- etc/vim/checkspell.sh | 28 ----- etc/vim/choosesig.pl | 134 ------------------------ etc/vim/source/functions.vim | 35 ------- etc/vim/source/map.vim | 44 -------- etc/vim/templates/bash.tt | 101 ------------------ etc/vim/templates/bashf.tt | 11 -- etc/vim/templates/css.tt | 5 - etc/vim/templates/daemon.tt | 63 ------------ etc/vim/templates/html.tt | 23 ----- etc/vim/templates/perl.tt | 177 -------------------------------- etc/vim/templates/php.tt | 29 ------ etc/vim/templates/phpf.tt | 11 -- etc/vim/templates/puppet.tt | 81 --------------- etc/vim/templates/sh.tt | 1 - etc/vim/templates/sql.tt | 12 --- etc/vim/templates/template.html | 13 --- etc/vim/vim-template-0.3.0.zip | Bin 9503 -> 0 bytes 20 files changed, 898 deletions(-) delete mode 100755 etc/vim/.vimplaterc delete mode 100644 etc/vim/HTML.zip delete mode 100755 etc/vim/checkscript.sh delete mode 100755 etc/vim/checkspell.sh delete mode 100755 etc/vim/choosesig.pl delete mode 100644 etc/vim/templates/bash.tt delete mode 100644 etc/vim/templates/bashf.tt delete mode 100644 etc/vim/templates/css.tt delete mode 100644 etc/vim/templates/daemon.tt delete mode 100644 etc/vim/templates/html.tt delete mode 100755 etc/vim/templates/perl.tt delete mode 100644 etc/vim/templates/php.tt delete mode 100644 etc/vim/templates/phpf.tt delete mode 100644 etc/vim/templates/puppet.tt delete mode 120000 etc/vim/templates/sh.tt delete mode 100644 etc/vim/templates/sql.tt delete mode 100644 etc/vim/templates/template.html delete mode 100755 etc/vim/vim-template-0.3.0.zip diff --git a/etc/vim/.vimplaterc b/etc/vim/.vimplaterc deleted file mode 100755 index 0046460a..00000000 --- a/etc/vim/.vimplaterc +++ /dev/null @@ -1,75 +0,0 @@ -# This is an example configuration. -# please see: http://napali.ch/vimplate - -# you can use $Config::opt instead command options: -# -user= -dir= -#warn @ARGV; -use POSIX; -use File::Basename; - -sub filename { - my $f = $ENV{VIMFILE}; - $f = join(' ',@ARGV) if @ARGV and !$f; - #return join(' ',@ARGV) if @ARGV and !$f; - return $f unless $f; - - my $root; - - $f =~ s,^$root,\~izideal, if $root = $ENV{IZI_ROOT_DIR}; - $f =~ s,^$root/?,, if $root = $ENV{NB_ROOT}; - - $f =~ s,^$root/,, if $root = $ENV{HOME}; - - return $f; -} - -$file = filename() || '?'; - -$Config::var = { -#yourArray => [ 'Perl', 'C', 'C++' ], - time => sub{ time }, - programname => 'nico', - today => POSIX::strftime("%d.%m.%y", localtime), - year => POSIX::strftime("%Y", localtime), - filename => $file, - basename => basename($file), -}; - -$Config::opt = { - #dir => ($ENV{VIMHOME} || $ENV{HOME}).'/.vim/templates', - dir => $ENV{HOME}.'/.vim/templates', - user => 'nico', -}; - -$Config::opt{dir} = $ENV{VIMHOME} . '/templates' if $ENV{VIMHOME}; - - -# we need $Config::user with the option -user= -$Config::user = { - nico => { - me => 'NB', - firstname => 'Nicolas', - lastname => 'Boisselier', - mail => 'nicolas.boisselier@gmail.com', - }, -}; - -for (keys %$Config::user) { - my %h = %{$Config::user->{$_}}; - - $h{name} = $h{firstname}.' '.$h{lastname}; - $h{author} = $h{name}.' <'.$h{mail}.'>'; - - $h{me_now} = $h{me}.' '.$Config::var->{today}; - - $h{copyright} = "(C) ".$Config::var->{year}." ".$h{name}; - - $h{copyright_laius} = "Copyright $h{copyright} - -This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - -See ."; - - $Config::user->{$_} = \%h; -}; -1; diff --git a/etc/vim/HTML.zip b/etc/vim/HTML.zip deleted file mode 100644 index 8086411439c87808c1437939f33949a23031d71d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48865 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 CihLXZ diff --git a/etc/vim/checkscript.sh b/etc/vim/checkscript.sh deleted file mode 100755 index 0326b84d..00000000 --- a/etc/vim/checkscript.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash -f=$1 - -if [ -z "$f" ]; then - echo -e "Usage: $0 FILE\nCheck syntaxe of a document"; - exit -1; -fi - -ext=`echo $f|sed 's/^.*\.\(.*\)$/\1/'` -php="php5 --define error_reporting=22519 --define display_errors=1 --define log_errors=1 --define html_errors=1" # E_ALL & ~E_NOTICE & ~E_DEPRECATED -#php="php5 --define error_reporting=8192 --define display_errors=1" # E_ALL & ~E_NOTICE & E_DEPRECATED -#php="php5 "; -case "$ext" in - pp) exec puppet parser validate $f;; - pm|pl) exec perl -w -c $f;; - htm|html|xhtm) exec xmllint --noout --html $f;; - xml|sgml) exec xmllint --noout $f;; - php|inc) - exec $php -f $f - ;; -esac -case "$f" in - *named.conf) exec /usr/sbin/named-checkconf $f;; - *httpd2*) - httpd=`which httpd2 2>/dev/null`; - [ -z $httpd ] && httpd=`which apache2 2>/dev/null`; - exec $httpd -d `dirname $f` -t -f `basename $f`; - ;; - *httpd[\.-]*) - httpd=`which httpd 2>/dev/null`; - [ -z $httpd ] && httpd=`which apache 2>/dev/null`; - [ -z $httpd ] && httpd=`which httpd2 2>/dev/null`; - exec $httpd -d `dirname $f` -t -f `basename $f`; - ;; -esac - -head=`head -c 100 $f` -case "$head" in - \#!*/perl*)exec perl -w -c $f;; -esac; - -file=`file $f` -case "$file" in - *XML*document*) exec xmllint --noout $f;; - *SGML*document*) exec xmllint --noout $f;; - *HTML*document*) exec xmllint --noout --html $f;; - *perl*executable*)exec perl -w -c $f;; - *perl*modules*) exec perl -w -c $f;; - *[pP][hH][pP]*script*) exec $php -f $f;; - *[Bb]ourne*shell*script*) exec sh -x $f;; - *bash*executable*) exec sh -x $f;; -esac; - -echo "Nothing to do with this file: $file: $ext!" -exit 1 diff --git a/etc/vim/checkspell.sh b/etc/vim/checkspell.sh deleted file mode 100755 index c4c3d2e1..00000000 --- a/etc/vim/checkspell.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash -# NB 12.03.04 nicolasboisselier@free.fr - -if [ -z "$@" ]; then - echo -e "Usage: $0 FILES\nVerifie l'orthographe d'un document." - exit -1; -fi - -while [ "$1" ]; do - file=`file $1` - cmd="" - case "$file" in - *XML*document*) cmd="aspell -c --dont-backup --mode=sgml";; - *HTML*document*) cmd="aspell -c --dont-backup --mode=sgml";; - *SGML*document*) cmd="aspell -c --dont-backup --mode=sgml";; - *ASCII*mail*) cmd="aspell -c --dont-backup --mode=email";; - *text*) cmd="aspell -c --dont-backup";; - esac; - - if [ "$cmd" ]; then - $cmd $1 - else - echo "Rien à faire avec ce type de fichier: $file: $ext!" - fi - shift -done - -exit diff --git a/etc/vim/choosesig.pl b/etc/vim/choosesig.pl deleted file mode 100755 index 1ae52014..00000000 --- a/etc/vim/choosesig.pl +++ /dev/null @@ -1,134 +0,0 @@ -#!/usr/bin/perl -############################################################################## -# -# NB 09.10.03 -# -# script pour macro mutt: choisie un template dans ~/.signature pour changer -# l'envoyeur d'un mail -# -############################################################################## -use strict qw (subs vars refs); - -my $file = shift @ARGV; -my $dir = $ENV{HOME} . "/.signatures"; - -opendir(D,$dir) || die "$dir: $!"; - -my @sig = sort grep(!/^\./,readdir(D)); -close D; - -my $i = -1; -print "Choissisez une signature:\n",map { $i++; "[$i] $_\n" } @sig; - -$i = "Z"; -$i = <>; -exit if !defined($i) or $i eq "" or $i !~ /^\d+$/ or $i>=scalar(@sig); - -my $f = "$dir/$sig[$i]"; - -# on charge la signature -open(F,$f) || die "$f: $!"; -my $sig = join('',); -close F; - -# on extrait l'email de la signature -$sig =~ s/^From\s*:\s*(.*?)\s*[\r\n]//; -my $me = $1 || ""; -my $from = $me; $from =~ s/^.*<(.*?)>.*$/$1/; -$sig = "-- \n$sig" unless $sig =~ /^--\s*\n/; - -# NB 22.10.06 -#my @allmail; -#for (@sig) { -# $_ = "$dir/$_"; -# open(F,$_) or die "$_: $!"; -# $_ = ; -# s/\s+$//; -# if (/^From\s*:\s*(.*?)\s*$/) { -# $_ = $1 and push(@allmail,$_); -# s/^.*<(.*?)>.*$/$1/ and push(@allmail,$_); -# s/['"]/$1/g and push(@allmail,$_); -# } -# close F; -#} -#die @allmail; - -# lecture du mail -my (@mail,$mail); -#my $lsig = 0; -open(F,$file) || die "$file: $!"; -$i = 0; - -while ($mail = ) { - - unless ($i) { - - # on est dans l'entete - if ($mail =~ /^\s$/) { - # fin de l'entete - $i = 1; - next; - } - - $mail =~ /^Cc\s*:/ and $mail =~ s/[^,:]*$from[^,:]*//g; - if ($mail =~ /^From\s*:/) { $i=2; next; } - - } - - # NB 04.11.03 on supprime toutes les signatures dans l'email - if (1 and $mail =~ /^[> ]*--+\s*$/) { - $mail = while ($mail !~ /^[> ]*\s*$/); - next; - } - - #$lsig = $. if $mail =~ /^--\s*$/; # signature trouve - # NB 14.10.06 destinataire vide ???? - $mail =~ /^(From|Cc|Bcc|To)\s*:/ - and $mail =~ s/"" <>,?//g - and $mail =~ /^\s*$/ and next; - $mail = &sup_me($me,$mail); - - push(@mail,$mail); -} -close F; - -# on supprime la derniere ligne si vide -pop(@mail) if $mail[$#mail||0] =~ /^\s*$/; - -# noise -@mail = grep { !/^(From|To|Cc): (['"]([^'"<>]+)?['"] )<>\s*$/ } @mail; - -open(F,">$file") || die "$file: $!"; -$_ = join('',@mail); - -s/(To: .*?)\nCc: +(contact|admin)\@izideal.com/$1\nCc: izideal/; - -print F "From: $me\n",$_,"\n$sig"; - -close F; - -sub sup_me { -#------------------------------------------------------------------------------ -# NB 16.06.05 -#------------------------------------------------------------------------------ -my ($me,$mail,$simple) = @_; -#warn $me; - #$mail =~ s/[^:,;]*$me\s*[:,;]?//gi; return $mail; - $mail =~ s/, *$me//gi; - $mail =~ s/$me *,//gi; - $mail =~ s/ *$me *//gi; -# $mail =~ s/ *$me//gi; -# $mail =~ s/$me *//gi; -return $mail if $simple; - $me =~ s/"/'/g; - $mail = &sup_me($me,$mail,1); - $me =~ s/["']//g; - $mail = &sup_me($me,$mail,1); -#return $mail; - $me =~ s/^.*<([^>]+)>.*$/$1/g; -# print "$me\n"; - $mail = &sup_me($me,$mail,1); -return $mail -} - -exit; diff --git a/etc/vim/source/functions.vim b/etc/vim/source/functions.vim index a7ec4685..635410ac 100644 --- a/etc/vim/source/functions.vim +++ b/etc/vim/source/functions.vim @@ -4,12 +4,6 @@ " See: http://learnvimscriptthehardway.stevelosh.com/chapters/27.html " """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -let $VIMPLATE_DIR = $VIMHOME . '/templates' - -let $VIMPLATERC = $VIMHOME . '/.vimplaterc' - -" We change HOME beacuse vimplate look for HOME/.vimplaterc -let $VIMPLATE = 'env HOME=' . $VIMHOME . ' vimplate' . ' -config '.$VIMPLATERC . ' -dir '.$VIMPLATE_DIR au VimLeave * if filereadable($VIMHOME."/.netrwhist")|call delete($VIMHOME."/.netrwhist")|endif """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" @@ -17,35 +11,6 @@ au VimLeave * if filereadable($VIMHOME."/.netrwhist")|call delete($VIMHOME."/.ne """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" let File = { 'type' : '' } -func! FileVimplate() - let $VIMFILE = FileGet('path') - - setloc paste - setloc nomore - setloc textwidth=0 - - let ftype = FileGet('type') - if $VIMFILE =~ 'init\.d' - let ftype = 'daemon' - endif - - let fname = ftype.'.tt' - - let ffind = findfile(fname,$VIMPLATE_DIR) - if ffind == '' - " if ffind != $VIMPLATE_DIR . '/' . fname - echo "FileVimplate(): Can't find ". $VIMPLATE_DIR . '/' . fname.' <> "' . ffind . '" !' - return - endif - - let cmd = $VIMPLATE . ' -template '.ftype - - let bashenv = $BASH_ENV - let $BASH_ENV = "" - execute "r!" . cmd - let $BASH_ENV = bashenv - -endfunc let $FileInit = '' func! FileInit(...) diff --git a/etc/vim/source/map.vim b/etc/vim/source/map.vim index d440e1d7..0cfaf495 100644 --- a/etc/vim/source/map.vim +++ b/etc/vim/source/map.vim @@ -18,47 +18,3 @@ map :bn map :bp -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" -" Shortcuts -" -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" F1 - Last Cmd -map :! - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" F2 - Script, formated text verification -map :call FileCheck() - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" F3 - Choose email signature -map :update :!~/.vim/choosesig.pl % :e - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" F4 - Check spell -map :update :!~/.vim/checkspell.sh %:e - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" F5 - Comment -map o=FileGet('c').' '.FileGet('me_now').': foo '.FileGet('cEnd')?foocw -" NB 19.09.16 - -" NB 18.04.13 -" vmap :s/^/\=VimShortcurtsAuto('comment_line_toggle').' '/ -" vmap :call NERDComment(1, "invert") -vmap :call FileCommentToggle() - - -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" F6 - Prog Function Create -map o=VimShortcurtsAuto('function_new')?foocw - -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" F7 - Prog Create -map :call FileVimplate() -" map O=FileVimplate() - -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" - Prog Create -" map :call VimShortcurtsInteractive() -" vmap :call VimShortcurtsInteractive() diff --git a/etc/vim/templates/bash.tt b/etc/vim/templates/bash.tt deleted file mode 100644 index f0aff950..00000000 --- a/etc/vim/templates/bash.tt +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/bin/env bash -################################################################################# -# -# [% user.me_now %] - [% user.copyright %] -# [% var.filename %] -# -################################################################################# - -#set -o errexit -#set -o nounset -#set -o pipefail -#set -o xtrace -# disable shell expansion so * is passed to each command -#set -f -#declare -r NAME="${0##*/}" - -#set -e -declare -r NAME="$(basename "${0}")" -declare -r DIR_NAME="$(cd "$(dirname "${0}")"; echo $(pwd))" -declare -r FILE_NAME="${DIR_NAME}/${NAME}" - -################################################################################ -# -# Default value options -# -################################################################################# -VERBOSE=0 -DEBUG=0 - -################################################################################ -# -# Functions -# -################################################################################# -usage() { -echo " -=head1 NAME - -${NAME} - -=head1 SYNOPSIS - -Example shell script with embedded POD documentation - - -v, --verbose Print verbose mode - -d, --debug Print debug messages - -h, --help Print this help (alternatives: --man, --help2man) - -=head1 DESCRIPTION - -Long description - -=head1 SEE ALSO - -http://blog.nbdom.net/ - -=head1 LICENSE - -[% user.copyright_laius %] - -=head1 AUTHOR - -[% user.author %] -" -} - -################################################################################# -# -# Args -# -################################################################################# -#shopt -s extglob -#${1?"Usage: $0 ARGUMENT"} -while [ $# -gt 0 ]; do - - case "$1" in - - -*help|-h) usage | pod2text --width 250; exit 0 ;; - --man) usage | pod2man | man -l -; exit 0 ;; - --help2man) usage | pod2man; exit 0 ;; - - --verbose|-v) VERBOSE=$(($VERBOSE+1)) ;; - - --debug|-d) DEBUG=$(($DEBUG+1)) ;; - - *) echo "Unknow option: $1 at $0!"; exit -1; ;; - - esac - shift - -done - -################################################################################# -# -# Main -# -################################################################################# -#exec > "/var/log/$(basename $0)).log" -#exec 1> >(logger -s -t $(basename $0)) 2>&1 -echo Hi - diff --git a/etc/vim/templates/bashf.tt b/etc/vim/templates/bashf.tt deleted file mode 100644 index fbe30fc6..00000000 --- a/etc/vim/templates/bashf.tt +++ /dev/null @@ -1,11 +0,0 @@ -# use subshell for function definition -f() { - set -e pipefail - echo a - false - echo Should NOT get HERE - return 0 -} - -f -echo OK diff --git a/etc/vim/templates/css.tt b/etc/vim/templates/css.tt deleted file mode 100644 index 1881e39d..00000000 --- a/etc/vim/templates/css.tt +++ /dev/null @@ -1,5 +0,0 @@ -@charset "UTF-8"; -/* -# [% user.me_now %] - [% user.copyright %] -# [% var.filename %] -*/ diff --git a/etc/vim/templates/daemon.tt b/etc/vim/templates/daemon.tt deleted file mode 100644 index e355946f..00000000 --- a/etc/vim/templates/daemon.tt +++ /dev/null @@ -1,63 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: ${NAME} -# Required-Start: $local_fs $remote_fs -# Required-Stop: $remote_fs -# Default-Start: 2 3 5 -# Default-Stop: 0 1 6 -# Author: [% user.author %] -# Short-Description: [% var.filename %] -# Description: [% user.me_now %] - [% user.copyright %] -### END INIT INFO - - -PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin - -DAEMON=/usr/sbin/YOUR -ARGS="" - -NAME=`basename $DAEMON` -PIDFILE="/var/run/$NAME.pid" - -test -x $DAEMON || exit 0 - -. /lib/lsb/init-functions - -START="yes" -# Source defaults file; edit that file to configure this script. -if test -e /etc/default/$NAME ; then - . /etc/default/$NAME -fi - -if [ "$START" != "yes" ]; then - echo "$NAME not configured to start, please edit /etc/default/$NAME to enable (START=yes)" -fi - -case "$1" in - start) - log_daemon_msg "Starting" "${NAME}" - start-stop-daemon --start --background --quiet \ - --pidfile $PIDFILE --make-pidfile \ - --exec $DAEMON -- $ARGS - log_end_msg $? - ;; - stop) - log_daemon_msg "Stopping" "${NAME}" - start-stop-daemon --stop --quiet --retry=USR2/30/KILL/5 --pidfile $PIDFILE --name $NAME - log_end_msg $? - ;; - force-reload|restart) - $0 stop - $0 start - ;; - status) - status_of_proc -p $PIDFILE $DAEMON ${NAME} && exit 0 || exit $? - ;; - *) - echo "Usage: $0 {start|stop|restart|force-reload|status}" - exit 1 - ;; -esac - -exit 0 - diff --git a/etc/vim/templates/html.tt b/etc/vim/templates/html.tt deleted file mode 100644 index 3fdde28f..00000000 --- a/etc/vim/templates/html.tt +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - [% var.filename %] - [% user.me_now %] - - - - - - - - - - - - -

[% var.filename %] - [% user.me_now %]

- - - diff --git a/etc/vim/templates/perl.tt b/etc/vim/templates/perl.tt deleted file mode 100755 index 8b610e22..00000000 --- a/etc/vim/templates/perl.tt +++ /dev/null @@ -1,177 +0,0 @@ -#!/usr/bin/env perl -use strict; -use warnings; -################################################################################# -# -# VERSION -# -################################################################################# -my $VERSION = '0.0.1'; -# [% user.me_now %] -# - create script: [% var.basename %] - -################################################################################# -# -# GLOBALS -# -################################################################################# -my ($NAME) = $0 =~ m,([^/]+)$,; - -################################################################################# -# -# ARGS -# -################################################################################# -my $VERBOSE = $main::VERBOSE = 1; -my $DEBUG = $main::DEBUG = 0; - -my %Opt = ( -); -get_options(\%Opt); -help() unless @ARGV; -$main::_DATA_ = undef; - -################################################################################# -# -# BEGIN -# -################################################################################# -use Data::Dumper; - -################################################################################# -# -# END -# -################################################################################# -exit 0; - -################################################################################# -# -# Functions -# -################################################################################# -sub help { -#------------------------------------------------------------------------------ -# Print help and exit -#------------------------------------------------------------------------------ - - require 'Pod/Usage.pm' unless $INC{'Pod/Usage.pm'}; - - # Substitutions - sub pod_env { - my $v = ''; - eval '$v = ref(\\'.$_[0].') eq "ARRAY" ? join(" ",'.$_[0].') : '.$_[0].'; return defined $v ? $v : qq|UNDEF|;'; - return $v; - } - - $main::_DATA_ =~ s/([@\$][A-Z_a-z\{\}]+)/pod_env($1)/eg; - - my $in; - open($in,'<',\$main::_DATA_); - - open(STDOUT,"|perl -pe 's/\.$$//g'".(($ENV{PAGER}||'') eq 'less' ? "|less -FRi" : "")); - my $opts = { - -input => $in, - -ouput => \*STDOUT, - -exitval => 'noexit', - -sections => [qw(SYNOPSIS DESCRIPTION OPTIONS)], - -verbose => ($Opt{'help'} ? 99 : 3), - }; - - Pod::Usage::pod2usage($opts); - close $in; - close STDOUT; - - exit 0; -} - -#------------------------------------------------------------------------------ -# Print version and exit -#------------------------------------------------------------------------------ -sub version { print "$NAME: version [$VERSION]\n"; exit 0; } - -#------------------------------------------------------------------------------ -# Get options from pod -#------------------------------------------------------------------------------ -sub get_options { - - use Getopt::Long qw(:config no_ignore_case no_auto_abbrev); - - my @Opt; - - sub pod_opt { - local $_; - my $o = shift; - $o =~ s/(=.|[\+\-\!]$)//; - $o = join(", ",map{"-$_"} split(/[\|,:;]/,$o)); - return "$o"; - } - - while () { - s/option\[([^\]]+)\]/push(@Opt,$1) and pod_opt($1)/eg; - $main::_DATA_ .= $_; - } - - GetOptions($_[0],@Opt) || exit -1; - - help() if $_[0]{'help'} or $_[0]{'man'}; - version() if $_[0]{'version'}; - - $main::VERBOSE = $VERBOSE = $_[0]{'verbose'} if defined $_[0]{'verbose'}; - $main::DEBUG = $DEBUG = $_[0]{'debug'} if defined $_[0]{'debug'}; - -} - -__DATA__ - -=head1 NAME - -$NAME - Script to do ... - -=head1 SYNOPSIS - -Quick usage! - -=over - -=item $NAME --verbose - -=item $NAME --help - -=back - -=head1 DESCRIPTION - -Description! - -=head1 OPTIONS - - -option[verbose|v+] Verbose mode: increase the verbosity level. - -option[debug+] Debug mode: increase the verbosity level. - -option[version|V] Print version (default: $VERSION) - -option[help|h|?] Print a brief help message and exits. - -option[man] Print the manual page and exits. - -=cut - -=head1 EXAMPLES - -... - -=head1 REQUIRES - -Getopt::Std, Pod::Usage - -=head1 COPYRIGHT AND LICENSE - -[% user.copyright_laius %] - -=head1 SEE ALSO - -perl(1), http://perldoc.perl.org/perlpodstyle.html - -=head1 AUTHOR - -[% user.author %] - -=cut diff --git a/etc/vim/templates/php.tt b/etc/vim/templates/php.tt deleted file mode 100644 index 559ec133..00000000 --- a/etc/vim/templates/php.tt +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env php -'; -?> - - - - - - - - - - - - - - - - - - diff --git a/etc/vim/templates/phpf.tt b/etc/vim/templates/phpf.tt deleted file mode 100644 index 516abb81..00000000 --- a/etc/vim/templates/phpf.tt +++ /dev/null @@ -1,11 +0,0 @@ - /** - * @copyright [% user.copyright %] - * @author [% user.author %] - * Does what the name says - * - * @param datatype1|datatype2 \$paramname description - * @return datatype1|datatype2 description - */ - function foo() { - } - diff --git a/etc/vim/templates/puppet.tt b/etc/vim/templates/puppet.tt deleted file mode 100644 index 8868bb2b..00000000 --- a/etc/vim/templates/puppet.tt +++ /dev/null @@ -1,81 +0,0 @@ -# = Class: example_class -# -# Full description of class example_class here. -# -# == Parameters -# -# Document parameters here. -# -# [*ntp_servers*] -# Explanation of what this parameter affects and what it defaults to. -# e.g. "Specify one or more upstream ntp servers as an array." -# -# == Variables -# -# Here you should define a list of variables that this module would require. -# -# [*enc_ntp_servers*] -# Explanation of how this variable affects the funtion of this class and if it -# has a default. e.g. "The parameter enc_ntp_servers must be set by the -# External Node Classifier as a comma separated list of hostnames." (Note, -# global variables should not be used in preference to class parameters as of -# Puppet 2.6.) -# -# == Examples -# -# class { 'example_class': -# ntp_servers > [ 'pool.ntp.org', 'ntp.local.company.com' ] -# } -# -# == Authors -# -# [% user.author %] -# -# == Copyright -# -# [% user.copyright %] -# -class example_class { - $class_infos = sem('class_infos') - $head_comment = sem('head_comment') - -} - -# = Define: example_resource -# -# Full description of defined resource type example_resource here. -# -# == Parameters -# -# Document parameters here -# -# [*namevar*] -# If there is a parameter that defaults to the value of the title string -# when not explicitly set, you must always say so. This parameter can be -# referred to as a "namevar," since it's functionally equivalent to the -# namevar of a core resource type. -# -# [*basedir*] -# Description of this variable. For example, "This parameter sets the -# base directory for this resource type. It should not contain a trailing -# slash." -# -# == Examples -# -# Provide some examples on how to use this type: -# -# example_class::example_resource { 'namevar': -# basedir > '/tmp/src', -# } -# -# == Authors -# -# [% user.author %] -# -# == Copyright -# -# [% user.copyright %] -# -define example_class::example_resource($basedir) { - -} diff --git a/etc/vim/templates/sh.tt b/etc/vim/templates/sh.tt deleted file mode 120000 index 017553f7..00000000 --- a/etc/vim/templates/sh.tt +++ /dev/null @@ -1 +0,0 @@ -bash.tt \ No newline at end of file diff --git a/etc/vim/templates/sql.tt b/etc/vim/templates/sql.tt deleted file mode 100644 index 79014009..00000000 --- a/etc/vim/templates/sql.tt +++ /dev/null @@ -1,12 +0,0 @@ --- --- @copyright [% user.copyright %] # [% user.me_now %] --- [% var.filename %] --- -SELECT - -1 - -WHERE - 1=1 - -; diff --git a/etc/vim/templates/template.html b/etc/vim/templates/template.html deleted file mode 100644 index 50dd2e2b..00000000 --- a/etc/vim/templates/template.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/etc/vim/vim-template-0.3.0.zip b/etc/vim/vim-template-0.3.0.zip deleted file mode 100755 index c3f57ea6575a6a12549c59de743d87160368f15b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9503 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 #YwuPE@%2bmqtf87c5xeR#>%eL|)RonN8GD)$ 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 E4;)C4cK`qY -- 2.47.3