line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Kwiki::VimMode; |
2
|
2
|
|
|
2
|
|
72517
|
use strict; |
|
2
|
|
|
|
|
4
|
|
|
2
|
|
|
|
|
69
|
|
3
|
2
|
|
|
2
|
|
9
|
use warnings; |
|
2
|
|
|
|
|
4
|
|
|
2
|
|
|
|
|
134
|
|
4
|
|
|
|
|
|
|
|
5
|
2
|
|
|
2
|
|
2319
|
use Kwiki::Plugin -Base; |
|
0
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
6
|
|
|
|
|
|
|
use Kwiki::Installer -base; |
7
|
|
|
|
|
|
|
|
8
|
|
|
|
|
|
|
our $VERSION = 0.05; |
9
|
|
|
|
|
|
|
|
10
|
|
|
|
|
|
|
const class_title => 'color hiliting using Vim'; |
11
|
|
|
|
|
|
|
const class_id => 'vim_mode'; |
12
|
|
|
|
|
|
|
const css_file => 'vim_mode.css'; |
13
|
|
|
|
|
|
|
|
14
|
|
|
|
|
|
|
sub register { |
15
|
|
|
|
|
|
|
my $registry = shift; |
16
|
|
|
|
|
|
|
$registry->add( wafl => vim => 'Kwiki::VimMode::Wafl' ); |
17
|
|
|
|
|
|
|
} |
18
|
|
|
|
|
|
|
|
19
|
|
|
|
|
|
|
package Kwiki::VimMode::Wafl; |
20
|
|
|
|
|
|
|
use base 'Spoon::Formatter::WaflBlock'; |
21
|
|
|
|
|
|
|
|
22
|
|
|
|
|
|
|
sub to_html { |
23
|
|
|
|
|
|
|
require Text::VimColor; |
24
|
|
|
|
|
|
|
my $string = $self->block_text; |
25
|
|
|
|
|
|
|
chomp $string; |
26
|
|
|
|
|
|
|
$ENV{PATH} = "/usr/local/bin:$ENV{PATH}"; |
27
|
|
|
|
|
|
|
$string =~ s/^ filetype: \s* (\w+) \s* \n+//sx; |
28
|
|
|
|
|
|
|
my @filetype = $1 ? ( filetype => $1 ) : (); |
29
|
|
|
|
|
|
|
my $vim = Text::VimColor->new( |
30
|
|
|
|
|
|
|
string => $string, |
31
|
|
|
|
|
|
|
@filetype, |
32
|
|
|
|
|
|
|
vim_options => [ qw( -RXZ -i NONE -u NONE -N ), "+set nomodeline" ] |
33
|
|
|
|
|
|
|
); |
34
|
|
|
|
|
|
|
return '' . $vim->html . " \n"; |
35
|
|
|
|
|
|
|
} |
36
|
|
|
|
|
|
|
|
37
|
|
|
|
|
|
|
package Kwiki::VimMode; |
38
|
|
|
|
|
|
|
|
39
|
|
|
|
|
|
|
__DATA__ |