code_rippa 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +4 -0
- data/README.md +11 -10
- data/Rakefile +8 -0
- data/bin/code_rippa +10 -4
- data/code_rippa.gemspec +4 -3
- data/lib/code_rippa.rb +4 -5
- data/lib/code_rippa/syntax/c.syntax +60 -0
- data/lib/code_rippa/version.rb +1 -1
- data/test/fixtures/hello.rb +123 -0
- data/test/fixtures/octocat.png +0 -0
- data/test/fixtures/rip_dir.tex +77 -0
- data/test/fixtures/rip_file.tex +146 -0
- data/test/fixtures/ruby_proj/folder_1/1.rb +3 -0
- data/test/fixtures/ruby_proj/folder_1/2.rb +5 -0
- data/test/fixtures/ruby_proj/folder_1/3.rb +3 -0
- data/test/fixtures/ruby_proj/folder_1/folder_2/4.rb +3 -0
- data/test/fixtures/ruby_proj/folder_1/folder_2/5.rb +3 -0
- data/test/test_private_methods.rb +80 -0
- data/test/test_public_methods.rb +38 -0
- metadata +61 -3
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -1,19 +1,11 @@
|
|
1
1
|
# CodeRippa
|
2
2
|
|
3
|
+
[![Build Status](https://secure.travis-ci.org/benjamintanweihao/code_rippa.png)](http://travis-ci.org/benjamintanweihao/code_rippa)
|
4
|
+
|
3
5
|
CodeRippa takes your source code and turns it into a beautiful PDF file. Currently, it supports 150 languages and 15 themes, all of which are available in TextMate. More syntaxes and themes will be available soon.
|
4
6
|
|
5
7
|
## Installation
|
6
8
|
|
7
|
-
Add this line to your application's Gemfile:
|
8
|
-
|
9
|
-
$ gem 'code_rippa'
|
10
|
-
|
11
|
-
And then execute:
|
12
|
-
|
13
|
-
$ bundle
|
14
|
-
|
15
|
-
Or install it yourself as:
|
16
|
-
|
17
9
|
$ gem install code_rippa
|
18
10
|
|
19
11
|
## Usage
|
@@ -89,6 +81,15 @@ Currently this gem is in its infancy. Any bug reports and feature requests are v
|
|
89
81
|
|
90
82
|
## Changelog
|
91
83
|
|
84
|
+
### 0.0.6
|
85
|
+
|
86
|
+
- Include MiniTest specs
|
87
|
+
|
88
|
+
### 0.0.5
|
89
|
+
|
90
|
+
- Better performance when parsing.
|
91
|
+
- Code documentation.
|
92
|
+
|
92
93
|
### 0.0.4
|
93
94
|
|
94
95
|
- Removed dependency on Linguist.
|
data/Rakefile
CHANGED
data/bin/code_rippa
CHANGED
@@ -15,14 +15,20 @@ option_parser = OptionParser.new do |opts|
|
|
15
15
|
|
16
16
|
Parses input_file or directory and outputs a file named out.tex.
|
17
17
|
It expects both the syntax and theme to be specified.
|
18
|
-
|
18
|
+
|
19
|
+
To see all syntaxes, type:
|
20
|
+
code_rippa -n
|
21
|
+
|
22
|
+
And to see all themes, type:
|
23
|
+
code_rippa -l
|
24
|
+
|
19
25
|
Example:
|
20
26
|
|
21
27
|
code_rippa -s ruby -t amy path_to_file.rb
|
22
28
|
|
23
29
|
Renders the contents of path_to_file.rb into out.tex.
|
24
30
|
|
25
|
-
Then run `pdflatex out.tex` to generate the PDF output.
|
31
|
+
Then run `pdflatex -interaction=batchmode out.tex` to generate the PDF output.
|
26
32
|
|
27
33
|
"-s" and "-t" are mandatory. The rest are optional.
|
28
34
|
|
@@ -33,7 +39,7 @@ END
|
|
33
39
|
if CodeRippa.supported_syntax.include? syntax
|
34
40
|
options[:syntax] = syntax
|
35
41
|
else
|
36
|
-
raise ArgumentError, "syntax for #{syntax} not found. Use -
|
42
|
+
raise ArgumentError, "syntax for #{syntax} not found. Use -n to see the list of available syntax."
|
37
43
|
end
|
38
44
|
end
|
39
45
|
|
@@ -46,7 +52,7 @@ END
|
|
46
52
|
end
|
47
53
|
|
48
54
|
opts.on('-n', '--list-syntax', 'List all available syntax') do
|
49
|
-
|
55
|
+
puts CodeRippa.supported_syntax.join("\n")
|
50
56
|
exit 0
|
51
57
|
end
|
52
58
|
|
data/code_rippa.gemspec
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
require File.expand_path('../lib/code_rippa/version', __FILE__)
|
3
|
-
require File.expand_path('../lib/code_rippa/uv_overrides', __FILE__)
|
4
3
|
|
5
4
|
Gem::Specification.new do |gem|
|
6
5
|
gem.authors = ["Benjamin Tan Wei Hao"]
|
@@ -12,12 +11,14 @@ Gem::Specification.new do |gem|
|
|
12
11
|
gem.has_rdoc = false
|
13
12
|
gem.files = `git ls-files`.split($\)
|
14
13
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
15
|
-
|
14
|
+
gem.test_files = gem.files.grep(%r{^(test)/})
|
16
15
|
gem.name = "code_rippa"
|
17
|
-
gem.require_paths = ["lib"]
|
16
|
+
gem.require_paths = ["lib", "lib/syntax", "lib/render"]
|
18
17
|
gem.version = CodeRippa::VERSION
|
19
18
|
gem.required_ruby_version = '>= 1.9.0'
|
20
19
|
gem.add_dependency "rainbow"
|
21
20
|
gem.add_dependency "ansi"
|
22
21
|
gem.add_dependency "spox-ultraviolet", "~> 0.10.5"
|
22
|
+
gem.add_development_dependency "rake"
|
23
|
+
gem.add_development_dependency "minitest"
|
23
24
|
end
|
data/lib/code_rippa.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'uv'
|
2
1
|
require 'find'
|
3
2
|
require 'code_rippa/uv_overrides'
|
4
3
|
require 'code_rippa/version'
|
@@ -42,7 +41,7 @@ module CodeRippa
|
|
42
41
|
msg << "Output file written to: "
|
43
42
|
msg << "#{File.expand_path(outfile)}\n".color(:yellow)
|
44
43
|
msg << "Now run "
|
45
|
-
msg << "pdflatex #{File.expand_path(outfile)} ".color(:red)
|
44
|
+
msg << "pdflatex -interaction=batchmode #{File.expand_path(outfile)} ".color(:red)
|
46
45
|
msg << "** TWICE ** to generate PDF."
|
47
46
|
puts msg
|
48
47
|
outfile.close
|
@@ -105,7 +104,7 @@ module CodeRippa
|
|
105
104
|
msg << "Output file written to: "
|
106
105
|
msg << "#{File.expand_path(outfile)}\n".color(:yellow)
|
107
106
|
msg << "Now run "
|
108
|
-
msg << "pdflatex #{File.expand_path(outfile)} ".color(:red)
|
107
|
+
msg << "pdflatex -interaction=batchmode #{File.expand_path(outfile)} ".color(:red)
|
109
108
|
msg << "** TWICE ** to generate PDF."
|
110
109
|
puts msg
|
111
110
|
|
@@ -125,8 +124,8 @@ module CodeRippa
|
|
125
124
|
# supported_syntax
|
126
125
|
# # => ['ruby','prolog']
|
127
126
|
#
|
128
|
-
# Returns an Array of supported
|
129
|
-
def self.supported_syntax
|
127
|
+
# Returns an Array of supported syntaxes
|
128
|
+
def self.supported_syntax
|
130
129
|
if @@supported_syntax
|
131
130
|
@@supported_syntax
|
132
131
|
else
|
@@ -0,0 +1,60 @@
|
|
1
|
+
---
|
2
|
+
name: C
|
3
|
+
fileTypes:
|
4
|
+
- c
|
5
|
+
- h
|
6
|
+
scopeName: source.c
|
7
|
+
uuid: 1BA75B32-707C-11D9-A928-000D93589AF6
|
8
|
+
foldingStartMarker: "(?x)\n\
|
9
|
+
\t\t /\\*\\*(?!\\*)\n\
|
10
|
+
\t\t|^(?![^{]*?//|[^{]*?/\\*(?!.*?\\*/.*?\\{)).*?\\{\\s*($|//|/\\*(?!.*?\\*/.*\\S))\n\
|
11
|
+
\t"
|
12
|
+
patterns:
|
13
|
+
- name: comment.block.c
|
14
|
+
captures:
|
15
|
+
"0":
|
16
|
+
name: punctuation.definition.comment.c
|
17
|
+
begin: /\*
|
18
|
+
end: \*/
|
19
|
+
- name: comment.line.double-slash.c
|
20
|
+
captures:
|
21
|
+
"1":
|
22
|
+
name: punctuation.definition.comment.c
|
23
|
+
match: (//).*$\n?
|
24
|
+
- name: keyword.control.c
|
25
|
+
match: \b(abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|false|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|true|try|typeof|unckecked|unsafe|using|virtual|volatile|void|while)\b
|
26
|
+
- name: storage.type.c
|
27
|
+
match: \b(bool|byte|char|class|decimal|double|enum|float|int|nterface|long|object|sbyte|short|string|struct|uint|ulong|ushort)\b
|
28
|
+
- name: constant.numeric.c
|
29
|
+
match: \b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f)?\b
|
30
|
+
- name: string.quoted.double.c
|
31
|
+
endCaptures:
|
32
|
+
"0":
|
33
|
+
name: punctuation.definition.string.end.c
|
34
|
+
begin: "\""
|
35
|
+
beginCaptures:
|
36
|
+
"0":
|
37
|
+
name: punctuation.definition.string.begin.c
|
38
|
+
end: "\""
|
39
|
+
patterns:
|
40
|
+
- name: constant.character.escape.c#
|
41
|
+
match: \\.
|
42
|
+
- name: string.quoted.single.c#
|
43
|
+
endCaptures:
|
44
|
+
"0":
|
45
|
+
name: punctuation.definition.string.end.c
|
46
|
+
begin: "'"
|
47
|
+
beginCaptures:
|
48
|
+
"0":
|
49
|
+
name: punctuation.definition.string.begin.c
|
50
|
+
end: "'"
|
51
|
+
patterns:
|
52
|
+
- name: constant.character.escape.c
|
53
|
+
match: \\.
|
54
|
+
- name: meta.preprocessor.c
|
55
|
+
captures:
|
56
|
+
"2":
|
57
|
+
name: keyword.control.import.c
|
58
|
+
match: ^(#)\s*(if|else|elif|endif|define|undef|warning|error|line|region|endregion)\b
|
59
|
+
foldingStopMarker: (?<!\*)\*\*/|^\s*\}
|
60
|
+
keyEquivalent: ^~C
|
data/lib/code_rippa/version.rb
CHANGED
@@ -0,0 +1,123 @@
|
|
1
|
+
require 'uv'
|
2
|
+
require 'find'
|
3
|
+
require 'code_rippa/uv_overrides'
|
4
|
+
require 'code_rippa/version'
|
5
|
+
require 'ansi/progressbar'
|
6
|
+
require 'rainbow'
|
7
|
+
include ANSI
|
8
|
+
|
9
|
+
|
10
|
+
YAML::ENGINE.yamler = 'syck'
|
11
|
+
|
12
|
+
module CodeRippa
|
13
|
+
|
14
|
+
@@supported_syntax = nil
|
15
|
+
@@supported_ext = nil
|
16
|
+
|
17
|
+
# Parses the given directory, and writes the output file (out.tex)
|
18
|
+
# into the current directory.
|
19
|
+
#
|
20
|
+
# dir_path - The directory path
|
21
|
+
# syntax - The syntax to perform parsing/syntax highlighting.
|
22
|
+
# Note the the syntax should be supported by code_rippa.
|
23
|
+
# excluded_exts - An Array of extensions to ignore during parsing.
|
24
|
+
#
|
25
|
+
# Examples
|
26
|
+
#
|
27
|
+
# rip_dir("~/code/ruby/some_folder", "space_cadet", "ruby", [])
|
28
|
+
#
|
29
|
+
# Returns nothing.
|
30
|
+
def self.rip_dir(dir_path, theme, syntax, excluded_exts = [])
|
31
|
+
pbar = Progressbar.new("Rippin'".color(:blue), Dir["**/*"].length)
|
32
|
+
counter = 0
|
33
|
+
outfile = File.open('out.tex', 'w')
|
34
|
+
|
35
|
+
outfile.write preamble theme
|
36
|
+
Find.find dir_path do |path|
|
37
|
+
depth = path.to_s.count('/')
|
38
|
+
if File.basename(path)[0] == ?. or File.basename(path) == "out.tex"
|
39
|
+
Find.prune
|
40
|
+
else
|
41
|
+
begin
|
42
|
+
is_rippable = rippable?(path, syntax, excluded_exts)
|
43
|
+
if is_rippable
|
44
|
+
outfile.write "\\textcolor{white}{\\textbf{\\texttt{#{path.gsub('_','\_').gsub('%','\%')}}}}\\\\\n"
|
45
|
+
outfile.write "\\textcolor{white}{\\rule{\\linewidth}{1.0mm}}\\\\\n"
|
46
|
+
end
|
47
|
+
|
48
|
+
if bookmarkable?(path, syntax, excluded_exts)
|
49
|
+
outfile.write "\\pdfbookmark[#{depth-2}]{#{File.basename(path).gsub('_','\_').gsub('%','\%')}}{#{counter}}\n"
|
50
|
+
end
|
51
|
+
|
52
|
+
if is_rippable
|
53
|
+
outfile.write Uv.parse(File.read(path), 'latex', syntax, true, theme)
|
54
|
+
outfile.write "\\clearpage\n"
|
55
|
+
end
|
56
|
+
rescue Exception => e
|
57
|
+
puts e
|
58
|
+
end
|
59
|
+
counter += 1
|
60
|
+
end
|
61
|
+
pbar.inc
|
62
|
+
end
|
63
|
+
|
64
|
+
outfile.write endtag
|
65
|
+
pbar.finish
|
66
|
+
|
67
|
+
msg = "Completed successfully.\n".color(:green)
|
68
|
+
msg << "Output file written to: "
|
69
|
+
msg << "#{File.expand_path(outfile)}\n".color(:yellow)
|
70
|
+
msg << "Now run "
|
71
|
+
msg << "pdflatex #{File.expand_path(outfile)} ".color(:red)
|
72
|
+
msg << "** TWICE ** to generate PDF."
|
73
|
+
puts msg
|
74
|
+
|
75
|
+
outfile.close
|
76
|
+
end
|
77
|
+
|
78
|
+
private
|
79
|
+
|
80
|
+
# Returns True if path should be ripped as part of the output TEX file.
|
81
|
+
#
|
82
|
+
# path - The file. (directories will return false.)
|
83
|
+
# syntax - The syntax to perform parsing/syntax highlighting.
|
84
|
+
# Note the the syntax should be supported by code_rippa.
|
85
|
+
# excluded_exts - An Array of extensions to ignore during parsing.
|
86
|
+
#
|
87
|
+
#
|
88
|
+
# Examples
|
89
|
+
#
|
90
|
+
# rippable?("hello.rb", "ruby", [])
|
91
|
+
# # => true
|
92
|
+
#
|
93
|
+
# rippable?("~/code/", "ruby", [])
|
94
|
+
# # => false
|
95
|
+
#
|
96
|
+
# rippable?("hello.rb", "ruby", ["rb", "html"])
|
97
|
+
# # => false
|
98
|
+
#
|
99
|
+
# rippable?("hello.klingon", "klingon", [])
|
100
|
+
# # => false
|
101
|
+
#
|
102
|
+
# Returns true if path should be ripped.
|
103
|
+
def self.rippable?(path, syntax, excluded_exts)
|
104
|
+
if FileTest.directory?(path)
|
105
|
+
false
|
106
|
+
else
|
107
|
+
src_ext = File.extname(path)[1..-1]
|
108
|
+
if excluded_exts.include? src_ext
|
109
|
+
false
|
110
|
+
elsif supported_exts.include?(src_ext)
|
111
|
+
true
|
112
|
+
else
|
113
|
+
false
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
def self.heading_color(theme)
|
119
|
+
f = YAML.load(File.read("#{Uv.render_path}/latex/#{theme}.render"))
|
120
|
+
/([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})/.match(f['listing']['begin'].split('\\')[2]).to_s
|
121
|
+
end
|
122
|
+
|
123
|
+
end
|
Binary file
|
@@ -0,0 +1,77 @@
|
|
1
|
+
\documentclass[a4paper,landscape]{article}
|
2
|
+
\pagestyle{empty}
|
3
|
+
\usepackage{xcolor}
|
4
|
+
\usepackage{colortbl}
|
5
|
+
\usepackage{longtable}
|
6
|
+
\usepackage[left=0cm,top=0.2cm,right=0cm,bottom=0.2cm,nohead,nofoot]{geometry}
|
7
|
+
\usepackage[T1]{fontenc}
|
8
|
+
\usepackage[scaled]{beramono}
|
9
|
+
\usepackage[bookmarksopen,bookmarksdepth=20]{hyperref}
|
10
|
+
\definecolor{pgcolor}{HTML}{090A1B}
|
11
|
+
\definecolor{headingcolor}{HTML}{F8F8F8}
|
12
|
+
\pagecolor{pgcolor}
|
13
|
+
\begin{document}
|
14
|
+
\setlength\LTleft\parindent
|
15
|
+
\setlength\LTright\fill
|
16
|
+
\setlength{\LTpre}{-10pt}
|
17
|
+
\pdfbookmark[6]{ruby\_proj}{0}
|
18
|
+
\pdfbookmark[7]{folder\_1}{1}
|
19
|
+
\textcolor{white}{\textbf{\texttt{/Users/rambo/code/ruby/code\_rippa/test/fixtures/ruby\_proj/folder\_1/1.rb}}}\\
|
20
|
+
\textcolor{white}{\rule{\linewidth}{1.0mm}}\\
|
21
|
+
\pdfbookmark[8]{1.rb}{2}
|
22
|
+
\newcolumntype{C}{>{\color[HTML]{F8F8F8}\columncolor[HTML]{090A1B}}l}
|
23
|
+
\newcolumntype{N}{>{\color[HTML]{7D7D7D}\columncolor[HTML]{000000}}l}
|
24
|
+
\begin{longtable}{NC}
|
25
|
+
\texttt{ 1 }&\mbox{\texttt{ {\color[HTML]{FF3854}def}\hspace{1ex}{\color[HTML]{6FD3FF}first}}}\\
|
26
|
+
\texttt{ 2 }&\mbox{\texttt{ \hspace{1ex}\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}first\hspace{1ex}file\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}}}}\\
|
27
|
+
\texttt{ 3 }&\mbox{\texttt{ {\color[HTML]{FF3854}end}}}\\
|
28
|
+
\end{longtable}
|
29
|
+
\clearpage
|
30
|
+
\textcolor{white}{\textbf{\texttt{/Users/rambo/code/ruby/code\_rippa/test/fixtures/ruby\_proj/folder\_1/2.rb}}}\\
|
31
|
+
\textcolor{white}{\rule{\linewidth}{1.0mm}}\\
|
32
|
+
\pdfbookmark[8]{2.rb}{3}
|
33
|
+
\newcolumntype{C}{>{\color[HTML]{F8F8F8}\columncolor[HTML]{090A1B}}l}
|
34
|
+
\newcolumntype{N}{>{\color[HTML]{7D7D7D}\columncolor[HTML]{000000}}l}
|
35
|
+
\begin{longtable}{NC}
|
36
|
+
\texttt{ 1 }&\mbox{\texttt{ {\color[HTML]{FF3854}def}\hspace{1ex}{\color[HTML]{6FD3FF}second}}}\\
|
37
|
+
\texttt{ 2 }&\mbox{\texttt{ \hspace{1ex}\hspace{1ex}[{\color[HTML]{0A9CFF}1},{\color[HTML]{0A9CFF}2},{\color[HTML]{0A9CFF}3},{\color[HTML]{0A9CFF}4},{\color[HTML]{0A9CFF}5},{\color[HTML]{0A9CFF}6}].{\color[HTML]{6FD3FF}each}\hspace{1ex}{\color[HTML]{FF3854}do\hspace{1ex}}|{\color[HTML]{588AFF}i}|}}\\
|
38
|
+
\texttt{ 3 }&\mbox{\texttt{ \hspace{1ex}\hspace{1ex}\hspace{1ex}\hspace{1ex}puts\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}{\color[HTML]{D972DE}{\color[HTML]{D972DE}\#\{}i{\color[HTML]{D972DE}\}}}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}}}}\\
|
39
|
+
\texttt{ 4 }&\mbox{\texttt{ \hspace{1ex}\hspace{1ex}{\color[HTML]{FF3854}end}}}\\
|
40
|
+
\texttt{ 5 }&\mbox{\texttt{ {\color[HTML]{FF3854}end}}}\\
|
41
|
+
\end{longtable}
|
42
|
+
\clearpage
|
43
|
+
\textcolor{white}{\textbf{\texttt{/Users/rambo/code/ruby/code\_rippa/test/fixtures/ruby\_proj/folder\_1/3.rb}}}\\
|
44
|
+
\textcolor{white}{\rule{\linewidth}{1.0mm}}\\
|
45
|
+
\pdfbookmark[8]{3.rb}{4}
|
46
|
+
\newcolumntype{C}{>{\color[HTML]{F8F8F8}\columncolor[HTML]{090A1B}}l}
|
47
|
+
\newcolumntype{N}{>{\color[HTML]{7D7D7D}\columncolor[HTML]{000000}}l}
|
48
|
+
\begin{longtable}{NC}
|
49
|
+
\texttt{ 1 }&\mbox{\texttt{ {\color[HTML]{FF3854}def}\hspace{1ex}{\color[HTML]{6FD3FF}third}}}\\
|
50
|
+
\texttt{ 2 }&\mbox{\texttt{ \hspace{1ex}\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}Polly\hspace{1ex}put\hspace{1ex}the\hspace{1ex}kettle\hspace{1ex}on\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}}}}\\
|
51
|
+
\texttt{ 3 }&\mbox{\texttt{ {\color[HTML]{FF3854}end}}}\\
|
52
|
+
\end{longtable}
|
53
|
+
\clearpage
|
54
|
+
\pdfbookmark[8]{folder\_2}{5}
|
55
|
+
\textcolor{white}{\textbf{\texttt{/Users/rambo/code/ruby/code\_rippa/test/fixtures/ruby\_proj/folder\_1/folder\_2/4.rb}}}\\
|
56
|
+
\textcolor{white}{\rule{\linewidth}{1.0mm}}\\
|
57
|
+
\pdfbookmark[9]{4.rb}{6}
|
58
|
+
\newcolumntype{C}{>{\color[HTML]{F8F8F8}\columncolor[HTML]{090A1B}}l}
|
59
|
+
\newcolumntype{N}{>{\color[HTML]{7D7D7D}\columncolor[HTML]{000000}}l}
|
60
|
+
\begin{longtable}{NC}
|
61
|
+
\texttt{ 1 }&\mbox{\texttt{ {\color[HTML]{FF3854}def}\hspace{1ex}{\color[HTML]{6FD3FF}fourth}}}\\
|
62
|
+
\texttt{ 2 }&\mbox{\texttt{ \hspace{1ex}\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}Nothing\hspace{1ex}interesting\hspace{1ex}here\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}}}}\\
|
63
|
+
\texttt{ 3 }&\mbox{\texttt{ {\color[HTML]{FF3854}end}}}\\
|
64
|
+
\end{longtable}
|
65
|
+
\clearpage
|
66
|
+
\textcolor{white}{\textbf{\texttt{/Users/rambo/code/ruby/code\_rippa/test/fixtures/ruby\_proj/folder\_1/folder\_2/5.rb}}}\\
|
67
|
+
\textcolor{white}{\rule{\linewidth}{1.0mm}}\\
|
68
|
+
\pdfbookmark[9]{5.rb}{7}
|
69
|
+
\newcolumntype{C}{>{\color[HTML]{F8F8F8}\columncolor[HTML]{090A1B}}l}
|
70
|
+
\newcolumntype{N}{>{\color[HTML]{7D7D7D}\columncolor[HTML]{000000}}l}
|
71
|
+
\begin{longtable}{NC}
|
72
|
+
\texttt{ 1 }&\mbox{\texttt{ {\color[HTML]{FF3854}def}\hspace{1ex}{\color[HTML]{6FD3FF}fifth}}}\\
|
73
|
+
\texttt{ 2 }&\mbox{\texttt{ \hspace{1ex}\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}yee-har\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}}}}\\
|
74
|
+
\texttt{ 3 }&\mbox{\texttt{ {\color[HTML]{FF3854}end}}}\\
|
75
|
+
\end{longtable}
|
76
|
+
\clearpage
|
77
|
+
\end{document}
|
@@ -0,0 +1,146 @@
|
|
1
|
+
\documentclass[a4paper,landscape]{article}
|
2
|
+
\pagestyle{empty}
|
3
|
+
\usepackage{xcolor}
|
4
|
+
\usepackage{colortbl}
|
5
|
+
\usepackage{longtable}
|
6
|
+
\usepackage[left=0cm,top=0.2cm,right=0cm,bottom=0.2cm,nohead,nofoot]{geometry}
|
7
|
+
\usepackage[T1]{fontenc}
|
8
|
+
\usepackage[scaled]{beramono}
|
9
|
+
\usepackage[bookmarksopen,bookmarksdepth=20]{hyperref}
|
10
|
+
\definecolor{pgcolor}{HTML}{090A1B}
|
11
|
+
\definecolor{headingcolor}{HTML}{F8F8F8}
|
12
|
+
\pagecolor{pgcolor}
|
13
|
+
\begin{document}
|
14
|
+
\setlength\LTleft\parindent
|
15
|
+
\setlength\LTright\fill
|
16
|
+
\setlength{\LTpre}{-10pt}
|
17
|
+
\textcolor{headingcolor}{\textbf{\texttt{test/fixtures/hello.rb}}}\\
|
18
|
+
\textcolor{headingcolor}{\rule{\linewidth}{1.0mm}}\\
|
19
|
+
\newcolumntype{C}{>{\color[HTML]{F8F8F8}\columncolor[HTML]{090A1B}}l}
|
20
|
+
\newcolumntype{N}{>{\color[HTML]{7D7D7D}\columncolor[HTML]{000000}}l}
|
21
|
+
\begin{longtable}{NC}
|
22
|
+
\texttt{ 1 }&\mbox{\texttt{ {\color[HTML]{FF3854}require}\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}uv\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}}}}\\
|
23
|
+
\texttt{ 2 }&\mbox{\texttt{ {\color[HTML]{FF3854}require}\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}find\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}}}}\\
|
24
|
+
\texttt{ 3 }&\mbox{\texttt{ {\color[HTML]{FF3854}require}\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}code\_rippa/uv\_overrides\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}}}}\\
|
25
|
+
\texttt{ 4 }&\mbox{\texttt{ {\color[HTML]{FF3854}require}\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}code\_rippa/version\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}}}}\\
|
26
|
+
\texttt{ 5 }&\mbox{\texttt{ {\color[HTML]{FF3854}require}\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}ansi/progressbar\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}}}}\\
|
27
|
+
\texttt{ 6 }&\mbox{\texttt{ {\color[HTML]{FF3854}require}\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}rainbow\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}}}}\\
|
28
|
+
\texttt{ 7 }&\mbox{\texttt{ {\color[HTML]{FF3854}include}\hspace{1ex}{\color[HTML]{588AFF}ANSI}}}\\
|
29
|
+
\texttt{ 8 }&\mbox{\texttt{ }}\\
|
30
|
+
\texttt{ 9 }&\mbox{\texttt{ }}\\
|
31
|
+
\texttt{ 10 }&\mbox{\texttt{ {\color[HTML]{588AFF}YAML}::{\color[HTML]{6FD3FF}ENGINE}.{\color[HTML]{6FD3FF}yamler}\hspace{1ex}{\color[HTML]{FF3854}=}\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}syck\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}}}}\\
|
32
|
+
\texttt{ 11 }&\mbox{\texttt{ }}\\
|
33
|
+
\texttt{ 12 }&\mbox{\texttt{ {\color[HTML]{FF3854}module}\hspace{1ex}{\underline{CodeRippa}}}}\\
|
34
|
+
\texttt{ 13 }&\mbox{\texttt{ \hspace{3ex}}}\\
|
35
|
+
\texttt{ 14 }&\mbox{\texttt{ \hspace{3ex}{\color[HTML]{588AFF}{\color[HTML]{588AFF}@@}supported\_syntax}\hspace{1ex}{\color[HTML]{FF3854}=}\hspace{1ex}{\color[HTML]{0A9CFF}nil}}}\\
|
36
|
+
\texttt{ 15 }&\mbox{\texttt{ \hspace{3ex}{\color[HTML]{588AFF}{\color[HTML]{588AFF}@@}supported\_ext}\hspace{1ex}{\color[HTML]{FF3854}=}\hspace{1ex}{\color[HTML]{0A9CFF}nil}}}\\
|
37
|
+
\texttt{ 16 }&\mbox{\texttt{ }}\\
|
38
|
+
\texttt{ 17 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{1ex}Parses\hspace{1ex}the\hspace{1ex}given\hspace{1ex}directory,\hspace{1ex}and\hspace{1ex}writes\hspace{1ex}the\hspace{1ex}output\hspace{1ex}file\hspace{1ex}(out.tex)}}}}\\
|
39
|
+
\texttt{ 18 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{1ex}into\hspace{1ex}the\hspace{1ex}current\hspace{1ex}directory.}}}}\\
|
40
|
+
\texttt{ 19 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{1ex}}}}}\\
|
41
|
+
\texttt{ 20 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{1ex}dir\_path\hspace{3ex}\hspace{3ex}\hspace{3ex}-\hspace{1ex}The\hspace{1ex}directory\hspace{1ex}path}}}}\\
|
42
|
+
\texttt{ 21 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{1ex}syntax\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}-\hspace{1ex}The\hspace{1ex}syntax\hspace{1ex}to\hspace{1ex}perform\hspace{1ex}parsing/syntax\hspace{1ex}highlighting.\hspace{1ex}}}}}\\
|
43
|
+
\texttt{ 22 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}Note\hspace{1ex}the\hspace{1ex}the\hspace{1ex}syntax\hspace{1ex}should\hspace{1ex}be\hspace{1ex}supported\hspace{1ex}by\hspace{1ex}code\_rippa.}}}}\\
|
44
|
+
\texttt{ 23 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{1ex}excluded\_exts\hspace{1ex}-\hspace{1ex}An\hspace{1ex}Array\hspace{1ex}of\hspace{1ex}extensions\hspace{1ex}to\hspace{1ex}ignore\hspace{1ex}during\hspace{1ex}parsing.\hspace{1ex}}}}}\\
|
45
|
+
\texttt{ 24 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{1ex}}}}}\\
|
46
|
+
\texttt{ 25 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{1ex}Examples}}}}\\
|
47
|
+
\texttt{ 26 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}}}}}\\
|
48
|
+
\texttt{ 27 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{3ex}\hspace{3ex}rip\_dir(''\textasciitilde\hspace{1ex}/code/ruby/some\_folder'',\hspace{1ex}''space\_cadet'',\hspace{1ex}''ruby'',\hspace{1ex}[])}}}}\\
|
49
|
+
\texttt{ 28 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}}}}}\\
|
50
|
+
\texttt{ 29 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{1ex}Returns\hspace{1ex}nothing.}}}}\\
|
51
|
+
\texttt{ 30 }&\mbox{\texttt{ \hspace{3ex}{\color[HTML]{FF3854}def}\hspace{1ex}{\color[HTML]{6FD3FF}self.rip\_dir}({\color[HTML]{588AFF}dir\_path{\color[HTML]{588AFF},}\hspace{1ex}theme{\color[HTML]{588AFF},}\hspace{1ex}syntax{\color[HTML]{588AFF},}\hspace{1ex}excluded\_exts\hspace{1ex}{\color[HTML]{FF3854}=}\hspace{1ex}{\color[HTML]{588AFF}[}{\color[HTML]{588AFF}]}})}}\\
|
52
|
+
\texttt{ 31 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}pbar\hspace{3ex}\hspace{3ex}\hspace{1ex}{\color[HTML]{FF3854}=}\hspace{1ex}{\color[HTML]{00FFBC}Progressbar}.{\color[HTML]{6FD3FF}new}(\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}Rippin'\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}}.{\color[HTML]{6FD3FF}color}({\color[HTML]{0A9CFF}{\color[HTML]{0A9CFF}:}blue}),\hspace{1ex}{\color[HTML]{00FFBC}Dir}[\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}**/*\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}}].{\color[HTML]{6FD3FF}length})}}\\
|
53
|
+
\texttt{ 32 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}counter\hspace{3ex}\hspace{1ex}{\color[HTML]{FF3854}=}\hspace{1ex}{\color[HTML]{0A9CFF}0}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}}}\\
|
54
|
+
\texttt{ 33 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}outfile\hspace{3ex}\hspace{1ex}{\color[HTML]{FF3854}=}\hspace{1ex}{\color[HTML]{00FFBC}File}.{\color[HTML]{6FD3FF}open}(\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}out.tex\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}},\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}w\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}})\hspace{1ex}}}\\
|
55
|
+
\texttt{ 34 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}}}\\
|
56
|
+
\texttt{ 35 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}outfile.{\color[HTML]{6FD3FF}write}\hspace{1ex}preamble\hspace{1ex}theme}}\\
|
57
|
+
\texttt{ 36 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{1ex}{\color[HTML]{00FFBC}Find}.{\color[HTML]{6FD3FF}find}\hspace{1ex}dir\_path\hspace{1ex}{\color[HTML]{FF3854}do\hspace{1ex}}|{\color[HTML]{588AFF}path}|}}\\
|
58
|
+
\texttt{ 37 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}depth\hspace{1ex}{\color[HTML]{FF3854}=}\hspace{1ex}path.{\color[HTML]{6FD3FF}to\_s}.{\color[HTML]{6FD3FF}count}(\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}/\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}})}}\\
|
59
|
+
\texttt{ 38 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}if}\hspace{1ex}{\color[HTML]{00FFBC}File}.{\color[HTML]{6FD3FF}basename}(path)[{\color[HTML]{0A9CFF}0}]\hspace{1ex}{\color[HTML]{FF3854}==}\hspace{1ex}{\color[HTML]{0A9CFF}?.}\hspace{1ex}{\color[HTML]{FF3854}or}\hspace{1ex}{\color[HTML]{00FFBC}File}.{\color[HTML]{6FD3FF}basename}(path)\hspace{1ex}{\color[HTML]{FF3854}==}\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}out.tex\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}}}}\\
|
60
|
+
\texttt{ 39 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{00FFBC}Find}.{\color[HTML]{6FD3FF}prune}}}\\
|
61
|
+
\texttt{ 40 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}else}}}\\
|
62
|
+
\texttt{ 41 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}begin}}}\\
|
63
|
+
\texttt{ 42 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}is\_rippable\hspace{1ex}{\color[HTML]{FF3854}=}\hspace{1ex}{\color[HTML]{6FD3FF}rippable?}(path,\hspace{1ex}syntax,\hspace{1ex}excluded\_exts)}}\\
|
64
|
+
\texttt{ 43 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}if}\hspace{1ex}is\_rippable}}\\
|
65
|
+
\texttt{ 44 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}outfile.{\color[HTML]{6FD3FF}write}\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}{\color[HTML]{D972DE}$\backslash$$\backslash$}textcolor\{white\}\{{\color[HTML]{D972DE}$\backslash$$\backslash$}textbf\{{\color[HTML]{D972DE}$\backslash$$\backslash$}texttt\{{\color[HTML]{D972DE}{\color[HTML]{D972DE}\#\{}path{\color[HTML]{D972DE}{\color[HTML]{D972DE}.}{\color[HTML]{6FD3FF}gsub}}{\color[HTML]{D972DE}(}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}\_\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}}{\color[HTML]{D972DE},}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}$\backslash$\_\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}}{\color[HTML]{D972DE})}{\color[HTML]{D972DE}{\color[HTML]{D972DE}.}{\color[HTML]{6FD3FF}gsub}}{\color[HTML]{D972DE}(}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}\%\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}}{\color[HTML]{D972DE},}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}$\backslash$\%\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}}{\color[HTML]{D972DE})}{\color[HTML]{D972DE}\}}}\}\}\}{\color[HTML]{D972DE}$\backslash$$\backslash$}{\color[HTML]{D972DE}$\backslash$$\backslash$}{\color[HTML]{D972DE}$\backslash$n}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}}}}\\
|
66
|
+
\texttt{ 45 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}outfile.{\color[HTML]{6FD3FF}write}\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}{\color[HTML]{D972DE}$\backslash$$\backslash$}textcolor\{white\}\{{\color[HTML]{D972DE}$\backslash$$\backslash$}rule\{{\color[HTML]{D972DE}$\backslash$$\backslash$}linewidth\}\{1.0mm\}\}{\color[HTML]{D972DE}$\backslash$$\backslash$}{\color[HTML]{D972DE}$\backslash$$\backslash$}{\color[HTML]{D972DE}$\backslash$n}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}}}}\\
|
67
|
+
\texttt{ 46 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}end}}}\\
|
68
|
+
\texttt{ 47 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}}}\\
|
69
|
+
\texttt{ 48 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}if}\hspace{1ex}{\color[HTML]{6FD3FF}bookmarkable?}(path,\hspace{1ex}syntax,\hspace{1ex}excluded\_exts)\hspace{3ex}\hspace{3ex}}}\\
|
70
|
+
\texttt{ 49 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}outfile.{\color[HTML]{6FD3FF}write}\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}{\color[HTML]{D972DE}$\backslash$$\backslash$}pdfbookmark[{\color[HTML]{D972DE}{\color[HTML]{D972DE}\#\{}depth{\color[HTML]{FF3854}-}{\color[HTML]{D972DE}2}{\color[HTML]{D972DE}\}}}]\{{\color[HTML]{D972DE}{\color[HTML]{D972DE}\#\{}{\color[HTML]{00FFBC}File}{\color[HTML]{D972DE}{\color[HTML]{D972DE}.}{\color[HTML]{6FD3FF}basename}}{\color[HTML]{D972DE}(}path{\color[HTML]{D972DE})}{\color[HTML]{D972DE}{\color[HTML]{D972DE}.}{\color[HTML]{6FD3FF}gsub}}{\color[HTML]{D972DE}(}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}\_\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}}{\color[HTML]{D972DE},}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}$\backslash$\_\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}}{\color[HTML]{D972DE})}{\color[HTML]{D972DE}{\color[HTML]{D972DE}.}{\color[HTML]{6FD3FF}gsub}}{\color[HTML]{D972DE}(}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}\%\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}}{\color[HTML]{D972DE},}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}$\backslash$\%\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}}{\color[HTML]{D972DE})}{\color[HTML]{D972DE}\}}}\}\{{\color[HTML]{D972DE}{\color[HTML]{D972DE}\#\{}counter{\color[HTML]{D972DE}\}}}\}{\color[HTML]{D972DE}$\backslash$n}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}}}}\\
|
71
|
+
\texttt{ 50 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}end}}}\\
|
72
|
+
\texttt{ 51 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}}}\\
|
73
|
+
\texttt{ 52 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}if}\hspace{1ex}is\_rippable}}\\
|
74
|
+
\texttt{ 53 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}outfile.{\color[HTML]{6FD3FF}write}\hspace{1ex}{\color[HTML]{00FFBC}Uv}.{\color[HTML]{6FD3FF}parse}({\color[HTML]{00FFBC}File}.{\color[HTML]{6FD3FF}read}(path),\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}latex\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}},\hspace{1ex}syntax,\hspace{1ex}{\color[HTML]{0A9CFF}true},\hspace{1ex}theme)\hspace{1ex}}}\\
|
75
|
+
\texttt{ 54 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}outfile.{\color[HTML]{6FD3FF}write}\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}{\color[HTML]{D972DE}$\backslash$$\backslash$}clearpage{\color[HTML]{D972DE}$\backslash$n}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}}}}\\
|
76
|
+
\texttt{ 55 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}end}}}\\
|
77
|
+
\texttt{ 56 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}rescue}\hspace{1ex}{\color[HTML]{588AFF}Exception}\hspace{1ex}=>\hspace{1ex}e}}\\
|
78
|
+
\texttt{ 57 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}puts\hspace{1ex}e}}\\
|
79
|
+
\texttt{ 58 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}end}}}\\
|
80
|
+
\texttt{ 59 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}counter\hspace{1ex}{\color[HTML]{FF3854}+=}\hspace{1ex}{\color[HTML]{0A9CFF}1}}}\\
|
81
|
+
\texttt{ 60 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}end}}}\\
|
82
|
+
\texttt{ 61 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}pbar.{\color[HTML]{6FD3FF}inc}}}\\
|
83
|
+
\texttt{ 62 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}end}}}\\
|
84
|
+
\texttt{ 63 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}}}\\
|
85
|
+
\texttt{ 64 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}outfile.{\color[HTML]{6FD3FF}write}\hspace{1ex}endtag}}\\
|
86
|
+
\texttt{ 65 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}pbar.{\color[HTML]{6FD3FF}finish}}}\\
|
87
|
+
\texttt{ 66 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}}}\\
|
88
|
+
\texttt{ 67 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}msg\hspace{1ex}{\color[HTML]{FF3854}=}\hspace{3ex}\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}Completed\hspace{1ex}successfully.{\color[HTML]{D972DE}$\backslash$n}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}}.{\color[HTML]{6FD3FF}color}({\color[HTML]{0A9CFF}{\color[HTML]{0A9CFF}:}green})}}\\
|
89
|
+
\texttt{ 68 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}msg\hspace{1ex}{\color[HTML]{FF3854}<<}\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}Output\hspace{1ex}file\hspace{1ex}written\hspace{1ex}to:\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}}}}\\
|
90
|
+
\texttt{ 69 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}msg\hspace{1ex}{\color[HTML]{FF3854}<<}\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}{\color[HTML]{D972DE}{\color[HTML]{D972DE}\#\{}{\color[HTML]{00FFBC}File}{\color[HTML]{D972DE}{\color[HTML]{D972DE}.}{\color[HTML]{6FD3FF}expand\_path}}{\color[HTML]{D972DE}(}outfile{\color[HTML]{D972DE})}{\color[HTML]{D972DE}\}}}{\color[HTML]{D972DE}$\backslash$n}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}}.{\color[HTML]{6FD3FF}color}({\color[HTML]{0A9CFF}{\color[HTML]{0A9CFF}:}yellow})}}\\
|
91
|
+
\texttt{ 70 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}msg\hspace{1ex}{\color[HTML]{FF3854}<<}\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}Now\hspace{1ex}run\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}}}}\\
|
92
|
+
\texttt{ 71 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}msg\hspace{1ex}{\color[HTML]{FF3854}<<}\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}pdflatex\hspace{1ex}{\color[HTML]{D972DE}{\color[HTML]{D972DE}\#\{}{\color[HTML]{00FFBC}File}{\color[HTML]{D972DE}{\color[HTML]{D972DE}.}{\color[HTML]{6FD3FF}expand\_path}}{\color[HTML]{D972DE}(}outfile{\color[HTML]{D972DE})}{\color[HTML]{D972DE}\}}}\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}}.{\color[HTML]{6FD3FF}color}({\color[HTML]{0A9CFF}{\color[HTML]{0A9CFF}:}red})}}\\
|
93
|
+
\texttt{ 72 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}msg\hspace{1ex}{\color[HTML]{FF3854}<<}\hspace{1ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}**\hspace{1ex}TWICE\hspace{1ex}**\hspace{1ex}to\hspace{1ex}generate\hspace{1ex}PDF.\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}}}}\\
|
94
|
+
\texttt{ 73 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}puts\hspace{1ex}msg}}\\
|
95
|
+
\texttt{ 74 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}}}\\
|
96
|
+
\texttt{ 75 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}outfile.{\color[HTML]{6FD3FF}close}}}\\
|
97
|
+
\texttt{ 76 }&\mbox{\texttt{ \hspace{3ex}{\color[HTML]{FF3854}end}}}\\
|
98
|
+
\texttt{ 77 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}}}\\
|
99
|
+
\texttt{ 78 }&\mbox{\texttt{ \hspace{3ex}{\color[HTML]{FF3854}private}\hspace{1ex}}}\\
|
100
|
+
\texttt{ 79 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}}}\\
|
101
|
+
\texttt{ 80 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{1ex}Returns\hspace{1ex}True\hspace{1ex}if\hspace{1ex}path\hspace{1ex}should\hspace{1ex}be\hspace{1ex}ripped\hspace{1ex}as\hspace{1ex}part\hspace{1ex}of\hspace{1ex}the\hspace{1ex}output\hspace{1ex}TEX\hspace{1ex}file.\hspace{1ex}}}}}\\
|
102
|
+
\texttt{ 81 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}}}}}\\
|
103
|
+
\texttt{ 82 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{1ex}path\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}-\hspace{1ex}The\hspace{1ex}file.\hspace{1ex}(directories\hspace{1ex}will\hspace{1ex}return\hspace{1ex}false.)}}}}\\
|
104
|
+
\texttt{ 83 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{1ex}syntax\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}-\hspace{1ex}The\hspace{1ex}syntax\hspace{1ex}to\hspace{1ex}perform\hspace{1ex}parsing/syntax\hspace{1ex}highlighting.\hspace{1ex}}}}}\\
|
105
|
+
\texttt{ 84 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}Note\hspace{1ex}the\hspace{1ex}the\hspace{1ex}syntax\hspace{1ex}should\hspace{1ex}be\hspace{1ex}supported\hspace{1ex}by\hspace{1ex}code\_rippa.}}}}\\
|
106
|
+
\texttt{ 85 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{1ex}excluded\_exts\hspace{1ex}-\hspace{1ex}An\hspace{1ex}Array\hspace{1ex}of\hspace{1ex}extensions\hspace{1ex}to\hspace{1ex}ignore\hspace{1ex}during\hspace{1ex}parsing.}}}}\\
|
107
|
+
\texttt{ 86 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}}}}}\\
|
108
|
+
\texttt{ 87 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}}}}}\\
|
109
|
+
\texttt{ 88 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{1ex}Examples}}}}\\
|
110
|
+
\texttt{ 89 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}}}}}\\
|
111
|
+
\texttt{ 90 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{3ex}\hspace{3ex}rippable?(''hello.rb'',\hspace{1ex}''ruby'',\hspace{1ex}[])\hspace{1ex}}}}}\\
|
112
|
+
\texttt{ 91 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{3ex}\hspace{3ex}\#\hspace{1ex}=>\hspace{1ex}true\hspace{1ex}}}}}\\
|
113
|
+
\texttt{ 92 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}}}}}\\
|
114
|
+
\texttt{ 93 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{3ex}\hspace{3ex}rippable?(''\textasciitilde\hspace{1ex}/code/'',\hspace{1ex}''ruby'',\hspace{1ex}[])\hspace{1ex}}}}}\\
|
115
|
+
\texttt{ 94 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{3ex}\hspace{3ex}\#\hspace{1ex}=>\hspace{1ex}false}}}}\\
|
116
|
+
\texttt{ 95 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}}}}}\\
|
117
|
+
\texttt{ 96 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{3ex}\hspace{3ex}rippable?(''hello.rb'',\hspace{1ex}''ruby'',\hspace{1ex}[''rb'',\hspace{1ex}''html''])\hspace{1ex}}}}}\\
|
118
|
+
\texttt{ 97 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{3ex}\hspace{3ex}\#\hspace{1ex}=>\hspace{1ex}false}}}}\\
|
119
|
+
\texttt{ 98 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}}}}}\\
|
120
|
+
\texttt{ 99 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{3ex}\hspace{3ex}rippable?(''hello.klingon'',\hspace{1ex}''klingon'',\hspace{1ex}[])\hspace{1ex}}}}}\\
|
121
|
+
\texttt{ 100 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{3ex}\hspace{3ex}\#\hspace{1ex}=>\hspace{1ex}false}}}}\\
|
122
|
+
\texttt{ 101 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}}}}}\\
|
123
|
+
\texttt{ 102 }&\mbox{\texttt{ \setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\hspace{3ex}\hspace{3ex}\setlength{\fboxsep}{0ex}\colorbox[HTML]{000000}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{C050C2}\textit{\#}}\hspace{1ex}Returns\hspace{1ex}true\hspace{1ex}if\hspace{1ex}path\hspace{1ex}should\hspace{1ex}be\hspace{1ex}ripped.}}}}\\
|
124
|
+
\texttt{ 103 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}def}\hspace{1ex}{\color[HTML]{6FD3FF}self.rippable?}({\color[HTML]{588AFF}path{\color[HTML]{588AFF},}\hspace{1ex}syntax{\color[HTML]{588AFF},}\hspace{1ex}excluded\_exts})}}\\
|
125
|
+
\texttt{ 104 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}if}\hspace{1ex}{\color[HTML]{00FFBC}FileTest}.{\color[HTML]{6FD3FF}directory?}(path)}}\\
|
126
|
+
\texttt{ 105 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{0A9CFF}false}}}\\
|
127
|
+
\texttt{ 106 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}else}}}\\
|
128
|
+
\texttt{ 107 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}src\_ext\hspace{1ex}{\color[HTML]{FF3854}=}\hspace{1ex}{\color[HTML]{00FFBC}File}.{\color[HTML]{6FD3FF}extname}(path)[{\color[HTML]{0A9CFF}1}..{\color[HTML]{FF3854}-}{\color[HTML]{0A9CFF}1}]}}\\
|
129
|
+
\texttt{ 108 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}if}\hspace{1ex}excluded\_exts.{\color[HTML]{6FD3FF}include?}\hspace{1ex}src\_ext}}\\
|
130
|
+
\texttt{ 109 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{0A9CFF}false}}}\\
|
131
|
+
\texttt{ 110 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}elsif}\hspace{1ex}supported\_exts.{\color[HTML]{6FD3FF}include?}(src\_ext)}}\\
|
132
|
+
\texttt{ 111 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{0A9CFF}true}}}\\
|
133
|
+
\texttt{ 112 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}else}}}\\
|
134
|
+
\texttt{ 113 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{0A9CFF}false}}}\\
|
135
|
+
\texttt{ 114 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}end}}}\\
|
136
|
+
\texttt{ 115 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}end}}}\\
|
137
|
+
\texttt{ 116 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}end}}}\\
|
138
|
+
\texttt{ 117 }&\mbox{\texttt{ }}\\
|
139
|
+
\texttt{ 118 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}def}\hspace{1ex}{\color[HTML]{6FD3FF}self.heading\_color}({\color[HTML]{588AFF}theme})}}\\
|
140
|
+
\texttt{ 119 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}f\hspace{1ex}{\color[HTML]{FF3854}=}\hspace{1ex}{\color[HTML]{588AFF}YAML}.{\color[HTML]{6FD3FF}load}({\color[HTML]{00FFBC}File}.{\color[HTML]{6FD3FF}read}(\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}{\color[HTML]{D972DE}{\color[HTML]{D972DE}\#\{}{\color[HTML]{00FFBC}Uv}{\color[HTML]{D972DE}{\color[HTML]{D972DE}.}{\color[HTML]{6FD3FF}render\_path}}{\color[HTML]{D972DE}\}}}/latex/{\color[HTML]{D972DE}{\color[HTML]{D972DE}\#\{}theme{\color[HTML]{D972DE}\}}}.render\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}''}}))\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}\hspace{3ex}}}\\
|
141
|
+
\texttt{ 120 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}\hspace{3ex}{\color[HTML]{E9C062}{\color[HTML]{E9C062}/}}{\color[HTML]{E9C062}{\color[HTML]{E9C062}{\color[HTML]{E9C062}(}{\color[HTML]{E9C062}{\color[HTML]{E9C062}[}A-Fa-f0-9{\color[HTML]{E9C062}]}}{\color[HTML]{CF7D34}{\color[HTML]{CF7D34}\{}6{\color[HTML]{CF7D34}\}}}|{\color[HTML]{E9C062}{\color[HTML]{E9C062}[}A-Fa-f0-9{\color[HTML]{E9C062}]}}{\color[HTML]{CF7D34}{\color[HTML]{CF7D34}\{}3{\color[HTML]{CF7D34}\}}}{\color[HTML]{E9C062})}}}{\color[HTML]{E9C062}{\color[HTML]{E9C062}/}}.{\color[HTML]{6FD3FF}match}(f[\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}listing\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}}][\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}begin\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}}].{\color[HTML]{6FD3FF}split}(\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}{\color[HTML]{D972DE}$\backslash$$\backslash$}\setlength{\fboxsep}{0ex}\colorbox[HTML]{0F2421}{\rule[-0.5ex]{0pt}{2.0ex}\color[HTML]{8FFF58}'}})[{\color[HTML]{0A9CFF}2}]).{\color[HTML]{6FD3FF}to\_s}}}\\
|
142
|
+
\texttt{ 121 }&\mbox{\texttt{ \hspace{3ex}\hspace{3ex}{\color[HTML]{FF3854}end}}}\\
|
143
|
+
\texttt{ 122 }&\mbox{\texttt{ }}\\
|
144
|
+
\texttt{ 123 }&\mbox{\texttt{ {\color[HTML]{FF3854}end}}}\\
|
145
|
+
\end{longtable}
|
146
|
+
\end{document}
|
@@ -0,0 +1,80 @@
|
|
1
|
+
require 'minitest/autorun'
|
2
|
+
require 'code_rippa'
|
3
|
+
|
4
|
+
describe CodeRippa do
|
5
|
+
|
6
|
+
def fixtures_path
|
7
|
+
File.expand_path("../fixtures", __FILE__)
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should return a heading color for every syntax file" do
|
11
|
+
Uv.themes.each do |theme|
|
12
|
+
assert_equal 6, CodeRippa.heading_color(theme).length
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should return a page color for every syntax file" do
|
17
|
+
Uv.themes.each do |theme|
|
18
|
+
assert_equal 6, CodeRippa.page_color(theme).length
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
it "page color should not be the same as the heading color" do
|
23
|
+
Uv.themes.each do |theme|
|
24
|
+
refute_equal CodeRippa.heading_color(theme), CodeRippa.page_color(theme)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
describe ".rippable?" do
|
30
|
+
|
31
|
+
it "should parse a file with an extension that is supported" do
|
32
|
+
assert_equal true, CodeRippa.rippable?("#{fixtures_path}/hello.rb", 'moc', [])
|
33
|
+
assert_equal true, CodeRippa.rippable?("#{fixtures_path}/hello.c", 'moc', [])
|
34
|
+
assert_equal true, CodeRippa.rippable?("#{fixtures_path}/hello.cpp", 'moc', [])
|
35
|
+
assert_equal true, CodeRippa.rippable?("#{fixtures_path}/hello.m", 'moc', [])
|
36
|
+
assert_equal true, CodeRippa.rippable?("#{fixtures_path}/hello.s", 'moc', [])
|
37
|
+
assert_equal true, CodeRippa.rippable?("#{fixtures_path}/hello.txt", 'moc', [])
|
38
|
+
assert_equal true, CodeRippa.rippable?("#{fixtures_path}/hello.haml", 'moc', [])
|
39
|
+
assert_equal true, CodeRippa.rippable?("#{fixtures_path}/hello.json", 'moc', [])
|
40
|
+
assert_equal true, CodeRippa.rippable?("#{fixtures_path}/hello.py", 'moc', [])
|
41
|
+
assert_equal true, CodeRippa.rippable?("#{fixtures_path}/hello.sh", 'moc', [])
|
42
|
+
assert_equal true, CodeRippa.rippable?("#{fixtures_path}/hello.groovy", 'moc', [])
|
43
|
+
assert_equal true, CodeRippa.rippable?("#{fixtures_path}/hello.php", 'moc', [])
|
44
|
+
end
|
45
|
+
|
46
|
+
it "should not parse a file with an extension that isn't supported" do
|
47
|
+
assert_equal false, CodeRippa.rippable?("#{fixtures_path}/hello.vark", 'moc', [])
|
48
|
+
assert_equal false, CodeRippa.rippable?("#{fixtures_path}/hello.psd", 'moc', [])
|
49
|
+
assert_equal false, CodeRippa.rippable?("#{fixtures_path}/hello.ai", 'moc', [])
|
50
|
+
assert_equal false, CodeRippa.rippable?("#{fixtures_path}/hello.scala", 'moc', [])
|
51
|
+
end
|
52
|
+
|
53
|
+
it "should not parse a directory" do
|
54
|
+
assert_equal false, CodeRippa.rippable?("#{fixtures_path}/", 'moc', [])
|
55
|
+
end
|
56
|
+
|
57
|
+
it "should not parse a file that has an excluded extension" do
|
58
|
+
assert_equal false, CodeRippa.rippable?("#{fixtures_path}/hello.rb", 'moc', ['rb'])
|
59
|
+
assert_equal false, CodeRippa.rippable?("#{fixtures_path}/hello.c", 'moc', ['c'])
|
60
|
+
assert_equal true, CodeRippa.rippable?("#{fixtures_path}/hello.cpp", 'moc', ['rb'])
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
|
65
|
+
|
66
|
+
describe ".bookmarkable?" do
|
67
|
+
|
68
|
+
it "should bookmark a directory" do
|
69
|
+
assert_equal true, CodeRippa.bookmarkable?("#{fixtures_path}/", 'moc', [])
|
70
|
+
end
|
71
|
+
|
72
|
+
it "should not bookmark a file that has an excluded extension" do
|
73
|
+
assert_equal false, CodeRippa.bookmarkable?("#{fixtures_path}/hello.rb", 'moc', ['rb'])
|
74
|
+
assert_equal false, CodeRippa.bookmarkable?("#{fixtures_path}/hello.c", 'moc', ['c'])
|
75
|
+
assert_equal true, CodeRippa.bookmarkable?("#{fixtures_path}/hello.cpp", 'moc', ['rb'])
|
76
|
+
end
|
77
|
+
|
78
|
+
end
|
79
|
+
|
80
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'minitest/autorun'
|
2
|
+
require 'code_rippa'
|
3
|
+
|
4
|
+
describe CodeRippa do
|
5
|
+
|
6
|
+
def fixtures_path
|
7
|
+
File.join(File.expand_path(File.open(".")), "test", "fixtures")
|
8
|
+
end
|
9
|
+
|
10
|
+
before do
|
11
|
+
Dir.chdir("#{fixtures_path}")
|
12
|
+
end
|
13
|
+
|
14
|
+
after do
|
15
|
+
File.delete(File.expand_path("out.tex"))
|
16
|
+
Dir.chdir("../..")
|
17
|
+
end
|
18
|
+
|
19
|
+
describe ".rip_file" do
|
20
|
+
it "should rip a file that is supported" do
|
21
|
+
puts File.expand_path(File.open("."))
|
22
|
+
CodeRippa.rip_file(File.join("#{File.expand_path(File.open("."))}", "hello.rb"), "moc", "ruby")
|
23
|
+
f1 = File.open("out.tex")
|
24
|
+
f2 = File.open("rip_file.tex")
|
25
|
+
assert (f1.size - f2.size).abs < 300
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe ".rip_dir" do
|
30
|
+
it "should rip a directory that is supported" do
|
31
|
+
CodeRippa.rip_dir("ruby_proj/", "moc", "ruby")
|
32
|
+
f1 = File.open("out.tex")
|
33
|
+
f2 = File.open("rip_dir.tex")
|
34
|
+
assert (f1.size - f2.size).abs < 300
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: code_rippa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-03-
|
12
|
+
date: 2012-03-31 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rainbow
|
@@ -59,6 +59,38 @@ dependencies:
|
|
59
59
|
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 0.10.5
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: rake
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: minitest
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
86
|
+
type: :development
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
62
94
|
description: Converts source code into a (bookmarked, themed, and syntax highlighted!)
|
63
95
|
PDF.
|
64
96
|
email:
|
@@ -69,6 +101,7 @@ extensions: []
|
|
69
101
|
extra_rdoc_files: []
|
70
102
|
files:
|
71
103
|
- .gitignore
|
104
|
+
- .travis.yml
|
72
105
|
- Gemfile
|
73
106
|
- LICENSE
|
74
107
|
- README.md
|
@@ -116,6 +149,7 @@ files:
|
|
116
149
|
- lib/code_rippa/syntax/blog_textile.syntax
|
117
150
|
- lib/code_rippa/syntax/build.syntax
|
118
151
|
- lib/code_rippa/syntax/bulletin_board.syntax
|
152
|
+
- lib/code_rippa/syntax/c.syntax
|
119
153
|
- lib/code_rippa/syntax/cake.syntax
|
120
154
|
- lib/code_rippa/syntax/camlp4.syntax
|
121
155
|
- lib/code_rippa/syntax/cm.syntax
|
@@ -248,12 +282,25 @@ files:
|
|
248
282
|
- lib/code_rippa/syntax/yui_javascript.syntax
|
249
283
|
- lib/code_rippa/uv_overrides.rb
|
250
284
|
- lib/code_rippa/version.rb
|
285
|
+
- test/fixtures/hello.rb
|
286
|
+
- test/fixtures/octocat.png
|
287
|
+
- test/fixtures/rip_dir.tex
|
288
|
+
- test/fixtures/rip_file.tex
|
289
|
+
- test/fixtures/ruby_proj/folder_1/1.rb
|
290
|
+
- test/fixtures/ruby_proj/folder_1/2.rb
|
291
|
+
- test/fixtures/ruby_proj/folder_1/3.rb
|
292
|
+
- test/fixtures/ruby_proj/folder_1/folder_2/4.rb
|
293
|
+
- test/fixtures/ruby_proj/folder_1/folder_2/5.rb
|
294
|
+
- test/test_private_methods.rb
|
295
|
+
- test/test_public_methods.rb
|
251
296
|
homepage: http://code-rippa.heroku.com
|
252
297
|
licenses: []
|
253
298
|
post_install_message:
|
254
299
|
rdoc_options: []
|
255
300
|
require_paths:
|
256
301
|
- lib
|
302
|
+
- lib/syntax
|
303
|
+
- lib/render
|
257
304
|
required_ruby_version: !ruby/object:Gem::Requirement
|
258
305
|
none: false
|
259
306
|
requirements:
|
@@ -274,5 +321,16 @@ specification_version: 3
|
|
274
321
|
summary: CodeRippa takes your source code and turns it into a beautiful PDF file.
|
275
322
|
Currently, it supports 150 languages and 15 themes, all of which are available in
|
276
323
|
TextMate. More syntaxes and themes will be available soon.
|
277
|
-
test_files:
|
324
|
+
test_files:
|
325
|
+
- test/fixtures/hello.rb
|
326
|
+
- test/fixtures/octocat.png
|
327
|
+
- test/fixtures/rip_dir.tex
|
328
|
+
- test/fixtures/rip_file.tex
|
329
|
+
- test/fixtures/ruby_proj/folder_1/1.rb
|
330
|
+
- test/fixtures/ruby_proj/folder_1/2.rb
|
331
|
+
- test/fixtures/ruby_proj/folder_1/3.rb
|
332
|
+
- test/fixtures/ruby_proj/folder_1/folder_2/4.rb
|
333
|
+
- test/fixtures/ruby_proj/folder_1/folder_2/5.rb
|
334
|
+
- test/test_private_methods.rb
|
335
|
+
- test/test_public_methods.rb
|
278
336
|
has_rdoc: false
|