User:CRGreathouse: Difference between revisions

From Rosetta Code
Content added Content deleted
(highlighting update)
Line 37: Line 37:


==GeSHi tester==
==GeSHi tester==
As of 2011-08-05, the highlighting works essentially correctly. Remaining issues:
So far (2011-07-11), comments and keywords work just fine (though the 2.6 ones have not been added and the two comment types are highlighted differently). gp2c types work except :real which conflicts with the function of the same name. GP types do not work. Default keywords work except the two that conflict with functions, <code>simplify</code> and <code>log.</code>. Embedded quotes and even string context work just fine. Operators are not highlighted, which means I don't have to care about special ones like <code>\/</code>.
* Types don't work. gp2c types (e.g., <code>:mp</code>) are highlighted as though they were commands, and GP types (e.g., <code>"t_INT"</code>) are not highlighted at all.

* Escapes in strings are not highlighted, though they are properly detected in terms of ending strings.
Default keywords and types are highlighted outside their proper context, though this is probably not a big deal.
* Defaults that conflict with keywords (<code>simplify</code> and <code>log</code>) are highlighted wrong; not a big deal.
* Default keywords and types are highlighted outside their proper context, though this is probably not a big deal.
* Colors should probably be changed (my fault!); member functions and strings are too conspicuous and defaults and error types are not conspicuous enough. Maybe a desaturated green for strings and switch the blue-violet used for defaults and errors with the purple of the member functions.


<lang parigp>x:real -> x^2
<lang parigp>x:real -> x^2

Revision as of 05:39, 5 August 2011

My Favorite Languages
Language Proficiency
BASIC out of practice
C advanced
C++ out of practice
C# advanced
Forth beginner
Java out of practice
JavaScript advanced
LabVIEW beginner
LaTeX advanced
Mathematica beginner
MATLAB out of practice
MySQL intemediate
PARI/GP advanced
Perl intermediate
PHP beginner
Scheme beginner
UNIX Shell intermediate
VBScript out of practice
Visual Basic out of practice

My tasks

I occasionally create tasks, usually with some reference implementation in a reasonably-common language like C, Perl, or JavaScript.

GeSHi tester

As of 2011-08-05, the highlighting works essentially correctly. Remaining issues:

  • Types don't work. gp2c types (e.g., :mp) are highlighted as though they were commands, and GP types (e.g., "t_INT") are not highlighted at all.
  • Escapes in strings are not highlighted, though they are properly detected in terms of ending strings.
  • Defaults that conflict with keywords (simplify and log) are highlighted wrong; not a big deal.
  • Default keywords and types are highlighted outside their proper context, though this is probably not a big deal.
  • Colors should probably be changed (my fault!); member functions and strings are too conspicuous and defaults and error types are not conspicuous enough. Maybe a desaturated green for strings and switch the blue-violet used for defaults and errors with the purple of the member functions.

<lang parigp>x:real -> x^2 x->x^2 /* lambdas */ a += b <<= c >>= d -= e *= f /= g \= h \/= i %= j ellheegner(ellinit([0, -1, 1, -33, 93])) \\ Do the 2.6.x functions work? myFunc(x:real, y:mp, z:int)=[x,y,z]; \\ gp2c types, including one that conflicts with a function realprecision=mp+7; \\ should not be highlighted whatType(x)=if(type(x)=="t_INT", "integer", "something else") \\ GP types default(realprecision, 29); \\ defaults default(simplify, 1) \\ default that conflicts with a function trap(gdiver, "tried to divide by 0", 1/0) \\ error type "this is a string with embedded \"quotes\" and "a_variable" in the middle" \\ string context, embedded " "another string, this one with a \\ in the middle, the rest shouldn't be a comment" 'this is all a giant literal_variable \\ not a quote, not an error -- though if only the first part is treated as a variable that would be fine (x^2+1)'+1 \\ derivative of x^2+1, plus one -- nothing funny should happen to the +1 100 \ 9 *4 / 3 + 1 - 2 \\ are operators highlighted equally, even integer division? 100\9\/3 \/ 1 \\ what about without spaces, or the unusual \/ operator? n=[1,2][9^9%2+1] \\ other operators (a && b) || (c && d) == e++ === f-- != g; !#[]~ \\ operators for(i=1,9,variable_with_underscore); Mod(3,9).mod \\ member function quadgen(5).disc \\ another member function Fibonacci=7 \\ should not be highlighted</lang>