hishadow Skrevet 10. oktober 2005 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
pej Skrevet 10. oktober 2005 Skrevet 10. oktober 2005 En ny og bedre CODE-tagg vil være tilgjengelig etter forumoppgraderingen.
zyrex Skrevet 13. oktober 2005 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?
gozzer Skrevet 13. oktober 2005 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
Christian_ Skrevet 13. oktober 2005 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:(
Orjanp Skrevet 10. februar 2006 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
endrebjo Skrevet 10. februar 2006 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.
PT Skrevet 12. februar 2006 Skrevet 12. februar 2006 Jepp, lurer kraftig på det jeg også. Utrolig irriterende å måtte lese seg gjennom kildekode uten indetering.
MindTooth Skrevet 16. februar 2006 Skrevet 16. februar 2006 Tror dette følger med i Invision Power Board 2.1.*. Noe som forumstyrer ikke gidder å oppradere til.
pej Skrevet 16. februar 2006 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.
Anbefalte innlegg