Working on the Confluence highlighter

This commit is contained in:
Andrey Breslav
2011-07-12 18:10:52 +04:00
parent 8c0c0f9d6c
commit bf7be08e3b
21 changed files with 2108 additions and 0 deletions
Generated
+8
View File
@@ -18,6 +18,14 @@
<maximumStackSize value="2" />
<properties />
</buildFile>
<buildFile url="file://$PROJECT_DIR$/confluence/buildConfluenceLexer.xml">
<additionalClassPath />
<antReference projectDefault="true" />
<customJdkName value="" />
<maximumHeapSize value="128" />
<maximumStackSize value="2" />
<properties />
</buildFile>
</component>
</project>
+3
View File
@@ -18,5 +18,8 @@
</wildcardResourcePatterns>
<annotationProcessing enabled="false" useClasspath="true" />
</component>
<component name="JavacSettings">
<option name="ADDITIONAL_OPTIONS_STRING" value="-target 1.6" />
</component>
</project>
+1
View File
@@ -3,6 +3,7 @@
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/Jet.iml" filepath="$PROJECT_DIR$/Jet.iml" />
<module fileurl="file://$PROJECT_DIR$/confluence/confluence.iml" filepath="$PROJECT_DIR$/confluence/confluence.iml" />
<module fileurl="file://$PROJECT_DIR$/examples/examples.iml" filepath="$PROJECT_DIR$/examples/examples.iml" />
<module fileurl="file://$PROJECT_DIR$/grammar/grammar.iml" filepath="$PROJECT_DIR$/grammar/grammar.iml" />
<module fileurl="file://$PROJECT_DIR$/idea/idea.iml" filepath="$PROJECT_DIR$/idea/idea.iml" />
+46
View File
@@ -0,0 +1,46 @@
<project name="ConfluenceLexer" default="confluenceLexer">
<property name="home" value="${basedir}"/>
<property file="${home}/../idea/idea.properties"/>
<property name="flex.base" value="${idea.home}/tools/lexer/jflex-1.4"/>
<property name="out.dir" value="${basedir}/tmpout"/>
<macrodef name="flex">
<attribute name="flexfile"/>
<attribute name="destdir"/>
<attribute name="skeleton" default="${idea.home}/tools/lexer/idea-flex.skeleton"/>
<sequential>
<delete dir="${out.dir}"/>
<mkdir dir="${out.dir}"/>
<java classname="JFlex.Main"
jvmargs="-Xmx512M"
fork="true"
failonerror="true">
<arg value="-sliceandcharat"/>
<arg value="-skel"/>
<arg value="@{skeleton}"/>
<arg value="-d"/>
<arg value="${out.dir}"/>
<arg value="@{flexfile}"/>
<classpath>
<pathelement location="${flex.base}/lib/JFlex.jar"/>
</classpath>
</java>
<move todir="@{destdir}">
<fileset dir="${out.dir}">
<include name="*.java"/>
</fileset>
</move>
<delete dir="${out.dir}"/>
</sequential>
</macrodef>
<target name="confluenceLexer">
<echo message="${flex.base}"/>
<echo message="${home}"/>
<flex flexfile="${home}/../idea/src/org/jetbrains/jet/lexer/Jet.flex"
destdir="${home}/src/main/java/org/jetbrains/jet/lexer/"/>
<copy file="${home}/../idea/src/org/jetbrains/jet/lexer/JetTokens.java"
tofile="${home}/src/main/java/org/jetbrains/jet/lexer/JetTokens.java" overwrite="true"/>
</target>
</project>
+196
View File
@@ -0,0 +1,196 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_6" inherit-compiler-output="false">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.6" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.confluence:confluence:3.5.2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.crowd:embedded-crowd-api:2.2.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-lang:commons-lang:2.4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.collections:google-collections:1.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.crowd:crowd-integration-api:2.2.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-codec:commons-codec:1.4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: log4j:log4j:1.2.15" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.crowd:crowd-integration-seraph22:2.2.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.crowd:crowd-integration-client-rest:2.2.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.crowd:crowd-integration-client-common:2.2.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.security:atlassian-cookie-tools:2.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-httpclient:commons-httpclient:3.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.core:atlassian-core:4.5.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.profiling:atlassian-profiling:1.8.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: javax.servlet:servlet-api:2.4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-collections:commons-collections:3.2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-io:commons-io:1.4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: dom4j:dom4j:1.4-full" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: opensymphony:oscore:2.2.7-atlassian-1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: mockobjects:alt-jdk1.3:0.07" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.crowd:embedded-crowd-spi:2.2.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.crowd:crowd-api:2.2.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.spring:atlassian-spring:2.0-rc4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.event:atlassian-event:2.0.6" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework:spring-core:2.0.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework:spring-context:2.0.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: aopalliance:aopalliance:1.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework:spring-beans:2.0.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework:spring-web:2.0.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.util.concurrent:atlassian-util-concurrent:0.0.12" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.slf4j:slf4j-api:1.5.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: javax.mail:mail:1.4.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: javax.activation:activation:1.0.2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.crowd:crowd-password-encoders:2.2.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.security:atlassian-password-encoder:1.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework.security:spring-security-core:2.0.4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework:spring-aop:2.0.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.plugins:atlassian-plugins-core:2.7.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.multitenant:multitenant-core:1.0-m14" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: net.jcip:jcip-annotations:1.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.crowd:atlassian-embedded-crowd-atlassian-user:1.2.4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.crowd:embedded-crowd-core:2.2.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.crowd:crowd-core:2.2.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.crowd:crowd-ldap:2.2.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.crowd:crowd-events:2.2.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.crowd:crowd-persistence:2.2.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.config:atlassian-config:0.13.2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: net.sf.ehcache:ehcache:1.2.3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: javax.transaction:jta:1.0.1B" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: cglib:cglib:2.1_3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: asm:asm:1.5.3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.slf4j:slf4j-log4j12:1.5.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: joda-time:joda-time:1.6" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.crowd:crowd-remote:2.2.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework.ldap:spring-ldap-core:1.3.0.RELEASE" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.security:atlassian-secure-random:1.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: opensymphony:propertyset:1.3-21Nov03" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.user:atlassian-user:3.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.cache:atlassian-cache-api:0.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: osuser:osuser:atl.user" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework:spring-hibernate2:2.0.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: hibernate:hibernate:2.1.8-atlassian-9" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework:spring-dao:2.0.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework:spring-jdbc:2.0.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: net.sf.ldaptemplate:ldaptemplate:1.0.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.crowd:atlassian-embedded-crowd-hibernate2:1.2.4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: odmg:odmg:3.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.confluence:confluence-upgrade:3.5.2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.confluence:confluence-bucket:3.5.2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.gzipfilter:atlassian-gzipfilter:1.9" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.applinks:applinks-api:3.3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.applinks:applinks-spi:3.3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.applinks:applinks-host:3.3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.modzdetector:modz-detector:0.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.mail:atlassian-mail:1.16" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.velocity:atlassian-velocity:0.7" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: mockobjects:mockobjects-alt-jdk1.3-j2ee1.3:0.09" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-beanutils:commons-beanutils:1.6.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-digester:commons-digester:1.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: xerces:xercesImpl:2.9.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: opensymphony:sitemesh:2.3-atlassian" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.johnson:atlassian-johnson:0.10" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.spring:atlassian-spring-hibernate2:2.0-rc4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.xwork:atlassian-xwork-10:1.12" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.xwork:atlassian-xwork-core:1.12" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: opensymphony:xwork:1.0.3.2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: opensymphony:webwork:2.1.5-atlassian-2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-fileupload:commons-fileupload:1.2.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: ognl:ognl:2.6.5-atlassian-2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: rome:rome:1.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: jdom:jdom:1.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.trackback:atlassian-trackback:0.10" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: oro:oro:2.0.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.extras:atlassian-extras:2.4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.seraph:atlassian-seraph:2.4.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.plugins:atlassian-plugins-servlet:2.7.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.plugins:atlassian-plugins-webfragment:2.7.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.plugins:atlassian-plugins-webresource:2.7.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.plugins:atlassian-plugins-osgi:2.7.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.plugins:atlassian-plugins-osgi-events:2.7.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: biz.aQute:bndlib:0.0.255" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.felix:org.apache.felix.framework:3.0.2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.twdata.pkgscanner:package-scanner:0.9.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.plugins:atlassian-plugins-spring:2.7.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.bandana:atlassian-bandana:3.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.renderer:atlassian-renderer:7.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.sourceforge.nekohtml:nekohtml:1.9.12" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: radeox:radeox:1.0b2-forked-22Apr2004" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.hibernate:jtidy:r8-20060801" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.bonnie:atlassian-bonnie:4.0-beta3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.lucene:lucene-core:2.9.4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.pdfbox:pdfbox:1.2.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.pdfbox:fontbox:1.2.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.pdfbox:jempbox:1.2.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.poi:poi:3.5-FINAL" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.poi:poi-scratchpad:3.5-FINAL" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.bouncycastle:bcprov-jdk15:1.44" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.bouncycastle:bcmail-jdk15:1.44" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.ibm.icu:icu4j:3.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.jdk.utilities:atlassian-jdk-utilities:0.4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.security.auth.trustedapps:atlassian-trusted-apps-core:2.3.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.security.auth.trustedapps:atlassian-trusted-apps-seraph-integration:2.3.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.slf4j:jul-to-slf4j:1.5.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.directwebremoting:dwr:2.0.3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: c3p0:c3p0:0.9.1.2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.sun:jai_core:1.1.3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.sun:jai_codec:1.1.3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: oscache:oscache:2.2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.velocity:velocity:1.6.1-atlassian-2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework:spring-support:2.0.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework:spring-jmx:2.0.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.paddle:atlassian-paddle:5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.aspectj:aspectjweaver:1.6.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: velocity-tools:velocity-tools:view-1.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.lucene:lucene-analyzers:2.9.4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.lucene:lucene-misc:2.9.4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.lucene:lucene-highlighter:2.9.4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.lucene:lucene-memory:2.9.4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: batik:batik-all:1.6" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: net.sourceforge.cssparser:cssparser:0.9.5" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.w3c.css:sac:1.3" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.quartz-scheduler:quartz:1.8.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.hsqldb:hsqldb:2.0.1-rc3-20110120" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-jrcs:commons-jrcs:diff-0.1.7" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: xmlrpc:xmlrpc:2.0+xmlrpc61.1+sbfix" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: glue:glue:5.0b2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: exml:exml:7.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: axis:axis:1.2.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: wsdl4j:wsdl4j:1.5.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-discovery:commons-discovery:0.2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: axis:axis-jaxrpc:1.2.1-noqname" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: axis:axis-saaj:1.2.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: slide:slide:2.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.thoughtworks.xstream:xstream:1.1.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: xpp3:xpp3_min:1.1.3.4.O" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: jfree:jfreechart:1.0.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: jfree:jcommon:1.0.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: xalan:xalan:2.7.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.octo.captcha:jcaptcha-all:1.0-RC6" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: concurrent:concurrent:1.3.4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.dev.urlrewrite:urlrewrite:2.6.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: javax.xml.stream:stax-api:1.0-2" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.codehaus.woodstox:wstx-asl:3.2.4" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.codehaus.xfire:xfire-core:1.2.6" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.ws.commons:XmlSchema:1.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.codehaus.xfire:xfire-aegis:1.2.6" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.dev.stax-utils:stax-utils:20040917" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.sal:sal-spi:2.4.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.sal:sal-spring:2.4.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.sal:sal-api:2.4.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.atlassian.cache:atlassian-cache-memory:0.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.atlassian.confluence.plugin:func-test:2.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.sourceforge.jwebunit:jwebunit-htmlunit-plugin:2.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.sourceforge.htmlunit:htmlunit:2.5" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.sourceforge.htmlunit:htmlunit-core-js:2.5" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.sourceforge.jwebunit:jwebunit-core:2.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: regexp:regexp:1.3" level="project" />
</component>
</module>
+81
View File
@@ -0,0 +1,81 @@
<?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>org.jetbrains.jet</groupId>
<artifactId>confluence</artifactId>
<version>1.0</version>
<organization>
<name>JetBrains</name>
<url>http://www.jetbrains.com/</url>
</organization>
<name>confluence</name>
<description>Confluence support for Jet language.</description>
<packaging>atlassian-plugin</packaging>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.6</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.atlassian.confluence</groupId>
<artifactId>confluence</artifactId>
<version>${confluence.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.atlassian.confluence.plugin</groupId>
<artifactId>func-test</artifactId>
<version>2.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.sourceforge.jwebunit</groupId>
<artifactId>jwebunit-htmlunit-plugin</artifactId>
<version>2.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.sourceforge.nekohtml</groupId>
<artifactId>nekohtml</artifactId>
<version>1.9.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>maven-confluence-plugin</artifactId>
<version>3.3.4</version>
<extensions>true</extensions>
<configuration>
<productVersion>${confluence.version}</productVersion>
<productDataVersion>${confluence.data.version}</productDataVersion>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<confluence.version>3.5.2</confluence.version>
<confluence.data.version>3.5</confluence.data.version>
</properties>
</project>
@@ -0,0 +1,7 @@
package com.intellij.lexer;
/**
* @author abreslav
*/
public class Foo {
}
@@ -0,0 +1,11 @@
package com.intellij.psi;
import com.intellij.psi.tree.IElementType;
/**
* @author abreslav
*/
public class TokenType {
public static final IElementType WHITE_SPACE = new IElementType();
public static final IElementType BAD_CHARACTER = new IElementType();
}
@@ -0,0 +1,7 @@
package com.intellij.psi.tree;
/**
* @author abreslav
*/
public class IElementType {
}
@@ -0,0 +1,24 @@
package com.intellij.psi.tree;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
/**
* @author abreslav
*/
public class TokenSet {
public static TokenSet create(IElementType... tokens) {
return new TokenSet(tokens);
}
private final Set<IElementType> tokens = new HashSet<IElementType>();
public TokenSet(IElementType... tokens) {
this.tokens.addAll(Arrays.asList(tokens));
}
public Set<IElementType> asSet() {
return tokens;
}
}
@@ -0,0 +1,14 @@
package com.intellij.util.text;
/**
* @author abreslav
*/
public class CharArrayUtil {
public static char[] fromSequenceWithoutCopying(CharSequence buffer) {
char[] result = new char[buffer.length()];
for (int i = 0; i < result.length; i++) {
result[i] = buffer.charAt(i);
}
return result;
}
}
@@ -0,0 +1,174 @@
/* It's an automatically generated code. Do not modify it. */
package org.jetbrains.jet.confluence;
import org.jetbrains.jet.confluence.JetTokens;
%%
%unicode
%class _JetLexer
%function advance
%type JetToken
%eof{ return;
%eof}
DIGIT=[0-9]
HEX_DIGIT=[0-9A-Fa-f]
WHITE_SPACE_CHAR=[\ \t\f\r]
// TODO: prohibit '$' in identifiers?
PLAIN_IDENTIFIER=[:jletter:] [:jletterdigit:]*
// TODO: this one MUST allow everything accepted by the runtime
// TODO: Replace backticks by one backslash in the begining
ESCAPED_IDENTIFIER = `{PLAIN_IDENTIFIER}`
IDENTIFIER = {PLAIN_IDENTIFIER}|{ESCAPED_IDENTIFIER}
FIELD_IDENTIFIER = \${IDENTIFIER}
LABEL_IDENTIFIER = \@{IDENTIFIER}
BLOCK_COMMENT=("/*"[^"*"]{COMMENT_TAIL})|"/*"
// TODO: Wiki markup for doc comments?
DOC_COMMENT="/*""*"+("/"|([^"/""*"]{COMMENT_TAIL}))?
COMMENT_TAIL=([^"*"]*("*"+[^"*""/"])?)*("*"+"/")?
EOL_COMMENT="/""/"[^\n]*
INTEGER_LITERAL={DECIMAL_INTEGER_LITERAL}|{HEX_INTEGER_LITERAL}|{BIN_INTEGER_LITERAL}
DECIMAL_INTEGER_LITERAL=(0|([1-9]({DIGIT})*))
HEX_INTEGER_LITERAL=0[Xx]({HEX_DIGIT})*
BIN_INTEGER_LITERAL=0[Bb]({DIGIT})*
LONG_LITERAL=({INTEGER_LITERAL})[Ll]
//FLOAT_LITERAL=(({FLOATING_POINT_LITERAL1})[Ff])|(({FLOATING_POINT_LITERAL2})[Ff])|(({FLOATING_POINT_LITERAL3})[Ff])|(({FLOATING_POINT_LITERAL4})[Ff])
//DOUBLE_LITERAL=(({FLOATING_POINT_LITERAL1})[Dd]?)|(({FLOATING_POINT_LITERAL2})[Dd]?)|(({FLOATING_POINT_LITERAL3})[Dd]?)|(({FLOATING_POINT_LITERAL4})[Dd])
DOUBLE_LITERAL={FLOATING_POINT_LITERAL1}|{FLOATING_POINT_LITERAL2}|{FLOATING_POINT_LITERAL3}|{FLOATING_POINT_LITERAL4}
FLOATING_POINT_LITERAL1=({DIGIT})+"."({DIGIT})+({EXPONENT_PART})?
FLOATING_POINT_LITERAL2="."({DIGIT})+({EXPONENT_PART})?
FLOATING_POINT_LITERAL3=({DIGIT})+({EXPONENT_PART})
FLOATING_POINT_LITERAL4=({DIGIT})+
EXPONENT_PART=[Ee]["+""-"]?({DIGIT})*
HEX_FLOAT_LITERAL={HEX_SIGNIFICAND}{BINARY_EXPONENT}[Ff]
//HEX_DOUBLE_LITERAL={HEX_SIGNIFICAND}{BINARY_EXPONENT}[Dd]?
HEX_DOUBLE_LITERAL={HEX_SIGNIFICAND}{BINARY_EXPONENT}?
BINARY_EXPONENT=[Pp][+-]?{DIGIT}+
HEX_SIGNIFICAND={HEX_INTEGER_LITERAL}|0[Xx]{HEX_DIGIT}*\.{HEX_DIGIT}+
//HEX_SIGNIFICAND={HEX_INTEGER_LITERAL}|{HEX_INTEGER_LITERAL}\.|0[Xx]{HEX_DIGIT}*\.{HEX_DIGIT}+
CHARACTER_LITERAL="'"([^\\\'\n]|{ESCAPE_SEQUENCE})*("'"|\\)?
// TODO: introduce symbols (e.g. 'foo) as another way to write string literals
STRING_LITERAL=\"([^\\\"\n]|{ESCAPE_SEQUENCE})*(\"|\\)?
ESCAPE_SEQUENCE=\\[^\n]
// ANY_ESCAPE_SEQUENCE = \\[^]
THREE_QUO = (\"\"\")
ONE_TWO_QUO = (\"[^\"]) | (\"\"[^\"])
QUO_STRING_CHAR = [^\"] | {ONE_TWO_QUO}
RAW_STRING_LITERAL = {THREE_QUO} {QUO_STRING_CHAR}* {THREE_QUO}?
%%
<YYINITIAL> {BLOCK_COMMENT} { return JetTokens.BLOCK_COMMENT; }
<YYINITIAL> {DOC_COMMENT} { return JetTokens.DOC_COMMENT; }
\n {return JetTokens.WHITE_SPACE; }
({WHITE_SPACE_CHAR})+ { return JetTokens.WHITE_SPACE; }
<YYINITIAL> {EOL_COMMENT} { return JetTokens.EOL_COMMENT; }
<YYINITIAL> {INTEGER_LITERAL}\.\. { yypushback(2); return JetTokens.INTEGER_LITERAL; }
<YYINITIAL> {INTEGER_LITERAL} { return JetTokens.INTEGER_LITERAL; }
//<YYINITIAL> {LONG_LITERAL} { return JetTokens.LONG_LITERAL; }
//<YYINITIAL> {FLOAT_LITERAL} { return JetTokens.FLOAT_LITERAL; }
//<YYINITIAL> {HEX_FLOAT_LITERAL} { return JetTokens.FLOAT_LITERAL; }
<YYINITIAL> {DOUBLE_LITERAL} { return JetTokens.FLOAT_LITERAL; }
<YYINITIAL> {HEX_DOUBLE_LITERAL} { return JetTokens.FLOAT_LITERAL; }
<YYINITIAL> {CHARACTER_LITERAL} { return JetTokens.CHARACTER_LITERAL; }
<YYINITIAL> {STRING_LITERAL} { return JetTokens.STRING_LITERAL; }
// TODO: Decide what to do with """ ... """"
<YYINITIAL> {RAW_STRING_LITERAL} { return JetTokens.RAW_STRING_LITERAL; }
<YYINITIAL> "namespace" { return JetTokens.NAMESPACE_KEYWORD ;}
<YYINITIAL> "extension" { return JetTokens.EXTENSION_KEYWORD ;}
<YYINITIAL> "continue" { return JetTokens.CONTINUE_KEYWORD ;}
<YYINITIAL> "return" { return JetTokens.RETURN_KEYWORD ;}
<YYINITIAL> "typeof" { return JetTokens.TYPEOF_KEYWORD ;}
<YYINITIAL> "object" { return JetTokens.OBJECT_KEYWORD ;}
<YYINITIAL> "while" { return JetTokens.WHILE_KEYWORD ;}
<YYINITIAL> "break" { return JetTokens.BREAK_KEYWORD ;}
<YYINITIAL> "class" { return JetTokens.CLASS_KEYWORD ;}
<YYINITIAL> "throw" { return JetTokens.THROW_KEYWORD ;}
<YYINITIAL> "false" { return JetTokens.FALSE_KEYWORD ;}
<YYINITIAL> "when" { return JetTokens.WHEN_KEYWORD ;}
<YYINITIAL> "true" { return JetTokens.TRUE_KEYWORD ;}
<YYINITIAL> "type" { return JetTokens.TYPE_KEYWORD ;}
<YYINITIAL> "this" { return JetTokens.THIS_KEYWORD ;}
<YYINITIAL> "null" { return JetTokens.NULL_KEYWORD ;}
<YYINITIAL> "else" { return JetTokens.ELSE_KEYWORD ;}
<YYINITIAL> "This" { return JetTokens.CAPITALIZED_THIS_KEYWORD ;}
<YYINITIAL> "try" { return JetTokens.TRY_KEYWORD ;}
<YYINITIAL> "val" { return JetTokens.VAL_KEYWORD ;}
<YYINITIAL> "var" { return JetTokens.VAR_KEYWORD ;}
<YYINITIAL> "fun" { return JetTokens.FUN_KEYWORD ;}
<YYINITIAL> "for" { return JetTokens.FOR_KEYWORD ;}
//<YYINITIAL> "new" { return JetTokens.NEW_KEYWORD ;}
<YYINITIAL> "is" { return JetTokens.IS_KEYWORD ;}
<YYINITIAL> "in" { return JetTokens.IN_KEYWORD ;}
<YYINITIAL> "if" { return JetTokens.IF_KEYWORD ;}
<YYINITIAL> "do" { return JetTokens.DO_KEYWORD ;}
<YYINITIAL> "as" { return JetTokens.AS_KEYWORD ;}
<YYINITIAL> {FIELD_IDENTIFIER} { return JetTokens.FIELD_IDENTIFIER; }
<YYINITIAL> {IDENTIFIER} { return JetTokens.IDENTIFIER; }
<YYINITIAL> {LABEL_IDENTIFIER} { return JetTokens.LABEL_IDENTIFIER; }
<YYINITIAL> "===" { return JetTokens.EQEQEQ ; }
<YYINITIAL> "!==" { return JetTokens.EXCLEQEQEQ; }
<YYINITIAL> "!in" { return JetTokens.NOT_IN; }
<YYINITIAL> "!is" { return JetTokens.NOT_IS; }
<YYINITIAL> "as?" { return JetTokens.AS_SAFE; }
<YYINITIAL> "++" { return JetTokens.PLUSPLUS ; }
<YYINITIAL> "--" { return JetTokens.MINUSMINUS; }
<YYINITIAL> "<=" { return JetTokens.LTEQ ; }
<YYINITIAL> ">=" { return JetTokens.GTEQ ; }
<YYINITIAL> "==" { return JetTokens.EQEQ ; }
<YYINITIAL> "!=" { return JetTokens.EXCLEQ ; }
<YYINITIAL> "&&" { return JetTokens.ANDAND ; }
<YYINITIAL> "||" { return JetTokens.OROR ; }
<YYINITIAL> "?." { return JetTokens.SAFE_ACCESS;}
<YYINITIAL> "?:" { return JetTokens.ELVIS ; }
//<YYINITIAL> ".*" { return JetTokens.MAP ; }
//<YYINITIAL> ".?" { return JetTokens.FILTER ; }
<YYINITIAL> "*=" { return JetTokens.MULTEQ ; }
<YYINITIAL> "/=" { return JetTokens.DIVEQ ; }
<YYINITIAL> "%=" { return JetTokens.PERCEQ ; }
<YYINITIAL> "+=" { return JetTokens.PLUSEQ ; }
<YYINITIAL> "-=" { return JetTokens.MINUSEQ ; }
<YYINITIAL> "->" { return JetTokens.ARROW ; }
<YYINITIAL> "=>" { return JetTokens.DOUBLE_ARROW; }
<YYINITIAL> ".." { return JetTokens.RANGE ; }
<YYINITIAL> "@@" { return JetTokens.ATAT ; }
<YYINITIAL> "[" { return JetTokens.LBRACKET ; }
<YYINITIAL> "]" { return JetTokens.RBRACKET ; }
<YYINITIAL> "{" { return JetTokens.LBRACE ; }
<YYINITIAL> "}" { return JetTokens.RBRACE ; }
<YYINITIAL> "(" { return JetTokens.LPAR ; }
<YYINITIAL> ")" { return JetTokens.RPAR ; }
<YYINITIAL> "." { return JetTokens.DOT ; }
<YYINITIAL> "*" { return JetTokens.MUL ; }
<YYINITIAL> "+" { return JetTokens.PLUS ; }
<YYINITIAL> "-" { return JetTokens.MINUS ; }
<YYINITIAL> "!" { return JetTokens.EXCL ; }
<YYINITIAL> "/" { return JetTokens.DIV ; }
<YYINITIAL> "%" { return JetTokens.PERC ; }
<YYINITIAL> "<" { return JetTokens.LT ; }
<YYINITIAL> ">" { return JetTokens.GT ; }
<YYINITIAL> "?" { return JetTokens.QUEST ; }
<YYINITIAL> ":" { return JetTokens.COLON ; }
<YYINITIAL> ";" { return JetTokens.SEMICOLON ; }
<YYINITIAL> "=" { return JetTokens.EQ ; }
<YYINITIAL> "," { return JetTokens.COMMA ; }
<YYINITIAL> "#" { return JetTokens.HASH ; }
<YYINITIAL> "@" { return JetTokens.AT ; }
<YYINITIAL> . { return JetTokens.BAD_CHARACTER; }
@@ -0,0 +1,7 @@
package org.jetbrains.jet.lexer;
/**
* @author abreslav
*/
public interface FlexLexer {
}
@@ -0,0 +1,33 @@
/*
* @author max
*/
package org.jetbrains.jet.lexer;
public class JetKeywordToken extends JetToken {
public static JetKeywordToken keyword(String value) {
return new JetKeywordToken(value, false);
}
public static JetKeywordToken softKeyword(String value) {
return new JetKeywordToken(value, true);
}
private final String myValue;
private final boolean myIsSoft;
private JetKeywordToken(String value, boolean isSoft) {
super(value);
myValue = value;
myIsSoft = isSoft;
}
public String getValue() {
return myValue;
}
public boolean isSoft() {
return myIsSoft;
}
}
@@ -0,0 +1,74 @@
package org.jetbrains.jet.lexer;
import com.atlassian.confluence.renderer.radeox.macros.MacroUtils;
import com.atlassian.confluence.util.velocity.VelocityUtils;
import com.atlassian.renderer.RenderContext;
import com.atlassian.renderer.v2.RenderMode;
import com.atlassian.renderer.v2.macro.BaseMacro;
import com.atlassian.renderer.v2.macro.MacroException;
import com.intellij.psi.tree.IElementType;
import org.apache.velocity.VelocityContext;
import java.io.IOException;
import java.io.StringReader;
import java.util.Map;
/**
* @author abreslav
*/
public class JetMacro extends BaseMacro {
@Override
public boolean hasBody() {
return true;
}
@Override
public RenderMode getBodyRenderMode() {
return RenderMode.allow(0);
}
@Override
public String execute(Map map, String code, RenderContext renderContext) throws MacroException {
VelocityContext context = new VelocityContext(MacroUtils.defaultVelocityContext());
String renderedTemplate = VelocityUtils.getRenderedTemplate("template.velocity", context);
StringBuilder result = new StringBuilder(renderedTemplate);
result.append(
"<div class=\"code panel\" style=\"border-width: 1px;\">" +
"<div class=\"codeContent panelContent\">" +
"<div class=\"container\">"
);
_JetLexer jetLexer = new _JetLexer(new StringReader(code));
jetLexer.reset(code, 0, code.length(), _JetLexer.YYINITIAL);
while (true) {
try {
IElementType token = jetLexer.advance();
if (token == null) break;
CharSequence yytext = jetLexer.yytext();
String style;
if (token instanceof JetKeywordToken) {
style = "keyword";
} else if (token == JetTokens.BLOCK_COMMENT || token == JetTokens.DOC_COMMENT || token == JetTokens.EOL_COMMENT) {
style = "comment";
} else if (token == JetTokens.IDENTIFIER) {
style = "softkeyword";
} else if (token == JetTokens.WHITE_SPACE) {
style = "whitespace";
} else {
style = "plain";
}
result.append("<code class=\"jet ").append(style).append("\">").append(yytext).append("</code>");
} catch (IOException e) {
result.append("ERROR IN HIGHLIGHTER: ").append(e.getClass().getSimpleName()).append(" : ").append(e.getMessage());
}
}
result.append("</div>");
result.append("</div>");
result.append("</div>");
return result.toString();
}
}
@@ -0,0 +1,12 @@
/*
* @author max
*/
package org.jetbrains.jet.lexer;
import com.intellij.psi.tree.IElementType;
public class JetToken extends IElementType {
public JetToken(String debugName) {
}
}
@@ -0,0 +1,180 @@
/*
* @author max
*/
package org.jetbrains.jet.lexer;
import com.intellij.psi.TokenType;
import com.intellij.psi.tree.IElementType;
import com.intellij.psi.tree.TokenSet;
public interface JetTokens {
JetToken EOF = new JetToken("EOF");
JetToken BLOCK_COMMENT = new JetToken("BLOCK_COMMENT");
JetToken DOC_COMMENT = new JetToken("DOC_COMMENT");
JetToken EOL_COMMENT = new JetToken("EOL_COMMENT");
IElementType WHITE_SPACE = TokenType.WHITE_SPACE;
JetToken INTEGER_LITERAL = new JetToken("INTEGER_LITERAL");
JetToken LONG_LITERAL = new JetToken("LONG_LITERAL");
JetToken FLOAT_LITERAL = new JetToken("FLOAT_CONSTANT");
JetToken CHARACTER_LITERAL = new JetToken("CHARACTER_LITERAL");
// JetToken STRING_LITERAL = new JetToken("STRING_LITERAL");
JetToken CLOSING_QUOTE = new JetToken("CLOSING_QUOTE");
JetToken OPEN_QUOTE = new JetToken("OPEN_QUOTE");
JetToken REGULAR_STRING_PART = new JetToken("REGULAR_STRING_PART");
JetToken ESCAPE_SEQUENCE = new JetToken("ESCAPE_SEQUENCE");
JetToken SHORT_TEMPLATE_ENTRY_START = new JetToken("SHORT_TEMPLATE_ENTRY_START");
JetToken LONG_TEMPLATE_ENTRY_START = new JetToken("LONG_TEMPLATE_ENTRY_START");
JetToken LONG_TEMPLATE_ENTRY_END = new JetToken("LONG_TEMPLATE_ENTRY_END");
JetToken DANGLING_NEWLINE = new JetToken("DANGLING_NEWLINE");
JetToken RAW_STRING_LITERAL = new JetToken("RAW_STRING_LITERAL");
JetKeywordToken NAMESPACE_KEYWORD = JetKeywordToken.keyword("namespace");
JetKeywordToken AS_KEYWORD = JetKeywordToken.keyword("as");
JetKeywordToken TYPE_KEYWORD = JetKeywordToken.keyword("type");
JetKeywordToken CLASS_KEYWORD = JetKeywordToken.keyword("class");
JetKeywordToken THIS_KEYWORD = JetKeywordToken.keyword("this");
JetKeywordToken VAL_KEYWORD = JetKeywordToken.keyword("val");
JetKeywordToken VAR_KEYWORD = JetKeywordToken.keyword("var");
JetKeywordToken FUN_KEYWORD = JetKeywordToken.keyword("fun");
JetKeywordToken FOR_KEYWORD = JetKeywordToken.keyword("for");
JetKeywordToken NULL_KEYWORD = JetKeywordToken.keyword("null");
JetKeywordToken TRUE_KEYWORD = JetKeywordToken.keyword("true");
JetKeywordToken FALSE_KEYWORD = JetKeywordToken.keyword("false");
JetKeywordToken IS_KEYWORD = JetKeywordToken.keyword("is");
JetKeywordToken IN_KEYWORD = JetKeywordToken.keyword("in");
JetKeywordToken THROW_KEYWORD = JetKeywordToken.keyword("throw");
JetKeywordToken RETURN_KEYWORD = JetKeywordToken.keyword("return");
JetKeywordToken BREAK_KEYWORD = JetKeywordToken.keyword("break");
JetKeywordToken CONTINUE_KEYWORD = JetKeywordToken.keyword("continue");
JetKeywordToken OBJECT_KEYWORD = JetKeywordToken.keyword("object");
JetKeywordToken IF_KEYWORD = JetKeywordToken.keyword("if");
JetKeywordToken TRY_KEYWORD = JetKeywordToken.keyword("try");
JetKeywordToken ELSE_KEYWORD = JetKeywordToken.keyword("else");
JetKeywordToken WHILE_KEYWORD = JetKeywordToken.keyword("while");
JetKeywordToken DO_KEYWORD = JetKeywordToken.keyword("do");
JetKeywordToken WHEN_KEYWORD = JetKeywordToken.keyword("when");
// TODO: Discuss "This" keyword
JetKeywordToken CAPITALIZED_THIS_KEYWORD = JetKeywordToken.keyword("This");
JetToken AS_SAFE = new JetToken("as?");
JetToken IDENTIFIER = new JetToken("IDENTIFIER");
JetToken LABEL_IDENTIFIER = new JetToken("LABEL_IDENTIFIER");
JetToken FIELD_IDENTIFIER = new JetToken("FIELD_IDENTIFIER");
JetToken LBRACKET = new JetToken("LBRACKET");
JetToken RBRACKET = new JetToken("RBRACKET");
JetToken LBRACE = new JetToken("LBRACE");
JetToken RBRACE = new JetToken("RBRACE");
JetToken LPAR = new JetToken("LPAR");
JetToken RPAR = new JetToken("RPAR");
JetToken DOT = new JetToken("DOT");
JetToken PLUSPLUS = new JetToken("PLUSPLUS");
JetToken MINUSMINUS = new JetToken("MINUSMINUS");
JetToken MUL = new JetToken("MUL");
JetToken PLUS = new JetToken("PLUS");
JetToken MINUS = new JetToken("MINUS");
JetToken EXCL = new JetToken("EXCL");
JetToken DIV = new JetToken("DIV");
JetToken PERC = new JetToken("PERC");
JetToken LT = new JetToken("LT");
JetToken GT = new JetToken("GT");
JetToken LTEQ = new JetToken("LTEQ");
JetToken GTEQ = new JetToken("GTEQ");
JetToken EQEQEQ = new JetToken("EQEQEQ");
JetToken ARROW = new JetToken("ARROW");
JetToken DOUBLE_ARROW = new JetToken("DOUBLE_ARROW");
JetToken EXCLEQEQEQ = new JetToken("EXCLEQEQEQ");
JetToken EQEQ = new JetToken("EQEQ");
JetToken EXCLEQ = new JetToken("EXCLEQ");
JetToken ANDAND = new JetToken("ANDAND");
JetToken OROR = new JetToken("OROR");
JetToken SAFE_ACCESS = new JetToken("SAFE_ACCESS");
JetToken ELVIS = new JetToken("ELVIS");
// JetToken MAP = new JetToken("MAP");
// JetToken FILTER = new JetToken("FILTER");
JetToken QUEST = new JetToken("QUEST");
JetToken COLON = new JetToken("COLON");
JetToken SEMICOLON = new JetToken("SEMICOLON");
JetToken RANGE = new JetToken("RANGE");
JetToken EQ = new JetToken("EQ");
JetToken MULTEQ = new JetToken("MULTEQ");
JetToken DIVEQ = new JetToken("DIVEQ");
JetToken PERCEQ = new JetToken("PERCEQ");
JetToken PLUSEQ = new JetToken("PLUSEQ");
JetToken MINUSEQ = new JetToken("MINUSEQ");
JetToken NOT_IN = JetKeywordToken.keyword("NOT_IN");
JetToken NOT_IS = JetKeywordToken.keyword("NOT_IS");
JetToken HASH = new JetToken("HASH");
JetToken AT = new JetToken("AT");
JetToken ATAT = new JetToken("ATAT");
TokenSet LABELS = TokenSet.create(AT, ATAT, LABEL_IDENTIFIER);
JetToken COMMA = new JetToken("COMMA");
JetToken EOL_OR_SEMICOLON = new JetToken("EOL_OR_SEMICOLON");
JetKeywordToken WRAPS_KEYWORD = JetKeywordToken.softKeyword("wraps");
JetKeywordToken IMPORT_KEYWORD = JetKeywordToken.softKeyword("import");
JetKeywordToken WHERE_KEYWORD = JetKeywordToken.softKeyword("where");
JetKeywordToken BY_KEYWORD = JetKeywordToken.softKeyword("by");
JetKeywordToken GET_KEYWORD = JetKeywordToken.softKeyword("get");
JetKeywordToken SET_KEYWORD = JetKeywordToken.softKeyword("set");
JetKeywordToken ABSTRACT_KEYWORD = JetKeywordToken.softKeyword("abstract");
JetKeywordToken VIRTUAL_KEYWORD = JetKeywordToken.softKeyword("virtual");
JetKeywordToken ENUM_KEYWORD = JetKeywordToken.softKeyword("enum");
JetKeywordToken OPEN_KEYWORD = JetKeywordToken.softKeyword("open");
JetKeywordToken ATTRIBUTE_KEYWORD = JetKeywordToken.softKeyword("attribute");
JetKeywordToken OVERRIDE_KEYWORD = JetKeywordToken.softKeyword("override");
JetKeywordToken PRIVATE_KEYWORD = JetKeywordToken.softKeyword("private");
JetKeywordToken PUBLIC_KEYWORD = JetKeywordToken.softKeyword("public");
JetKeywordToken INTERNAL_KEYWORD = JetKeywordToken.softKeyword("internal");
JetKeywordToken PROTECTED_KEYWORD = JetKeywordToken.softKeyword("protected");
JetKeywordToken CATCH_KEYWORD = JetKeywordToken.softKeyword("catch");
JetKeywordToken OUT_KEYWORD = JetKeywordToken.softKeyword("out");
JetKeywordToken FINALLY_KEYWORD = JetKeywordToken.softKeyword("finally");
// TODO: support this as an annotation on arguments. Then, they it probably can not be a soft keyword
JetKeywordToken REF_KEYWORD = JetKeywordToken.softKeyword("ref");
TokenSet KEYWORDS = TokenSet.create(NAMESPACE_KEYWORD, AS_KEYWORD, TYPE_KEYWORD, CLASS_KEYWORD,
THIS_KEYWORD, VAL_KEYWORD, VAR_KEYWORD, FUN_KEYWORD, FOR_KEYWORD,
NULL_KEYWORD,
TRUE_KEYWORD, FALSE_KEYWORD, IS_KEYWORD,
IN_KEYWORD, THROW_KEYWORD, RETURN_KEYWORD, BREAK_KEYWORD, CONTINUE_KEYWORD, OBJECT_KEYWORD, IF_KEYWORD,
ELSE_KEYWORD, WHILE_KEYWORD, DO_KEYWORD, TRY_KEYWORD, WHEN_KEYWORD,
NOT_IN, NOT_IS, CAPITALIZED_THIS_KEYWORD
);
TokenSet SOFT_KEYWORDS = TokenSet.create(WRAPS_KEYWORD, IMPORT_KEYWORD, WHERE_KEYWORD, BY_KEYWORD, GET_KEYWORD,
SET_KEYWORD, ABSTRACT_KEYWORD, VIRTUAL_KEYWORD, ENUM_KEYWORD, OPEN_KEYWORD, ATTRIBUTE_KEYWORD,
OVERRIDE_KEYWORD, PRIVATE_KEYWORD, PUBLIC_KEYWORD, INTERNAL_KEYWORD, PROTECTED_KEYWORD,
CATCH_KEYWORD, FINALLY_KEYWORD, REF_KEYWORD, OUT_KEYWORD
);
TokenSet MODIFIER_KEYWORDS = TokenSet.create(ABSTRACT_KEYWORD, VIRTUAL_KEYWORD, ENUM_KEYWORD,
OPEN_KEYWORD, ATTRIBUTE_KEYWORD, OVERRIDE_KEYWORD, PRIVATE_KEYWORD, PUBLIC_KEYWORD, INTERNAL_KEYWORD,
PROTECTED_KEYWORD, REF_KEYWORD, OUT_KEYWORD, IN_KEYWORD
);
TokenSet WHITE_SPACE_OR_COMMENT_BIT_SET = TokenSet.create(WHITE_SPACE, BLOCK_COMMENT, EOL_COMMENT, DOC_COMMENT);
TokenSet WHITESPACES = TokenSet.create(TokenType.WHITE_SPACE);
TokenSet COMMENTS = TokenSet.create(EOL_COMMENT, BLOCK_COMMENT, DOC_COMMENT);
TokenSet STRINGS = TokenSet.create(CHARACTER_LITERAL, REGULAR_STRING_PART, RAW_STRING_LITERAL);
TokenSet OPERATIONS = TokenSet.create(AS_KEYWORD, AS_SAFE, IS_KEYWORD, IN_KEYWORD, DOT, PLUSPLUS, MINUSMINUS, MUL, PLUS,
MINUS, EXCL, DIV, PERC, LT, GT, LTEQ, GTEQ, EQEQEQ, ARROW, EXCLEQEQEQ, EQEQ, EXCLEQ, ANDAND, OROR,
SAFE_ACCESS, ELVIS,
// MAP, FILTER,
QUEST, COLON,
RANGE, EQ, MULTEQ, DIVEQ, PERCEQ, PLUSEQ, MINUSEQ,
NOT_IN, NOT_IS, HASH, IDENTIFIER, LABEL_IDENTIFIER, ATAT, AT);
TokenSet AUGMENTED_ASSIGNMENTS = TokenSet.create(PLUSEQ, MINUSEQ, MULTEQ, PERCEQ, DIVEQ);
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,15 @@
<atlassian-plugin key="${project.groupId}.${project.artifactId}" name="${project.name}" plugins-version="2">
<plugin-info>
<description>${project.description}</description>
<version>${project.version}</version>
<vendor name="${project.organization.name}" url="${project.organization.url}" />
</plugin-info>
<macro name="jet" class="org.jetbrains.jet.lexer.JetMacro" key="jet">
<description>Highlighting for Jet language</description>
</macro>
<web-resource key="resources">
    <resource type="download" name="jet.css" location="jet.css"/>
</web-resource>
</atlassian-plugin>
+8
View File
@@ -0,0 +1,8 @@
.jet {
white-space: pre;
}
.jet.keyword {
font-weight: bold;
color: #369;
}
@@ -0,0 +1,3 @@
<!--
#requireResource("org.jetbrains.jet.confluence:resources")
-->