package Vim::Snippet::Completion;
use strict;
use warnings;
use utf8;
=head1 SYNOPSIS
my $comp = new Vim::Snippet::Completion;
$comp->gen({
output => 'vim_completion',
list => \@keyword_list ,
opt => 'new',
});
$comp->gen({
output => 'vim_completion',
list => \@keyword_list ,
opt => 'append',
});
$comp->setup_dict({
file => '~/vim_completion',
vimrc => '~/.vimrc' ,
});
=cut
sub new {
my $class = shift;
return bless {} , $class;
}
=head3 gen( { output => '/path/to/file' , list => \@keyword_list , opt => 'append' } );
=cut
sub gen {
my $self = shift;
my $args = shift;
if( $args->{opt} eq 'append' ) {
open FH , ">>" , $args->{output};
} elsif ( $args->{opt} eq 'new' ) {
open FH , ">" , $args->{output};
}
print FH "$_ " for( @{ $args->{list} } );
print FH "\n";
close FH;
}
=head3 setup_dict( { file => '/path/to/vim_completion' , vimrc => '/path/to/vimrc' } );
=cut
sub setup_dict {
my $self = shift;
my $args = shift;
$args->{vimrc} ||= $ENV{HOME} . '/.vimrc';
open FH , ">>" , $args->{vimrc};
print FH "set dict+=" . $args->{file} . "\n" ;
close FH;
}
1;