/* * Copyright 2010 Jon S Akhtar (Sylvanaar) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.sylvanaar.idea.Lua.lang.structure; import com.intellij.psi.PsiElement; import com.sylvanaar.idea.Lua.lang.psi.LuaFunctionDefinition; import com.sylvanaar.idea.Lua.lang.psi.LuaPsiFile; import com.sylvanaar.idea.Lua.lang.psi.expressions.LuaParameterList; import com.sylvanaar.idea.Lua.lang.psi.statements.LuaFunctionDefinitionStatement; public class LuaElementPresentation { public static String getPresentableText(PsiElement element) { assert element != null; if (element instanceof LuaPsiFile) { return getFilePresentableText(((LuaPsiFile) element)); } else if (element instanceof LuaFunctionDefinitionStatement) { return getFunctionPresentableText((LuaFunctionDefinition) element); } else { return element.getText(); } } public static String getFunctionPresentableText(LuaFunctionDefinition function) { LuaParameterList o = function.getParameters(); try { String s = function.getName(); if (s == null) s = ""; return s + "(" + (o!=null?o.getText():"")+ ")"; } catch (Throwable e) { return e.getMessage()==null?"Anonymous":e.getMessage(); } } public static String getFilePresentableText(LuaPsiFile file) { return file.getName(); } public static String getFunctionLocationText(LuaFunctionDefinition function) { return "";//function.getIdentifier().getNameSpace(); } }