summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authortmortagne <thomas.mortagne@gmail.com>2013-01-07 12:00:08 +0100
committertmortagne <thomas.mortagne@gmail.com>2013-01-07 12:00:08 +0100
commit113974dcd512a924694a508ee526bcb44e5e9513 (patch)
treeef0fc7b438ccf3f685ee69cf840352c11b4c8ea7 /docs
parent6e145a03531db07ed5bad04ad6f894559067e2eb (diff)
downloadpygments-113974dcd512a924694a508ee526bcb44e5e9513.tar.gz
Add tutorial to use Pygments in Java
Diffstat (limited to 'docs')
-rw-r--r--docs/src/integrate.txt5
-rw-r--r--docs/src/java.txt61
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">&quot;Hello World&quot;</span></pre>
+ </div>