diff options
author | tmortagne <thomas.mortagne@gmail.com> | 2013-01-07 12:00:08 +0100 |
---|---|---|
committer | tmortagne <thomas.mortagne@gmail.com> | 2013-01-07 12:00:08 +0100 |
commit | 113974dcd512a924694a508ee526bcb44e5e9513 (patch) | |
tree | ef0fc7b438ccf3f685ee69cf840352c11b4c8ea7 /docs | |
parent | 6e145a03531db07ed5bad04ad6f894559067e2eb (diff) | |
download | pygments-113974dcd512a924694a508ee526bcb44e5e9513.tar.gz |
Add tutorial to use Pygments in Java
Diffstat (limited to 'docs')
-rw-r--r-- | docs/src/integrate.txt | 5 | ||||
-rw-r--r-- | docs/src/java.txt | 61 |
2 files changed, 66 insertions, 0 deletions
diff --git a/docs/src/integrate.txt b/docs/src/integrate.txt index 51a3dac4..2397133b 100644 --- a/docs/src/integrate.txt +++ b/docs/src/integrate.txt @@ -41,3 +41,8 @@ Bash completion The source distribution contains a file ``external/pygments.bashcomp`` that sets up completion for the ``pygmentize`` command in bash. + +Java +---- + +`Java quickstart <java.txt>`_ diff --git a/docs/src/java.txt b/docs/src/java.txt new file mode 100644 index 00000000..d30e1aaf --- /dev/null +++ b/docs/src/java.txt @@ -0,0 +1,61 @@ +===================== +Use Pygments in Java +===================== + +Thanks to _Jython: http://www.jython.org it's possible to use Pygments in Java. + +This page is a simple tutorial to get an idea of how this is working. You can then look at _Jython documentation: http://www.jython.org/docs/ for more advanced use. + +Since version 1.5, Pygments is deployed on _Maven Central: http://repo1.maven.org/maven2/org/pygments/pygments/ as a JAR so is Jython which make it a lot easier to create the Java project. + +Here is an example of _Maven: http://www.maven.org pom.xml file for a project running Pygments: + +.. sourcecode:: xml + + <?xml version="1.0" encoding="UTF-8"?> + + <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>example</groupId> + <artifactId>example</artifactId> + <version>1.0-SNAPSHOT</version> + <dependencies> + <dependency> + <groupId>org.python</groupId> + <artifactId>jython-standalone</artifactId> + <version>2.5.3</version> + </dependency> + <dependency> + <groupId>org.pygments</groupId> + <artifactId>pygments</artifactId> + <version>1.5</version> + <scope>runtime</scope> + </dependency> + </dependencies> + </project> + +The following Java example: + +.. sourcecode:: java + + PythonInterpreter interpreter = new PythonInterpreter(); + + // Set a variable with the content you want to work with + interpreter.set("code", code); + + // Simple use Pygments as you would in Python + interpreter.exec("from pygments import highlight\n" + + "from pygments.lexers import PythonLexer\n" + + "from pygments.formatters import HtmlFormatter\n" + + "\nresult = highlight(code, PythonLexer(), HtmlFormatter())"); + + // Get the result that has been set in a variable + System.out.println(interpreter.get("result", String.class)); + +will print something like: + +.. sourcecode:: html + + <div class="highlight"> + <pre><span class="k">print</span> <span class="s">"Hello World"</span></pre> + </div> |