mirror of
				https://github.com/facebook/zstd.git
				synced 2025-11-03 20:33:11 +03:00 
			
		
		
		
	gen_html: comments of type /*= and /**= can be longer than a single line
This commit is contained in:
		@@ -133,36 +133,28 @@ int main(int argc, char *argv[]) {
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /* comments of type /*= and /**= mean: use a <H3> header and show also all functions until first empty line */
 | 
			
		||||
        if ((line.substr(0,3) == "/*=" || line.substr(0,4) == "/**=") && line.find("*/")!=string::npos) {
 | 
			
		||||
            trim_comments(line);
 | 
			
		||||
            trim(line, "= ");
 | 
			
		||||
            sout << "<h3>" << line << "</h3><pre><b>";
 | 
			
		||||
            lines = get_lines(input, ++linenum, "");
 | 
			
		||||
            for (l=0; l<lines.size(); l++) {
 | 
			
		||||
                print_line(sout, lines[l]);
 | 
			
		||||
            }
 | 
			
		||||
            sout << "</b></pre><BR>" << endl;
 | 
			
		||||
            continue;
 | 
			
		||||
        spos = line.find("/**=");
 | 
			
		||||
        if (spos==string::npos) {
 | 
			
		||||
            spos = line.find("/*!");
 | 
			
		||||
            if (spos==string::npos)
 | 
			
		||||
                spos = line.find("/**");
 | 
			
		||||
            if (spos==string::npos)
 | 
			
		||||
                spos = line.find("/*-");
 | 
			
		||||
            if (spos==string::npos)
 | 
			
		||||
                spos = line.find("/*=");
 | 
			
		||||
            if (spos==string::npos)
 | 
			
		||||
                continue;
 | 
			
		||||
            exclam = line[spos+2];
 | 
			
		||||
        }
 | 
			
		||||
        else exclam = '=';
 | 
			
		||||
 | 
			
		||||
        spos = line.find("/*!");
 | 
			
		||||
        if (spos==string::npos)
 | 
			
		||||
            spos = line.find("/**");
 | 
			
		||||
        if (spos==string::npos)
 | 
			
		||||
            spos = line.find("/*-");
 | 
			
		||||
 | 
			
		||||
        if (spos==string::npos)
 | 
			
		||||
            continue;
 | 
			
		||||
 | 
			
		||||
        exclam = line[spos+2];
 | 
			
		||||
        comments = get_lines(input, linenum, "*/");
 | 
			
		||||
        if (!comments.empty()) comments[0] = line.substr(spos+3);
 | 
			
		||||
        if (!comments.empty()) comments[comments.size()-1] = comments[comments.size()-1].substr(0, comments[comments.size()-1].find("*/"));
 | 
			
		||||
        for (l=0; l<comments.size(); l++) {
 | 
			
		||||
            if (comments[l].find(" *")==0) comments[l] = comments[l].substr(2);
 | 
			
		||||
            else if (comments[l].find("  *")==0) comments[l] = comments[l].substr(3);
 | 
			
		||||
            trim(comments[l], "*-");
 | 
			
		||||
            trim(comments[l], "*-=");
 | 
			
		||||
        }
 | 
			
		||||
        while (!comments.empty() && comments[comments.size()-1].empty()) comments.pop_back(); // remove empty line at the end
 | 
			
		||||
        while (!comments.empty() && comments[0].empty()) comments.erase(comments.begin()); // remove empty line at the start
 | 
			
		||||
@@ -183,6 +175,17 @@ int main(int argc, char *argv[]) {
 | 
			
		||||
                print_line(sout, comments[l]);
 | 
			
		||||
            }
 | 
			
		||||
            sout << "</p></pre><BR>" << endl << endl;
 | 
			
		||||
        } else if (exclam == '=') { /* comments of type /*= and /**= mean: use a <H3> header and show also all functions until first empty line */
 | 
			
		||||
            sout << "<h3>" << comments[0] << "</h3><pre>";
 | 
			
		||||
            for (l=1; l<comments.size(); l++) {
 | 
			
		||||
                print_line(sout, comments[l]);
 | 
			
		||||
            }
 | 
			
		||||
            sout << "</pre><b><pre>";
 | 
			
		||||
            lines = get_lines(input, ++linenum, "");
 | 
			
		||||
            for (l=0; l<lines.size(); l++) {
 | 
			
		||||
                print_line(sout, lines[l]);
 | 
			
		||||
            }
 | 
			
		||||
            sout << "</pre></b><BR>" << endl;
 | 
			
		||||
        } else { /* comments of type /** and /*- mean: this is a comment; use a <H2> header for the first line */
 | 
			
		||||
            if (comments.empty()) continue;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user