Skip to content

Commit

Permalink
Code formatting. Little refactoring. Own extra features implementation.
Browse files Browse the repository at this point in the history
  • Loading branch information
aholowko committed May 20, 2014
1 parent 460b97e commit cef31a5
Show file tree
Hide file tree
Showing 23 changed files with 741 additions and 503 deletions.
125 changes: 125 additions & 0 deletions .idea/uiDesigner.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

115 changes: 58 additions & 57 deletions META-INF/plugin.xml
Original file line number Diff line number Diff line change
@@ -1,71 +1,72 @@
<idea-plugin version="2">
<id>ch.mjava.intellij.tapestry.4</id>
<name>Tapestry 4.1 Support</name>
<version>0.1.2</version>
<vendor email="[email protected]" url="http://www.mjava.ch">http://www.mjava.ch</vendor>
<id>pl.holowko.tapestry.4</id>
<name>Tapestry 4.1</name>
<version>0.3</version>
<vendor url="https://github.com/aholowko/intellij-tapestry4">Andrzej Hołowko</vendor>

<description><![CDATA[
<h1>Tapestry 4 Support</h1>
<description>
<![CDATA[
<h1>Tapestry 4.1</h1>
Basic tapestry 4.1 support.
]]>
</description>

Very simple plugin that provides some basic tapestry support.<br />
It is intended to support development for tapestry 4 projects.
<change-notes>
<![CDATA[
<h3>Version 0.3</h3>
<ul>
<li>HTML - Go to component class for jwcid arguments</li>
</ul>
<h3>Version 0.2</h3>
<ul>
<li>HTML - Go to declaration for ognl expressioms</li>
</ul>
<h3>Version 0.1</h3>
<ul>
<li>Forked from https://github.com/linuxswords/intellij-tapestry4</li>
</ul>
]]>
</change-notes>

]]></description>
<!-- please see http://confluence.jetbrains.net/display/IDEADEV/Build+Number+Ranges for description -->
<idea-version since-build="107.105"/>

<change-notes><![CDATA[
<h3>Version 0.1.2</h3>
<ul>
<li>Fix for reported Nullpointer in LineMarker</li>
<li>Line Marker should catch also ':listener' and ':action'</li>
</ul>
<!-- please see http://confluence.jetbrains.net/display/IDEADEV/Plugin+Compatibility+with+IntelliJ+Platform+Products
on how to target different products -->
<!-- uncomment to enable plugin in all products
<depends>com.intellij.modules.lang</depends>
-->

<h3>Version 0.1.1</h3>
<ul>
<li>Switching between between html components and it's java counterparts <i>control alt shift J</i></li>
<li>Allows to navigate from a ognl expression to its java counterpart <i>control alt shift K</i></li>
<li>Add LineMarker in html site allowing to switch to java counterpart.</li>
<li>basic code completion</li>
</ul>
]]>
</change-notes>
<application-components>
<!-- Add your application components here -->
</application-components>

<!-- please see http://confluence.jetbrains.net/display/IDEADEV/Build+Number+Ranges for description -->
<idea-version since-build="107.105"/>
<project-components>
<!-- Add your project components here -->
</project-components>

<!-- please see http://confluence.jetbrains.net/display/IDEADEV/Plugin+Compatibility+with+IntelliJ+Platform+Products
on how to target different products -->
<!-- uncomment to enable plugin in all products
<depends>com.intellij.modules.lang</depends>
-->
<actions>
<action id="switcher" class="pl.holowko.intellij.tapestry.TapestrySwitcher" text="Switch Tapestry Html-Java Files"
description="Switch Between Html Pages/Components and their Java-CounterParts">
<add-to-group group-id="ToolsMenu" anchor="last"/>
<keyboard-shortcut first-keystroke="control alt shift L" keymap="$default"/>
</action>

<application-components>
<!-- Add your application components here -->
</application-components>
</actions>

<project-components>
<!-- Add your project components here -->
</project-components>
<extensions defaultExtensionNs="com.intellij">

<actions>
<action id="switcher" class="ch.mjava.intellij.tapestry.TapestrySwitcher" text="Switch Tapestry Html-Java Files"
description="Switch Between Html Pages/Components and their Java-CounterParts">
<add-to-group group-id="ToolsMenu" anchor="last"/>
<keyboard-shortcut first-keystroke="control alt shift J" keymap="$default"/>
</action>
<completion.contributor language="HTML"
implementationClass="ch.mjava.intellij.tapestry.completion.PropertyCompletionContributor"/>

<action id="ognlResolver" class="ch.mjava.intellij.tapestry.OgnlResolver" text="got to refered ognl action"
description="Switches to implemented ognl call">
<add-to-group group-id="ToolsMenu" anchor="last"/>
<keyboard-shortcut first-keystroke="control alt shift K" keymap="$default"/>
</action>
<gotoDeclarationHandler implementation="pl.holowko.intellij.tapestry.codeInsight.JwcidGoToComponentDeclarationHandler"/>
<gotoDeclarationHandler implementation="pl.holowko.intellij.tapestry.codeInsight.OgnlGoToDeclarationHandler"/>

</actions>

<extensions defaultExtensionNs="com.intellij">

<completion.contributor language="HTML" implementationClass="ch.mjava.intellij.tapestry.completion.PropertyCompletionContributor"/>

<codeInsight.lineMarkerProvider language="HTML"
implementationClass="ch.mjava.intellij.tapestry.codeInsight.TapestryMarkupLineMarkerProvider"/>
</extensions>
</extensions>
</idea-plugin>
34 changes: 3 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,8 @@
# Tapestry 4.1 Support for Intellij IDEA
# Tapestry 4.1 for Intellij IDEA

Intellij-Tapestry adds basic support for [Tapestry 4.1](http://tapestry.apache.org/tapestry4.1/) development.

## Installing
To install the latest release (and get automatic updates), install this plugin using your IDE's plugin manager:

* In _Settings->Plugins_, choose "Browse repositories". Find "tapestry" on the list, right-click, then select "Download and Install"

## Features

* `Ctrl-Alt-Shift J` Switching back and forth between page- and component classes and their markup partners
* `Ctrl-Alt-Shift K` Place cursor on a ognl expression in the markup and switch to its associated java code
* Navigatable Linemarker Info in the markup with a clickable link that takes you to the associated java code
* raw code completion

## TODO and Wishlist

* Proper OGNL parsing
* Use IDEAs stub-index to include the *.jwc files for partner-file search
* Proper Autocompletion on ognl expressions in the template
* LineMarker References from java-code to its usages in templates
Forked from [linuxswords/intellij-tapestry4](https://github.com/linuxswords/intellij-tapestry4)

## License

This project is licensed under Apache 2.0 see the LICENSE file in the project root

## Issues

* Switching from a java code back to its template does take you to the first hit and will not find other template usages that are declared in a *.jwc file
* *.page files are ignored, only *.jwc files are parsed

## Contributing
Contributions are welcome at the [github project site](https://github.com/linuxswords/intellij-tapestry4)

To get started: `git clone https://github.com/linuxswords/intellij-tapestry4.git`
This project is licensed under Apache 2.0 see the LICENSE file in the project root
Binary file added lib/guava-17.0-sources.jar
Binary file not shown.
Binary file added lib/guava-17.0.jar
Binary file not shown.
77 changes: 0 additions & 77 deletions src/ch/mjava/intellij/FieldChoiceDialog.java

This file was deleted.

Loading

0 comments on commit cef31a5

Please sign in to comment.