fix bug on minimized %include

This commit is contained in:
zawz 2020-10-21 15:47:57 +02:00
parent 8c85658297
commit 2ec3eab75e

View file

@ -158,7 +158,8 @@ std::string generate_resolve(std::vector<std::string> args, int ind)
ret = sh->generate(false, ind); ret = sh->generate(false, ind);
delete sh; delete sh;
ret = ret.substr(indent(ind).size()); ret = ret.substr(indent(ind).size());
ret.pop_back(); // remove \n if(ret[ret.size()-1] != '\n')
ret += '\n';
} }
else else
{ {
@ -206,7 +207,6 @@ std::string generate_include(std::vector<std::string> args, int ind)
auto v = split(inc, '\n'); auto v = split(inc, '\n');
std::string file; std::string file;
shmain* bl=nullptr; shmain* bl=nullptr;
bool indent_remove=true; bool indent_remove=true;
@ -235,6 +235,8 @@ std::string generate_include(std::vector<std::string> args, int ind)
throw ztd::format_error(e.what(), it, e.data(), e.where()); throw ztd::format_error(e.what(), it, e.data(), e.where());
} }
file = bl->generate(false, ind); file = bl->generate(false, ind);
if(file[file.size()-1] != '\n')
file += '\n';
delete bl; delete bl;
if(indent_remove) if(indent_remove)
{ {
@ -250,9 +252,6 @@ std::string generate_include(std::vector<std::string> args, int ind)
throw std::runtime_error("Cannot cd to '"+dir+"'"); throw std::runtime_error("Cannot cd to '"+dir+"'");
g_origin=curfile; g_origin=curfile;
if(!opts['r'])
ret.pop_back();
return ret; return ret;
} }
@ -376,6 +375,8 @@ std::string shmain::generate(bool print_shebang, int ind)
ret += shebang + '\n'; ret += shebang + '\n';
for(auto it: cls) for(auto it: cls)
ret += it->generate(ind); ret += it->generate(ind);
if( opt_minimize && ret[ret.size()-1] == '\n')
ret.pop_back();
return ret; return ret;
} }