diff --git a/index.js b/index.js
index 6b5613e..4bd58d5 100755
--- a/index.js
+++ b/index.js
@@ -1,6 +1,9 @@
module.exports = function(input){
var html_stack = [];
+ var previous_line_num_tabs = -1;
+ var lines;
+ var html = '';
var insertTabs = function(num_tabs) {
var result = '';
@@ -22,10 +25,23 @@ module.exports = function(input){
return result;
}
+ var processList = function(i){
+ var tabs_array = lines[i].split('\t');
+ var current_line_num_tabs = tabs_array.length - 1;
+ if(current_line_num_tabs > previous_line_num_tabs){
+ html += insertTabs(current_line_num_tabs * 2) + '
\n';
+ html_stack.push(insertTabs(current_line_num_tabs * 2) + '
\n');
+ } else {
+ html += popHTMLStack(current_line_num_tabs, previous_line_num_tabs);
+ }
+ html += insertTabs((current_line_num_tabs * 2) + 1) + '\n';
+ html += insertTabs((current_line_num_tabs * 2) + 2) + tabs_array[tabs_array.length - 1] + '\n';
+ html_stack.push(insertTabs((current_line_num_tabs * 2) + 1) + '\n');
+ previous_line_num_tabs = current_line_num_tabs;
+ }
+
var parseFile = function(data){
- var previous_line_num_tabs = -1;
- var lines = data.split('\n');
- var html = '';
+ lines = data.split('\n');
for(var i = 0; i < lines.length; i++){
if(lines[i] !== ''){
if(lines[ i + 1 ] === '' && (i === 0 || lines[ i - 1 ] === '')){
@@ -39,18 +55,7 @@ module.exports = function(input){
html += '' + lines[i] + '
\n';
}
} else {
- var tabs_array = lines[i].split('\t');
- var current_line_num_tabs = tabs_array.length - 1;
- if(current_line_num_tabs > previous_line_num_tabs){
- html += insertTabs(current_line_num_tabs * 2) + '\n';
- html_stack.push(insertTabs(current_line_num_tabs * 2) + '
\n');
- } else {
- html += popHTMLStack(current_line_num_tabs, previous_line_num_tabs);
- }
- html += insertTabs((current_line_num_tabs * 2) + 1) + '\n';
- html += insertTabs((current_line_num_tabs * 2) + 2) + tabs_array[tabs_array.length - 1] + '\n';
- html_stack.push(insertTabs((current_line_num_tabs * 2) + 1) + '\n');
- previous_line_num_tabs = current_line_num_tabs;
+ processList(i);
}
}
}