From 19924d112b0d9e574ba899120d1f3db624b30975 Mon Sep 17 00:00:00 2001 From: c9s Date: Sat, 20 Mar 2010 23:59:38 +0800 Subject: [PATCH] JSON::PP allows single quote JSON format. --- MANIFEST | 9 ++++++--- Makefile.PL | 2 +- lib/Vimana/Record.pm | 11 ++++++++--- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/MANIFEST b/MANIFEST index b6f10d3..f4f4e98 100644 --- a/MANIFEST +++ b/MANIFEST @@ -5,8 +5,10 @@ bin/vim_record bin/vimana bundle.pl Changes +cleanup.sh cpan-setup.sh dist_par_binary.sh +http.pl inc/Module/AutoInstall.pm inc/Module/Install.pm inc/Module/Install/AutoInstall.pm @@ -14,6 +16,7 @@ inc/Module/Install/Base.pm inc/Module/Install/Can.pm inc/Module/Install/Fetch.pm inc/Module/Install/Include.pm +inc/Module/Install/Makefile.pm inc/Module/Install/Metadata.pm inc/Module/Install/Scripts.pm inc/Module/Install/Win32.pm @@ -35,6 +38,7 @@ lib/Vimana/GitInstall.pm lib/Vimana/Index.pm lib/Vimana/Installer.pm lib/Vimana/Installer/Auto.pm +lib/Vimana/Installer/Makefile.pm lib/Vimana/Installer/Meta.pm lib/Vimana/Installer/Rakefile.pm lib/Vimana/Installer/Text.pm @@ -48,9 +52,9 @@ lib/Vimana/VimOnline.pm lib/Vimana/VimOnline/ScriptPage.pm lib/Vimana/VimOnline/Search.pm lwp.pl +Makefile +Makefile.PL MANIFEST This list of files -MANIFEST.bak -MANIFEST.SKIP META.yml README.mkd t/00-commands.t @@ -72,4 +76,3 @@ vimana-specky-log xt/installer-makefile-2.t xt/installer-makefile-3.t xt/installer-makefile.t -Makefile.PL diff --git a/Makefile.PL b/Makefile.PL index 2b58f2d..6e7512f 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -24,7 +24,7 @@ requires 'YAML' => 0, 'Digest::MD5' => 0, 'JSON' => 0, - 'JSON::XS' => 0, + 'JSON::PP' => 0, 'HTTP::Lite' => 0, 'Mouse' => 0; diff --git a/lib/Vimana/Record.pm b/lib/Vimana/Record.pm index e9a8d4b..8407791 100644 --- a/lib/Vimana/Record.pm +++ b/lib/Vimana/Record.pm @@ -2,11 +2,15 @@ package Vimana::Record; use warnings; use strict; use Vimana; -use JSON::XS; +use JSON; +use JSON::PP; use File::Path; use Digest::MD5 qw(md5_hex); use YAML; +sub new_json { + return JSON::PP->new->allow_singlequote(1); +} sub record_dir { return ( $ENV{VIM_RECORD_DIR} || File::Spec->join($ENV{HOME},'.vim','record') ); @@ -49,6 +53,7 @@ spec: =cut + sub load { my ( $class, $pkgname ) = @_; my $record_file = $class->record_path( $pkgname ); @@ -64,7 +69,7 @@ sub load { close FH; my $record; - eval { $record = decode_json( $json ) }; + eval { $record = new_json()->decode( $json ) }; if( $@ ) { # try to load YAML. (old record file) print STDERR $@; @@ -117,7 +122,7 @@ sub add { return 0 if -f $record_file; open FH , ">" , $record_file; - print FH encode_json( $record ); + print FH new_json()->encode( $record ); close FH; #return YAML::DumpFile( $record_file , $record );