diff --git a/build.xml b/build.xml
index 7334c5a..c3ba54e 100644
--- a/build.xml
+++ b/build.xml
@@ -9,6 +9,7 @@
+
@@ -48,6 +49,9 @@
+
+
+
@@ -89,6 +93,10 @@
+
+
+
+
@@ -98,7 +106,18 @@
-
+
+
+
+
+
+
+
+
+
+
+
@@ -116,7 +135,7 @@
tofile="${project.dest}/org/jetbrains/plugins/clojure/ClojureBundle.properties"/>
-
+
+
+
+
@@ -169,13 +191,13 @@
-
+
-
+
-
-
+
+
diff --git a/clojure-intellij-plugin.ipr b/clojure-intellij-plugin.ipr
index a288d93..78795a7 100644
--- a/clojure-intellij-plugin.ipr
+++ b/clojure-intellij-plugin.ipr
@@ -321,6 +321,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/clojure-plugin.iml b/clojure-plugin.iml
index 750e946..7e8374b 100644
--- a/clojure-plugin.iml
+++ b/clojure-plugin.iml
@@ -5,6 +5,12 @@
+
+
+
+
+
+
@@ -27,6 +33,8 @@
+
+
diff --git a/src/org/jetbrains/plugins/clojure/lexer/_ClojureLexer.java b/src/org/jetbrains/plugins/clojure/lexer/_ClojureLexer.java
index 0985caa..624930a 100644
--- a/src/org/jetbrains/plugins/clojure/lexer/_ClojureLexer.java
+++ b/src/org/jetbrains/plugins/clojure/lexer/_ClojureLexer.java
@@ -1,4 +1,4 @@
-/* The following code was generated by JFlex 1.4.1 on 12/15/10 5:38 PM */
+/* The following code was generated by JFlex 1.4.1 on 12/15/10 7:01 PM */
/*
* Copyright 2000-2009 Red Shark Technology
@@ -27,7 +27,7 @@
/**
* This class is a scanner generated by
* JFlex 1.4.1
- * on 12/15/10 5:38 PM from the specification file
+ * on 12/15/10 7:01 PM from the specification file
* src/org/jetbrains/plugins/clojure/lexer/clojure.flex
*/
public class _ClojureLexer implements ClojureTokenTypes, FlexLexer {
diff --git a/src/org/jetbrains/plugins/clojure/parameterInfo/ClojureParameterInfoHandler.scala b/src/org/jetbrains/plugins/clojure/parameterInfo/ClojureParameterInfoHandler.scala
new file mode 100644
index 0000000..4be0213
--- /dev/null
+++ b/src/org/jetbrains/plugins/clojure/parameterInfo/ClojureParameterInfoHandler.scala
@@ -0,0 +1,13 @@
+package org.jetbrains.plugins.clojure.parameterInfo
+
+import com.intellij.lang.parameterInfo.ParameterInfoHandlerWithTabActionSupport
+import org.jetbrains.plugins.clojure.psi.api.ClList
+import org.jetbrains.plugins.clojure.psi.api.symbols.ClSymbol
+
+/**
+ * @author ilyas
+ */
+
+abstract class ClojureParameterInfoHandler extends ParameterInfoHandlerWithTabActionSupport[ClList, Any, ClSymbol] {
+
+}
\ No newline at end of file
diff --git a/src/org/jetbrains/plugins/clojure/psi/impl/symbols/SymbolUtils.java b/src/org/jetbrains/plugins/clojure/psi/impl/symbols/SymbolUtils.java
deleted file mode 100644
index bd85756..0000000
--- a/src/org/jetbrains/plugins/clojure/psi/impl/symbols/SymbolUtils.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.jetbrains.plugins.clojure.psi.impl.symbols;
-
-import com.intellij.psi.PsiElement;
-import com.intellij.psi.util.PsiTreeUtil;
-import org.jetbrains.plugins.clojure.ClojureIcons;
-import org.jetbrains.plugins.clojure.psi.api.ClList;
-import org.jetbrains.plugins.clojure.psi.api.symbols.ClSymbol;
-
-import javax.swing.*;
-
-import static org.jetbrains.plugins.clojure.psi.impl.list.ListDeclarations.*;
-
-/**
- * @author ilyas
- */
-public class SymbolUtils {
-
-
- public static Icon getIcon(ClSymbol symbol, int flags) {
- final PsiElement parent = PsiTreeUtil.getParentOfType(symbol, ClList.class);
- if (parent instanceof ClList) {
- ClList list = (ClList) parent;
-
- // Functions and defs
- if (symbol == list.getSecondNonLeafElement()) {
- final PsiElement fst = list.getFirstNonLeafElement();
- if (fst instanceof ClSymbol) {
- ClSymbol lstSym = (ClSymbol) fst;
- final String nameString = lstSym.getNameString();
-
- if (FN.equals(nameString)) return ClojureIcons.FUNCTION;
- if (DEFN.equals(nameString) || DEFN_.equals(nameString)) return ClojureIcons.FUNCTION;
- }
- }
-
-
- }
-
- return null;
- }
-}
diff --git a/src/org/jetbrains/plugins/clojure/psi/impl/symbols/SymbolUtils.scala b/src/org/jetbrains/plugins/clojure/psi/impl/symbols/SymbolUtils.scala
new file mode 100644
index 0000000..fffab07
--- /dev/null
+++ b/src/org/jetbrains/plugins/clojure/psi/impl/symbols/SymbolUtils.scala
@@ -0,0 +1,37 @@
+package org.jetbrains.plugins.clojure.psi.impl.symbols
+
+/**
+ * @author ilyas
+ */
+
+import com.intellij.psi.util.PsiTreeUtil
+import org.jetbrains.plugins.clojure.ClojureIcons
+import org.jetbrains.plugins.clojure.psi.api.ClList
+import org.jetbrains.plugins.clojure.psi.api.symbols.ClSymbol
+import org.jetbrains.plugins.clojure.psi.impl.list.ListDeclarations
+
+import javax.swing._
+
+/**
+ * @author ilyas
+ */
+
+object SymbolUtils {
+
+ def getIcon(symbol: ClSymbol, flags: Int): Icon =
+ PsiTreeUtil.getParentOfType(symbol, classOf[ClList]) match {
+ case list: ClList if symbol == list.getSecondNonLeafElement() =>
+ list.getFirstNonLeafElement() match {
+ case lstSym: ClSymbol => {
+ lstSym.getNameString() match {
+ case ListDeclarations.FN => ClojureIcons.FUNCTION
+ case ListDeclarations.DEFN | ListDeclarations.DEFN_ => ClojureIcons.FUNCTION
+ case _ => null
+ }
+ }
+ case _ => null
+ }
+ case _ => null
+ }
+
+}