hishadow Skrevet 10. oktober 2005 Del Skrevet 10. oktober 2005 (endret) Er det mulig å konfigurere CODE tagen til å beholde tabulator (evnt. konvertere til space), samt bruke courier font? Tror det vil gjøre lesing av postet kildekode langt enklere på programmeringsdelen av forumet. Noen programmeringsspråk er også avhengig av riktig indentering. Eksempel slik det er nå: bool XmlParser::ParsePrologDoctypeExternalId() // @summary // // @returns 'true' if parsing succeeded. // 'false' if parsing failed. // // @throws XmlParser::XmlParserException // { bool parse_literal = true; char c; string s; // ::todo implement! throw XmlParserException(current_parse_line, ERROR_MESSAGE_PROLOG_12); // Read identifier. s = PeekChars(6); if(s == "SYSTEM") { ParseChars(6); // Read whitespace. ParseWhitespace(); // Read systemliteral. // ::todo - add new execption. c = ParseChar(); if(c != '"' && c != '\'') throw XmlParserException(current_parse_line, ERROR_MESSAGE_PROLOG_12); while( ParseChar() != c ) { } return true; } if(s == "PUBLIC") { ParseChars(6); // Read whitespace. ParseWhitespace(); // Read pubidliteral // ::todo - add new execption. // ::todo - halt on tab character. // ::todo - add alpha test for IsCharacter! c = ParseChar(); if(c == '"') { while(parse_literal) { c = PeekChar(); if(IsCharacter(c) || IsDigitChar(c)) { ParseChar(); continue; } // ::todo improve switch(c) { case '-': case '\'': case '(': case ')': case '+': case ',': case '.': case '/': case ':': case '=': case '?': case ';': case '!': case '*': case '#': case '@': case '$': case '_': case '%': case ' ': case 0xD: case 0xA: ParseChar(); break; default: parse_literal = false; break; } } } else if(c == '\'') { while(parse_literal) { c = PeekChar(); if(IsCharacter(c) || IsDigitChar(c)) { ParseChar(); continue; } // ::todo improve switch(c) { case '-': case '(': case ')': case '+': case ',': case '.': case '/': case ':': case '=': case '?': case ';': case '!': case '*': case '#': case '@': case '$': case '_': case '%': case ' ': case 0xD: case 0xA: ParseChar(); break; default: parse_literal = false; break; } } } else { throw XmlParserException(current_parse_line, ERROR_MESSAGE_PROLOG_12); } // Read whitespace. ParseWhitespace(); // Read systemliteral. // ::todo - add new execption. c = ParseChar(); if(c != '"' && c != '\'') throw XmlParserException(current_parse_line, ERROR_MESSAGE_PROLOG_12); while( ParseChar() != c ) { } return true; } return false; } Forslag (font=courier, size=1, tabs=3space): QUOTE bool XmlParser::ParsePrologDoctypeExternalId()// @summary//// @returns 'true' if parsing succeeded.// 'false' if parsing failed.//// @throws XmlParser::XmlParserException//{ bool parse_literal = true; char c; string s; // ::todo implement! throw XmlParserException(current_parse_line, ERROR_MESSAGE_PROLOG_12); // Read identifier. s = PeekChars(6); if(s == "SYSTEM") { ParseChars(6); // Read whitespace. ParseWhitespace(); // Read systemliteral. // ::todo - add new execption. c = ParseChar(); if(c != '"' && c != '\'') throw XmlParserException(current_parse_line, ERROR_MESSAGE_PROLOG_12); while( ParseChar() != c ) { } return true; } if(s == "PUBLIC") { ParseChars(6); // Read whitespace. ParseWhitespace(); // Read pubidliteral // ::todo - add new execption. // ::todo - halt on tab character. // ::todo - add alpha test for IsCharacter! c = ParseChar(); if(c == '"') { while(parse_literal) { c = PeekChar(); if(IsCharacter© || IsDigitChar©) { ParseChar(); continue; } // ::todo improve switch© { case '-': case '\'': case '(': case ')': case '+': case ',': case '.': case '/': case ':': case '=': case '?': case ';': case '!': case '*': case '#': case '@': case '$': case '_': case '%': case ' ': case 0xD: case 0xA: ParseChar(); break; default: parse_literal = false; break; } } } else if(c == '\'') { while(parse_literal) { c = PeekChar(); if(IsCharacter© || IsDigitChar©) { ParseChar(); continue; } // ::todo improve switch© { case '-': case '(': case ')': case '+': case ',': case '.': case '/': case ':': case '=': case '?': case ';': case '!': case '*': case '#': case '@': case '$': case '_': case '%': case ' ': case 0xD: case 0xA: ParseChar(); break; default: parse_literal = false; break; } } } else { throw XmlParserException(current_parse_line, ERROR_MESSAGE_PROLOG_12); } // Read whitespace. ParseWhitespace(); // Read systemliteral. // ::todo - add new execption. c = ParseChar(); if(c != '"' && c != '\'') throw XmlParserException(current_parse_line, ERROR_MESSAGE_PROLOG_12); while( ParseChar() != c ) { } return true; } return false;} Endret 10. oktober 2005 av hishadow Lenke til kommentar
pej Skrevet 10. oktober 2005 Del Skrevet 10. oktober 2005 En ny og bedre CODE-tagg vil være tilgjengelig etter forumoppgraderingen. Lenke til kommentar
zyrex Skrevet 13. oktober 2005 Del Skrevet 13. oktober 2005 <? $IncludeDir = "./includes"; $DefaultPath = "./includes/index.inc"; if (isset($page)) { $page = stripslashes(strip_tags($page)); $Forbidden1 = ereg("\.\./", $page); $Forbidden2 = ereg("/", $page); if ($Forbidden1 OR $Forbidden2) { echo "<h1>Advarsel</h1>\n"; echo "<p>Forespørsler på tvers av definerte \n"; echo "områder er ikke tillatt.</p>\n"; } else { if (@fopen("$IncludeDir/$page.inc", "r")) { include ("$IncludeDir/$page.inc"); } elseif (!(@fopen("$IncludeDir/$page.inc", "r"))) { echo "<h1>Server Error 404</h1>\n"; echo "<p>The page you requested can not be found</p>\n"; } } } else { include("$DefaultPath"); } ?> Ser bedre ut nå, gjør det ikke? Men mangler det ikke highlight? Lenke til kommentar
gozzer Skrevet 13. oktober 2005 Del Skrevet 13. oktober 2005 Det er veldig ønskelig om det kan implementeres en syntaksmarkering for andre "språk" enn HTML og SQL. Da tenker jeg i første rekke på PHP, men jo mer jo bedre Lenke til kommentar
Christian_ Skrevet 13. oktober 2005 Del Skrevet 13. oktober 2005 Veldig enig, ser dette på mange andre store forum. Så hvorfor det største og beste ikke skal ha det skjønner jeg ikke:( Lenke til kommentar
Orjanp Skrevet 10. februar 2006 Del Skrevet 10. februar 2006 (endret) En ny og bedre CODE-tagg vil være tilgjengelig etter forumoppgraderingen. 4981149[/snapback] Synes ikke den ser så veldig mye bedre ut. Er dette noe det jobbes med? Ørjan... import shlex class Node: def __init__(self, l, r, d): # initialize members. self.left = l self.right = r self.data = d # Function that takes a token list as input and # return a reversed string. def reverceTokens(tok): s = tok.get_token() t = '' if s != '': t=reverseTokens(tok) if t == ' ': return(s) else: return(t + " " + s) # Function that returns a precedence number based on the operator. def returnPrecedence(operator): if operator == ')': return 3 elif operator == '*': return 2 elif operator == '/': return 2 elif operator == '+': return 1 elif operator == '-': return 1 Skulle sett slik ut. import shlex class Node: def __init__(self, l, r, d): # initialize members. self.left = l self.right = r self.data = d # Function that takes a token list as input and # return a reversed string. def reverceTokens(tok): s = tok.get_token() t = '' if s != '': t=reverseTokens(tok) if t == ' ': return(s) else: return(t + " " + s) # Function that returns a precedence number based on the operator. def returnPrecedence(operator): if operator == ')': return 3 elif operator == '*': return 2 elif operator == '/': return 2 elif operator == '+': return 1 elif operator == '-': return 1 Endret 10. februar 2006 av Orjanp Lenke til kommentar
endrebjo Skrevet 10. februar 2006 Del Skrevet 10. februar 2006 Hvorfor tar ikke HTML-taggen vare på indenteringen? HTML-kode blir i likhet med programkode mange ganger lettere å finne ut av om man indenterer den. Lenke til kommentar
PT Skrevet 12. februar 2006 Del Skrevet 12. februar 2006 Jepp, lurer kraftig på det jeg også. Utrolig irriterende å måtte lese seg gjennom kildekode uten indetering. Lenke til kommentar
MindTooth Skrevet 16. februar 2006 Del Skrevet 16. februar 2006 Tror dette følger med i Invision Power Board 2.1.*. Noe som forumstyrer ikke gidder å oppradere til. Lenke til kommentar
pej Skrevet 16. februar 2006 Del Skrevet 16. februar 2006 Det er ikke snakk om at vi ikke "gidder". En oppgradering av forumet er en prosess som tar veldig lang tid, og krever nøye planlegging og testing. Vi har testet siste versjon av IPB, og det viser seg at denne versjonen har langt dårligere ytelse enn den versjonen vi kjører i dag. Ytelse er vår første prioritet, og det er ikke aktuelt å oppgradere bare for å få enda mer bloats i bytte mot lavere ytelse. Når det er sagt, så er ikke en oppgradering utelukket. Vi kjører hele tiden nye tester, og vurderer resultatene av disse fortløpende. Nå sier jeg ikke at den ønskete funksjonen i dette tilfellet er bloatete og unyttig, jeg er faktisk fullstendig enig i at dette burde være implementert. Men det er dessverre ikke gjort ved et lite fingerknips. Lenke til kommentar
Anbefalte innlegg