Giter Site home page Giter Site logo

mtrubs / intellibot Goto Github PK

View Code? Open in Web Editor NEW
158.0 158.0 107.0 24.86 MB

IntelliJ/PyCharm plugin for Robot Automation Framework

Home Page: https://github.com/millennialmedia/intellibot/wiki

License: MIT License

HTML 0.57% Java 96.14% RobotFramework 3.29%

intellibot's People

Contributors

danielpbak avatar eezltn avatar gabethegeek avatar kidlike avatar mtrubs avatar puhnastik avatar sabrams avatar tillaert avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

intellibot's Issues

Release a new version to plugins.jetbrains.com

Hi,

We are using intellibot and would like to make advantage of the bugfixes that were introduced after 0.6.4. Of course, it's possible to compile intellibot ourselves, however previous attempts showed this does not simply 'work' (to add a change we made I resorted to editing the jar instead of compiling the project since I couldn't get it to work). Since you've already updated the version it would seem logical to either update the repository, or provide a new jarfile for manual install. At the moment the jar file is 7 months old.

Regards,
Ate

False 'Unused import statement' reports

*** Settings ***
Resource          EmsServer_Keywords.txt
Resource          EmsClient_Keywords.txt

Test_Simple
    ${path} =           Set variable    path
    ${entitlement} =    build entitlement with id "1" and pathCondition "${path}"

The 'build entitlement with id..' is defined in EmsClient_Keywords.txt, the plugin opens it by ctrl+click, but reports 'unused import statement' for this resource.

transitive import for variables is not working

if variables are defined in resource file and that file file imported in suite, then variables are not getting resolved. below is example for the same.

resource.robot
*** Variables ***
${BROWSER} firefox
${URL} www.google.com

test.robot
*** Test Cases ***
Example
open browser ${URL} ${BROWSER}

Keyword discovery is not working if ends with spaces

Hello,

I installed the plugin from github and I found the problem with keywords discovery if after keyword are only spaces. The example will describe that more precisely:

*** Test Case ***
Working
    Some keyword      # is working

Not working
    Some keyword<space>

Off-course is a normal space. This is for python and user keywords.

Handle Keywords in Python Files

We have python files which define functions. If imported these functions are accessible as keywords. 'my_method' would be envokable as 'my_method' or 'my method'. Preferably only the later would be recommended as part of auto-completion but but would be desirable as jump-to-source recognition.

Pycharm crashes on startup

Hello,

Application crashes after installing plugin in Pycharm Community Edition 3.0.2.
Below is my log file:

2014-01-27 08:43:11,375 [ 0] INFO - #com.intellij.idea.Main - ------------------------------------------------------ IDE STARTED ------------------------------------------------------
2014-01-27 08:43:11,417 [ 42] INFO - #com.intellij.idea.Main - IDE: PyCharm Community Edition (build #PC-131.618, 29 Nov 2013 00:00)
2014-01-27 08:43:11,417 [ 42] INFO - #com.intellij.idea.Main - OS: Linux (3.2.0-4-amd64, amd64)
2014-01-27 08:43:11,417 [ 42] INFO - #com.intellij.idea.Main - JRE: 1.7.0_45-b18 (Oracle Corporation)
2014-01-27 08:43:11,417 [ 42] INFO - #com.intellij.idea.Main - JVM: 24.45-b08 (Java HotSpot(TM) 64-Bit Server VM)
2014-01-27 08:43:11,424 [ 49] INFO - #com.intellij.idea.Main - JVM Args: -Xms128m -Xmx750m -XX:MaxPermSize=350m -XX:ReservedCodeCacheSize=96m -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+UseCodeCacheFlushing -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -Dawt.useSystemAAFontSettings=lcd -Djb.vmOptionsFile=/home/ute/programs/pycharm-community-3.0.1/bin/pycharm64.vmoptions -Xbootclasspath/a:/home/ute/programs/pycharm-community-3.0.1/bin/../lib/boot.jar -Didea.paths.selector=PyCharm30 -Didea.platform.prefix=PyCharmCore -Didea.no.jre.check=true -Djb.restart.code=88 -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true
2014-01-27 08:43:11,504 [ 129] INFO - #com.intellij.idea.Main - JNA library loaded (64-bit) in 80 ms
2014-01-27 08:43:11,626 [ 251] INFO - #com.intellij.idea.Main - Snappy library loaded (1.0.5) in 121 ms
2014-01-27 08:43:12,114 [ 739] INFO - .intellij.idea.IdeaApplication - WM detected: Xfwm4
2014-01-27 08:43:15,194 [ 3819] INFO - llij.ide.plugins.PluginManager - 15 plugins initialized in 2351 ms
2014-01-27 08:43:15,195 [ 3820] INFO - llij.ide.plugins.PluginManager - Loaded bundled plugins: CVS Integration (11), Git Integration (8.1), GitHub, IDEA CORE, Python ReStructureText Integration (VERSION), ReStructuredText Support (130.SNAPSHOT), Subversion Integration (1.1), Task Management (1.0), Terminal (0.1), hg4idea (10.0)
2014-01-27 08:43:15,195 [ 3820] INFO - llij.ide.plugins.PluginManager - Loaded custom plugins: BashSupport (1.1beta19-idea13), File Watchers (131.17), IntelliBot (0.2.1), Lua (1.0a61), TextMate bundles support (6.0.0.20130917)
2014-01-27 08:43:16,462 [ 5087] INFO - ellij.util.io.PagedFileStorage - lower=100; upper=200; buffer=10; max=748027904
2014-01-27 08:43:16,678 [ 5303] INFO - api.vfs.impl.local.FileWatcher - Starting file watcher: /home/ute/programs/pycharm-community-3.0.1/bin/fsnotifier64
2014-01-27 08:43:16,705 [ 5330] INFO - api.vfs.impl.local.FileWatcher - Native file watcher is operational.
2014-01-27 08:43:17,453 [ 6078] ERROR - llij.ide.plugins.PluginManager - com.intellij.ide.plugins.PluginManager$StartupAbortedException: Fatal error initializing 'com.intellij.openapi.fileTypes.FileTypeManager'
java.lang.RuntimeException: com.intellij.ide.plugins.PluginManager$StartupAbortedException: Fatal error initializing 'com.intellij.openapi.fileTypes.FileTypeManager'
at com.intellij.idea.IdeaApplication.run(IdeaApplication.java:258)
at com.intellij.idea.MainImpl$1$1.run(MainImpl.java:43)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:696)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:524)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:335)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: com.intellij.ide.plugins.PluginManager$StartupAbortedException: Fatal error initializing 'com.intellij.openapi.fileTypes.FileTypeManager'
at com.intellij.ide.plugins.PluginManager.handleComponentError(PluginManager.java:215)
at com.intellij.openapi.application.impl.ApplicationImpl.handleInitComponentError(ApplicationImpl.java:366)
at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentConfigComponentAdapter$1.getComponentInstance(ComponentManagerImpl.java:570)
at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentConfigComponentAdapter.getComponentInstance(ComponentManagerImpl.java:590)
at com.intellij.util.pico.DefaultPicoContainer.getLocalInstance(DefaultPicoContainer.java:226)
at com.intellij.util.pico.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:213)
at com.intellij.util.pico.DefaultPicoContainer.getComponentInstance(DefaultPicoContainer.java:200)
at org.picocontainer.alternatives.AbstractDelegatingMutablePicoContainer.getComponentInstance(AbstractDelegatingMutablePicoContainer.java:75)
at com.intellij.openapi.components.impl.ComponentManagerImpl.createComponent(ComponentManagerImpl.java:121)
at com.intellij.openapi.application.impl.ApplicationImpl.createComponent(ApplicationImpl.java:386)
at com.intellij.openapi.components.impl.ComponentManagerImpl.createComponents(ComponentManagerImpl.java:112)
at com.intellij.openapi.components.impl.ComponentManagerImpl.init(ComponentManagerImpl.java:89)
at com.intellij.openapi.components.impl.stores.ApplicationStoreImpl.load(ApplicationStoreImpl.java:87)
at com.intellij.openapi.application.impl.ApplicationImpl.load(ApplicationImpl.java:525)
at com.intellij.idea.IdeaApplication.run(IdeaApplication.java:250)
... 18 more
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: com.millennialmedia.intellibot.psi.RobotFileTypeHandler PluginClassLoader[com.millennialmedia.intellibot, 0.2.1]
at com.intellij.openapi.extensions.impl.ExtensionComponentAdapter.loadClass(ExtensionComponentAdapter.java:151)
at com.intellij.openapi.extensions.impl.ExtensionComponentAdapter.getComponentImplementation(ExtensionComponentAdapter.java:63)
at com.intellij.openapi.extensions.impl.ExtensionComponentAdapter.getComponentInstance(ExtensionComponentAdapter.java:70)
at com.intellij.openapi.extensions.impl.ExtensionComponentAdapter.getExtension(ExtensionComponentAdapter.java:111)
at com.intellij.openapi.extensions.impl.ExtensionPointImpl.processAdapters(ExtensionPointImpl.java:241)
at com.intellij.openapi.extensions.impl.ExtensionPointImpl.getExtensions(ExtensionPointImpl.java:185)
at com.intellij.openapi.extensions.Extensions.getExtensions(Extensions.java:111)
at com.intellij.openapi.extensions.Extensions.getExtensions(Extensions.java:98)
at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.initStandardFileTypes(FileTypeManagerImpl.java:153)
at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.initComponent(FileTypeManagerImpl.java:284)
at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentConfigComponentAdapter$1.getComponentInstance(ComponentManagerImpl.java:548)
... 30 more
Caused by: java.lang.ClassNotFoundException: com.millennialmedia.intellibot.psi.RobotFileTypeHandler PluginClassLoader[com.millennialmedia.intellibot, 0.2.1]
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:82)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.intellij.openapi.extensions.impl.ExtensionComponentAdapter.loadClass(ExtensionComponentAdapter.java:148)
... 40 more
2014-01-27 08:43:17,465 [ 6090] ERROR - llij.ide.plugins.PluginManager - PyCharm Community Edition 3.0.2 Build #PC-131.618
2014-01-27 08:43:17,465 [ 6090] ERROR - llij.ide.plugins.PluginManager - JDK: 1.7.0_45
2014-01-27 08:43:17,465 [ 6090] ERROR - llij.ide.plugins.PluginManager - VM: Java HotSpot(TM) 64-Bit Server VM
2014-01-27 08:43:17,465 [ 6090] ERROR - llij.ide.plugins.PluginManager - Vendor: Oracle Corporation
2014-01-27 08:43:17,465 [ 6090] ERROR - llij.ide.plugins.PluginManager - OS: Linux
2014-01-27 08:43:17,465 [ 6090] ERROR - llij.ide.plugins.PluginManager - Last Action:
2014-01-27 08:43:20,542 [ 9167] INFO - newvfs.persistent.PersistentFS - VFS dispose started
2014-01-27 08:43:20,551 [ 9176] INFO - #com.intellij.idea.Main - ------------------------------------------------------ IDE SHUTDOWN ------------------------------------------------------
2014-01-27 08:43:20,644 [ 9269] INFO - newvfs.persistent.PersistentFS - VFS dispose completed

Ellipsis not supported in settings

Hi intellibot team !

According to the robot framework user guide, the ellipsis can be used to let a line span over multiple text line. This is especially useful the for documentation keywork.

Example:

*** Settings ***
Documentation
...    First paragraph has only one line.
...
...    Second paragraph, this time created
...    with multiple lines.

However it seems that intellibot does not support a such construct since I get a red squiggle. Would it be possible to add support for the ellipsis ? It would make my documentation look a bit nicer ;)

Thanks.

Code check is not finding python keywords in sub-class

I'm not sure if I described this properly in the title, but hopefully this example code snippet will help.

from robot.libraries.BuiltIn import BuiltIn
from Selenium2Library.keywords.keywordgroup import KeywordGroup
import logging


def get_current_browser():
    browser = BuiltIn().get_library_instance('Selenium2Library')._current_browser()
    return browser


class MyLibrary(KeywordGroup):

    def get_title_via_python(self):
        driver = get_current_browser()
        title = driver.title
        logging.warn("checking title %s" % title)
        return title

In PyCharm, a Robot file that uses this python library file (import is successfully acknowledged by Intellibot) will show that 'Get Current Browser' resolves to the python code, but 'Get Title Via Python' does not, and is instead lined in red with a 'Keyword definition not found' error.

Relative import for class search doesn't works

Consider a python library file written in class structure let say Library.py
Now if this file is in Pythonpath or in current directory the import works fine, i.e.
*** Settings ***
Library Library

if the same file is imported with relative path, i.e
*** Settings ***
Library Path1/Path2/Library
Library.py is detected, but the keywords present inside is not detected i.e. class search didn't worked.

Variable definition not found if variables defined in Resource file

If I create a Robot resource file called 'variables.txt' with variable ${xyz} defined within it, and then create another robot test case file which imports variables.txt as a Resource, ${xyz} will be marked as 'not found' if used in a test case in that 2nd file. Robot will see it and run accordingly, but intellibot won't.

Intellibot does not see my python keywords

Libraries imported from python keyword files are now being flagged in Pycharm as 'Import file not found'. This began to occur after upgrading to the latest Intellibot plugin.

Here's an example import line, in this case for a python keyword file which is in the same directory as the the Robot script that uses it:

Library ./performanceKeywords.py

The file is still there and the robot script runs fine, but intellibot appears to be missing it somehow.

v. 0.6.4 causes IDE fatal errors for IntelliJ12

Since the last update I constantly get many exception which are caused by the intellibot plugin. I tried to reinstall the plugin with no effect.
I am using intelliJ 12 under MacOSx 10.9

I'll get the following exceptions on editing *.robot files

com.intellij.reference.SoftReference.dereference(Ljava/lang/ref/Reference;)Ljava/lang/Object;: com.intellij.reference.SoftReference.dereference(Ljava/lang/ref/Reference;)Ljava/lang/Object;
java.lang.NoSuchMethodError: com.intellij.reference.SoftReference.dereference(Ljava/lang/ref/Reference;)Ljava/lang/Object;
    at com.millennialmedia.intellibot.RobotBundle.getBundle(RobotBundle.java:32)
    at com.millennialmedia.intellibot.RobotBundle.message(RobotBundle.java:27)
    at com.millennialmedia.intellibot.ide.inspections.compilation.RobotKeywordNotFound.getMessage(RobotKeywordNotFound.java:50)
    at com.millennialmedia.intellibot.ide.inspections.SimpleInspectionVisitor.visitElement(SimpleInspectionVisitor.java:31)
    at com.intellij.psi.impl.source.tree.LeafPsiElement.accept(LeafPsiElement.java:213)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.a(LocalInspectionsPass.java:412)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.a(LocalInspectionsPass.java:370)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.a(LocalInspectionsPass.java:341)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.access$000(LocalInspectionsPass.java:78)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass$2.process(LocalInspectionsPass.java:309)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass$2.process(LocalInspectionsPass.java:306)
    at com.intellij.concurrency.JobLauncherImpl$2$1.run(JobLauncherImpl.java:115)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:226)
    at com.intellij.concurrency.JobLauncherImpl$2.process(JobLauncherImpl.java:113)
    at com.intellij.concurrency.JobLauncherImpl$1.run(JobLauncherImpl.java:54)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at com.intellij.concurrency.PrioritizedFutureTask.access$101(PrioritizedFutureTask.java:31)
    at com.intellij.concurrency.PrioritizedFutureTask$1.run(PrioritizedFutureTask.java:70)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1182)
    at com.intellij.concurrency.PrioritizedFutureTask.run(PrioritizedFutureTask.java:97)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:695)
Error during dispatching of java.awt.event.InvocationEvent[INVOCATION_DEFAULT,runnable=com.apple.eawt._AppEventHandler$_AppEventDispatcher$1@3eec3af5,notifier=null,catchExceptions=false,when=1404983177652] on apple.awt.CToolkit@712cb19: com.intellij.reference.SoftReference.dereference(Ljava/lang/ref/Reference;)Ljava/lang/Object;
java.lang.NoSuchMethodError: com.intellij.reference.SoftReference.dereference(Ljava/lang/ref/Reference;)Ljava/lang/Object;
    at com.millennialmedia.intellibot.RobotBundle.getBundle(RobotBundle.java:32)
    at com.millennialmedia.intellibot.RobotBundle.message(RobotBundle.java:27)
    at com.millennialmedia.intellibot.ide.config.RobotColorsPage.<clinit>(RobotColorsPage.java:60)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:249)
    at com.intellij.openapi.extensions.impl.ExtensionComponentAdapter.loadClass(ExtensionComponentAdapter.java:148)
    at com.intellij.openapi.extensions.impl.ExtensionComponentAdapter.getComponentImplementation(ExtensionComponentAdapter.java:63)
    at com.intellij.openapi.extensions.impl.ExtensionComponentAdapter.getComponentInstance(ExtensionComponentAdapter.java:70)
    at com.intellij.openapi.extensions.impl.ExtensionComponentAdapter.getExtension(ExtensionComponentAdapter.java:111)
    at com.intellij.openapi.extensions.impl.ExtensionPointImpl.processAdapters(ExtensionPointImpl.java:241)
    at com.intellij.openapi.extensions.impl.ExtensionPointImpl.getExtensions(ExtensionPointImpl.java:185)
    at com.intellij.openapi.extensions.Extensions.getExtensions(Extensions.java:111)
    at com.intellij.openapi.extensions.Extensions.getExtensions(Extensions.java:98)
    at com.intellij.openapi.options.colors.pages.ColorSettingsPagesImpl.getRegisteredPages(ColorSettingsPagesImpl.java:43)
    at com.intellij.application.options.colors.ColorAndFontOptions.a(ColorAndFontOptions.java:513)
    at com.intellij.application.options.colors.ColorAndFontOptions.a(ColorAndFontOptions.java:504)
    at com.intellij.application.options.colors.ColorAndFontOptions.e(ColorAndFontOptions.java:494)
    at com.intellij.application.options.colors.ColorAndFontOptions.buildConfigurables(ColorAndFontOptions.java:318)
    at com.intellij.openapi.options.SearchableConfigurable$Parent$Abstract.getConfigurables(SearchableConfigurable.java:76)
    at com.intellij.openapi.options.newEditor.OptionsTree.a(OptionsTree.java:502)
    at com.intellij.openapi.options.newEditor.OptionsTree.access$500(OptionsTree.java:56)
    at com.intellij.openapi.options.newEditor.OptionsTree$EditorNode.buildChildren(OptionsTree.java:532)
    at com.intellij.openapi.options.newEditor.OptionsTree$EditorNode.buildChildren(OptionsTree.java:519)
    at com.intellij.ui.treeStructure.CachingSimpleNode.getChildren(CachingSimpleNode.java:36)
    at com.intellij.ui.treeStructure.SimpleTreeStructure.getChildElements(SimpleTreeStructure.java:25)
    at com.intellij.ui.treeStructure.filtered.FilteringTreeStructure.addToCache(FilteringTreeStructure.java:67)
    at com.intellij.ui.treeStructure.filtered.FilteringTreeStructure.addToCache(FilteringTreeStructure.java:82)
    at com.intellij.ui.treeStructure.filtered.FilteringTreeStructure.addToCache(FilteringTreeStructure.java:82)
    at com.intellij.ui.treeStructure.filtered.FilteringTreeStructure.rebuild(FilteringTreeStructure.java:62)
    at com.intellij.ui.treeStructure.filtered.FilteringTreeStructure.<init>(FilteringTreeStructure.java:54)
    at com.intellij.ui.treeStructure.filtered.FilteringTreeStructure.<init>(FilteringTreeStructure.java:45)
    at com.intellij.ui.treeStructure.filtered.FilteringTreeBuilder.<init>(FilteringTreeBuilder.java:52)
    at com.intellij.openapi.options.newEditor.OptionsTree$MyBuilder.<init>(OptionsTree.java:757)
    at com.intellij.openapi.options.newEditor.OptionsTree.<init>(OptionsTree.java:92)
    at com.intellij.openapi.options.newEditor.OptionsEditor$3.<init>(OptionsEditor.java:144)
    at com.intellij.openapi.options.newEditor.OptionsEditor.<init>(OptionsEditor.java:144)
    at com.intellij.openapi.options.newEditor.OptionsEditorDialog.createCenterPanel(OptionsEditorDialog.java:89)
    at com.intellij.openapi.ui.DialogWrapper.init(DialogWrapper.java:1116)
    at com.intellij.openapi.options.newEditor.OptionsEditorDialog.a(OptionsEditorDialog.java:72)
    at com.intellij.openapi.options.newEditor.OptionsEditorDialog.<init>(OptionsEditorDialog.java:57)
    at com.intellij.ide.actions.ShowSettingsUtilImpl.a(ShowSettingsUtilImpl.java:64)
    at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:51)
    at com.intellij.ide.MacOSApplicationProvider$Worker$1.handlePreferences(MacOSApplicationProvider.java:101)
    at com.apple.eawt._AppEventLegacyHandler$2.dispatchEvent(_AppEventLegacyHandler.java:90)
    at com.apple.eawt._AppEventLegacyHandler.sendEventToEachListenerUntilHandled(_AppEventLegacyHandler.java:168)
    at com.apple.eawt._AppEventLegacyHandler.handlePreferences(_AppEventLegacyHandler.java:88)
    at com.apple.eawt._AppEventHandler$_PreferencesDispatcher.performUsing(_AppEventHandler.java:253)
    at com.apple.eawt._AppEventHandler$_PreferencesDispatcher.performUsing(_AppEventHandler.java:244)
    at com.apple.eawt._AppEventHandler$_AppEventDispatcher$1.run(_AppEventHandler.java:489)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:715)
    at java.awt.EventQueue.access$400(EventQueue.java:82)
    at java.awt.EventQueue$2.run(EventQueue.java:676)
    at java.awt.EventQueue$2.run(EventQueue.java:674)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:685)
    at com.intellij.ide.IdeEventQueue.d(IdeEventQueue.java:700)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:525)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:348)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Add Code Inspections for Standards

See #26

Things like show a warning if someone has *** Setting *** or WHEN or when. The parser currently supports them but these types of code standards are better forced via warnings.

Content assist suggestions sorting.

This is an enhancement.

Content assist suggestions for keywords could be sorted in the following order for convenience:

  1. Keywords from the current file
  2. Keywords from the imported robot resources, grouped by file, with the source file name displayed.
  3. Library keywords (python, java) grouped by library with the library name displayed.

It would be probably even better if the user could switch between resource/library keywords with additional CTRL+Space like in java suggestions in eclipse (don't know if it is possible in idea).

Also it would be great if keywords from libraries were spelled in the suggestions in the standard way like this Run Keyword If instead of run keyword if.

Java keyword autocomplete/go to source

I have a robot framework/java integration and it would be great if I could click in a Java defined keyword and jump to source and if the auto complete includes that keywords to.

Auto-complete is case sensitive

Hello,

New auto-complete functionality is able to show keywords from python libraries but functionality is case sensitive (it should not be). If keyword definition is:

def setup_something(self):

then auto-complete will show up for:

setup so

but not for

Setup so

Control + Click doesn't work in IntelliJ IDEA (community edition)

Hey,

Thanks a lot for your efforts in this plugin!!!

I am using IntelliJ IDEA build 135.690 community edition and IntelliBot version 0.3.

If I try to control + mouse-over in a test case of a .robot file, nothing happens in the editor, and I get an error in the Event Log:

IllegalArgumentException: Argument 0 for @NotNull parameter of com/intellij/CommonBundle.message must not be null: Argument 0 for @NotNull parameter of com/intellij/CommonBundle.message must not be null

(The error indeed exists twice in the same line; don't know if that is helpful or not)

If I control + mouse-over in some resources of a .robot file, it works as expected, and if you control+click on a resource, it opens it.

Keyword suggestion for keywords after assignment

Hello,

Plugin is not able to display help window and recognize keyword if keyword is used after assignment. The simple example is:

${result}=        Some keyword

It should be possible to get help window also for that case. Not all keywords are used in first column of test definition.

doesn't work with pycharm ce in OS X yosemite

screen shot 2015-02-26 at 23 37 29
screen shot 2015-02-26 at 23 36 03

Java for OS X 2014-001 includes installation improvements, and supersedes all previous versions of Java for OS X. This package installs the same version of Java 6 included in Java for OS X 2013-005.

Installation instructions

It would be a good idea to add few words about installation to the README. At least for me it it took me some time to figure out I can do it directly from my PyCharm. That's obviously obvious for anyone who has installed such plugins earlier, but I'm sure there are other first-timers than I.

It also took a little time before I got the message that *.robot files are recognized and the plugin really started to work. I was already worried the installation didn't actually work.

Now that I have the plugin running I have to say I'm impressed. Syntax highlight alone would have been great, but having also cool features such as keyword and setting completion is awesome. Thanks guys!

Add support for Pycharm to recognize python files

Hello,

Plugin installed in Pycharm cannot recognize python files what is mentioned in README file. Do you have any plans to add it soon ? Is it possible to recognize python files installed in python (virtualenv)?

I reported this issue to start discussion about Pycharm support and get status of plugin development.

Python libraries won't be resolved in intellij community edition.

This one is easy to fix. You check python pluginid in PythonResolver.detectPython:

                if (PYTHON_ID.equals(pluginId)) {
                    return true;
                }

and

private static final String PYTHON_ID = "Pythonid";

but this is correct for ultimate only. For community python pluginid is PythonCore. I believe if you allow this too your plugin should work fine in community edition.

BTW, should you really check the pluginid? Maybe trial and error method is OK? There are some instanceof checks for PyFile, PyClass, etc...

Auto-complete shows protected methods

Hello,

I noticed that latest plugin version shows protected methods. From Robot Framework perspective protected methods are not keywords. The difference between normal keyword and keyword from protected method is one additional space from the begining.

Relative import for folder based library not working

Consider a python library written in class structure, the folder structure is as such:

Project
---- Lib
------ Keyword
--------- init.py
--------- CustomKeywords2.py
--------- CustomKeywords1.py
Where Project is in Python path and init.py have Keyword class inheriting CustomKeywords1 and CustomKeywords2

Now if we try to import Keyword as
*** Settings ***
Library Lib/Keyword

The plugin searches Keyword.py file and couldn't find it

It works, if we put Lib in python path and import it like
*** Settings ***
Library Keyword

Pythonid is missing for Pycharm

Hello,

I'm using Pycharm Community Edition 3.0.2 and I'm not able to enable intellibot plugin because Pythonid plugin is missing. I cannot install Pythonid plugin because is not compatible with Pycharm.

Thanks for support.

Incorrect "Keyword definition not found" errors for Robot Libraries in PyCharm

Keywords from the standard Robot Libraries are incorrectly being identified with "Keyword definition not found" errors. For example:

*** Settings ***
Library Process

*** Test Cases ***
Simple Check
${result} = Run Process date
Should Not Be Empty ${result.stdout}

will show that "Run Process" has the error "Keyword definition not found." I'm using PyCharm Community Edition 4.0.3 and have tried IntelliBot 0.6.4 & 0.6.5.

jump to source needs to better handle variables

a robot keyword can be defined as:
0. click on ${link_name} link

and then be invoked as:

  1. click on water link
  2. click on fire link
  3. click on earth link

We do not currently do the regex type checking. We might have to require the definition variable define the regex. I think the robot framework supports that.

Keyword color after assignment

Hello,

Keyword color after assignment is displayed as parameter, what is not true. This issue is connected with #34 issue. The sample is:

${result}=      Some keyword

"Some keyword" is displayed as parameter, not keyword execution.

Best Regards
Pawel

Some Selenium2Library keywords not resolving to source in Pycharm

Firstly, I love this plugin. Well done! Jumping to source in a large project is a real sweat-saver. ;)

I've run into a difficulty with jump-to-source (in PyCharm) in which some of the basic Selenium2Library keywords do not resolve successfully to source. 'Click Element' for example, should resolve to the source in the _element.py file. There is a .pyc file generated for this file and others on my Mac in /Library/Python/2.7/site-packages/Selenium2Library/keywords folder but I get a 'Cannot find declaration to go to' message in PyCharm when I try to jump to source. Some of the Selenium2Library keywords, such as 'Open Browser' resolve just fine, so it seems strange that some work and some don't. Permissions are identical across all files. Thanks in advance for any help you can offer on this.

Transitive imports

Robot framework allows transitive imports, i.e. if there are three files:

k1.robot:

*** Keywords ***
K one
  Do stuff

k2.robot:

*** Settings ***
Resource  k1.robot

*** Keywords ***
K two
  Do stuff

k3.robot:

*** Settings ***
Resource  k2.robot

*** Keywords ***
K three
  K two
  K one

this situation is valid and keyword K one is imported to k3.robot. However, Intellibot plugin doesn't scan transitive imports.

It would be nice if you could let me know if you have any plans on fixing this and if possible - when. Our project currently is full of such transitive imports, unfortunately.

Don't show aliases in table and settings completion

Completing table headers and settings is a really convenient feature, but showing all aliases there makes it a bit harder to use. For example, if I hit control space on an empty line, I get *** Settings ***, *** Setting *** and *** Metadata *** along with all other table names and their aliases. There are several reasons I think this is not a good idea:

  1. The list of tables/settings grows big. Its slower to scroll to the correct one.
  2. Some of the aliases are very rarely used and can be confusing (e.g. *** Metadata *** instead of *** Settings *** or [Precondition] instead of [Setup]). I actually consider it a mistake to add them to Robot Framework in the first place.
  3. With table names the plural forms (e.g. *** Settings ***) work better than singular (e.g. *** Setting ***) in the plain text format because the header applies to the whole table. Singular names work well in HTML or TSV where the name is the header of the first column and subsequent columns typically have their own headers.
  4. It's better to use consistent table/setting names in general. Completion showing various alternatives doesn't help.

My proposal is that completion shows following table names and settings. Notice that Robot Framework User Guide lists all all available table names and settings.

Tables:

*** Settings ***
*** Variables ***
*** Test Cases ***
*** Keywords ***

Settings in the settings table:

Library
Resource
Variables
Documentation
Metadata
Suite Setup
Suite Teardown
Force Tags
Default Tags
Test Setup
Test Teardown
Test Template
Test Timeout

Settings in the test case table:

[Documentation]
[Tags]
[Setup]
[Teardown]
[Template]
[Timeout]

Settings in the keyword table:

[Documentation]
[Arguments]
[Return]
[Teardown]
[Timeout]

I understand that others may have different preferences for table/setting names. If that is considered a big problem, the setting names to use could be made configurable later. Even in that case the completion should only show one alternative per table/setting, though.

Many exceptions in Pycharm

Pycharm: 4.0.4
Plugin version: 0.6.4

Everyday Pycharm show many notification that plugin raise exception. Could you look what is going on?

Already disposed
java.lang.AssertionError: Already disposed
    at com.intellij.openapi.components.impl.ComponentManagerImpl.getPicoContainer(ComponentManagerImpl.java:281)
    at com.intellij.openapi.components.impl.ComponentManagerImpl.getPicoContainer(ComponentManagerImpl.java:53)
    at com.intellij.openapi.components.ServiceManager.getService(ServiceManager.java:40)
    at com.intellij.psi.util.PsiModificationTracker$SERVICE.getInstance(PsiModificationTracker.java:57)
    at com.jetbrains.python.psi.types.TypeEvalContextCache.getContext(TypeEvalContextCache.java:65)
    at com.jetbrains.python.psi.types.TypeEvalContext.codeInsightFallback(TypeEvalContext.java:121)
    at com.jetbrains.python.psi.impl.PyClassImpl.getAncestorClasses(PyClassImpl.java:233)
    at com.jetbrains.python.psi.impl.PyClassImpl.visitMethods(PyClassImpl.java:893)
    at com.jetbrains.python.psi.impl.PyClassImpl.visitMethods(PyClassImpl.java:884)
    at com.millennialmedia.intellibot.psi.ref.RobotPythonClass.getDefinedKeywords(RobotPythonClass.java:39)
    at com.millennialmedia.intellibot.psi.ref.ResolverUtils.resolveKeywordFromFile(ResolverUtils.java:37)
    at com.millennialmedia.intellibot.psi.ref.RobotKeywordReference.resolve(RobotKeywordReference.java:32)
    at com.millennialmedia.intellibot.ide.inspections.compilation.RobotKeywordNotFound.skip(RobotKeywordNotFound.java:42)
    at com.millennialmedia.intellibot.ide.inspections.SimpleInspectionVisitor.visitElement(SimpleInspectionVisitor.java:26)
    at com.intellij.psi.impl.source.tree.LeafPsiElement.accept(LeafPsiElement.java:213)
    at com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:80)
    at com.intellij.codeInspection.InspectionEngine.createVisitorAndAcceptElements(InspectionEngine.java:69)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.runToolOnElements(LocalInspectionsPass.java:289)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.access$000(LocalInspectionsPass.java:75)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass$2.process(LocalInspectionsPass.java:258)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass$2.process(LocalInspectionsPass.java:255)
    at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:122)
    at com.intellij.concurrency.ApplierCompleter.access$000(ApplierCompleter.java:44)
    at com.intellij.concurrency.ApplierCompleter$1.run(ApplierCompleter.java:85)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1146)
    at com.intellij.concurrency.ApplierCompleter$2.run(ApplierCompleter.java:94)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.registerIndicatorAndRun(ProgressManagerImpl.java:281)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.registerIndicatorAndRun(ProgressManagerImpl.java:278)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:233)
    at com.intellij.concurrency.ApplierCompleter.wrapInReadActionAndIndicator(ApplierCompleter.java:106)
    at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:82)
    at jsr166e.CountedCompleter.exec(CountedCompleter.java:684)
    at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)
    at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)
    at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
    at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:109)

add documentation to link data

currently when you command mouse over a python lib it shows you some documentation for that method. The defined robot keywords currently have nothing. It would be nice if we could add their documentation and argument info to the tooltip.

Plugin throws internel error wont work

com/millennialmedia/intellibot/ide/inspections/cleanup/RobotImportNotUsed : Unsupported major.minor version 51.0 [Plugin: com.millennialmedia.intellibot]: com/millennialmedia/intellibot/ide/inspections/cleanup/RobotImportNotUsed : Unsupported major.minor version 51.0 [Plugin: com.millennialmedia.intellibot]
com.intellij.diagnostic.PluginException: com/millennialmedia/intellibot/ide/inspections/cleanup/RobotImportNotUsed : Unsupported major.minor version 51.0 [Plugin: com.millennialmedia.intellibot]
at com.intellij.ide.plugins.cl.PluginClassLoader.b(PluginClassLoader.java:108)
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:63)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:249)
at com.intellij.openapi.extensions.AbstractExtensionPointBean.findClass(AbstractExtensionPointBean.java:42)
at com.intellij.openapi.extensions.AbstractExtensionPointBean.instantiate(AbstractExtensionPointBean.java:62)
at com.intellij.codeInspection.InspectionEP.instantiateTool(InspectionEP.java:141)
at com.intellij.codeInspection.ex.InspectionToolWrapper.getTool(InspectionToolWrapper.java:72)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.getInspectionTools(LocalInspectionsPass.java:743)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPassFactory$MyLocalInspectionsPass.getInspectionTools(LocalInspectionsPassFactory.java:84)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.collectInformationWithProgress(LocalInspectionsPass.java:136)
at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:58)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:62)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:357)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1182)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:348)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:226)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:345)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:321)
at com.intellij.concurrency.JobLauncherImpl$3.call(JobLauncherImpl.java:145)
at com.intellij.concurrency.JobLauncherImpl$3.call(JobLauncherImpl.java:142)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at com.intellij.concurrency.PrioritizedFutureTask.access$101(PrioritizedFutureTask.java:31)
at com.intellij.concurrency.PrioritizedFutureTask$1.run(PrioritizedFutureTask.java:70)
at com.intellij.concurrency.PrioritizedFutureTask.run(PrioritizedFutureTask.java:113)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:695)
Caused by: java.lang.UnsupportedClassVersionError: com/millennialmedia/intellibot/ide/inspections/cleanup/RobotImportNotUsed : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.lang.ClassLoader.defineClass(ClassLoader.java:471)
at com.intellij.util.lang.UrlClassLoader._defineClass(UrlClassLoader.java:153)
at com.intellij.util.lang.UrlClassLoader.defineClass(UrlClassLoader.java:149)
at com.intellij.util.lang.UrlClassLoader._findClass(UrlClassLoader.java:125)
at com.intellij.ide.plugins.cl.PluginClassLoader.b(PluginClassLoader.java:102)
... 29 more

com.intellij.diagnostic.PluginException: com/millennialmedia/intellibot/ide/inspections/cleanup/RobotImportNotUsed : Unsupported major.minor version 51.0 [Plugin: com.millennialmedia.intellibot]
at com.intellij.ide.plugins.cl.PluginClassLoader.b(PluginClassLoader.java:108)
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:63)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:249)
at com.intellij.openapi.extensions.AbstractExtensionPointBean.findClass(AbstractExtensionPointBean.java:42)
at com.intellij.openapi.extensions.AbstractExtensionPointBean.instantiate(AbstractExtensionPointBean.java:62)
at com.intellij.codeInspection.InspectionEP.instantiateTool(InspectionEP.java:141)
at com.intellij.codeInspection.ex.InspectionToolWrapper.getTool(InspectionToolWrapper.java:72)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.getInspectionTools(LocalInspectionsPass.java:743)
at com.intellij.codeInsight.daemon.impl.WholeFileLocalInspectionsPassFactory$3.getInspectionTools(WholeFileLocalInspectionsPassFactory.java:106)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.collectInformationWithProgress(LocalInspectionsPass.java:136)
at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:58)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:62)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:357)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1182)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:348)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:226)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:345)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:321)
at com.intellij.concurrency.JobLauncherImpl$3.call(JobLauncherImpl.java:145)
at com.intellij.concurrency.JobLauncherImpl$3.call(JobLauncherImpl.java:142)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at com.intellij.concurrency.PrioritizedFutureTask.access$101(PrioritizedFutureTask.java:31)
at com.intellij.concurrency.PrioritizedFutureTask$1.run(PrioritizedFutureTask.java:70)
at com.intellij.concurrency.PrioritizedFutureTask.run(PrioritizedFutureTask.java:113)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:695)
Caused by: java.lang.UnsupportedClassVersionError: com/millennialmedia/intellibot/ide/inspections/cleanup/RobotImportNotUsed : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.lang.ClassLoader.defineClass(ClassLoader.java:471)
at com.intellij.util.lang.UrlClassLoader._defineClass(UrlClassLoader.java:153)
at com.intellij.util.lang.UrlClassLoader.defineClass(UrlClassLoader.java:149)
at com.intellij.util.lang.UrlClassLoader._findClass(UrlClassLoader.java:125)
at com.intellij.ide.plugins.cl.PluginClassLoader.b(PluginClassLoader.java:102)
... 29 more

Resources with relative path not found.

This issue appeared when I updated to Intellibot 0.6.4 (i'm using IntelliJ).

Intellibot finds correctly python resources, but not resources from other robot files.
Example: Resource ../crt_rest_resource.robot

Debug log:

11:59:17 AM Debug: [RobotFileManager][../crt_rest_resource.robot] Attempting global search
11:59:17 AM Debug: [RobotFileManager][../crt_rest_resource.robot] path::../
11:59:17 AM Debug: [RobotFileManager][../crt_rest_resource.robot] file::crt_rest_resource.robot
11:59:17 AM Debug: [RobotFileManager][../crt_rest_resource.robot] matching: [/home/stef/projects/sp12/uat/src/robot/suite/Client_Review_Tool/crt_rest_resource.robot;]
11:59:17 AM Debug: [RobotFileManager][../crt_rest_resource.robot] no acceptable matches

Of course the file exists.
Is it possible that trailing ";" causing the problem ?
The ";" doesn't exist in the filesystem.

support built in variables

${TEMPDIR}
${EXECDIR}
${/}
${:}
${\n}
${SPACE}
${EMPTY}
@{EMPTY}
${True}
${False}
${None}
${null}
${OUTPUT_DIR}
${OUTPUT_FILE}
${REPORT_FILE}
${LOG_FILE}
${DEBUG_FILE}
${PREV_TEST_NAME}
${PREV_TEST_STATUS}
${PREV_TEST_MESSAGE}

Please add support of *.txt files

Hello,
As you know, RF supports not only *.robot files extension. Could you please add support for *.txt and/or *.html files?
This update is needed because many of test cases are written in *.txt files, so it will be a good enhancement for your plugin.

Thanks

assign multiple variables at once not recognised

In Robot it possible to assign multiple variable at once.
For example:

*** Test Cases ***
my_test
    ${status}  ${value} =  Run Keyword And Ignore Error  My Keyword

This is not recognised by the plugin: second variable is interpreted as a keyword:
two_variables

Auto Complete enhancement

It would be great if auto complete could manage keywords form Libraries such as Selenium2Library, String ,...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.